summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/swr/swr_shader.cpp
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2016-11-21 12:45:08 -0500
committerIlia Mirkin <imirkin@alum.mit.edu>2016-11-22 20:27:20 -0500
commit7cbfe59cf3432ae643837c3534c77aa034c36ca6 (patch)
treef41ef9f0bbd16b5583ed68415ea20a5596ac4bdf /src/gallium/drivers/swr/swr_shader.cpp
parent6d6ef3fb5594393affab264c9c51570475b7b470 (diff)
swr: add sprite coord enable mask to fs key
This fixes gl-coord-replace-doesnt-eliminate-frag-tex-coords Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
Diffstat (limited to 'src/gallium/drivers/swr/swr_shader.cpp')
-rw-r--r--src/gallium/drivers/swr/swr_shader.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/swr/swr_shader.cpp b/src/gallium/drivers/swr/swr_shader.cpp
index d29f6351443..428c9b3265d 100644
--- a/src/gallium/drivers/swr/swr_shader.cpp
+++ b/src/gallium/drivers/swr/swr_shader.cpp
@@ -131,6 +131,7 @@ swr_generate_fs_key(struct swr_jit_fs_key &key,
key.nr_cbufs = ctx->framebuffer.nr_cbufs;
key.light_twoside = ctx->rasterizer->light_twoside;
+ key.sprite_coord_enable = ctx->rasterizer->sprite_coord_enable;
memcpy(&key.vs_output_semantic_name,
&ctx->vs->info.base.output_semantic_name,
sizeof(key.vs_output_semantic_name));
@@ -515,7 +516,7 @@ BuilderSWR::CompileFS(struct swr_context *ctx, swr_jit_fs_key &key)
unsigned linkedAttrib =
locate_linkage(semantic_name, semantic_idx, &ctx->vs->info.base);
if (semantic_name == TGSI_SEMANTIC_GENERIC &&
- ctx->rasterizer->sprite_coord_enable & (1 << semantic_idx)) {
+ key.sprite_coord_enable & (1 << semantic_idx)) {
/* we add an extra attrib to the backendState in swr_update_derived. */
linkedAttrib = ctx->vs->info.base.num_outputs - 1;
swr_fs->pointSpriteMask |= (1 << linkedAttrib);