mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 02:58:05 +02:00
radv: export multiview in VS/TES/GS for depth-only rendering
For depth-only rendering, a VS would not export layer properly. Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no> Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10606 Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27615>
This commit is contained in:
parent
62b72b6be9
commit
786c1b8322
1 changed files with 4 additions and 3 deletions
|
|
@ -1178,11 +1178,12 @@ get_vs_output_info(const struct radv_graphics_pipeline *pipeline)
|
|||
static bool
|
||||
radv_should_export_multiview(const struct radv_shader_stage *stage, const struct radv_graphics_state_key *gfx_state)
|
||||
{
|
||||
/* Export the layer in the last VGT stage if multiview is used. When the next stage is unknown
|
||||
* (with graphics pipeline library), the layer is exported unconditionally.
|
||||
/* Export the layer in the last VGT stage if multiview is used.
|
||||
* Also checks for NONE stage, which happens when we have depth-only rendering.
|
||||
* When the next stage is unknown (with graphics pipeline library), the layer is exported unconditionally.
|
||||
*/
|
||||
return gfx_state->has_multiview_view_index &&
|
||||
(stage->info.next_stage == MESA_SHADER_FRAGMENT ||
|
||||
(stage->info.next_stage == MESA_SHADER_FRAGMENT || stage->info.next_stage == MESA_SHADER_NONE ||
|
||||
!(gfx_state->lib_flags & VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT)) &&
|
||||
!(stage->nir->info.outputs_written & VARYING_BIT_LAYER);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue