i965: reuse _mesa_sizeof_type for index buffer types.
authorEric Anholt <eric@anholt.net>
Wed, 23 Jan 2013 01:39:36 +0000 (17:39 -0800)
committerEric Anholt <eric@anholt.net>
Fri, 25 Jan 2013 17:40:49 +0000 (09:40 -0800)
The core Mesa code has just one more case than this (GL_BITMAP), so I
don't see any cause to special-case it.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_draw_upload.c

index 07751487c0d89c0d97f1dcb99ca0cb6e12cb5958..1c8ade50eec88e37e44735097457b4bd18231684 100644 (file)
@@ -32,6 +32,7 @@
 #include "main/context.h"
 #include "main/enums.h"
 #include "main/macros.h"
+#include "main/glformats.h"
 
 #include "brw_draw.h"
 #include "brw_defines.h"
@@ -332,29 +333,6 @@ get_surface_type(struct intel_context *intel, GLenum type, GLuint size,
    }
 }
 
-
-static GLuint get_size( GLenum type )
-{
-   switch (type) {
-   case GL_DOUBLE: return sizeof(GLdouble);
-   case GL_FLOAT: return sizeof(GLfloat);
-   case GL_HALF_FLOAT: return sizeof(GLhalfARB);
-   case GL_INT: return sizeof(GLint);
-   case GL_SHORT: return sizeof(GLshort);
-   case GL_BYTE: return sizeof(GLbyte);
-   case GL_UNSIGNED_INT: return sizeof(GLuint);
-   case GL_UNSIGNED_SHORT: return sizeof(GLushort);
-   case GL_UNSIGNED_BYTE: return sizeof(GLubyte);
-   case GL_FIXED: return sizeof(GLuint);
-   /* packed formats: always have 4 components, and element size is
-    * 4 bytes, so pretend each component is 1 byte.
-    */
-   case GL_INT_2_10_10_10_REV: return sizeof(GLbyte);
-   case GL_UNSIGNED_INT_2_10_10_10_REV: return sizeof(GLubyte);
-   default: assert(0); return 0;
-   }
-}
-
 static GLuint get_index_type(GLenum type)
 {
    switch (type) {
@@ -821,7 +799,7 @@ static void brw_upload_indices(struct brw_context *brw)
    if (index_buffer == NULL)
       return;
 
-   ib_type_size = get_size(index_buffer->type);
+   ib_type_size = _mesa_sizeof_type(index_buffer->type);
    ib_size = ib_type_size * index_buffer->count;
    bufferobj = index_buffer->obj;