[Mesa-dev] [PATCH 5/8] i965: reuse _mesa_sizeof_type for index buffer types.
Kenneth Graunke
kenneth at whitecape.org
Thu Jan 24 03:49:42 PST 2013
On 01/23/2013 11:17 AM, Eric Anholt wrote:
> The core Mesa code has just one more case than this (GL_BITMAP), so I
> don't see any cause to special-case it.
It also doesn't have the packed format support, but I guess that isn't
relevant for index buffers (only vertex data). Might be worth a note,
though.
> ---
> src/mesa/drivers/dri/i965/brw_draw_upload.c | 26 ++------------------------
> 1 file changed, 2 insertions(+), 24 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c
> index 0775148..1c8ade5 100644
> --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c
> +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c
> @@ -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;
>
>
More information about the mesa-dev
mailing list