Module: Mesa Branch: master Commit: 83b76657b3dbf5e00d73bc03cc102317c4af6eca URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=83b76657b3dbf5e00d73bc03cc102317c4af6eca
Author: Marek Olšák <[email protected]> Date: Tue Apr 27 00:01:03 2010 +0200 r300g: set undefined vertex swizzles to (0,0,0,1) respectively --- src/gallium/drivers/r300/r300_state_inlines.h | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/src/gallium/drivers/r300/r300_state_inlines.h b/src/gallium/drivers/r300/r300_state_inlines.h index c2bff67..fcbdb91 100644 --- a/src/gallium/drivers/r300/r300_state_inlines.h +++ b/src/gallium/drivers/r300/r300_state_inlines.h @@ -453,10 +453,17 @@ r300_translate_vertex_data_swizzle(enum pipe_format format) { return 0; } - for (i = 0; i < 4; i++) { + for (i = 0; i < desc->nr_channels; i++) { swizzle |= MIN2(desc->swizzle[i], R300_SWIZZLE_SELECT_FP_ONE) << (3*i); } + /* Set (0,0,0,1) in unused components. */ + for (; i < 3; i++) { + swizzle |= R300_SWIZZLE_SELECT_FP_ZERO << (3*i); + } + for (; i < 4; i++) { + swizzle |= R300_SWIZZLE_SELECT_FP_ONE << (3*i); + } return swizzle | (0xf << R300_WRITE_ENA_SHIFT); } _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
