radeonsi: tell LLVM not to remove s_barrier instructions
[mesa.git] / src / gallium / drivers / r600 / r600_formats.h
index 6f5722851d436f721a5c2d301190e8313ec4fead..9533aaa137853e2d1070088682f4c6d72eb1d8a6 100644 (file)
@@ -64,7 +64,7 @@
 #define     ENDIAN_8IN32                    2
 #define     ENDIAN_8IN64                    3
 
-static INLINE unsigned r600_endian_swap(unsigned size)
+static inline unsigned r600_endian_swap(unsigned size)
 {
        if (R600_BIG_ENDIAN) {
                switch (size) {
@@ -82,11 +82,14 @@ static INLINE unsigned r600_endian_swap(unsigned size)
        }
 }
 
-static INLINE bool r600_is_vertex_format_supported(enum pipe_format format)
+static inline bool r600_is_vertex_format_supported(enum pipe_format format)
 {
        const struct util_format_description *desc = util_format_description(format);
        unsigned i;
 
+       if (format == PIPE_FORMAT_R11G11B10_FLOAT)
+               return true;
+
        if (!desc)
                return false;
 
@@ -107,6 +110,7 @@ static INLINE bool r600_is_vertex_format_supported(enum pipe_format format)
 
        /* No scaled/norm formats with 32 bits per channel. */
        if (desc->channel[i].size == 32 &&
+           !desc->channel[i].pure_integer &&
            (desc->channel[i].type == UTIL_FORMAT_TYPE_SIGNED ||
             desc->channel[i].type == UTIL_FORMAT_TYPE_UNSIGNED))
                return false;