Module: Mesa Branch: master Commit: ab5cee4c241cb360cf67101dd751e0f38637b526 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ab5cee4c241cb360cf67101dd751e0f38637b526
Author: Dave Airlie <[email protected]> Date: Mon Feb 5 10:14:19 2018 +1000 r600/compute: only mark buffer/image state dirty for fragment shaders The compute emission path always emits this currently, and emitting it on the fragment path breaks the blitter. This fixes gpu hangs in KHR-GL45.compute_shader.resource-texture Reviewed-by: Roland Scheidegger <[email protected]> Cc: <[email protected]> Signed-off-by: Dave Airlie <[email protected]> --- src/gallium/drivers/r600/evergreen_state.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index 90f05c06d3..eb8eb376c2 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -4060,7 +4060,8 @@ static void evergreen_set_shader_buffers(struct pipe_context *ctx, r600_mark_atom_dirty(rctx, &rctx->cb_misc_state.atom); } - r600_mark_atom_dirty(rctx, &istate->atom); + if (shader == PIPE_SHADER_FRAGMENT) + r600_mark_atom_dirty(rctx, &istate->atom); } static void evergreen_set_shader_images(struct pipe_context *ctx, @@ -4236,7 +4237,8 @@ static void evergreen_set_shader_images(struct pipe_context *ctx, r600_mark_atom_dirty(rctx, &rctx->cb_misc_state.atom); } - r600_mark_atom_dirty(rctx, &istate->atom); + if (shader == PIPE_SHADER_FRAGMENT) + r600_mark_atom_dirty(rctx, &istate->atom); } static void evergreen_get_pipe_constant_buffer(struct r600_context *rctx, _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
