summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2010-11-29 16:16:38 -0800
committerEric Anholt <[email protected]>2010-11-29 17:08:26 -0800
commit2927b6c21202fd0f9a661665e0093e7193c5df6e (patch)
treeea26b5e710fdc8994bfcc2180683596f055c31ae
parent1ccef926be46dce3b6b5c76e812e2fae4e205ce7 (diff)
i965: Fix type of gl_FragData[] dereference for FB write.
Fixes glsl-fs-fragdata-1, and hopefully Eve Online where I noticed this bug in the generated shader. Bug #31952.
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index edb02fabb23..7a8e9812257 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -2010,8 +2010,10 @@ fs_visitor::emit_fb_writes()
fs_reg color = reg_undef;
if (this->frag_color)
color = *(variable_storage(this->frag_color));
- else if (this->frag_data)
+ else if (this->frag_data) {
color = *(variable_storage(this->frag_data));
+ color.type = BRW_REGISTER_TYPE_F;
+ }
for (int target = 0; target < c->key.nr_color_regions; target++) {
this->current_annotation = talloc_asprintf(this->mem_ctx,