renderdoc
renderdoc copied to clipboard
Vulkan Multiview support for pixel shader debugging
Description
- Implement Issue #3097
- Output
ViewIndexinto the pixel shader hits array - Select the pixel shader input which matches the
viewIndexto the passed insliceparameter- uses the first colour attachment image view to convert
slicetoviewIndex
- uses the first colour attachment image view to convert
- Ignore the view parameter if set to ~0U (
rd.ReplayController.NoPreference) - Ignore the view parameter if any subpass has an empty multiviews
- Output
Testing
- Tested using Sascha Williams
multiviewsample - New Automated Test
VK_Multi_View- colour attachment has four array slices and the imageView starts at slice array index of one
- Vertex shader output Red for view 0, Green for view 1, fragment shader is pass thru and does not use viewIndex
- Fragment shader output Red for view 0, Green for view 1, vertex shader does not use viewIndex
- Geometry shader output Red for view 0, Green for view 1, fragment shader is pass thru and does not use viewIndex
- Vertex shader output fixed colour to pass thru fragment, neither shader uses viewIndex
- Not implemented (because Mesh Shader does not currently support multiview): Mesh shader output Red for view 0, Green for view 1, fragment shader does not use viewIndex
- Python checks vertex and pixel shader debug output against replay rendering output
- Ran D3D11_, D3D12_, VK_, GL_ automated tests locally to check the python compiles with the extra required parameter for
DebugPixelincluding slow tests and check Iter-Test and Repeat-Load