Module: Mesa Branch: master Commit: 96291478ea2ab91df571ef6ebe26782ef90bf0c1 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=96291478ea2ab91df571ef6ebe26782ef90bf0c1
Author: Ilia Mirkin <[email protected]> Date: Wed Nov 9 22:08:24 2016 -0500 swr: mark both frag and vert textures read, don't forget about cbs Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Bruce Cherniak <[email protected]> --- src/gallium/drivers/swr/swr_state.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/swr/swr_state.cpp b/src/gallium/drivers/swr/swr_state.cpp index 65327f3..526d7e7 100644 --- a/src/gallium/drivers/swr/swr_state.cpp +++ b/src/gallium/drivers/swr/swr_state.cpp @@ -674,11 +674,21 @@ swr_update_resource_status(struct pipe_context *pipe, } /* texture sampler views */ - for (uint32_t i = 0; i < PIPE_MAX_SHADER_SAMPLER_VIEWS; i++) { - struct pipe_sampler_view *view = - ctx->sampler_views[PIPE_SHADER_FRAGMENT][i]; - if (view) - swr_resource_read(view->texture); + for (uint32_t j : {PIPE_SHADER_VERTEX, PIPE_SHADER_FRAGMENT}) { + for (uint32_t i = 0; i < ctx->num_sampler_views[j]; i++) { + struct pipe_sampler_view *view = ctx->sampler_views[j][i]; + if (view) + swr_resource_read(view->texture); + } + } + + /* constant buffers */ + for (uint32_t j : {PIPE_SHADER_VERTEX, PIPE_SHADER_FRAGMENT}) { + for (uint32_t i = 0; i < PIPE_MAX_CONSTANT_BUFFERS; i++) { + struct pipe_constant_buffer *cb = &ctx->constants[j][i]; + if (cb->buffer) + swr_resource_read(cb->buffer); + } } } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
