summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/swr/swr_state.cpp
diff options
context:
space:
mode:
authorGeorge Kyriazis <[email protected]>2017-01-24 17:19:55 -0600
committerTim Rowley <[email protected]>2017-01-25 10:02:50 -0600
commite259efd805b35250e05b56dc727252544d6d4abb (patch)
treeaab41a98e1f5253188cc1ace634c346291f929bf /src/gallium/drivers/swr/swr_state.cpp
parentcff199ceb7c68db51efc85f34cd45ccede790d4a (diff)
swr: Update fs texture & sampler state logic
In swr_update_derived() update texture and sampler state on a new fragment shader. GALLIUM_HUD can update fs using a previously bound texture and sampler. Reviewed-by: Bruce Cherniak <[email protected]>
Diffstat (limited to 'src/gallium/drivers/swr/swr_state.cpp')
-rw-r--r--src/gallium/drivers/swr/swr_state.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/swr/swr_state.cpp b/src/gallium/drivers/swr/swr_state.cpp
index 41e03560b17..f1f4963c259 100644
--- a/src/gallium/drivers/swr/swr_state.cpp
+++ b/src/gallium/drivers/swr/swr_state.cpp
@@ -1283,7 +1283,8 @@ swr_update_derived(struct pipe_context *pipe,
SwrSetPixelShaderState(ctx->swrContext, &psState);
/* JIT sampler state */
- if (ctx->dirty & SWR_NEW_SAMPLER) {
+ if (ctx->dirty & (SWR_NEW_SAMPLER |
+ SWR_NEW_FS)) {
swr_update_sampler_state(ctx,
PIPE_SHADER_FRAGMENT,
key.nr_samplers,
@@ -1291,7 +1292,9 @@ swr_update_derived(struct pipe_context *pipe,
}
/* JIT sampler view state */
- if (ctx->dirty & (SWR_NEW_SAMPLER_VIEW | SWR_NEW_FRAMEBUFFER)) {
+ if (ctx->dirty & (SWR_NEW_SAMPLER_VIEW |
+ SWR_NEW_FRAMEBUFFER |
+ SWR_NEW_FS)) {
swr_update_texture_state(ctx,
PIPE_SHADER_FRAGMENT,
key.nr_sampler_views,