summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_state_inlines.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/r300/r300_state_inlines.h')
-rw-r--r--src/gallium/drivers/r300/r300_state_inlines.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_state_inlines.h b/src/gallium/drivers/r300/r300_state_inlines.h
index b7676e1715..6ee6cd0e3f 100644
--- a/src/gallium/drivers/r300/r300_state_inlines.h
+++ b/src/gallium/drivers/r300/r300_state_inlines.h
@@ -507,6 +507,14 @@ r300_translate_vertex_data_type(enum pipe_format format) {
/* Half-floats, floats, doubles */
case UTIL_FORMAT_TYPE_FLOAT:
switch (util_format_get_component_bits(format, UTIL_FORMAT_COLORSPACE_RGB, 0)) {
+ case 16:
+ /* XXX Supported only on RV350 and later. */
+ if (components > 2) {
+ result = R300_DATA_TYPE_FLT16_4;
+ } else {
+ result = R300_DATA_TYPE_FLT16_2;
+ }
+ break;
case 32:
result = R300_DATA_TYPE_FLOAT_1 + (components - 1);
break;