Module: Mesa Branch: master Commit: a961431285804e39e9089a9382954e454b9f6816 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a961431285804e39e9089a9382954e454b9f6816
Author: Marek Olšák <[email protected]> Date: Tue Apr 27 00:06:07 2010 +0200 r300g: setup PSC first, then align vertex formats This allows us to put correct swizzles for undefined components in PSC. --- src/gallium/drivers/r300/r300_state.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index b90c99c..cc8209d 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -1283,13 +1283,16 @@ static void* r300_create_vertex_elements_state(struct pipe_context* pipe, memcpy(velems->velem, attribs, sizeof(struct pipe_vertex_element) * count); if (r300_screen(pipe->screen)->caps.has_tcl) { - /* Check if the format is aligned to the size of DWORD. */ + r300_vertex_psc(velems); + + /* Check if the format is aligned to the size of DWORD. + * We only care about the blocksizes of the formats since + * swizzles are already set up. */ for (i = 0; i < count; i++) { format = &velems->velem[i].src_format; /* Replace some formats with their aligned counterparts, * this is OK because we check for aligned strides too. */ - /* XXX We need X instead of A in the format names. */ switch (*format) { case PIPE_FORMAT_R8G8B8_UNORM: *format = PIPE_FORMAT_R8G8B8X8_UNORM; @@ -1330,7 +1333,6 @@ static void* r300_create_vertex_elements_state(struct pipe_context* pipe, } } - r300_vertex_psc(velems); } } return velems; _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
