Skip to content

fix(render): omit DepthStencilState on depthless pipelines for Vulkan compatibility - #6713

Open
Eccys wants to merge 1 commit into
MeteorDevelopment:masterfrom
Eccys:fix/blur-vulkan-pipeline
Open

Eccys wants to merge 1 commit into
MeteorDevelopment:masterfrom
Eccys:fix/blur-vulkan-pipeline

Conversation

@Eccys

@Eccys Eccys commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Type of change

  • Bug fix
  • New feature

Description

When RenderPipeline.getDepthStencilState() is non-null, 26.1/26.2's VulkanRenderPipeline.compile only compiles withDepthPipeline (configured for a VK_FORMAT_D32_SFLOAT depth attachment) and leaves withoutDepthPipeline as 0L (VK_NULL_HANDLE). When Blur.renderToFbo begins a color-only RenderPass (hasDepth = false), VulkanRenderPass.setPipeline selects withoutDepthPipeline (0L) and passes it to vkCmdBindPipeline, causing an EXCEPTION_ACCESS_VIOLATION reading 0x18.

When DepthStencilState is omitted (null), VulkanRenderPipeline.compile compiles both withDepthPipeline (using a default ALWAYS_PASS / writeDepth = false state) and withoutDepthPipeline, and GlCommandEncoder likewise disables GL_DEPTH_TEST and glDepthMask(false).

Also fixes BLUR_PASSTHROUGH using the duplicate location pipeline/blur/up instead of pipeline/blur/passthrough.

Related issues

Closes #6618

How Has This Been Tested?

Verified against 26.2 VulkanRenderPipeline / VulkanRenderPass and GlCommandEncoder, and compiled with ./gradlew compileJava.

Checklist:

  • My code follows the style guidelines of this project.
  • I have added comments to my code in more complex areas.
  • I have tested the code in both development and production environments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Module "Blur" crash with Vulkan Graphics API

1 participant