Mesa (master): swr: mark both frag and vert textures read, don' t forget about cbs
Ilia Mirkin
imirkin at kemper.freedesktop.org
Wed Nov 16 01:28:40 UTC 2016
Module: Mesa
Branch: master
Commit: 96291478ea2ab91df571ef6ebe26782ef90bf0c1
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=96291478ea2ab91df571ef6ebe26782ef90bf0c1
Author: Ilia Mirkin <imirkin at alum.mit.edu>
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 <imirkin at alum.mit.edu>
Reviewed-by: Bruce Cherniak <bruce.cherniak at intel.com>
---
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);
+ }
}
}
More information about the mesa-commit
mailing list