summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Krol <[email protected]>2009-12-08 19:58:13 +0100
committerMichal Krol <[email protected]>2009-12-08 19:58:13 +0100
commit876a785a182d7987786377ff0a44ee40628254f3 (patch)
treea657acb85a10fec64333c7850935de21b3fc696c
parentddbd2d08b7c5b5653981db8fec58d5c3244049cd (diff)
Format layout cannot be used to distinguish scaled/normalised formats.
-rw-r--r--src/gallium/drivers/nv50/nv50_vbo.c18
-rw-r--r--src/gallium/drivers/r300/r300_state_inlines.h2
2 files changed, 5 insertions, 15 deletions
diff --git a/src/gallium/drivers/nv50/nv50_vbo.c b/src/gallium/drivers/nv50/nv50_vbo.c
index f3472f266e5..d1c9f3f5900 100644
--- a/src/gallium/drivers/nv50/nv50_vbo.c
+++ b/src/gallium/drivers/nv50/nv50_vbo.c
@@ -75,25 +75,15 @@ nv50_vbo_type_to_hw(enum pipe_format format)
case UTIL_FORMAT_TYPE_FLOAT:
return NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_FLOAT;
case UTIL_FORMAT_TYPE_UNSIGNED:
- switch (desc->layout) {
- case UTIL_FORMAT_LAYOUT_ARITH:
+ if (desc->channel[0].normalized) {
return NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UNORM;
- case UTIL_FORMAT_LAYOUT_ARRAY:
- return NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_USCALED;
- default:
- return 0;
}
- break;
+ return NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_USCALED;
case UTIL_FORMAT_TYPE_SIGNED:
- switch (desc->layout) {
- case UTIL_FORMAT_LAYOUT_ARITH:
+ if (desc->channel[0].normalized) {
return NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SNORM;
- case UTIL_FORMAT_LAYOUT_ARRAY:
- return NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SSCALED;
- default:
- return 0;
}
- break;
+ return NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_SSCALED;
/*
case PIPE_FORMAT_TYPE_UINT:
return NV50TCL_VERTEX_ARRAY_ATTRIB_TYPE_UINT;
diff --git a/src/gallium/drivers/r300/r300_state_inlines.h b/src/gallium/drivers/r300/r300_state_inlines.h
index 5c58655da1a..7cd1f87630e 100644
--- a/src/gallium/drivers/r300/r300_state_inlines.h
+++ b/src/gallium/drivers/r300/r300_state_inlines.h
@@ -528,7 +528,7 @@ r300_translate_vertex_data_type(enum pipe_format format) {
if (desc->type == UTIL_FORMAT_TYPE_SIGNED) {
result |= R300_SIGNED;
}
- if (desc->layout == UTIL_FORMAT_LAYOUT_ARITH) {
+ if (desc->channel[0].normalized) {
result |= R300_NORMALIZE;
}