i965: Use R16G16B16A16_FLOAT for 3-component half-float.
authorEric Anholt <eric@anholt.net>
Fri, 14 May 2010 05:10:39 +0000 (22:10 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 14 May 2010 18:27:59 +0000 (11:27 -0700)
The RGBX version isn't supported as a vertex input type, but since we
force the last channel's value anyway, this should be fine.  The only
potential risk I see is in the limiter on VBO reads past the end of
the buffer forcing the whole vertex to 0 when the A channel lands past
the end.

Fixes piglit draw-vertices-half-float.

src/mesa/drivers/dri/i965/brw_draw_upload.c

index 8247faa36d8d082e891b91d57895ce3446433d58..9cbff24863d0adbd5192ac97b0d0745b93c1afc9 100644 (file)
@@ -59,7 +59,7 @@ static GLuint half_float_types[5] = {
    0,
    BRW_SURFACEFORMAT_R16_FLOAT,
    BRW_SURFACEFORMAT_R16G16_FLOAT,
-   0, /* can't seem to render this one */
+   BRW_SURFACEFORMAT_R16G16B16A16_FLOAT,
    BRW_SURFACEFORMAT_R16G16B16A16_FLOAT
 };