From 4c385d382f6932d5d88a26dcc9eedf520b3a9ed7 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Sat, 17 Mar 2012 16:30:02 -0600 Subject: [PATCH] mesa: use switch(target) in _mesa_test_texobj_completeness() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit and add missing case for GL_TEXTURE_BUFFER. Reviewed-by: José Fonseca Reviewed-by: Eric Anholt --- src/mesa/main/texobj.c | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c index def09e2d7fa..1611ba7f8d5 100644 --- a/src/mesa/main/texobj.c +++ b/src/mesa/main/texobj.c @@ -452,35 +452,39 @@ _mesa_test_texobj_completeness( const struct gl_context *ctx, return; } - /* Compute _MaxLevel */ - if ((t->Target == GL_TEXTURE_1D) || - (t->Target == GL_TEXTURE_1D_ARRAY_EXT)) { + /* Compute _MaxLevel (the maximum mipmap level we'll sample from given the + * mipmap image sizes and GL_TEXTURE_MAX_LEVEL state). + */ + switch (t->Target) { + case GL_TEXTURE_1D: + case GL_TEXTURE_1D_ARRAY_EXT: maxLog2 = t->Image[0][baseLevel]->WidthLog2; maxLevels = ctx->Const.MaxTextureLevels; - } - else if ((t->Target == GL_TEXTURE_2D) || - (t->Target == GL_TEXTURE_2D_ARRAY_EXT)) { + break; + case GL_TEXTURE_2D: + case GL_TEXTURE_2D_ARRAY_EXT: maxLog2 = MAX2(t->Image[0][baseLevel]->WidthLog2, t->Image[0][baseLevel]->HeightLog2); maxLevels = ctx->Const.MaxTextureLevels; - } - else if (t->Target == GL_TEXTURE_3D) { + break; + case GL_TEXTURE_3D: maxLog2 = MAX3(t->Image[0][baseLevel]->WidthLog2, t->Image[0][baseLevel]->HeightLog2, t->Image[0][baseLevel]->DepthLog2); maxLevels = ctx->Const.Max3DTextureLevels; - } - else if (t->Target == GL_TEXTURE_CUBE_MAP_ARB) { + break; + case GL_TEXTURE_CUBE_MAP_ARB: maxLog2 = MAX2(t->Image[0][baseLevel]->WidthLog2, t->Image[0][baseLevel]->HeightLog2); maxLevels = ctx->Const.MaxCubeTextureLevels; - } - else if (t->Target == GL_TEXTURE_RECTANGLE_NV || - t->Target == GL_TEXTURE_EXTERNAL_OES) { + break; + case GL_TEXTURE_RECTANGLE_NV: + case GL_TEXTURE_BUFFER: + case GL_TEXTURE_EXTERNAL_OES: maxLog2 = 0; /* not applicable */ maxLevels = 1; /* no mipmapping */ - } - else { + break; + default: _mesa_problem(ctx, "Bad t->Target in _mesa_test_texobj_completeness"); return; } -- 2.30.2