d3d11,12 won't allow a shader pass to sample its feedback or next ones.
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Description
glcore and vulkan output drivers allow to access a feedback pass from whatever pass in the pass chain.
d3d11 and d3d12 just dont.
Expected behavior
to be able to define something like
layout(set = 0, binding = x) uniform sampler2D this_passFeedback;
layout(set = 0, binding = y) uniform sampler2D future_passFeedback;
[...]
vec4 feedback_this = texture(this_passFeedback, vTexCoord) ;
vec4 feedback_future = texture(future_passFeedback, vTexCoord);
Actual behavior
d3d11 just returns a black color.
d3d12 crashes.
Version/Commit
-
RetroArch: [version/commit]
1.16.0.3 -
OS: Tested on:
Windows 11+Radeon GPU+d3d12,
Windows 10+ Intel GPU + d3d12,
Windows 10 + IntelGPU + d3d11,
Linux+Wine + Nvidia gpu + DXVK (d3d11)..
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the shader feedback behavior on the d3d11 and d3d12 drivers described in the issue, then compare their pass-chain handling with the glcore and vulkan output drivers. Done means this_passFeedback and future_passFeedback return usable samples on d3d11 and d3d12 without the reported black output or crash.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- backend, computer-graphics
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100