i965: Fix type of gl_FragData[] dereference for FB write.
authorEric Anholt <eric@anholt.net>
Tue, 30 Nov 2010 00:16:38 +0000 (16:16 -0800)
committerEric Anholt <eric@anholt.net>
Tue, 30 Nov 2010 01:08:26 +0000 (17:08 -0800)
Fixes glsl-fs-fragdata-1, and hopefully Eve Online where I noticed
this bug in the generated shader.  Bug #31952.

src/mesa/drivers/dri/i965/brw_fs.cpp

index edb02fabb2344cf9f24e8c6e8ee270c3f99c883e..7a8e9812257176e97e2adb7f2c157246612c23fb 100644 (file)
@@ -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,