summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_state.c
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2010-05-28 02:53:47 +0200
committerMarek Olšák <maraeo@gmail.com>2010-05-28 03:30:11 +0200
commitebe2b546633a3593c54190bb1f2d372d70de14cd (patch)
treec831d3620ba706c7d9c133f24cf78485ef9ad809 /src/gallium/drivers/r300/r300_state.c
parentf2e05acac931889e0820e1cc5d7ea810048a6b5f (diff)
r300g: report vertex format support in is_format_supported
Diffstat (limited to 'src/gallium/drivers/r300/r300_state.c')
-rw-r--r--src/gallium/drivers/r300/r300_state.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c
index d765721827..d68f4039ca 100644
--- a/src/gallium/drivers/r300/r300_state.c
+++ b/src/gallium/drivers/r300/r300_state.c
@@ -1250,8 +1250,15 @@ static void r300_vertex_psc(struct r300_vertex_element_state *velems)
for (i = 0; i < velems->count; i++) {
format = velems->velem[i].src_format;
- type = r300_translate_vertex_data_type(format) |
- (i << R300_DST_VEC_LOC_SHIFT);
+ type = r300_translate_vertex_data_type(format);
+ if (type == R300_INVALID_FORMAT) {
+ fprintf(stderr, "r300: Bad vertex format %s.\n",
+ util_format_short_name(format));
+ assert(0);
+ abort();
+ }
+
+ type |= i << R300_DST_VEC_LOC_SHIFT;
swizzle = r300_translate_vertex_data_swizzle(format);
if (i & 1) {