From 0dd87304efc48f0370a2943feb041fdf19f0c63e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 1 Feb 2021 16:09:04 -0500 Subject: [PATCH] mesa: remove _NEW_LIGHT_FF_PROGRAM in favor of _NEW_FF_(VERT|FRAG)_PROGRAM Acked-by: Pierre-Eric Pelloux-Prayer Part-of: --- src/mesa/main/attrib.c | 4 ++-- src/mesa/main/debug.c | 3 +-- src/mesa/main/enable.c | 9 +++++---- src/mesa/main/ff_fragment_shader.cpp | 3 +-- src/mesa/main/light.c | 20 ++++++++++---------- src/mesa/main/mtypes.h | 12 +++++++----- src/mesa/main/state.c | 4 ++-- src/mesa/vbo/vbo_exec_api.c | 2 +- src/mesa/vbo/vbo_save_draw.c | 2 +- 9 files changed, 30 insertions(+), 29 deletions(-) diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c index 8a6fa183fb9..5a6ee46af71 100644 --- a/src/mesa/main/attrib.c +++ b/src/mesa/main/attrib.c @@ -1003,7 +1003,7 @@ _mesa_PopAttrib(void) (GLfloat) attr->Light.Model.ColorControl); } else { /* Fast path for other drivers. */ - ctx->NewState |= _NEW_LIGHT_CONSTANTS | _NEW_LIGHT_FF_PROGRAM; + ctx->NewState |= _NEW_LIGHT_CONSTANTS | _NEW_FF_VERT_PROGRAM; memcpy(ctx->Light.LightSource, attr->Light.LightSource, sizeof(attr->Light.LightSource)); @@ -1021,7 +1021,7 @@ _mesa_PopAttrib(void) attr->Light.ColorMaterialEnabled, GL_COLOR_MATERIAL); /* Materials - they might be used by current attribs. */ /* Shininess material is used by the fixed-func vertex program. */ - ctx->NewState |= _NEW_MATERIAL | _NEW_CURRENT_ATTRIB | _NEW_LIGHT_FF_PROGRAM; + ctx->NewState |= _NEW_MATERIAL | _NEW_CURRENT_ATTRIB | _NEW_FF_VERT_PROGRAM; memcpy(&ctx->Light.Material, &attr->Light.Material, sizeof(struct gl_material)); if (ctx->Extensions.ARB_color_buffer_float) { diff --git a/src/mesa/main/debug.c b/src/mesa/main/debug.c index 08cf3282eb7..28b81fb9447 100644 --- a/src/mesa/main/debug.c +++ b/src/mesa/main/debug.c @@ -73,7 +73,7 @@ void _mesa_print_state( const char *msg, GLuint state ) { _mesa_debug(NULL, - "%s: (0x%x) %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n", + "%s: (0x%x) %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n", msg, state, (state & _NEW_MODELVIEW) ? "ctx->ModelView, " : "", @@ -83,7 +83,6 @@ _mesa_print_state( const char *msg, GLuint state ) (state & _NEW_DEPTH) ? "ctx->Depth, " : "", (state & _NEW_FOG) ? "ctx->Fog, " : "", (state & _NEW_HINT) ? "ctx->Hint, " : "", - (state & _NEW_LIGHT_FF_PROGRAM)? "ctx->Light(FFProgram), " : "", (state & _NEW_LIGHT_CONSTANTS) ? "ctx->Light(Constants), " : "", (state & _NEW_LIGHT_STATE) ? "ctx->Light(State), " : "", (state & _NEW_LINE) ? "ctx->Line, " : "", diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c index 7551a6ccab8..3f63d265ba6 100644 --- a/src/mesa/main/enable.c +++ b/src/mesa/main/enable.c @@ -494,7 +494,7 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state) goto invalid_enum_error; if (ctx->Light.ColorMaterialEnabled == state) return; - FLUSH_VERTICES(ctx, _NEW_LIGHT_CONSTANTS | _NEW_LIGHT_FF_PROGRAM, + FLUSH_VERTICES(ctx, _NEW_LIGHT_CONSTANTS | _NEW_FF_VERT_PROGRAM, GL_LIGHTING_BIT | GL_ENABLE_BIT); FLUSH_CURRENT(ctx, 0); ctx->Light.ColorMaterialEnabled = state; @@ -554,7 +554,7 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state) goto invalid_enum_error; if (ctx->Light.Light[cap-GL_LIGHT0].Enabled == state) return; - FLUSH_VERTICES(ctx, _NEW_LIGHT_CONSTANTS | _NEW_LIGHT_FF_PROGRAM, + FLUSH_VERTICES(ctx, _NEW_LIGHT_CONSTANTS | _NEW_FF_VERT_PROGRAM, GL_LIGHTING_BIT | GL_ENABLE_BIT); ctx->Light.Light[cap-GL_LIGHT0].Enabled = state; if (state) { @@ -569,8 +569,9 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state) goto invalid_enum_error; if (ctx->Light.Enabled == state) return; - FLUSH_VERTICES(ctx, _NEW_LIGHT_CONSTANTS | _NEW_LIGHT_FF_PROGRAM | - _NEW_LIGHT_STATE, GL_LIGHTING_BIT | GL_ENABLE_BIT); + FLUSH_VERTICES(ctx, _NEW_LIGHT_CONSTANTS | _NEW_FF_VERT_PROGRAM | + _NEW_FF_FRAG_PROGRAM | _NEW_LIGHT_STATE, + GL_LIGHTING_BIT | GL_ENABLE_BIT); ctx->Light.Enabled = state; break; case GL_LINE_SMOOTH: diff --git a/src/mesa/main/ff_fragment_shader.cpp b/src/mesa/main/ff_fragment_shader.cpp index 2dc73da87d0..a5d664725b6 100644 --- a/src/mesa/main/ff_fragment_shader.cpp +++ b/src/mesa/main/ff_fragment_shader.cpp @@ -204,7 +204,6 @@ static GLbitfield filter_fp_input_mask( GLbitfield fp_inputs, /* First look at what values may be computed by the generated * vertex program: */ - /* _NEW_LIGHT_FF_PROGRAM */ if (ctx->Light.Enabled) { possible_inputs |= VARYING_BIT_COL0; @@ -304,7 +303,7 @@ static GLuint make_state_key( struct gl_context *ctx, struct state_key *key ) key->nr_enabled_units = i + 1; - /* _NEW_LIGHT_FF_PROGRAM | _NEW_FOG */ + /* _NEW_FOG */ if (texenv_doing_secondary_color(ctx)) { key->separate_specular = 1; inputs_referenced |= VARYING_BIT_COL1; diff --git a/src/mesa/main/light.c b/src/mesa/main/light.c index 448aa818112..e8a168407cf 100644 --- a/src/mesa/main/light.c +++ b/src/mesa/main/light.c @@ -142,7 +142,7 @@ _mesa_light(struct gl_context *ctx, GLuint lnum, GLenum pname, const GLfloat *pa light->_Flags &= ~LIGHT_POSITIONAL; /* Used by fixed-func vertex program. */ - ctx->NewState |= _NEW_LIGHT_FF_PROGRAM; + ctx->NewState |= _NEW_FF_VERT_PROGRAM; } static const GLfloat eye_z[] = {0, 0, 1}; @@ -194,7 +194,7 @@ _mesa_light(struct gl_context *ctx, GLuint lnum, GLenum pname, const GLfloat *pa light->_Flags &= ~LIGHT_SPOT; /* Used by fixed-func vertex program. */ - ctx->NewState |= _NEW_LIGHT_FF_PROGRAM; + ctx->NewState |= _NEW_FF_VERT_PROGRAM; } break; } @@ -210,7 +210,7 @@ _mesa_light(struct gl_context *ctx, GLuint lnum, GLenum pname, const GLfloat *pa if (old_is_one != is_one) { /* Used by fixed-func vertex program. */ - ctx->NewState |= _NEW_LIGHT_FF_PROGRAM; + ctx->NewState |= _NEW_FF_VERT_PROGRAM; } break; } @@ -226,7 +226,7 @@ _mesa_light(struct gl_context *ctx, GLuint lnum, GLenum pname, const GLfloat *pa if (old_is_zero != is_zero) { /* Used by fixed-func vertex program. */ - ctx->NewState |= _NEW_LIGHT_FF_PROGRAM; + ctx->NewState |= _NEW_FF_VERT_PROGRAM; } break; } @@ -242,7 +242,7 @@ _mesa_light(struct gl_context *ctx, GLuint lnum, GLenum pname, const GLfloat *pa if (old_is_zero != is_zero) { /* Used by fixed-func vertex program. */ - ctx->NewState |= _NEW_LIGHT_FF_PROGRAM; + ctx->NewState |= _NEW_FF_VERT_PROGRAM; } break; } @@ -516,7 +516,7 @@ _mesa_LightModelfv( GLenum pname, const GLfloat *params ) newbool = (params[0] != 0.0F); if (ctx->Light.Model.LocalViewer == newbool) return; - FLUSH_VERTICES(ctx, _NEW_LIGHT_CONSTANTS | _NEW_LIGHT_FF_PROGRAM, + FLUSH_VERTICES(ctx, _NEW_LIGHT_CONSTANTS | _NEW_FF_VERT_PROGRAM, GL_LIGHTING_BIT); ctx->Light.Model.LocalViewer = newbool; break; @@ -524,7 +524,7 @@ _mesa_LightModelfv( GLenum pname, const GLfloat *params ) newbool = (params[0] != 0.0F); if (ctx->Light.Model.TwoSide == newbool) return; - FLUSH_VERTICES(ctx, _NEW_LIGHT_CONSTANTS | _NEW_LIGHT_FF_PROGRAM | + FLUSH_VERTICES(ctx, _NEW_LIGHT_CONSTANTS | _NEW_FF_VERT_PROGRAM | _NEW_LIGHT_STATE, GL_LIGHTING_BIT); ctx->Light.Model.TwoSide = newbool; break; @@ -542,8 +542,8 @@ _mesa_LightModelfv( GLenum pname, const GLfloat *params ) } if (ctx->Light.Model.ColorControl == newenum) return; - FLUSH_VERTICES(ctx, _NEW_LIGHT_CONSTANTS | _NEW_LIGHT_FF_PROGRAM, - GL_LIGHTING_BIT); + FLUSH_VERTICES(ctx, _NEW_LIGHT_CONSTANTS | _NEW_FF_VERT_PROGRAM | + _NEW_FF_FRAG_PROGRAM, GL_LIGHTING_BIT); ctx->Light.Model.ColorControl = newenum; break; default: @@ -817,7 +817,7 @@ _mesa_ColorMaterial( GLenum face, GLenum mode ) if (ctx->Light.ColorMaterialEnabled) { /* Used by fixed-func vertex program. */ - FLUSH_CURRENT(ctx, _NEW_LIGHT_FF_PROGRAM); + FLUSH_CURRENT(ctx, _NEW_FF_VERT_PROGRAM); _mesa_update_color_material(ctx,ctx->Current.Attrib[VERT_ATTRIB_COLOR0]); } diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 69ee78cad0e..70b896fd3ce 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -4631,7 +4631,7 @@ struct gl_matrix_stack #define _NEW_TEXTURE_MATRIX (1u << 2) /**< gl_context::TextureMatrix */ #define _NEW_COLOR (1u << 3) /**< gl_context::Color */ #define _NEW_DEPTH (1u << 4) /**< gl_context::Depth */ -#define _NEW_LIGHT_FF_PROGRAM (1u << 5) /**< gl_context::Light */ +/* gap */ #define _NEW_FOG (1u << 6) /**< gl_context::Fog */ #define _NEW_HINT (1u << 7) /**< gl_context::Hint */ #define _NEW_LIGHT_CONSTANTS (1u << 8) /**< gl_context::Light */ @@ -4666,14 +4666,16 @@ struct gl_matrix_stack * Composite state flags, deprecated and inefficient, do not use. */ /*@{*/ -#define _NEW_LIGHT (_NEW_LIGHT_FF_PROGRAM | /* fixed-func programs */ \ - _NEW_LIGHT_CONSTANTS | /* state parameters */ \ +#define _NEW_LIGHT (_NEW_LIGHT_CONSTANTS | /* state parameters */ \ _NEW_LIGHT_STATE | /* rasterizer state */ \ - _NEW_MATERIAL) /* light materials */ + _NEW_MATERIAL | /* light materials */ \ + _NEW_FF_VERT_PROGRAM | \ + _NEW_FF_FRAG_PROGRAM) #define _NEW_TEXTURE (_NEW_TEXTURE_OBJECT | _NEW_TEXTURE_STATE) -#define _MESA_NEW_NEED_EYE_COORDS (_NEW_LIGHT_FF_PROGRAM | \ +#define _MESA_NEW_NEED_EYE_COORDS (_NEW_FF_VERT_PROGRAM | \ + _NEW_FF_FRAG_PROGRAM | \ _NEW_LIGHT_CONSTANTS | \ _NEW_TEXTURE_STATE | \ _NEW_POINT | \ diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index 2daf7cf49a6..4ed4ad42a42 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -492,13 +492,13 @@ _mesa_update_state_locked( struct gl_context *ctx ) if (ctx->FragmentProgram._UsesTexEnvProgram) { prog_flags |= _NEW_BUFFERS | _NEW_TEXTURE_OBJECT | _NEW_FOG | _NEW_FF_FRAG_PROGRAM | _NEW_POINT | _NEW_RENDERMODE | - _NEW_COLOR | _NEW_TEXTURE_STATE | _NEW_LIGHT_FF_PROGRAM; + _NEW_COLOR | _NEW_TEXTURE_STATE; } if (ctx->VertexProgram._UsesTnlProgram) { prog_flags |= _NEW_FF_VERT_PROGRAM | _NEW_TEXTURE_OBJECT | _NEW_TEXTURE_MATRIX | _NEW_TRANSFORM | _NEW_POINT | - _NEW_FOG | _NEW_LIGHT_FF_PROGRAM | _NEW_TEXTURE_STATE; + _NEW_FOG | _NEW_TEXTURE_STATE; } if (new_state & prog_flags) { diff --git a/src/mesa/vbo/vbo_exec_api.c b/src/mesa/vbo/vbo_exec_api.c index 6074e961d1f..7e8bb3369fc 100644 --- a/src/mesa/vbo/vbo_exec_api.c +++ b/src/mesa/vbo/vbo_exec_api.c @@ -228,7 +228,7 @@ vbo_exec_copy_to_current(struct vbo_exec_context *exec) /* The fixed-func vertex program uses this. */ if (i == VBO_ATTRIB_MAT_FRONT_SHININESS || i == VBO_ATTRIB_MAT_BACK_SHININESS) - ctx->NewState |= _NEW_LIGHT_FF_PROGRAM; + ctx->NewState |= _NEW_FF_VERT_PROGRAM; } ctx->NewState |= _NEW_CURRENT_ATTRIB; diff --git a/src/mesa/vbo/vbo_save_draw.c b/src/mesa/vbo/vbo_save_draw.c index b9e70d6e79c..d6ec9689e39 100644 --- a/src/mesa/vbo/vbo_save_draw.c +++ b/src/mesa/vbo/vbo_save_draw.c @@ -78,7 +78,7 @@ copy_vao(struct gl_context *ctx, const struct gl_vertex_array_object *vao, /* The fixed-func vertex program uses this. */ if (current_index == VBO_ATTRIB_MAT_FRONT_SHININESS || current_index == VBO_ATTRIB_MAT_BACK_SHININESS) - ctx->NewState |= _NEW_LIGHT_FF_PROGRAM; + ctx->NewState |= _NEW_FF_VERT_PROGRAM; ctx->NewState |= state; ctx->PopAttribState |= pop_state;