[Fixed] Pipeline creation failure with particular map setup

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Pipeline creation failure with particular map setup

Postby _mental_ » Mon Nov 25, 2019 4: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 21 times
_mental_
 
 
 
Joined: 07 Aug 2011

Re: Pipeline creation failure with particular map setup

Postby dpJudas » Mon Nov 25, 2019 4: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

Re: Pipeline creation failure with particular map setup

Postby dpJudas » Sat Feb 15, 2020 3:43 am

Pushed a fix for this.
dpJudas
 
 
 
Joined: 28 May 2016


Return to Closed Bugs

Who is online

Users browsing this forum: Semrush [Bot] and 1 guest