radeonsi: Fixed point vertex formats aren't supported.
authorMichel Dänzer <michel.daenzer@amd.com>
Fri, 11 May 2012 14:19:19 +0000 (16:19 +0200)
committerMichel Dänzer <michel@daenzer.net>
Sat, 12 May 2012 10:27:10 +0000 (12:27 +0200)
src/gallium/drivers/radeonsi/evergreen_state.c

index b094248fee181ff2d3bc0ebaf72200558fb98af8..0fdcdec8670790995acb25c9e91e2ab35d821c77 100644 (file)
@@ -747,8 +747,12 @@ uint32_t si_translate_vertexformat(struct pipe_screen *screen,
                                   const struct util_format_description *desc,
                                   int first_non_void)
 {
-       uint32_t result = si_translate_texformat(screen, format, desc, first_non_void);
+       uint32_t result;
 
+       if (desc->channel[first_non_void].type == UTIL_FORMAT_TYPE_FIXED)
+               return ~0;
+
+       result = si_translate_texformat(screen, format, desc, first_non_void);
        if (result == V_008F0C_BUF_DATA_FORMAT_INVALID ||
            result > V_008F0C_BUF_DATA_FORMAT_32_32_32_32)
                result = ~0;
@@ -1202,9 +1206,6 @@ static struct pipe_sampler_view *evergreen_create_sampler_view(struct pipe_conte
        case UTIL_FORMAT_TYPE_FLOAT:
                num_format = V_008F14_IMG_NUM_FORMAT_FLOAT;
                break;
-       case UTIL_FORMAT_TYPE_FIXED:
-               num_format = V_008F14_IMG_NUM_FORMAT_USCALED; /* XXX */
-               break;
        case UTIL_FORMAT_TYPE_SIGNED:
                num_format = V_008F14_IMG_NUM_FORMAT_SNORM;
                break;