diff options
Diffstat (limited to 'mesalib')
-rw-r--r-- | mesalib/src/mesa/drivers/dri/swrast/swrast.c | 4 | ||||
-rw-r--r-- | mesalib/src/mesa/main/attrib.c | 73 | ||||
-rw-r--r-- | mesalib/src/mesa/main/blend.c | 5 | ||||
-rw-r--r-- | mesalib/src/mesa/main/extensions.c | 37 | ||||
-rw-r--r-- | mesalib/src/mesa/main/get.c | 13 | ||||
-rw-r--r-- | mesalib/src/mesa/main/mtypes.h | 7 | ||||
-rw-r--r-- | mesalib/src/mesa/main/samplerobj.c | 3 | ||||
-rw-r--r-- | mesalib/src/mesa/main/stencil.c | 8 | ||||
-rw-r--r-- | mesalib/src/mesa/main/texenv.c | 140 | ||||
-rw-r--r-- | mesalib/src/mesa/main/texparam.c | 18 | ||||
-rw-r--r-- | mesalib/src/mesa/main/version.c | 20 | ||||
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_cb_fbo.c | 1 | ||||
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_cb_texture.c | 36 | ||||
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_extensions.c | 13 |
14 files changed, 92 insertions, 286 deletions
diff --git a/mesalib/src/mesa/drivers/dri/swrast/swrast.c b/mesalib/src/mesa/drivers/dri/swrast/swrast.c index 3d5ddc51c..8665ad099 100644 --- a/mesalib/src/mesa/drivers/dri/swrast/swrast.c +++ b/mesalib/src/mesa/drivers/dri/swrast/swrast.c @@ -590,17 +590,13 @@ static const char *es2_extensions[] = { /* Required by GLES2 */ "GL_ARB_fragment_program", "GL_ARB_fragment_shader", - "GL_ARB_multitexture", "GL_ARB_shader_objects", "GL_ARB_texture_cube_map", - "GL_ARB_texture_mirrored_repeat", "GL_ARB_texture_non_power_of_two", "GL_ARB_vertex_shader", "GL_EXT_blend_color", "GL_EXT_blend_equation_separate", "GL_EXT_blend_minmax", - "GL_EXT_blend_subtract", - "GL_EXT_stencil_wrap", /* Optional GLES2 */ "GL_ARB_framebuffer_object", diff --git a/mesalib/src/mesa/main/attrib.c b/mesalib/src/mesa/main/attrib.c index 2f391c5a8..6f427e008 100644 --- a/mesalib/src/mesa/main/attrib.c +++ b/mesalib/src/mesa/main/attrib.c @@ -727,45 +727,40 @@ pop_texture_group(struct gl_context *ctx, struct texture_state *texstate) ((unit->TexGenEnabled & R_BIT) ? GL_TRUE : GL_FALSE)); _mesa_set_enable(ctx, GL_TEXTURE_GEN_Q, ((unit->TexGenEnabled & Q_BIT) ? GL_TRUE : GL_FALSE)); - if (ctx->Extensions.EXT_texture_lod_bias) { - _mesa_TexEnvf(GL_TEXTURE_FILTER_CONTROL_EXT, - GL_TEXTURE_LOD_BIAS_EXT, unit->LodBias); - } - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, - unit->Combine.ModeRGB); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, - unit->Combine.ModeA); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB, - unit->Combine.SourceRGB[0]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB, - unit->Combine.SourceRGB[1]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_RGB, - unit->Combine.SourceRGB[2]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA, - unit->Combine.SourceA[0]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_ALPHA, - unit->Combine.SourceA[1]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_ALPHA, - unit->Combine.SourceA[2]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, - unit->Combine.OperandRGB[0]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, - unit->Combine.OperandRGB[1]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB, - unit->Combine.OperandRGB[2]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, - unit->Combine.OperandA[0]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_ALPHA, - unit->Combine.OperandA[1]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_ALPHA, - unit->Combine.OperandA[2]); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE, - 1 << unit->Combine.ScaleShiftRGB); - _mesa_TexEnvi(GL_TEXTURE_ENV, GL_ALPHA_SCALE, - 1 << unit->Combine.ScaleShiftA); - } + _mesa_TexEnvf(GL_TEXTURE_FILTER_CONTROL, GL_TEXTURE_LOD_BIAS, + unit->LodBias); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, + unit->Combine.ModeRGB); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, + unit->Combine.ModeA); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB, + unit->Combine.SourceRGB[0]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB, + unit->Combine.SourceRGB[1]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_RGB, + unit->Combine.SourceRGB[2]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA, + unit->Combine.SourceA[0]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_ALPHA, + unit->Combine.SourceA[1]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_ALPHA, + unit->Combine.SourceA[2]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, + unit->Combine.OperandRGB[0]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, + unit->Combine.OperandRGB[1]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB, + unit->Combine.OperandRGB[2]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, + unit->Combine.OperandA[0]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_ALPHA, + unit->Combine.OperandA[1]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_ALPHA, + unit->Combine.OperandA[2]); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE, + 1 << unit->Combine.ScaleShiftRGB); + _mesa_TexEnvi(GL_TEXTURE_ENV, GL_ALPHA_SCALE, + 1 << unit->Combine.ScaleShiftA); /* Restore texture object state for each target */ for (tgt = 0; tgt < NUM_TEXTURE_TARGETS; tgt++) { diff --git a/mesalib/src/mesa/main/blend.c b/mesalib/src/mesa/main/blend.c index 98c14f561..09acdf5c5 100644 --- a/mesalib/src/mesa/main/blend.c +++ b/mesalib/src/mesa/main/blend.c @@ -289,13 +289,12 @@ legal_blend_equation(const struct gl_context *ctx, GLenum mode) { switch (mode) { case GL_FUNC_ADD: + case GL_FUNC_SUBTRACT: + case GL_FUNC_REVERSE_SUBTRACT: return GL_TRUE; case GL_MIN: case GL_MAX: return ctx->Extensions.EXT_blend_minmax; - case GL_FUNC_SUBTRACT: - case GL_FUNC_REVERSE_SUBTRACT: - return ctx->Extensions.EXT_blend_subtract; default: return GL_FALSE; } diff --git a/mesalib/src/mesa/main/extensions.c b/mesalib/src/mesa/main/extensions.c index cf9469f77..af1a3ff85 100644 --- a/mesalib/src/mesa/main/extensions.c +++ b/mesalib/src/mesa/main/extensions.c @@ -101,7 +101,7 @@ static const struct extension extension_table[] = { { "GL_ARB_instanced_arrays", o(ARB_instanced_arrays), GL, 2008 }, { "GL_ARB_map_buffer_range", o(ARB_map_buffer_range), GL, 2008 }, { "GL_ARB_multisample", o(dummy_true), GL, 1994 }, - { "GL_ARB_multitexture", o(ARB_multitexture), GL, 1998 }, + { "GL_ARB_multitexture", o(dummy_true), GL, 1998 }, { "GL_ARB_occlusion_query2", o(ARB_occlusion_query2), GL, 2003 }, { "GL_ARB_occlusion_query", o(ARB_occlusion_query), GL, 2001 }, { "GL_ARB_pixel_buffer_object", o(EXT_pixel_buffer_object), GL, 2004 }, @@ -123,12 +123,12 @@ static const struct extension extension_table[] = { { "GL_ARB_texture_compression", o(dummy_true), GL, 2000 }, { "GL_ARB_texture_compression_rgtc", o(ARB_texture_compression_rgtc), GL, 2004 }, { "GL_ARB_texture_cube_map", o(ARB_texture_cube_map), GL, 1999 }, - { "GL_ARB_texture_env_add", o(EXT_texture_env_add), GL, 1999 }, + { "GL_ARB_texture_env_add", o(dummy_true), GL, 1999 }, { "GL_ARB_texture_env_combine", o(ARB_texture_env_combine), GL, 2001 }, { "GL_ARB_texture_env_crossbar", o(ARB_texture_env_crossbar), GL, 2001 }, { "GL_ARB_texture_env_dot3", o(ARB_texture_env_dot3), GL, 2001 }, { "GL_ARB_texture_float", o(ARB_texture_float), GL, 2004 }, - { "GL_ARB_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), GL, 2001 }, + { "GL_ARB_texture_mirrored_repeat", o(dummy_true), GL, 2001 }, { "GL_ARB_texture_multisample", o(ARB_texture_multisample), GL, 2009 }, { "GL_ARB_texture_non_power_of_two", o(ARB_texture_non_power_of_two), GL, 2003 }, { "GL_ARB_texture_rectangle", o(NV_texture_rectangle), GL, 2004 }, @@ -152,7 +152,7 @@ static const struct extension extension_table[] = { { "GL_EXT_blend_equation_separate", o(EXT_blend_equation_separate), GL, 2003 }, { "GL_EXT_blend_func_separate", o(EXT_blend_func_separate), GL, 1999 }, { "GL_EXT_blend_minmax", o(EXT_blend_minmax), GL | ES1 | ES2, 1995 }, - { "GL_EXT_blend_subtract", o(EXT_blend_subtract), GL, 1995 }, + { "GL_EXT_blend_subtract", o(dummy_true), GL, 1995 }, { "GL_EXT_clip_volume_hint", o(EXT_clip_volume_hint), GL, 1996 }, { "GL_EXT_compiled_vertex_array", o(EXT_compiled_vertex_array), GL, 1996 }, { "GL_EXT_copy_texture", o(dummy_true), GL, 1995 }, @@ -181,7 +181,7 @@ static const struct extension extension_table[] = { { "GL_EXT_separate_specular_color", o(EXT_separate_specular_color), GL, 1997 }, { "GL_EXT_shadow_funcs", o(EXT_shadow_funcs), GL, 2002 }, { "GL_EXT_stencil_two_side", o(EXT_stencil_two_side), GL, 2001 }, - { "GL_EXT_stencil_wrap", o(EXT_stencil_wrap), GL, 2002 }, + { "GL_EXT_stencil_wrap", o(dummy_true), GL, 2002 }, { "GL_EXT_subtexture", o(dummy_true), GL, 1995 }, { "GL_EXT_texture3D", o(EXT_texture3D), GL, 1996 }, { "GL_EXT_texture_array", o(EXT_texture_array), GL, 2006 }, @@ -191,13 +191,13 @@ static const struct extension extension_table[] = { { "GL_EXT_texture_compression_s3tc", o(EXT_texture_compression_s3tc), GL, 2000 }, { "GL_EXT_texture_cube_map", o(ARB_texture_cube_map), GL, 2001 }, { "GL_EXT_texture_edge_clamp", o(dummy_true), GL, 1997 }, - { "GL_EXT_texture_env_add", o(EXT_texture_env_add), GL, 1999 }, - { "GL_EXT_texture_env_combine", o(EXT_texture_env_combine), GL, 2000 }, + { "GL_EXT_texture_env_add", o(dummy_true), GL, 1999 }, + { "GL_EXT_texture_env_combine", o(dummy_true), GL, 2000 }, { "GL_EXT_texture_env_dot3", o(EXT_texture_env_dot3), GL, 2000 }, { "GL_EXT_texture_filter_anisotropic", o(EXT_texture_filter_anisotropic), GL | ES1 | ES2, 1999 }, { "GL_EXT_texture_format_BGRA8888", o(dummy_true), ES1 | ES2, 2005 }, { "GL_EXT_texture_integer", o(EXT_texture_integer), GL, 2006 }, - { "GL_EXT_texture_lod_bias", o(EXT_texture_lod_bias), GL | ES1, 1999 }, + { "GL_EXT_texture_lod_bias", o(dummy_true), GL | ES1, 1999 }, { "GL_EXT_texture_mirror_clamp", o(EXT_texture_mirror_clamp), GL, 2004 }, { "GL_EXT_texture_object", o(dummy_true), GL, 1995 }, { "GL_EXT_texture", o(dummy_true), GL, 1996 }, @@ -216,7 +216,7 @@ static const struct extension extension_table[] = { /* OES extensions */ { "GL_OES_blend_equation_separate", o(EXT_blend_equation_separate), ES1, 2009 }, { "GL_OES_blend_func_separate", o(EXT_blend_func_separate), ES1, 2009 }, - { "GL_OES_blend_subtract", o(EXT_blend_subtract), ES1, 2009 }, + { "GL_OES_blend_subtract", o(dummy_true), ES1, 2009 }, { "GL_OES_byte_coordinates", o(dummy_true), ES1, 2002 }, { "GL_OES_compressed_paletted_texture", o(dummy_true), ES1, 2003 }, { "GL_OES_depth24", o(EXT_framebuffer_object), ES1 | ES2, 2005 }, @@ -246,11 +246,11 @@ static const struct extension extension_table[] = { { "GL_OES_stencil1", o(dummy_false), DISABLE, 2005 }, { "GL_OES_stencil4", o(dummy_false), DISABLE, 2005 }, { "GL_OES_stencil8", o(EXT_framebuffer_object), ES1 | ES2, 2005 }, - { "GL_OES_stencil_wrap", o(EXT_stencil_wrap), ES1, 2002 }, + { "GL_OES_stencil_wrap", o(dummy_true), ES1, 2002 }, { "GL_OES_texture_3D", o(EXT_texture3D), ES2, 2005 }, { "GL_OES_texture_cube_map", o(ARB_texture_cube_map), ES1, 2007 }, { "GL_OES_texture_env_crossbar", o(ARB_texture_env_crossbar), ES1, 2005 }, - { "GL_OES_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), ES1, 2005 }, + { "GL_OES_texture_mirrored_repeat", o(dummy_true), ES1, 2005 }, { "GL_OES_texture_npot", o(ARB_texture_non_power_of_two), ES2, 2005 }, /* Vendor extensions */ @@ -273,7 +273,7 @@ static const struct extension extension_table[] = { { "GL_ATI_texture_mirror_once", o(ATI_texture_mirror_once), GL, 2006 }, { "GL_IBM_multimode_draw_arrays", o(IBM_multimode_draw_arrays), GL, 1998 }, { "GL_IBM_rasterpos_clip", o(IBM_rasterpos_clip), GL, 1996 }, - { "GL_IBM_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), GL, 1998 }, + { "GL_IBM_texture_mirrored_repeat", o(dummy_true), GL, 1998 }, { "GL_INGR_blend_func_separate", o(EXT_blend_func_separate), GL, 1999 }, { "GL_MESA_pack_invert", o(MESA_pack_invert), GL, 2002 }, { "GL_MESA_resize_buffers", o(MESA_resize_buffers), GL, 1999 }, @@ -398,7 +398,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) ctx->Extensions.ARB_half_float_pixel = GL_TRUE; ctx->Extensions.ARB_half_float_vertex = GL_TRUE; ctx->Extensions.ARB_map_buffer_range = GL_TRUE; - ctx->Extensions.ARB_multitexture = GL_TRUE; #if FEATURE_queryobj ctx->Extensions.ARB_occlusion_query = GL_TRUE; ctx->Extensions.ARB_occlusion_query2 = GL_TRUE; @@ -419,7 +418,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) ctx->Extensions.ARB_texture_env_crossbar = GL_TRUE; ctx->Extensions.ARB_texture_env_dot3 = GL_TRUE; /*ctx->Extensions.ARB_texture_float = GL_TRUE;*/ - ctx->Extensions.ARB_texture_mirrored_repeat = GL_TRUE; ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE; ctx->Extensions.ARB_texture_rg = GL_TRUE; ctx->Extensions.ARB_texture_compression_rgtc = GL_TRUE; @@ -449,7 +447,6 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) ctx->Extensions.EXT_blend_equation_separate = GL_TRUE; ctx->Extensions.EXT_blend_func_separate = GL_TRUE; ctx->Extensions.EXT_blend_minmax = GL_TRUE; - ctx->Extensions.EXT_blend_subtract = GL_TRUE; ctx->Extensions.EXT_depth_bounds_test = GL_TRUE; ctx->Extensions.EXT_draw_buffers2 = GL_TRUE; ctx->Extensions.EXT_fog_coord = GL_TRUE; @@ -470,16 +467,12 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) ctx->Extensions.EXT_provoking_vertex = GL_TRUE; ctx->Extensions.EXT_shadow_funcs = GL_TRUE; ctx->Extensions.EXT_secondary_color = GL_TRUE; - ctx->Extensions.EXT_stencil_wrap = GL_TRUE; ctx->Extensions.EXT_stencil_two_side = GL_TRUE; ctx->Extensions.EXT_texture_array = GL_TRUE; ctx->Extensions.EXT_texture_compression_latc = GL_TRUE; - ctx->Extensions.EXT_texture_env_add = GL_TRUE; - ctx->Extensions.EXT_texture_env_combine = GL_TRUE; ctx->Extensions.EXT_texture_env_dot3 = GL_TRUE; ctx->Extensions.EXT_texture_filter_anisotropic = GL_TRUE; ctx->Extensions.EXT_texture_mirror_clamp = GL_TRUE; - ctx->Extensions.EXT_texture_lod_bias = GL_TRUE; ctx->Extensions.EXT_texture_shared_exponent = GL_TRUE; #if FEATURE_EXT_texture_sRGB ctx->Extensions.EXT_texture_sRGB = GL_TRUE; @@ -534,12 +527,10 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) void _mesa_enable_1_3_extensions(struct gl_context *ctx) { - ctx->Extensions.ARB_multitexture = GL_TRUE; ctx->Extensions.ARB_texture_border_clamp = GL_TRUE; ctx->Extensions.ARB_texture_cube_map = GL_TRUE; ctx->Extensions.ARB_texture_env_combine = GL_TRUE; ctx->Extensions.ARB_texture_env_dot3 = GL_TRUE; - ctx->Extensions.EXT_texture_env_add = GL_TRUE; /*ctx->Extensions.ARB_transpose_matrix = GL_TRUE;*/ } @@ -555,17 +546,13 @@ _mesa_enable_1_4_extensions(struct gl_context *ctx) ctx->Extensions.ARB_depth_texture = GL_TRUE; ctx->Extensions.ARB_shadow = GL_TRUE; ctx->Extensions.ARB_texture_env_crossbar = GL_TRUE; - ctx->Extensions.ARB_texture_mirrored_repeat = GL_TRUE; ctx->Extensions.ARB_window_pos = GL_TRUE; ctx->Extensions.EXT_blend_color = GL_TRUE; ctx->Extensions.EXT_blend_func_separate = GL_TRUE; ctx->Extensions.EXT_blend_minmax = GL_TRUE; - ctx->Extensions.EXT_blend_subtract = GL_TRUE; ctx->Extensions.EXT_fog_coord = GL_TRUE; ctx->Extensions.EXT_point_parameters = GL_TRUE; ctx->Extensions.EXT_secondary_color = GL_TRUE; - ctx->Extensions.EXT_stencil_wrap = GL_TRUE; - ctx->Extensions.EXT_texture_lod_bias = GL_TRUE; } diff --git a/mesalib/src/mesa/main/get.c b/mesalib/src/mesa/main/get.c index cddea8ea2..9c1771e16 100644 --- a/mesalib/src/mesa/main/get.c +++ b/mesalib/src/mesa/main/get.c @@ -289,13 +289,11 @@ static const int extra_ARB_sampler_objects[] = { EXTRA_EXT(ARB_ES2_compatibility); -EXTRA_EXT(ARB_multitexture); EXTRA_EXT(ARB_texture_cube_map); EXTRA_EXT(MESA_texture_array); EXTRA_EXT2(EXT_secondary_color, ARB_vertex_program); EXTRA_EXT(EXT_secondary_color); EXTRA_EXT(EXT_fog_coord); -EXTRA_EXT(EXT_texture_lod_bias); EXTRA_EXT(EXT_texture_filter_anisotropic); EXTRA_EXT(IBM_rasterpos_clip); EXTRA_EXT(NV_point_sprite); @@ -432,8 +430,7 @@ static const struct value_desc values[] = { { GL_VIEWPORT, LOC_CUSTOM, TYPE_INT_4, 0, NO_EXTRA }, /* GL_ARB_multitexture */ - { GL_ACTIVE_TEXTURE_ARB, - LOC_CUSTOM, TYPE_INT, 0, extra_ARB_multitexture }, + { GL_ACTIVE_TEXTURE, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, /* Note that all the OES_* extensions require that the Mesa "struct * gl_extensions" include a member with the name of the extension. @@ -612,10 +609,8 @@ static const struct value_desc values[] = { extra_ARB_ES2_compatibility }, /* GL_ARB_multitexture */ - { GL_MAX_TEXTURE_UNITS_ARB, - CONTEXT_INT(Const.MaxTextureUnits), extra_ARB_multitexture }, - { GL_CLIENT_ACTIVE_TEXTURE_ARB, - LOC_CUSTOM, TYPE_INT, 0, extra_ARB_multitexture }, + { GL_MAX_TEXTURE_UNITS, CONTEXT_INT(Const.MaxTextureUnits), NO_EXTRA }, + { GL_CLIENT_ACTIVE_TEXTURE, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, /* GL_ARB_texture_cube_map */ { GL_TEXTURE_CUBE_MAP_ARB, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA }, @@ -655,7 +650,7 @@ static const struct value_desc values[] = { /* GL_EXT_texture_lod_bias */ { GL_MAX_TEXTURE_LOD_BIAS_EXT, CONTEXT_FLOAT(Const.MaxTextureLodBias), - extra_EXT_texture_lod_bias }, + NO_EXTRA }, /* GL_EXT_texture_filter_anisotropic */ { GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, diff --git a/mesalib/src/mesa/main/mtypes.h b/mesalib/src/mesa/main/mtypes.h index 9b53a6078..be43434c8 100644 --- a/mesalib/src/mesa/main/mtypes.h +++ b/mesalib/src/mesa/main/mtypes.h @@ -2766,7 +2766,6 @@ struct gl_extensions GLboolean ARB_half_float_vertex; GLboolean ARB_instanced_arrays; GLboolean ARB_map_buffer_range; - GLboolean ARB_multitexture; GLboolean ARB_occlusion_query; GLboolean ARB_occlusion_query2; GLboolean ARB_point_sprite; @@ -2787,7 +2786,6 @@ struct gl_extensions GLboolean ARB_texture_env_crossbar; GLboolean ARB_texture_env_dot3; GLboolean ARB_texture_float; - GLboolean ARB_texture_mirrored_repeat; GLboolean ARB_texture_multisample; GLboolean ARB_texture_non_power_of_two; GLboolean ARB_texture_rg; @@ -2805,7 +2803,6 @@ struct gl_extensions GLboolean EXT_blend_equation_separate; GLboolean EXT_blend_func_separate; GLboolean EXT_blend_minmax; - GLboolean EXT_blend_subtract; GLboolean EXT_clip_volume_hint; GLboolean EXT_compiled_vertex_array; GLboolean EXT_depth_bounds_test; @@ -2829,18 +2826,14 @@ struct gl_extensions GLboolean EXT_secondary_color; GLboolean EXT_separate_shader_objects; GLboolean EXT_separate_specular_color; - GLboolean EXT_stencil_wrap; GLboolean EXT_stencil_two_side; GLboolean EXT_texture3D; GLboolean EXT_texture_array; GLboolean EXT_texture_compression_latc; GLboolean EXT_texture_compression_s3tc; - GLboolean EXT_texture_env_add; - GLboolean EXT_texture_env_combine; GLboolean EXT_texture_env_dot3; GLboolean EXT_texture_filter_anisotropic; GLboolean EXT_texture_integer; - GLboolean EXT_texture_lod_bias; GLboolean EXT_texture_mirror_clamp; GLboolean EXT_texture_shared_exponent; GLboolean EXT_texture_snorm; diff --git a/mesalib/src/mesa/main/samplerobj.c b/mesalib/src/mesa/main/samplerobj.c index 8f8d87b90..3ee27fb2c 100644 --- a/mesalib/src/mesa/main/samplerobj.c +++ b/mesalib/src/mesa/main/samplerobj.c @@ -294,11 +294,10 @@ validate_texture_wrap_mode(struct gl_context *ctx, GLenum wrap) case GL_CLAMP: case GL_CLAMP_TO_EDGE: case GL_REPEAT: + case GL_MIRRORED_REPEAT: return GL_TRUE; case GL_CLAMP_TO_BORDER: return e->ARB_texture_border_clamp; - case GL_MIRRORED_REPEAT: - return e->ARB_texture_mirrored_repeat; case GL_MIRROR_CLAMP_EXT: return e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp; case GL_MIRROR_CLAMP_TO_EDGE_EXT: diff --git a/mesalib/src/mesa/main/stencil.c b/mesalib/src/mesa/main/stencil.c index d898bf1d7..b6993ff12 100644 --- a/mesalib/src/mesa/main/stencil.c +++ b/mesalib/src/mesa/main/stencil.c @@ -65,13 +65,9 @@ validate_stencil_op(struct gl_context *ctx, GLenum op) case GL_INCR: case GL_DECR: case GL_INVERT: + case GL_INCR_WRAP: + case GL_DECR_WRAP: return GL_TRUE; - case GL_INCR_WRAP_EXT: - case GL_DECR_WRAP_EXT: - if (ctx->Extensions.EXT_stencil_wrap) { - return GL_TRUE; - } - /* FALL-THROUGH */ default: return GL_FALSE; } diff --git a/mesalib/src/mesa/main/texenv.c b/mesalib/src/mesa/main/texenv.c index 1df3890d4..e5f1bd39e 100644 --- a/mesalib/src/mesa/main/texenv.c +++ b/mesalib/src/mesa/main/texenv.c @@ -60,19 +60,14 @@ set_env_mode(struct gl_context *ctx, case GL_BLEND: case GL_DECAL: case GL_REPLACE: + case GL_ADD: + case GL_COMBINE: legal = GL_TRUE; break; case GL_REPLACE_EXT: mode = GL_REPLACE; /* GL_REPLACE_EXT != GL_REPLACE */ legal = GL_TRUE; break; - case GL_ADD: - legal = ctx->Extensions.EXT_texture_env_add; - break; - case GL_COMBINE: - legal = (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine); - break; case GL_COMBINE4_NV: legal = ctx->Extensions.NV_texture_env_combine4; break; @@ -114,12 +109,6 @@ set_combiner_mode(struct gl_context *ctx, { GLboolean legal; - if (!ctx->Extensions.EXT_texture_env_combine && - !ctx->Extensions.ARB_texture_env_combine) { - _mesa_error(ctx, GL_INVALID_ENUM, "glTexEnv(pname)"); - return; - } - switch (mode) { case GL_REPLACE: case GL_MODULATE: @@ -189,12 +178,6 @@ set_combiner_source(struct gl_context *ctx, GLuint term; GLboolean alpha, legal; - if (!ctx->Extensions.EXT_texture_env_combine && - !ctx->Extensions.ARB_texture_env_combine) { - _mesa_error(ctx, GL_INVALID_ENUM, "glTexEnv(pname)"); - return; - } - /* * Translate pname to (term, alpha). * @@ -282,12 +265,6 @@ set_combiner_operand(struct gl_context *ctx, GLuint term; GLboolean alpha, legal; - if (!ctx->Extensions.EXT_texture_env_combine && - !ctx->Extensions.ARB_texture_env_combine) { - _mesa_error(ctx, GL_INVALID_ENUM, "glTexEnv(pname)"); - return; - } - /* The enums were given sequential values for a reason. */ switch (pname) { @@ -367,12 +344,6 @@ set_combiner_scale(struct gl_context *ctx, { GLuint shift; - if (!ctx->Extensions.EXT_texture_env_combine && - !ctx->Extensions.ARB_texture_env_combine) { - _mesa_error(ctx, GL_INVALID_ENUM, "glTexEnv(pname)"); - return; - } - if (scale == 1.0F) { shift = 0; } @@ -489,11 +460,6 @@ _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param ) } } else if (target == GL_TEXTURE_FILTER_CONTROL_EXT) { - /* GL_EXT_texture_lod_bias */ - if (!ctx->Extensions.EXT_texture_lod_bias) { - _mesa_error( ctx, GL_INVALID_ENUM, "glTexEnv(target=0x%x)", target ); - return; - } if (pname == GL_TEXTURE_LOD_BIAS_EXT) { if (texUnit->LodBias == param[0]) return; @@ -605,35 +571,15 @@ get_texenvi(struct gl_context *ctx, const struct gl_texture_unit *texUnit, return texUnit->EnvMode; break; case GL_COMBINE_RGB: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - return texUnit->Combine.ModeRGB; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; + return texUnit->Combine.ModeRGB; case GL_COMBINE_ALPHA: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - return texUnit->Combine.ModeA; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; + return texUnit->Combine.ModeA; case GL_SOURCE0_RGB: case GL_SOURCE1_RGB: - case GL_SOURCE2_RGB: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - const unsigned rgb_idx = pname - GL_SOURCE0_RGB; - return texUnit->Combine.SourceRGB[rgb_idx]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; + case GL_SOURCE2_RGB: { + const unsigned rgb_idx = pname - GL_SOURCE0_RGB; + return texUnit->Combine.SourceRGB[rgb_idx]; + } case GL_SOURCE3_RGB_NV: if (ctx->Extensions.NV_texture_env_combine4) { return texUnit->Combine.SourceRGB[3]; @@ -644,16 +590,10 @@ get_texenvi(struct gl_context *ctx, const struct gl_texture_unit *texUnit, break; case GL_SOURCE0_ALPHA: case GL_SOURCE1_ALPHA: - case GL_SOURCE2_ALPHA: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - const unsigned alpha_idx = pname - GL_SOURCE0_ALPHA; - return texUnit->Combine.SourceA[alpha_idx]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; + case GL_SOURCE2_ALPHA: { + const unsigned alpha_idx = pname - GL_SOURCE0_ALPHA; + return texUnit->Combine.SourceA[alpha_idx]; + } case GL_SOURCE3_ALPHA_NV: if (ctx->Extensions.NV_texture_env_combine4) { return texUnit->Combine.SourceA[3]; @@ -664,16 +604,10 @@ get_texenvi(struct gl_context *ctx, const struct gl_texture_unit *texUnit, break; case GL_OPERAND0_RGB: case GL_OPERAND1_RGB: - case GL_OPERAND2_RGB: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - const unsigned op_rgb = pname - GL_OPERAND0_RGB; - return texUnit->Combine.OperandRGB[op_rgb]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; + case GL_OPERAND2_RGB: { + const unsigned op_rgb = pname - GL_OPERAND0_RGB; + return texUnit->Combine.OperandRGB[op_rgb]; + } case GL_OPERAND3_RGB_NV: if (ctx->Extensions.NV_texture_env_combine4) { return texUnit->Combine.OperandRGB[3]; @@ -684,16 +618,10 @@ get_texenvi(struct gl_context *ctx, const struct gl_texture_unit *texUnit, break; case GL_OPERAND0_ALPHA: case GL_OPERAND1_ALPHA: - case GL_OPERAND2_ALPHA: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - const unsigned op_alpha = pname - GL_OPERAND0_ALPHA; - return texUnit->Combine.OperandA[op_alpha]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; + case GL_OPERAND2_ALPHA: { + const unsigned op_alpha = pname - GL_OPERAND0_ALPHA; + return texUnit->Combine.OperandA[op_alpha]; + } case GL_OPERAND3_ALPHA_NV: if (ctx->Extensions.NV_texture_env_combine4) { return texUnit->Combine.OperandA[3]; @@ -703,23 +631,9 @@ get_texenvi(struct gl_context *ctx, const struct gl_texture_unit *texUnit, } break; case GL_RGB_SCALE: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - return 1 << texUnit->Combine.ScaleShiftRGB; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; + return 1 << texUnit->Combine.ScaleShiftRGB; case GL_ALPHA_SCALE: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - return 1 << texUnit->Combine.ScaleShiftA; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; + return 1 << texUnit->Combine.ScaleShiftA; case GL_BUMP_TARGET_ATI: /* spec doesn't say so, but I think this should be queryable */ if (ctx->Extensions.ATI_envmap_bumpmap) { @@ -774,11 +688,6 @@ _mesa_GetTexEnvfv( GLenum target, GLenum pname, GLfloat *params ) } } else if (target == GL_TEXTURE_FILTER_CONTROL_EXT) { - /* GL_EXT_texture_lod_bias */ - if (!ctx->Extensions.EXT_texture_lod_bias) { - _mesa_error( ctx, GL_INVALID_ENUM, "glGetTexEnvfv(target)" ); - return; - } if (pname == GL_TEXTURE_LOD_BIAS_EXT) { *params = texUnit->LodBias; } @@ -841,11 +750,6 @@ _mesa_GetTexEnviv( GLenum target, GLenum pname, GLint *params ) } } else if (target == GL_TEXTURE_FILTER_CONTROL_EXT) { - /* GL_EXT_texture_lod_bias */ - if (!ctx->Extensions.EXT_texture_lod_bias) { - _mesa_error( ctx, GL_INVALID_ENUM, "glGetTexEnviv(target)" ); - return; - } if (pname == GL_TEXTURE_LOD_BIAS_EXT) { *params = (GLint) texUnit->LodBias; } diff --git a/mesalib/src/mesa/main/texparam.c b/mesalib/src/mesa/main/texparam.c index 44dabe6de..f232cfc86 100644 --- a/mesalib/src/mesa/main/texparam.c +++ b/mesalib/src/mesa/main/texparam.c @@ -62,8 +62,7 @@ validate_texture_wrap_mode(struct gl_context * ctx, GLenum target, GLenum wrap) } else if (target != GL_TEXTURE_RECTANGLE_NV && (wrap == GL_REPEAT || - (wrap == GL_MIRRORED_REPEAT && - e->ARB_texture_mirrored_repeat) || + wrap == GL_MIRRORED_REPEAT || (wrap == GL_MIRROR_CLAMP_EXT && (e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp)) || (wrap == GL_MIRROR_CLAMP_TO_EDGE_EXT && @@ -534,13 +533,10 @@ set_tex_parameterf(struct gl_context *ctx, case GL_TEXTURE_LOD_BIAS: /* NOTE: this is really part of OpenGL 1.4, not EXT_texture_lod_bias */ - if (ctx->Extensions.EXT_texture_lod_bias) { - if (texObj->Sampler.LodBias != params[0]) { - flush(ctx); - texObj->Sampler.LodBias = params[0]; - return GL_TRUE; - } - return GL_FALSE; + if (texObj->Sampler.LodBias != params[0]) { + flush(ctx); + texObj->Sampler.LodBias = params[0]; + return GL_TRUE; } break; @@ -1170,8 +1166,6 @@ _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params ) *params = (GLfloat) obj->Sampler.DepthMode; break; case GL_TEXTURE_LOD_BIAS: - if (!ctx->Extensions.EXT_texture_lod_bias) - goto invalid_pname; *params = obj->Sampler.LodBias; break; #if FEATURE_OES_draw_texture @@ -1313,8 +1307,6 @@ _mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params ) *params = (GLint) obj->Sampler.DepthMode; break; case GL_TEXTURE_LOD_BIAS: - if (!ctx->Extensions.EXT_texture_lod_bias) - goto invalid_pname; *params = (GLint) obj->Sampler.LodBias; break; #if FEATURE_OES_draw_texture diff --git a/mesalib/src/mesa/main/version.c b/mesalib/src/mesa/main/version.c index c49731747..a996c145b 100644 --- a/mesalib/src/mesa/main/version.c +++ b/mesalib/src/mesa/main/version.c @@ -85,27 +85,21 @@ compute_version(struct gl_context *ctx) GLuint major, minor; static const int max = 100; - const GLboolean ver_1_3 = (ctx->Extensions.ARB_multitexture && - ctx->Extensions.ARB_texture_border_clamp && + const GLboolean ver_1_3 = (ctx->Extensions.ARB_texture_border_clamp && ctx->Extensions.ARB_texture_cube_map && - ctx->Extensions.EXT_texture_env_add && ctx->Extensions.ARB_texture_env_combine && ctx->Extensions.ARB_texture_env_dot3); const GLboolean ver_1_4 = (ver_1_3 && ctx->Extensions.ARB_depth_texture && ctx->Extensions.ARB_shadow && ctx->Extensions.ARB_texture_env_crossbar && - ctx->Extensions.ARB_texture_mirrored_repeat && ctx->Extensions.ARB_window_pos && ctx->Extensions.EXT_blend_color && ctx->Extensions.EXT_blend_func_separate && ctx->Extensions.EXT_blend_minmax && - ctx->Extensions.EXT_blend_subtract && ctx->Extensions.EXT_fog_coord && ctx->Extensions.EXT_point_parameters && - ctx->Extensions.EXT_secondary_color && - ctx->Extensions.EXT_stencil_wrap && - ctx->Extensions.EXT_texture_lod_bias); + ctx->Extensions.EXT_secondary_color); const GLboolean ver_1_5 = (ver_1_4 && ctx->Extensions.ARB_occlusion_query && ctx->Extensions.EXT_shadow_funcs); @@ -245,9 +239,7 @@ compute_version_es1(struct gl_context *ctx) static const int max = 100; /* OpenGL ES 1.0 is derived from OpenGL 1.3 */ - const GLboolean ver_1_0 = (ctx->Extensions.ARB_multitexture && - ctx->Extensions.EXT_texture_env_add && - ctx->Extensions.ARB_texture_env_combine && + const GLboolean ver_1_0 = (ctx->Extensions.ARB_texture_env_combine && ctx->Extensions.ARB_texture_env_dot3); /* OpenGL ES 1.1 is derived from OpenGL 1.5 */ const GLboolean ver_1_1 = (ver_1_0 && @@ -277,14 +269,10 @@ compute_version_es2(struct gl_context *ctx) static const int max = 100; /* OpenGL ES 2.0 is derived from OpenGL 2.0 */ - const GLboolean ver_2_0 = (ctx->Extensions.ARB_multitexture && - ctx->Extensions.ARB_texture_cube_map && - ctx->Extensions.ARB_texture_mirrored_repeat && + const GLboolean ver_2_0 = (ctx->Extensions.ARB_texture_cube_map && ctx->Extensions.EXT_blend_color && ctx->Extensions.EXT_blend_func_separate && ctx->Extensions.EXT_blend_minmax && - ctx->Extensions.EXT_blend_subtract && - ctx->Extensions.EXT_stencil_wrap && ctx->Extensions.ARB_shader_objects && ctx->Extensions.ARB_vertex_shader && ctx->Extensions.ARB_fragment_shader && diff --git a/mesalib/src/mesa/state_tracker/st_cb_fbo.c b/mesalib/src/mesa/state_tracker/st_cb_fbo.c index 05139ec5a..4d321587f 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_fbo.c +++ b/mesalib/src/mesa/state_tracker/st_cb_fbo.c @@ -381,6 +381,7 @@ st_render_texture(struct gl_context *ctx, rb->Width = texImage->Width2; rb->Height = texImage->Height2; rb->_BaseFormat = texImage->_BaseFormat; + rb->InternalFormat = texImage->InternalFormat; /*printf("***** render to texture level %d: %d x %d\n", att->TextureLevel, rb->Width, rb->Height);*/ /*printf("***** pipe texture %d x %d\n", pt->width0, pt->height0);*/ diff --git a/mesalib/src/mesa/state_tracker/st_cb_texture.c b/mesalib/src/mesa/state_tracker/st_cb_texture.c index 8df753f7c..260df09f5 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_texture.c +++ b/mesalib/src/mesa/state_tracker/st_cb_texture.c @@ -922,8 +922,7 @@ decompress_with_blit(struct gl_context * ctx, GLenum target, GLint level, /** - * Need to map texture image into memory before copying image data, - * then unmap it. + * Called via ctx->Driver.GetTexImage() */ static void st_GetTexImage(struct gl_context * ctx, GLenum target, GLint level, @@ -931,46 +930,21 @@ st_GetTexImage(struct gl_context * ctx, GLenum target, GLint level, struct gl_texture_object *texObj, struct gl_texture_image *texImage) { - struct st_context *st = st_context(ctx); struct st_texture_image *stImage = st_texture_image(texImage); - const GLuint dstImageStride = - _mesa_image_image_stride(&ctx->Pack, texImage->Width, texImage->Height, - format, type); - GLuint depth, i; - GLubyte *dest; if (stImage->pt && util_format_is_s3tc(stImage->pt->format)) { /* Need to decompress the texture. - * We'll do this by rendering a textured quad. + * We'll do this by rendering a textured quad (which is hopefully + * faster than using the fallback code in texcompress.c. * Note that we only expect RGBA formats (no Z/depth formats). */ decompress_with_blit(ctx, target, level, format, type, pixels, texObj, texImage); - return; } - - depth = texImage->Depth; - texImage->Depth = 1; - - dest = (GLubyte *) pixels; - - for (i = 0; i < depth; i++) { - _mesa_get_teximage(ctx, target, level, format, type, dest, + else { + _mesa_get_teximage(ctx, target, level, format, type, pixels, texObj, texImage); - - if (stImage->pt && i + 1 < depth) { - /* unmap this slice */ - st_texture_image_unmap(st, stImage); - /* map next slice of 3D texture */ - texImage->Data = st_texture_image_map(st, stImage, i + 1, - PIPE_TRANSFER_READ, 0, 0, - stImage->base.Width, - stImage->base.Height); - dest += dstImageStride; - } } - - texImage->Depth = depth; } diff --git a/mesalib/src/mesa/state_tracker/st_extensions.c b/mesalib/src/mesa/state_tracker/st_extensions.c index e6572c85a..27fff39a8 100644 --- a/mesalib/src/mesa/state_tracker/st_extensions.c +++ b/mesalib/src/mesa/state_tracker/st_extensions.c @@ -267,7 +267,6 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.EXT_blend_color = GL_TRUE; ctx->Extensions.EXT_blend_func_separate = GL_TRUE; ctx->Extensions.EXT_blend_minmax = GL_TRUE; - ctx->Extensions.EXT_blend_subtract = GL_TRUE; ctx->Extensions.EXT_framebuffer_blit = GL_TRUE; ctx->Extensions.EXT_framebuffer_object = GL_TRUE; ctx->Extensions.EXT_framebuffer_multisample = GL_TRUE; @@ -277,11 +276,7 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.EXT_point_parameters = GL_TRUE; ctx->Extensions.EXT_provoking_vertex = GL_TRUE; ctx->Extensions.EXT_secondary_color = GL_TRUE; - ctx->Extensions.EXT_stencil_wrap = GL_TRUE; - ctx->Extensions.EXT_texture_env_add = GL_TRUE; - ctx->Extensions.EXT_texture_env_combine = GL_TRUE; ctx->Extensions.EXT_texture_env_dot3 = GL_TRUE; - ctx->Extensions.EXT_texture_lod_bias = GL_TRUE; ctx->Extensions.EXT_vertex_array_bgra = GL_TRUE; ctx->Extensions.APPLE_vertex_array_object = GL_TRUE; @@ -327,10 +322,6 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.EXT_separate_shader_objects = GL_TRUE; } - if (screen->get_param(screen, PIPE_CAP_TEXTURE_MIRROR_REPEAT) > 0) { - ctx->Extensions.ARB_texture_mirrored_repeat = GL_TRUE; - } - if (screen->get_param(screen, PIPE_CAP_BLEND_EQUATION_SEPARATE)) { ctx->Extensions.EXT_blend_equation_separate = GL_TRUE; } @@ -344,10 +335,6 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE; } - if (screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS) > 1) { - ctx->Extensions.ARB_multitexture = GL_TRUE; - } - if (screen->get_param(screen, PIPE_CAP_TWO_SIDED_STENCIL)) { ctx->Extensions.ATI_separate_stencil = GL_TRUE; ctx->Extensions.EXT_stencil_two_side = GL_TRUE; |