From: Marek Olšák <marek.ol...@amd.com>

there is no VS epilog in this case
---
 src/gallium/drivers/radeonsi/si_state_shaders.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c 
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index 9df8f47..72d0518 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -874,24 +874,24 @@ static inline void si_shader_selector_key(struct 
pipe_context *ctx,
                                        
sctx->vertex_elements->elements[i].instance_divisor;
 
                        key->mono.vs.fix_fetch =
                                sctx->vertex_elements->fix_fetch &
                                u_bit_consecutive(0, 2 * count);
                }
                if (sctx->tes_shader.cso)
                        key->as_ls = 1;
                else if (sctx->gs_shader.cso)
                        key->as_es = 1;
-
-               if (!sctx->gs_shader.cso && sctx->ps_shader.cso &&
-                   sctx->ps_shader.cso->info.uses_primid)
-                       key->part.vs.epilog.export_prim_id = 1;
+               else {
+                       if (sctx->ps_shader.cso && 
sctx->ps_shader.cso->info.uses_primid)
+                               key->part.vs.epilog.export_prim_id = 1;
+               }
                break;
        case PIPE_SHADER_TESS_CTRL:
                key->part.tcs.epilog.prim_mode =
                        
sctx->tes_shader.cso->info.properties[TGSI_PROPERTY_TES_PRIM_MODE];
 
                if (sel == sctx->fixed_func_tcs_shader.cso)
                        key->mono.tcs.inputs_to_copy = 
sctx->vs_shader.cso->outputs_written;
                break;
        case PIPE_SHADER_TESS_EVAL:
                if (sctx->gs_shader.cso)
-- 
2.7.4

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to