From: Marek Olšák <[email protected]>

Cc: 10.6 <[email protected]>
---
 src/gallium/drivers/radeonsi/si_state_shaders.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c 
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index 25811ab..610af94 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -841,8 +841,15 @@ static void si_update_spi_tmpring_size(struct si_context 
*sctx)
                        si_pm4_bind_state(sctx, ps, 
sctx->ps_shader->current->pm4);
                if (si_update_scratch_buffer(sctx, sctx->gs_shader))
                        si_pm4_bind_state(sctx, gs, 
sctx->gs_shader->current->pm4);
-               if (si_update_scratch_buffer(sctx, sctx->vs_shader))
-                       si_pm4_bind_state(sctx, vs, 
sctx->vs_shader->current->pm4);
+
+               /* VS can be bound as ES or VS. */
+               if (sctx->gs_shader) {
+                       if (si_update_scratch_buffer(sctx, sctx->vs_shader))
+                               si_pm4_bind_state(sctx, es, 
sctx->vs_shader->current->pm4);
+               } else {
+                       if (si_update_scratch_buffer(sctx, sctx->vs_shader))
+                               si_pm4_bind_state(sctx, vs, 
sctx->vs_shader->current->pm4);
+               }
        }
 
        /* The LLVM shader backend should be reporting aligned scratch_sizes. */
-- 
2.1.0

_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to