From 0a939e788f47734a8a1e7771a3acdf1ea507afde Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 2 Mar 2021 14:30:30 +1000 Subject: [PATCH] lavapipe: reorder descriptor set stages to get correct binding The fragment stage was in the wrong place here. Fixes: b38879f8c5f5 ("vallium: initial import of the vulkan frontend") Reviewed-By: Mike Blumenkrantz Part-of: --- src/gallium/frontends/lavapipe/lvp_execute.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/frontends/lavapipe/lvp_execute.c b/src/gallium/frontends/lavapipe/lvp_execute.c index 5535137ede3..4de47d08c1d 100644 --- a/src/gallium/frontends/lavapipe/lvp_execute.c +++ b/src/gallium/frontends/lavapipe/lvp_execute.c @@ -1141,9 +1141,6 @@ static void handle_descriptor_sets(struct lvp_cmd_buffer_entry *cmd, if (set->layout->shader_stages & VK_SHADER_STAGE_VERTEX_BIT) handle_set_stage(state, &dyn_info, set, MESA_SHADER_VERTEX, PIPE_SHADER_VERTEX); - if (set->layout->shader_stages & VK_SHADER_STAGE_FRAGMENT_BIT) - handle_set_stage(state, &dyn_info, set, MESA_SHADER_FRAGMENT, PIPE_SHADER_FRAGMENT); - if (set->layout->shader_stages & VK_SHADER_STAGE_GEOMETRY_BIT) handle_set_stage(state, &dyn_info, set, MESA_SHADER_GEOMETRY, PIPE_SHADER_GEOMETRY); @@ -1152,6 +1149,9 @@ static void handle_descriptor_sets(struct lvp_cmd_buffer_entry *cmd, if (set->layout->shader_stages & VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT) handle_set_stage(state, &dyn_info, set, MESA_SHADER_TESS_EVAL, PIPE_SHADER_TESS_EVAL); + + if (set->layout->shader_stages & VK_SHADER_STAGE_FRAGMENT_BIT) + handle_set_stage(state, &dyn_info, set, MESA_SHADER_FRAGMENT, PIPE_SHADER_FRAGMENT); increment_dyn_info(&dyn_info, bds->set_layout[bds->first + i], true); } }