Pipeline creation failure with particular map setup

Moderator: GZDoom Developers

Pipeline creation failure with particular map setup

Postby _mental_ » Mon Nov 25, 2019 5:07 am

When there are no textures in player's view and at least line horizon linedef is present, the game may work, abort with a fatal error, and even crash.
Curiously enough, I encountered such uncommon setup while playing this mapset, at the end of MAP27.

The actual result depends on graphics hardware and Vulkan implementation.
  • AMD on Windows stops with "Could not create graphics pipeline: out of host memory" error.
  • NVIDIA on Ubuntu with proprietary drivers works without a problem.
  • Intel on Ubuntu crashes inside Vulkan driver.
  • MoltenVK complains about invalid shader.
Validation layer reports "Shader uses descriptor slot 1.0 (expected `VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER`) but not declared in pipeline layout" error along with a few warnings.
I attached a minimal sample. Just load MAP01 with vk_debug 1 to get the mentioned error.
Attachments
line_horizon.wad
(926 Bytes) Downloaded 1 time
_mental_
 
 
 
Joined: 07 Aug 2011

Re: Pipeline creation failure with particular map setup

Postby dpJudas » Mon Nov 25, 2019 5:22 am

Sounds like one of those subtle situations where OpenGL doesn't complain about sampling from a texture unit even if it has no texture bound (*), but where it is quite fatal on vulkan. The easiest workaround is probably to create a dummy texture binding.

*) Technically in GZDoom's case there will be a texture bound, but it will be whatever texture was last bound.
dpJudas
 
 
 
Joined: 28 May 2016


Return to Vulkan Renderer Bugs

Who is online

Users browsing this forum: No registered users and 1 guest