a5xx: fix border colors for swizzled texture formats
authorIlia Mirkin <imirkin@alum.mit.edu>
Sat, 8 Jul 2017 12:46:02 +0000 (08:46 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sun, 9 Jul 2017 01:14:58 +0000 (21:14 -0400)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/freedreno/a5xx/fd5_emit.c

index a018bb699607210077a73f64e16cf53ddd9d7d8a..308c28fffc4e8d3a79a65161924e40674ab36d63 100644 (file)
@@ -212,21 +212,21 @@ setup_border_colors(struct fd_texture_stateobj *tex, struct bcolor_entry *entrie
                                continue;
 
                        if (desc->channel[c].pure_integer) {
-                               e->fp32[j] = bc->ui[c];
-                               e->fp16[j] = bc->ui[c];
-                               e->ui16[j] = bc->ui[c];
-                               e->si16[j] = bc->i[c];
-                               e->ui8[j]  = bc->ui[c];
-                               e->si8[j]  = bc->i[c];
+                               e->fp32[c] = bc->ui[j];
+                               e->fp16[c] = bc->ui[j];
+                               e->ui16[c] = bc->ui[j];
+                               e->si16[c] = bc->i[j];
+                               e->ui8[c]  = bc->ui[j];
+                               e->si8[c]  = bc->i[j];
                        } else {
-                               float f = bc->f[c];
-
-                               e->fp32[j] = fui(f);
-                               e->fp16[j] = util_float_to_half(f);
-                               e->ui16[j] = f * 65535.0;
-                               e->si16[j] = f * 32767.5;
-                               e->ui8[j]  = f * 255.0;
-                               e->si8[j]  = f * 128.0;
+                               float f = bc->f[j];
+
+                               e->fp32[c] = fui(f);
+                               e->fp16[c] = util_float_to_half(f);
+                               e->ui16[c] = f * 65535.0;
+                               e->si16[c] = f * 32767.5;
+                               e->ui8[c]  = f * 255.0;
+                               e->si8[c]  = f * 128.0;
                        }
                }