ValveSoftware / ValveSoftware/Fossilize

fossilize-synth - Can't create shader with

Open
#306 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
780
Forks
78
PR merge metrics
No merged PRs in 30d

Description

I hit this as trying to instrument this pipeline (from a a vkd3d title using Descriptor Buffers on Intel Mesa) with GPU-AV running on caused the driver to crash and wanted to create a repro, but hitting

$ fossilize-synth --frag dump_frag.spv --output repro.foz

Fossilize ERROR: Overlap in descriptor type for binding (2, 0) (was 6, now 7).

I pulled out the shader and seems valid https://godbolt.org/z/cadKMvben

I see this is around the whole HLSL having CBV vs SSBO stuff

layout(set = 2, binding = 0, std430) restrict readonly buffer SSBO {
    uint _m0[];
} _23[];

layout(set = 2, binding = 0, std430) restrict readonly buffer _26_29 {
    uvec4 _m0[];
} _29[];

layout(set = 2, binding = 0, std140) uniform BindlessCBV {
    vec4 _m0[4096];
} _36[];

not sure who is at fault here, but if this is valid SPIR-V, I guess not sure if this is a limitation of fossilize-synth... but at the same time, not sure what the VK_EXT_descriptor_buffer API side looks like

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the report with fossilize-synth --frag dump_frag.spv --output repro.foz and examine the provided shader's set 2, binding 0 declarations. Compare the reported descriptor-type overlap with the relevant Vulkan descriptor-buffer rules. No source file or test is named; done means determining whether the SPIR-V is valid and whether Fossilize should accept it or clearly report a limitation.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.