freedreno/a4xx: point regid to "red" even for alpha-only rb formats
authorIlia Mirkin <imirkin@alum.mit.edu>
Fri, 20 Nov 2015 23:11:26 +0000 (18:11 -0500)
committerIlia Mirkin <imirkin@alum.mit.edu>
Fri, 20 Nov 2015 23:15:15 +0000 (18:15 -0500)
Looks like a4xx hw does this in a more standard way and we don't need to
hack around it like we do on a3xx. Fixes GL_ALPHA formats in
fbo-blending-formats, fbo-colormask-formats, and fbo-alphatest-formats.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
src/gallium/drivers/freedreno/a4xx/fd4_program.c

index e3d5dabab4c149f088ca01993a669e2beba76cb6..3df13543148cf749fab4f1bc72318c57265a1395 100644 (file)
@@ -245,13 +245,6 @@ fd4_program_emit(struct fd_ringbuffer *ring, struct fd4_emit *emit,
                color_regid[7] = ir3_find_output_regid(s[FS].v, FRAG_RESULT_DATA7);
        }
 
-       /* adjust regids for alpha output formats. there is no alpha render
-        * format, so it's just treated like red
-        */
-       for (i = 0; i < nr; i++)
-               if (util_format_is_alpha(pipe_surface_format(bufs[i])))
-                       color_regid[i] += 3;
-
        /* TODO get these dynamically: */
        face_regid = s[FS].v->frag_face ? regid(0,0) : regid(63,0);
        coord_regid = s[FS].v->frag_coord ? regid(0,0) : regid(63,0);