mesa: OpenGL 1.3 feature GL_ARB_texture_env_combine is not optional
v2: GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, and GL_ONE_MINUS_SRC_ALPHA should always be supported now. Noticed by Marek. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14203>
This commit is contained in:
@@ -157,7 +157,7 @@ EXT(ARB_texture_compression_rgtc , ARB_texture_compression_rgtc
|
||||
EXT(ARB_texture_cube_map , dummy_true , GLL, x , x , x , 1999)
|
||||
EXT(ARB_texture_cube_map_array , ARB_texture_cube_map_array , GLL, GLC, x , x , 2009)
|
||||
EXT(ARB_texture_env_add , dummy_true , GLL, x , x , x , 1999)
|
||||
EXT(ARB_texture_env_combine , ARB_texture_env_combine , GLL, x , x , x , 2001)
|
||||
EXT(ARB_texture_env_combine , dummy_true , GLL, x , x , x , 2001)
|
||||
EXT(ARB_texture_env_crossbar , ARB_texture_env_crossbar , GLL, x , x , x , 2001)
|
||||
EXT(ARB_texture_env_dot3 , ARB_texture_env_dot3 , GLL, x , x , x , 2001)
|
||||
EXT(ARB_texture_filter_anisotropic , ARB_texture_filter_anisotropic , GLL, GLC, x , x , 2017)
|
||||
|
@@ -4450,7 +4450,6 @@ struct gl_extensions
|
||||
GLboolean ARB_texture_compression_bptc;
|
||||
GLboolean ARB_texture_compression_rgtc;
|
||||
GLboolean ARB_texture_cube_map_array;
|
||||
GLboolean ARB_texture_env_combine;
|
||||
GLboolean ARB_texture_env_crossbar;
|
||||
GLboolean ARB_texture_env_dot3;
|
||||
GLboolean ARB_texture_filter_anisotropic;
|
||||
|
@@ -116,10 +116,8 @@ set_combiner_mode(struct gl_context *ctx,
|
||||
case GL_ADD:
|
||||
case GL_ADD_SIGNED:
|
||||
case GL_INTERPOLATE:
|
||||
legal = GL_TRUE;
|
||||
break;
|
||||
case GL_SUBTRACT:
|
||||
legal = ctx->Extensions.ARB_texture_env_combine;
|
||||
legal = GL_TRUE;
|
||||
break;
|
||||
case GL_DOT3_RGB_EXT:
|
||||
case GL_DOT3_RGBA_EXT:
|
||||
@@ -308,22 +306,9 @@ set_combiner_operand(struct gl_context *ctx,
|
||||
switch (param) {
|
||||
case GL_SRC_COLOR:
|
||||
case GL_ONE_MINUS_SRC_COLOR:
|
||||
/* The color input can only be used with GL_OPERAND[01]_RGB in the EXT
|
||||
* version. In the ARB and NV versions and OpenGL ES 1.x they can be
|
||||
* used for any RGB operand.
|
||||
*/
|
||||
legal = !alpha
|
||||
&& ((term < 2) || ctx->Extensions.ARB_texture_env_combine
|
||||
|| ctx->Extensions.NV_texture_env_combine4);
|
||||
legal = !alpha;
|
||||
break;
|
||||
case GL_ONE_MINUS_SRC_ALPHA:
|
||||
/* GL_ONE_MINUS_SRC_ALPHA can only be used with
|
||||
* GL_OPERAND[01]_(RGB|ALPHA) in the EXT version. In the ARB and NV
|
||||
* versions and OpenGL ES 1.x it can be used for any operand.
|
||||
*/
|
||||
legal = (term < 2) || ctx->Extensions.ARB_texture_env_combine
|
||||
|| ctx->Extensions.NV_texture_env_combine4;
|
||||
break;
|
||||
case GL_SRC_ALPHA:
|
||||
legal = GL_TRUE;
|
||||
break;
|
||||
|
@@ -251,8 +251,7 @@ compute_version(const struct gl_extensions *extensions,
|
||||
{
|
||||
GLuint major, minor, version;
|
||||
|
||||
const bool ver_1_3 = (extensions->ARB_texture_env_combine &&
|
||||
extensions->ARB_texture_env_dot3);
|
||||
const bool ver_1_3 = (extensions->ARB_texture_env_dot3);
|
||||
const bool ver_1_4 = (ver_1_3 &&
|
||||
extensions->ARB_depth_texture &&
|
||||
extensions->ARB_shadow &&
|
||||
@@ -494,8 +493,7 @@ static GLuint
|
||||
compute_version_es1(const struct gl_extensions *extensions)
|
||||
{
|
||||
/* OpenGL ES 1.0 is derived from OpenGL 1.3 */
|
||||
const bool ver_1_0 = (extensions->ARB_texture_env_combine &&
|
||||
extensions->ARB_texture_env_dot3);
|
||||
const bool ver_1_0 = (extensions->ARB_texture_env_dot3);
|
||||
/* OpenGL ES 1.1 is derived from OpenGL 1.5 */
|
||||
const bool ver_1_1 = (ver_1_0 &&
|
||||
extensions->EXT_point_parameters);
|
||||
|
@@ -1109,7 +1109,6 @@ void st_init_extensions(struct pipe_screen *screen,
|
||||
extensions->ARB_internalformat_query2 = GL_TRUE;
|
||||
extensions->ARB_map_buffer_range = GL_TRUE;
|
||||
extensions->ARB_sync = GL_TRUE;
|
||||
extensions->ARB_texture_env_combine = GL_TRUE;
|
||||
extensions->ARB_texture_env_crossbar = GL_TRUE;
|
||||
extensions->ARB_texture_env_dot3 = GL_TRUE;
|
||||
extensions->ARB_vertex_program = GL_TRUE;
|
||||
|
Reference in New Issue
Block a user