mesa ctx->API --> _mesa_is_foo(ctx)

replaces direct API checks with _mesa_is_...() checks

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8340

Signed-off-by: Volodymyr Obohzyn volodymyr.obozhyn@globallogic.com

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21556>
This commit is contained in:
volodymyr.o
2023-02-27 15:19:30 +02:00
committed by Marge Bot
parent 5e039dbf8e
commit 47e7b49c61
30 changed files with 75 additions and 71 deletions

View File

@@ -95,7 +95,7 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx,
this->ARB_texture_rectangle_enable = true; this->ARB_texture_rectangle_enable = true;
/* OpenGL ES 2.0 has different defaults from desktop GL. */ /* OpenGL ES 2.0 has different defaults from desktop GL. */
if (ctx->API == API_OPENGLES2) { if (_mesa_is_gles2(ctx)) {
this->language_version = 100; this->language_version = 100;
this->es_shader = true; this->es_shader = true;
this->ARB_texture_rectangle_enable = false; this->ARB_texture_rectangle_enable = false;
@@ -238,7 +238,7 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx,
} }
} }
} }
if (ctx->API == API_OPENGLES2 || ctx->Extensions.ARB_ES2_compatibility) { if (_mesa_is_gles2(ctx) || ctx->Extensions.ARB_ES2_compatibility) {
this->supported_versions[this->num_supported_versions].ver = 100; this->supported_versions[this->num_supported_versions].ver = 100;
this->supported_versions[this->num_supported_versions].gl_ver = 20; this->supported_versions[this->num_supported_versions].gl_ver = 20;
this->supported_versions[this->num_supported_versions].es = true; this->supported_versions[this->num_supported_versions].es = true;
@@ -256,7 +256,7 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx,
this->supported_versions[this->num_supported_versions].es = true; this->supported_versions[this->num_supported_versions].es = true;
this->num_supported_versions++; this->num_supported_versions++;
} }
if ((ctx->API == API_OPENGLES2 && ctx->Version >= 32) || if (_mesa_is_gles32(ctx) ||
ctx->Extensions.ARB_ES3_2_compatibility) { ctx->Extensions.ARB_ES3_2_compatibility) {
this->supported_versions[this->num_supported_versions].ver = 320; this->supported_versions[this->num_supported_versions].ver = 320;
this->supported_versions[this->num_supported_versions].gl_ver = 32; this->supported_versions[this->num_supported_versions].gl_ver = 32;

View File

@@ -91,6 +91,7 @@
#include "main/shaderobj.h" #include "main/shaderobj.h"
#include "main/enums.h" #include "main/enums.h"
#include "main/mtypes.h" #include "main/mtypes.h"
#include "main/context.h"
namespace { namespace {
@@ -3928,7 +3929,7 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
* always require a Vertex shader and hence a Fragment shader. * always require a Vertex shader and hence a Fragment shader.
* - Finally a Compute shader linked with any other stage is a link error. * - Finally a Compute shader linked with any other stage is a link error.
*/ */
if (!prog->SeparateShader && ctx->API == API_OPENGLES2 && if (!prog->SeparateShader && _mesa_is_gles2(ctx) &&
num_shaders[MESA_SHADER_COMPUTE] == 0) { num_shaders[MESA_SHADER_COMPUTE] == 0) {
if (prog->_LinkedShaders[MESA_SHADER_VERTEX] == NULL) { if (prog->_LinkedShaders[MESA_SHADER_VERTEX] == NULL) {
linker_error(prog, "program lacks a vertex shader\n"); linker_error(prog, "program lacks a vertex shader\n");

View File

@@ -54,12 +54,12 @@ class PrintCode(gl_XML.gl_print_base):
if not condition: if not condition:
continue continue
if (condition == '_mesa_is_desktop_gl(ctx) || ctx->API == API_OPENGLES2' and if (condition == '_mesa_is_desktop_gl(ctx) || _mesa_is_gles2(ctx)' and
re.match('VertexAttrib[1-4].*ARB', f.name)): re.match('VertexAttrib[1-4].*ARB', f.name)):
# These functions should map to an *ES callback for GLES2. # These functions should map to an *ES callback for GLES2.
settings_by_condition['_mesa_is_desktop_gl(ctx)'].append( settings_by_condition['_mesa_is_desktop_gl(ctx)'].append(
'SET_{0}(tab, NAME({0}));'.format(f.name)) 'SET_{0}(tab, NAME({0}));'.format(f.name))
settings_by_condition['ctx->API == API_OPENGLES2'].append( settings_by_condition['_mesa_is_gles2(ctx)'].append(
'SET_{0}(tab, NAME_ES({0}));'.format(f.name)) 'SET_{0}(tab, NAME_ES({0}));'.format(f.name))
else: else:
macro = ('NAME_CALLLIST' if f.name[0:8] == 'CallList' else macro = ('NAME_CALLLIST' if f.name[0:8] == 'CallList' else

View File

@@ -306,22 +306,22 @@ def get_api_condition(f):
unconditional_count = 0 unconditional_count = 0
if ex.compatibility is not None: if ex.compatibility is not None:
condition_parts.append('ctx->API == API_OPENGL_COMPAT') condition_parts.append('_mesa_is_desktop_gl_compat(ctx)')
unconditional_count += 1 unconditional_count += 1
if ex.core is not None: if ex.core is not None:
condition_parts.append('ctx->API == API_OPENGL_CORE') condition_parts.append('_mesa_is_desktop_gl_core(ctx)')
unconditional_count += 1 unconditional_count += 1
if ex.es1 is not None: if ex.es1 is not None:
condition_parts.append('ctx->API == API_OPENGLES') condition_parts.append('_mesa_is_gles1(ctx)')
unconditional_count += 1 unconditional_count += 1
if ex.es2 is not None: if ex.es2 is not None:
if ex.es2 > 20: if ex.es2 > 20:
condition_parts.append('(ctx->API == API_OPENGLES2 && ctx->Version >= {0})'.format(ex.es2)) condition_parts.append('(_mesa_is_gles2(ctx) && ctx->Version >= {0})'.format(ex.es2))
else: else:
condition_parts.append('ctx->API == API_OPENGLES2') condition_parts.append('_mesa_is_gles2(ctx)')
unconditional_count += 1 unconditional_count += 1
# If the function is unconditionally available in all four # If the function is unconditionally available in all four
@@ -333,16 +333,16 @@ def get_api_condition(f):
else: else:
if f.desktop: if f.desktop:
if f.deprecated: if f.deprecated:
condition_parts.append('ctx->API == API_OPENGL_COMPAT') condition_parts.append('_mesa_is_desktop_gl_compat(ctx)')
else: else:
condition_parts.append('_mesa_is_desktop_gl(ctx)') condition_parts.append('_mesa_is_desktop_gl(ctx)')
if 'es1' in f.api_map: if 'es1' in f.api_map:
condition_parts.append('ctx->API == API_OPENGLES') condition_parts.append('_mesa_is_gles1(ctx)')
if 'es2' in f.api_map: if 'es2' in f.api_map:
if f.api_map['es2'] > 2.0: if f.api_map['es2'] > 2.0:
condition_parts.append('(ctx->API == API_OPENGLES2 && ctx->Version >= {0})'.format(int(f.api_map['es2'] * 10))) condition_parts.append('(_mesa_is_gles2(ctx) && ctx->Version >= {0})'.format(int(f.api_map['es2'] * 10)))
else: else:
condition_parts.append('ctx->API == API_OPENGLES2') condition_parts.append('_mesa_is_gles2(ctx)')
if not condition_parts: if not condition_parts:
# This function does not exist in any API. # This function does not exist in any API.

View File

@@ -206,7 +206,7 @@ _mesa_lookup_vao(struct gl_context *ctx, GLuint id)
* the name of the vertex array object." * the name of the vertex array object."
*/ */
if (id == 0) { if (id == 0) {
if (ctx->API == API_OPENGL_COMPAT) if (_mesa_is_desktop_gl_compat(ctx))
return ctx->Array.DefaultVAO; return ctx->Array.DefaultVAO;
return NULL; return NULL;
@@ -250,7 +250,7 @@ _mesa_lookup_vao_err(struct gl_context *ctx, GLuint id,
* the name of the vertex array object." * the name of the vertex array object."
*/ */
if (id == 0) { if (id == 0) {
if (is_ext_dsa || ctx->API == API_OPENGL_CORE) { if (is_ext_dsa || _mesa_is_desktop_gl_core(ctx)) {
_mesa_error(ctx, GL_INVALID_OPERATION, _mesa_error(ctx, GL_INVALID_OPERATION,
"%s(zero is not valid vaobj name%s)", "%s(zero is not valid vaobj name%s)",
caller, caller,
@@ -936,7 +936,7 @@ bind_vertex_array(struct gl_context *ctx, GLuint id, bool no_error)
/* Update the valid-to-render state if binding on unbinding default VAO /* Update the valid-to-render state if binding on unbinding default VAO
* if drawing with the default VAO is invalid. * if drawing with the default VAO is invalid.
*/ */
if (ctx->API == API_OPENGL_CORE && if (_mesa_is_desktop_gl_core(ctx) &&
(oldObj == ctx->Array.DefaultVAO) != (newObj == ctx->Array.DefaultVAO)) (oldObj == ctx->Array.DefaultVAO) != (newObj == ctx->Array.DefaultVAO))
_mesa_update_valid_to_render_state(ctx); _mesa_update_valid_to_render_state(ctx);
} }

View File

@@ -944,8 +944,8 @@ _mesa_PopAttrib(void)
TEST_AND_UPDATE(ctx->Point.PointSprite, attr->Point.PointSprite, TEST_AND_UPDATE(ctx->Point.PointSprite, attr->Point.PointSprite,
GL_POINT_SPRITE); GL_POINT_SPRITE);
if ((ctx->API == API_OPENGL_COMPAT && ctx->Version >= 20) if ((_mesa_is_desktop_gl_compat(ctx) && ctx->Version >= 20)
|| ctx->API == API_OPENGL_CORE) || _mesa_is_desktop_gl_core(ctx))
TEST_AND_CALL1_SEL(Point.SpriteOrigin, PointParameterf, GL_POINT_SPRITE_COORD_ORIGIN); TEST_AND_CALL1_SEL(Point.SpriteOrigin, PointParameterf, GL_POINT_SPRITE_COORD_ORIGIN);
} }

View File

@@ -163,7 +163,7 @@ clear(struct gl_context *ctx, GLbitfield mask, bool no_error)
* existed in OpenGL ES. * existed in OpenGL ES.
*/ */
if ((mask & GL_ACCUM_BUFFER_BIT) != 0 if ((mask & GL_ACCUM_BUFFER_BIT) != 0
&& (ctx->API == API_OPENGL_CORE || _mesa_is_gles(ctx))) { && (_mesa_is_desktop_gl_core(ctx) || _mesa_is_gles(ctx))) {
_mesa_error( ctx, GL_INVALID_VALUE, "glClear(GL_ACCUM_BUFFER_BIT)"); _mesa_error( ctx, GL_INVALID_VALUE, "glClear(GL_ACCUM_BUFFER_BIT)");
return; return;
} }

View File

@@ -14094,7 +14094,7 @@ void
_mesa_init_dispatch_save_begin_end(struct gl_context *ctx) _mesa_init_dispatch_save_begin_end(struct gl_context *ctx)
{ {
struct _glapi_table *tab = ctx->Dispatch.Save; struct _glapi_table *tab = ctx->Dispatch.Save;
assert(ctx->API == API_OPENGL_COMPAT); assert(_mesa_is_desktop_gl_compat(ctx));
#define NAME_AE(x) _mesa_##x #define NAME_AE(x) _mesa_##x
#define NAME_CALLLIST(x) save_##x #define NAME_CALLLIST(x) save_##x

View File

@@ -2316,7 +2316,7 @@ _mesa_DrawArraysIndirect(GLenum mode, const GLvoid *indirect)
* DrawElementsIndirect are to source their arguments directly from the * DrawElementsIndirect are to source their arguments directly from the
* pointer passed as their <indirect> parameters." * pointer passed as their <indirect> parameters."
*/ */
if (ctx->API == API_OPENGL_COMPAT && if (_mesa_is_desktop_gl_compat(ctx) &&
!ctx->DrawIndirectBuffer) { !ctx->DrawIndirectBuffer) {
DrawArraysIndirectCommand *cmd = (DrawArraysIndirectCommand *) indirect; DrawArraysIndirectCommand *cmd = (DrawArraysIndirectCommand *) indirect;
@@ -2351,7 +2351,7 @@ _mesa_DrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect)
* DrawElementsIndirect are to source their arguments directly from the * DrawElementsIndirect are to source their arguments directly from the
* pointer passed as their <indirect> parameters." * pointer passed as their <indirect> parameters."
*/ */
if (ctx->API == API_OPENGL_COMPAT && if (_mesa_is_desktop_gl_compat(ctx) &&
!ctx->DrawIndirectBuffer) { !ctx->DrawIndirectBuffer) {
/* /*
* Unlike regular DrawElementsInstancedBaseVertex commands, the indices * Unlike regular DrawElementsInstancedBaseVertex commands, the indices
@@ -2416,7 +2416,7 @@ _mesa_MultiDrawArraysIndirect(GLenum mode, const GLvoid *indirect,
* DrawElementsIndirect are to source their arguments directly from the * DrawElementsIndirect are to source their arguments directly from the
* pointer passed as their <indirect> parameters." * pointer passed as their <indirect> parameters."
*/ */
if (ctx->API == API_OPENGL_COMPAT && if (_mesa_is_desktop_gl_compat(ctx) &&
!ctx->DrawIndirectBuffer) { !ctx->DrawIndirectBuffer) {
if (!_mesa_is_no_error_enabled(ctx) && if (!_mesa_is_no_error_enabled(ctx) &&
@@ -2489,7 +2489,7 @@ _mesa_MultiDrawElementsIndirect(GLenum mode, GLenum type,
* DrawElementsIndirect are to source their arguments directly from the * DrawElementsIndirect are to source their arguments directly from the
* pointer passed as their <indirect> parameters." * pointer passed as their <indirect> parameters."
*/ */
if (ctx->API == API_OPENGL_COMPAT && if (_mesa_is_desktop_gl_compat(ctx) &&
!ctx->DrawIndirectBuffer) { !ctx->DrawIndirectBuffer) {
/* /*
* Unlike regular DrawElementsInstancedBaseVertex commands, the indices * Unlike regular DrawElementsInstancedBaseVertex commands, the indices

View File

@@ -146,7 +146,7 @@ _mesa_update_valid_to_render_state(struct gl_context *ctx)
return; return;
} }
if (ctx->API == API_OPENGL_COMPAT) { if (_mesa_is_desktop_gl_compat(ctx)) {
if (!shader->CurrentProgram[MESA_SHADER_FRAGMENT]) { if (!shader->CurrentProgram[MESA_SHADER_FRAGMENT]) {
if (ctx->FragmentProgram.Enabled && if (ctx->FragmentProgram.Enabled &&
!_mesa_arb_fragment_program_enabled(ctx)) !_mesa_arb_fragment_program_enabled(ctx))

View File

@@ -162,7 +162,7 @@ _mesa_GetString( GLenum name )
ctx->Extensions.String = _mesa_make_extension_string(ctx); ctx->Extensions.String = _mesa_make_extension_string(ctx);
return (const GLubyte *) ctx->Extensions.String; return (const GLubyte *) ctx->Extensions.String;
case GL_SHADING_LANGUAGE_VERSION: case GL_SHADING_LANGUAGE_VERSION:
if (ctx->API == API_OPENGLES) if (_mesa_is_gles1(ctx))
break; break;
return shading_language_version(ctx); return shading_language_version(ctx);
case GL_PROGRAM_ERROR_STRING_ARB: case GL_PROGRAM_ERROR_STRING_ARB:

View File

@@ -436,7 +436,7 @@ draw_arrays(GLuint drawid, GLenum mode, GLint first, GLsizei count,
} }
unsigned user_buffer_mask = unsigned user_buffer_mask =
ctx->API == API_OPENGL_CORE ? 0 : get_user_buffer_mask(ctx); _mesa_is_desktop_gl_core(ctx) ? 0 : get_user_buffer_mask(ctx);
/* Fast path when nothing needs to be done. /* Fast path when nothing needs to be done.
* *
@@ -556,7 +556,7 @@ _mesa_marshal_MultiDrawArrays(GLenum mode, const GLint *first,
struct glthread_attrib_binding buffers[VERT_ATTRIB_MAX]; struct glthread_attrib_binding buffers[VERT_ATTRIB_MAX];
unsigned user_buffer_mask = unsigned user_buffer_mask =
ctx->API == API_OPENGL_CORE || draw_count <= 0 || _mesa_is_desktop_gl_core(ctx) || draw_count <= 0 ||
ctx->Dispatch.Current == ctx->Dispatch.ContextLost || ctx->Dispatch.Current == ctx->Dispatch.ContextLost ||
ctx->GLThread.inside_begin_end ? 0 : get_user_buffer_mask(ctx); ctx->GLThread.inside_begin_end ? 0 : get_user_buffer_mask(ctx);
@@ -852,7 +852,7 @@ draw_elements(GLuint drawid, GLenum mode, GLsizei count, GLenum type,
struct glthread_vao *vao = ctx->GLThread.CurrentVAO; struct glthread_vao *vao = ctx->GLThread.CurrentVAO;
unsigned user_buffer_mask = unsigned user_buffer_mask =
ctx->API == API_OPENGL_CORE ? 0 : get_user_buffer_mask(ctx); _mesa_is_desktop_gl_core(ctx) ? 0 : get_user_buffer_mask(ctx);
bool has_user_indices = vao->CurrentElementBufferName == 0 && indices; bool has_user_indices = vao->CurrentElementBufferName == 0 && indices;
/* Fast path when nothing needs to be done. /* Fast path when nothing needs to be done.
@@ -1136,7 +1136,7 @@ _mesa_marshal_MultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count,
if (draw_count > 0 && is_index_type_valid(type) && if (draw_count > 0 && is_index_type_valid(type) &&
ctx->Dispatch.Current != ctx->Dispatch.ContextLost && ctx->Dispatch.Current != ctx->Dispatch.ContextLost &&
!ctx->GLThread.inside_begin_end) { !ctx->GLThread.inside_begin_end) {
user_buffer_mask = ctx->API == API_OPENGL_CORE ? 0 : get_user_buffer_mask(ctx); user_buffer_mask = _mesa_is_desktop_gl_core(ctx) ? 0 : get_user_buffer_mask(ctx);
has_user_indices = vao->CurrentElementBufferName == 0; has_user_indices = vao->CurrentElementBufferName == 0;
} }

View File

@@ -113,7 +113,7 @@ _mesa_Hint( GLenum target, GLenum mode )
/* GL_ARB_fragment_shader */ /* GL_ARB_fragment_shader */
case GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB: case GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB:
if (ctx->API == API_OPENGLES || !ctx->Extensions.ARB_fragment_shader) if (_mesa_is_gles1(ctx) || !ctx->Extensions.ARB_fragment_shader)
goto invalid_target; goto invalid_target;
if (ctx->Hint.FragmentShaderDerivative == mode) if (ctx->Hint.FragmentShaderDerivative == mode)
return; return;

View File

@@ -877,7 +877,7 @@ _mesa_GetMaterialiv( GLenum face, GLenum pname, GLint *params )
GLuint f; GLuint f;
GLfloat (*mat)[4] = ctx->Light.Material.Attrib; GLfloat (*mat)[4] = ctx->Light.Material.Attrib;
assert(ctx->API == API_OPENGL_COMPAT); assert(_mesa_is_desktop_gl_compat(ctx));
FLUSH_VERTICES(ctx, 0, 0); /* update materials */ FLUSH_VERTICES(ctx, 0, 0); /* update materials */
FLUSH_CURRENT(ctx, 0); /* update ctx->Light.Material from vertex buffer */ FLUSH_CURRENT(ctx, 0); /* update ctx->Light.Material from vertex buffer */
@@ -1269,8 +1269,8 @@ _mesa_init_lighting( struct gl_context *ctx )
NULL ); NULL );
ctx->Light.ColorMaterialEnabled = GL_FALSE; ctx->Light.ColorMaterialEnabled = GL_FALSE;
ctx->Light.ClampVertexColor = ctx->API == API_OPENGL_COMPAT; ctx->Light.ClampVertexColor = _mesa_is_desktop_gl_compat(ctx);
ctx->Light._ClampVertexColor = ctx->API == API_OPENGL_COMPAT; ctx->Light._ClampVertexColor = _mesa_is_desktop_gl_compat(ctx);
/* Miscellaneous */ /* Miscellaneous */
ctx->Light._NeedEyeCoords = GL_FALSE; ctx->Light._NeedEyeCoords = GL_FALSE;

View File

@@ -61,7 +61,7 @@ line_width(struct gl_context *ctx, GLfloat width, bool no_error)
* *NOT* removed in a later spec. Therefore, we only disallow this in a * *NOT* removed in a later spec. Therefore, we only disallow this in a
* forward compatible context. * forward compatible context.
*/ */
if (!no_error && ctx->API == API_OPENGL_CORE if (!no_error && _mesa_is_desktop_gl_core(ctx)
&& ((ctx->Const.ContextFlags & GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT) && ((ctx->Const.ContextFlags & GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT)
!= 0) != 0)
&& width > 1.0F) { && width > 1.0F) {

View File

@@ -81,7 +81,7 @@ get_named_matrix_stack(struct gl_context *ctx, GLenum mode, const char* caller)
case GL_MATRIX5_ARB: case GL_MATRIX5_ARB:
case GL_MATRIX6_ARB: case GL_MATRIX6_ARB:
case GL_MATRIX7_ARB: case GL_MATRIX7_ARB:
if (ctx->API == API_OPENGL_COMPAT if (_mesa_is_desktop_gl_compat(ctx)
&& (ctx->Extensions.ARB_vertex_program || && (ctx->Extensions.ARB_vertex_program ||
ctx->Extensions.ARB_fragment_program)) { ctx->Extensions.ARB_fragment_program)) {
const GLuint m = mode - GL_MATRIX0_ARB; const GLuint m = mode - GL_MATRIX0_ARB;

View File

@@ -242,7 +242,7 @@ _mesa_check_sample_count(struct gl_context *ctx, GLenum target,
* *
* This restriction is relaxed for OpenGL ES 3.1. * This restriction is relaxed for OpenGL ES 3.1.
*/ */
if ((ctx->API == API_OPENGLES2 && ctx->Version == 30) && if ((_mesa_is_gles2(ctx) && ctx->Version == 30) &&
_mesa_is_enum_format_integer(internalFormat) _mesa_is_enum_format_integer(internalFormat)
&& samples > 0) { && samples > 0) {
return GL_INVALID_OPERATION; return GL_INVALID_OPERATION;

View File

@@ -168,8 +168,8 @@ _mesa_PointParameterfv( GLenum pname, const GLfloat *params)
/* GL_POINT_SPRITE_COORD_ORIGIN was added to point sprites when the /* GL_POINT_SPRITE_COORD_ORIGIN was added to point sprites when the
* extension was merged into OpenGL 2.0. * extension was merged into OpenGL 2.0.
*/ */
if ((ctx->API == API_OPENGL_COMPAT && ctx->Version >= 20) if ((_mesa_is_desktop_gl_compat(ctx) && ctx->Version >= 20)
|| ctx->API == API_OPENGL_CORE) { || _mesa_is_desktop_gl_core(ctx)) {
GLenum value = (GLenum) params[0]; GLenum value = (GLenum) params[0];
if (value != GL_LOWER_LEFT && value != GL_UPPER_LEFT) { if (value != GL_LOWER_LEFT && value != GL_UPPER_LEFT) {
_mesa_error(ctx, GL_INVALID_VALUE, _mesa_error(ctx, GL_INVALID_VALUE,
@@ -228,8 +228,8 @@ _mesa_init_point(struct gl_context *ctx)
* In a core context, the state will default to true, and the setters and * In a core context, the state will default to true, and the setters and
* getters are disabled. * getters are disabled.
*/ */
ctx->Point.PointSprite = (ctx->API == API_OPENGL_CORE || ctx->Point.PointSprite = (_mesa_is_desktop_gl_core(ctx) ||
ctx->API == API_OPENGLES2); _mesa_is_gles2(ctx));
ctx->Point.SpriteOrigin = GL_UPPER_LEFT; /* GL_ARB_point_sprite */ ctx->Point.SpriteOrigin = GL_UPPER_LEFT; /* GL_ARB_point_sprite */
ctx->Point.CoordReplace = 0; /* GL_ARB_point_sprite */ ctx->Point.CoordReplace = 0; /* GL_ARB_point_sprite */

View File

@@ -184,7 +184,7 @@ polygon_mode(struct gl_context *ctx, GLenum face, GLenum mode, bool no_error)
switch (face) { switch (face) {
case GL_FRONT: case GL_FRONT:
if (!no_error && ctx->API == API_OPENGL_CORE) { if (!no_error && _mesa_is_desktop_gl_core(ctx)) {
_mesa_error( ctx, GL_INVALID_ENUM, "glPolygonMode(face)" ); _mesa_error( ctx, GL_INVALID_ENUM, "glPolygonMode(face)" );
return; return;
} }
@@ -207,7 +207,7 @@ polygon_mode(struct gl_context *ctx, GLenum face, GLenum mode, bool no_error)
_mesa_update_edgeflag_state_vao(ctx); _mesa_update_edgeflag_state_vao(ctx);
break; break;
case GL_BACK: case GL_BACK:
if (!no_error && ctx->API == API_OPENGL_CORE) { if (!no_error && _mesa_is_desktop_gl_core(ctx)) {
_mesa_error( ctx, GL_INVALID_ENUM, "glPolygonMode(face)" ); _mesa_error( ctx, GL_INVALID_ENUM, "glPolygonMode(face)" );
return; return;
} }

View File

@@ -94,7 +94,7 @@ _mesa_update_allow_draw_out_of_order(struct gl_context *ctx)
if (!ctx->Const.AllowDrawOutOfOrder) if (!ctx->Const.AllowDrawOutOfOrder)
return; return;
assert(ctx->API == API_OPENGL_COMPAT); assert(_mesa_is_desktop_gl_compat(ctx));
/* If all of these are NULL, GLSL is disabled. */ /* If all of these are NULL, GLSL is disabled. */
struct gl_program *vs = struct gl_program *vs =
@@ -440,7 +440,7 @@ update_program_constants(struct gl_context *ctx)
update_single_program_constants(ctx, ctx->FragmentProgram._Current, update_single_program_constants(ctx, ctx->FragmentProgram._Current,
MESA_SHADER_FRAGMENT); MESA_SHADER_FRAGMENT);
if (ctx->API == API_OPENGL_COMPAT && if (_mesa_is_desktop_gl_compat(ctx) &&
ctx->Const.GLSLVersionCompat >= 150) { ctx->Const.GLSLVersionCompat >= 150) {
new_state |= new_state |=
update_single_program_constants(ctx, ctx->GeometryProgram._Current, update_single_program_constants(ctx, ctx->GeometryProgram._Current,
@@ -510,8 +510,8 @@ _mesa_update_state_locked( struct gl_context *ctx )
_mesa_update_framebuffer(ctx, ctx->ReadBuffer, ctx->DrawBuffer); _mesa_update_framebuffer(ctx, ctx->ReadBuffer, ctx->DrawBuffer);
/* Handle Core and Compatibility contexts separately. */ /* Handle Core and Compatibility contexts separately. */
if (ctx->API == API_OPENGL_COMPAT || if (_mesa_is_desktop_gl_compat(ctx) ||
ctx->API == API_OPENGLES) { _mesa_is_gles1(ctx)) {
/* Update derived state. */ /* Update derived state. */
if (new_state & (_NEW_MODELVIEW|_NEW_PROJECTION)) if (new_state & (_NEW_MODELVIEW|_NEW_PROJECTION))
_mesa_update_modelview_project( ctx, new_state ); _mesa_update_modelview_project( ctx, new_state );
@@ -680,7 +680,7 @@ set_vertex_processing_mode(struct gl_context *ctx, gl_vertex_processing_mode m)
* ES 2.0+ or OpenGL core profile, none of these arrays should ever * ES 2.0+ or OpenGL core profile, none of these arrays should ever
* be enabled. * be enabled.
*/ */
if (ctx->API == API_OPENGL_COMPAT) if (_mesa_is_desktop_gl_compat(ctx))
ctx->VertexProgram._VPModeInputFilter = VERT_BIT_ALL; ctx->VertexProgram._VPModeInputFilter = VERT_BIT_ALL;
else else
ctx->VertexProgram._VPModeInputFilter = VERT_BIT_GENERIC_ALL; ctx->VertexProgram._VPModeInputFilter = VERT_BIT_GENERIC_ALL;

View File

@@ -121,7 +121,7 @@ set_combiner_mode(struct gl_context *ctx,
break; break;
case GL_DOT3_RGB_EXT: case GL_DOT3_RGB_EXT:
case GL_DOT3_RGBA_EXT: case GL_DOT3_RGBA_EXT:
legal = (ctx->API == API_OPENGL_COMPAT && legal = (_mesa_is_desktop_gl_compat(ctx) &&
ctx->Extensions.EXT_texture_env_dot3 && ctx->Extensions.EXT_texture_env_dot3 &&
pname == GL_COMBINE_RGB); pname == GL_COMBINE_RGB);
break; break;
@@ -132,7 +132,7 @@ set_combiner_mode(struct gl_context *ctx,
case GL_MODULATE_ADD_ATI: case GL_MODULATE_ADD_ATI:
case GL_MODULATE_SIGNED_ADD_ATI: case GL_MODULATE_SIGNED_ADD_ATI:
case GL_MODULATE_SUBTRACT_ATI: case GL_MODULATE_SUBTRACT_ATI:
legal = (ctx->API == API_OPENGL_COMPAT && legal = (_mesa_is_desktop_gl_compat(ctx) &&
ctx->Extensions.ATI_texture_env_combine3); ctx->Extensions.ATI_texture_env_combine3);
break; break;
default: default:
@@ -231,12 +231,12 @@ set_combiner_source(struct gl_context *ctx,
legal = (param - GL_TEXTURE0 < ctx->Const.MaxTextureUnits); legal = (param - GL_TEXTURE0 < ctx->Const.MaxTextureUnits);
break; break;
case GL_ZERO: case GL_ZERO:
legal = (ctx->API == API_OPENGL_COMPAT && legal = (_mesa_is_desktop_gl_compat(ctx) &&
(ctx->Extensions.ATI_texture_env_combine3 || (ctx->Extensions.ATI_texture_env_combine3 ||
ctx->Extensions.NV_texture_env_combine4)); ctx->Extensions.NV_texture_env_combine4));
break; break;
case GL_ONE: case GL_ONE:
legal = (ctx->API == API_OPENGL_COMPAT && legal = (_mesa_is_desktop_gl_compat(ctx) &&
ctx->Extensions.ATI_texture_env_combine3); ctx->Extensions.ATI_texture_env_combine3);
break; break;
default: default:
@@ -627,7 +627,7 @@ get_texenvi(struct gl_context *ctx,
return texUnit->Combine.SourceRGB[rgb_idx]; return texUnit->Combine.SourceRGB[rgb_idx];
} }
case GL_SOURCE3_RGB_NV: case GL_SOURCE3_RGB_NV:
if (ctx->API == API_OPENGL_COMPAT && ctx->Extensions.NV_texture_env_combine4) { if (_mesa_is_desktop_gl_compat(ctx) && ctx->Extensions.NV_texture_env_combine4) {
return texUnit->Combine.SourceRGB[3]; return texUnit->Combine.SourceRGB[3];
} }
else { else {
@@ -641,7 +641,7 @@ get_texenvi(struct gl_context *ctx,
return texUnit->Combine.SourceA[alpha_idx]; return texUnit->Combine.SourceA[alpha_idx];
} }
case GL_SOURCE3_ALPHA_NV: case GL_SOURCE3_ALPHA_NV:
if (ctx->API == API_OPENGL_COMPAT && ctx->Extensions.NV_texture_env_combine4) { if (_mesa_is_desktop_gl_compat(ctx) && ctx->Extensions.NV_texture_env_combine4) {
return texUnit->Combine.SourceA[3]; return texUnit->Combine.SourceA[3];
} }
else { else {
@@ -655,7 +655,7 @@ get_texenvi(struct gl_context *ctx,
return texUnit->Combine.OperandRGB[op_rgb]; return texUnit->Combine.OperandRGB[op_rgb];
} }
case GL_OPERAND3_RGB_NV: case GL_OPERAND3_RGB_NV:
if (ctx->API == API_OPENGL_COMPAT && ctx->Extensions.NV_texture_env_combine4) { if (_mesa_is_desktop_gl_compat(ctx) && ctx->Extensions.NV_texture_env_combine4) {
return texUnit->Combine.OperandRGB[3]; return texUnit->Combine.OperandRGB[3];
} }
else { else {
@@ -669,7 +669,7 @@ get_texenvi(struct gl_context *ctx,
return texUnit->Combine.OperandA[op_alpha]; return texUnit->Combine.OperandA[op_alpha];
} }
case GL_OPERAND3_ALPHA_NV: case GL_OPERAND3_ALPHA_NV:
if (ctx->API == API_OPENGL_COMPAT && ctx->Extensions.NV_texture_env_combine4) { if (_mesa_is_desktop_gl_compat(ctx) && ctx->Extensions.NV_texture_env_combine4) {
return texUnit->Combine.OperandA[3]; return texUnit->Combine.OperandA[3];
} }
else { else {

View File

@@ -55,7 +55,7 @@ get_texgen(struct gl_context *ctx, GLuint texunitIndex, GLenum coord, const char
texUnit = _mesa_get_fixedfunc_tex_unit(ctx, texunitIndex); texUnit = _mesa_get_fixedfunc_tex_unit(ctx, texunitIndex);
if (ctx->API == API_OPENGLES) { if (_mesa_is_gles1(ctx)) {
return (coord == GL_TEXTURE_GEN_STR_OES) return (coord == GL_TEXTURE_GEN_STR_OES)
? &texUnit->GenS : NULL; ? &texUnit->GenS : NULL;
} }

View File

@@ -1854,7 +1854,7 @@ _mesa_uniform_matrix(GLint location, GLsizei count,
* http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform.xml * http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform.xml
*/ */
if (transpose) { if (transpose) {
if (ctx->API == API_OPENGLES2 && ctx->Version < 30) { if (_mesa_is_gles2(ctx) && ctx->Version < 30) {
_mesa_error(ctx, GL_INVALID_VALUE, _mesa_error(ctx, GL_INVALID_VALUE,
"glUniformMatrix(matrix transpose is not GL_FALSE)"); "glUniformMatrix(matrix transpose is not GL_FALSE)");
return; return;

View File

@@ -92,7 +92,7 @@ _mesa_init_program(struct gl_context *ctx)
ctx->VertexProgram._VaryingInputs = VERT_BIT_ALL; ctx->VertexProgram._VaryingInputs = VERT_BIT_ALL;
ctx->VertexProgram.Enabled = GL_FALSE; ctx->VertexProgram.Enabled = GL_FALSE;
ctx->VertexProgram.PointSizeEnabled = ctx->VertexProgram.PointSizeEnabled =
(ctx->API == API_OPENGLES2) ? GL_TRUE : GL_FALSE; _mesa_is_gles2(ctx) ? GL_TRUE : GL_FALSE;
ctx->VertexProgram.TwoSideEnabled = GL_FALSE; ctx->VertexProgram.TwoSideEnabled = GL_FALSE;
_mesa_reference_program(ctx, &ctx->VertexProgram.Current, _mesa_reference_program(ctx, &ctx->VertexProgram.Current,
ctx->Shared->DefaultVertexProgram); ctx->Shared->DefaultVertexProgram);

View File

@@ -41,6 +41,7 @@
#include "pipe/p_context.h" #include "pipe/p_context.h"
#include "pipe/p_defines.h" #include "pipe/p_defines.h"
#include "cso_cache/cso_context.h" #include "cso_cache/cso_context.h"
#include "main/context.h"
static GLuint static GLuint
@@ -221,7 +222,7 @@ st_update_rasterizer(struct st_context *st)
raster->point_quad_rasterization = 1; raster->point_quad_rasterization = 1;
raster->point_tri_clip = st->ctx->API == API_OPENGLES2; raster->point_tri_clip = _mesa_is_gles2(st->ctx);
} }
/* ST_NEW_VERTEX_PROGRAM /* ST_NEW_VERTEX_PROGRAM

View File

@@ -154,7 +154,7 @@ st_invalidate_state(struct gl_context *ctx)
/* Update the vertex shader if ctx->Light._ClampVertexColor was changed. */ /* Update the vertex shader if ctx->Light._ClampVertexColor was changed. */
if (st->clamp_vert_color_in_shader && (new_state & _NEW_LIGHT_STATE)) { if (st->clamp_vert_color_in_shader && (new_state & _NEW_LIGHT_STATE)) {
ctx->NewDriverState |= ST_NEW_VS_STATE; ctx->NewDriverState |= ST_NEW_VS_STATE;
if (st->ctx->API == API_OPENGL_COMPAT && ctx->Version >= 32) { if (_mesa_is_desktop_gl_compat(st->ctx) && ctx->Version >= 32) {
ctx->NewDriverState |= ST_NEW_GS_STATE | ST_NEW_TES_STATE; ctx->NewDriverState |= ST_NEW_GS_STATE | ST_NEW_TES_STATE;
} }
} }
@@ -684,7 +684,7 @@ st_create_context_priv(struct gl_context *ctx, struct pipe_context *pipe,
/* For drivers which cannot do color clamping, it's better to just /* For drivers which cannot do color clamping, it's better to just
* disable ARB_color_buffer_float in the core profile, because * disable ARB_color_buffer_float in the core profile, because
* the clamping is deprecated there anyway. */ * the clamping is deprecated there anyway. */
if (ctx->API == API_OPENGL_CORE && if (_mesa_is_desktop_gl_core(ctx) &&
(st->clamp_frag_color_in_shader || st->clamp_vert_color_in_shader)) { (st->clamp_frag_color_in_shader || st->clamp_vert_color_in_shader)) {
st->clamp_vert_color_in_shader = GL_FALSE; st->clamp_vert_color_in_shader = GL_FALSE;
st->clamp_frag_color_in_shader = GL_FALSE; st->clamp_frag_color_in_shader = GL_FALSE;

View File

@@ -1262,7 +1262,7 @@ st_precompile_shader_variant(struct st_context *st,
memset(&key, 0, sizeof(key)); memset(&key, 0, sizeof(key));
if (st->ctx->API == API_OPENGL_COMPAT && if (_mesa_is_desktop_gl_compat(st->ctx) &&
st->clamp_vert_color_in_shader && st->clamp_vert_color_in_shader &&
(prog->info.outputs_written & (VARYING_SLOT_COL0 | (prog->info.outputs_written & (VARYING_SLOT_COL0 |
VARYING_SLOT_COL1 | VARYING_SLOT_COL1 |

View File

@@ -36,6 +36,7 @@
#include "state_tracker/st_context.h" #include "state_tracker/st_context.h"
#include "main/context.h"
#ifdef __cplusplus #ifdef __cplusplus
@@ -67,8 +68,8 @@ st_invalidate_readpix_cache(struct st_context *st)
static inline bool static inline bool
st_user_clip_planes_enabled(struct gl_context *ctx) st_user_clip_planes_enabled(struct gl_context *ctx)
{ {
return (ctx->API == API_OPENGL_COMPAT || return (_mesa_is_desktop_gl_compat(ctx) ||
ctx->API == API_OPENGLES) && /* only ES 1.x */ _mesa_is_gles1(ctx)) && /* only ES 1.x */
ctx->Transform.ClipPlanesEnabled; ctx->Transform.ClipPlanesEnabled;
} }

View File

@@ -31,6 +31,7 @@
#include "main/api_arrayelt.h" #include "main/api_arrayelt.h"
#include "main/arrayobj.h" #include "main/arrayobj.h"
#include "main/varray.h" #include "main/varray.h"
#include "main/context.h"
#include "util/u_memory.h" #include "util/u_memory.h"
#include "vbo.h" #include "vbo.h"
#include "vbo_private.h" #include "vbo_private.h"
@@ -163,7 +164,7 @@ _vbo_CreateContext(struct gl_context *ctx)
STATIC_ASSERT(VBO_ATTRIB_MAX <= 255); STATIC_ASSERT(VBO_ATTRIB_MAX <= 255);
vbo_exec_init(ctx); vbo_exec_init(ctx);
if (ctx->API == API_OPENGL_COMPAT) if (_mesa_is_desktop_gl_compat(ctx))
vbo_save_init(ctx); vbo_save_init(ctx);
vbo->VAO = _mesa_new_vao(ctx, ~((GLuint)0)); vbo->VAO = _mesa_new_vao(ctx, ~((GLuint)0));
@@ -184,7 +185,7 @@ _vbo_DestroyContext(struct gl_context *ctx)
if (vbo) { if (vbo) {
vbo_exec_destroy(ctx); vbo_exec_destroy(ctx);
if (ctx->API == API_OPENGL_COMPAT) if (_mesa_is_desktop_gl_compat(ctx))
vbo_save_destroy(ctx); vbo_save_destroy(ctx);
_mesa_reference_vao(ctx, &vbo->VAO, NULL); _mesa_reference_vao(ctx, &vbo->VAO, NULL);
} }

View File

@@ -603,10 +603,10 @@ _mesa_Materialfv(GLenum face, GLenum pname, const GLfloat *params)
updateMats = ALL_MATERIAL_BITS; updateMats = ALL_MATERIAL_BITS;
} }
if (ctx->API == API_OPENGL_COMPAT && face == GL_FRONT) { if (_mesa_is_desktop_gl_compat(ctx) && face == GL_FRONT) {
updateMats &= FRONT_MATERIAL_BITS; updateMats &= FRONT_MATERIAL_BITS;
} }
else if (ctx->API == API_OPENGL_COMPAT && face == GL_BACK) { else if (_mesa_is_desktop_gl_compat(ctx) && face == GL_BACK) {
updateMats &= BACK_MATERIAL_BITS; updateMats &= BACK_MATERIAL_BITS;
} }
else if (face != GL_FRONT_AND_BACK) { else if (face != GL_FRONT_AND_BACK) {