diff options
author | Eric Anholt <[email protected]> | 2010-11-29 16:16:38 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2010-11-29 17:08:26 -0800 |
commit | 2927b6c21202fd0f9a661665e0093e7193c5df6e (patch) | |
tree | ea26b5e710fdc8994bfcc2180683596f055c31ae /src/mesa | |
parent | 1ccef926be46dce3b6b5c76e812e2fae4e205ce7 (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.
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.cpp | 4 |
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, |