Skip to content

Conversation

@andyleiserson
Copy link
Contributor

@andyleiserson andyleiserson commented Jan 9, 2026

Several validation fixes. The only reason the dual-source blending fix is related is that both it and the frag_depth fix add fields to ShaderStageForValidation::Fragment that @ErichDonGubler added recently.

This change will conflict with #8840, which needs more discussion, so I expect #8840 will be rebased on this one. Whichever lands second should enable the entire depth_stencil_state suite.

Testing
Enables relevant CTS tests.

Squash or Rebase? Rebase

Checklist

  • Run cargo fmt.
  • Run taplo format.
  • Run cargo clippy --tests. If applicable, add:
    • --target wasm32-unknown-unknown
  • Run cargo xtask test to run tests.
  • Add CHANGELOG.md entries.

* Depth bias is only supported with triangle topologies (fixes gfx-rs#6071)
* If the shader outputs `frag_depth`, the pipeline must have a depth
  attachment
@dhardy
Copy link
Contributor

dhardy commented Jan 12, 2026

This doesn't solve my issue (should have been an issue not a discussion): #8798

wgpu error: Validation Error

Caused by:
  In Device::create_render_pipeline, label = 'text subpixel mask pipe'
    Error matching ShaderStages(FRAGMENT) shader requirements against the pipeline
      Pipeline uses dual-source blending, but the shader does not support it

This is using a GLSL shader which works correctly if I hack wgpu to disable this validation completely.

@andyleiserson
Copy link
Contributor Author

This doesn't solve my issue (should have been an issue not a discussion): #8798

It's not related to this change, but I filed #8864 from your discussion, and opened #8865 and kas-gui/kas#635.

@Wumpf Wumpf self-assigned this Jan 14, 2026
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.

dual source blending is forced if enabled (wgpu being overly strict?) Point and line primitives must not have depth bias

3 participants