diff options
author | Marek Olšák <[email protected]> | 2017-01-24 22:54:06 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2017-01-30 13:27:14 +0100 |
commit | c99ba3eb479705114ff84695af33b1681bfaf142 (patch) | |
tree | 91a4a41140b4870bd86dc406bae87483d1288ab5 /src/gallium/drivers | |
parent | 4a4ff66dbebe836492a6b6321742c21ca9bcd70a (diff) |
radeonsi: unbind disabled shader stages to prevent useless L2 prefetches
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state_shaders.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c index 010ce15a8b5..b3616dcfaff 100644 --- a/src/gallium/drivers/radeonsi/si_state_shaders.c +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c @@ -2439,6 +2439,9 @@ bool si_update_shaders(struct si_context *sctx) if (r) return false; si_pm4_bind_state(sctx, es, sctx->vs_shader.current->pm4); + + si_pm4_bind_state(sctx, ls, NULL); + si_pm4_bind_state(sctx, hs, NULL); } else { /* VS as VS */ r = si_shader_select(ctx, &sctx->vs_shader, &compiler_state); @@ -2446,6 +2449,9 @@ bool si_update_shaders(struct si_context *sctx) return false; si_pm4_bind_state(sctx, vs, sctx->vs_shader.current->pm4); si_update_so(sctx, sctx->vs_shader.cso); + + si_pm4_bind_state(sctx, ls, NULL); + si_pm4_bind_state(sctx, hs, NULL); } /* Update GS. */ |