Format layout cannot be used to distinguish scaled/normalised formats.
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user