mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 13:38:06 +02:00
mesa: remove _NEW_VARYING_VP_INPUTS in favor of _NEW_FF_(VERT|FRAG)_PROGRAM
This adds _NEW_FF_FRAG_PROGRAM. _mesa_set_varying_vp_inputs flags both fixed-func programs because both use the state. Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8850>
This commit is contained in:
parent
8e56ad6fae
commit
abd57010f3
5 changed files with 8 additions and 13 deletions
|
|
@ -425,8 +425,6 @@ static struct dirty_bit_map mesa_bits[] = {
|
|||
DEFINE_BIT(_NEW_PROGRAM),
|
||||
DEFINE_BIT(_NEW_PROGRAM_CONSTANTS),
|
||||
DEFINE_BIT(_NEW_FRAG_CLAMP),
|
||||
/* Avoid sign extension problems. */
|
||||
{(unsigned) _NEW_VARYING_VP_INPUTS, "_NEW_VARYING_VP_INPUTS", 0},
|
||||
{0, 0, 0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ _mesa_set_varying_vp_inputs(struct gl_context *ctx, GLbitfield varying_inputs)
|
|||
if (ctx->VertexProgram._VPModeOptimizesConstantAttribs &&
|
||||
ctx->VertexProgram._VaryingInputs != varying_inputs) {
|
||||
ctx->VertexProgram._VaryingInputs = varying_inputs;
|
||||
ctx->NewState |= _NEW_VARYING_VP_INPUTS;
|
||||
ctx->NewState |= _NEW_FF_VERT_PROGRAM | _NEW_FF_FRAG_PROGRAM;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -179,7 +179,6 @@ static GLbitfield filter_fp_input_mask( GLbitfield fp_inputs,
|
|||
/* Fixed function vertex logic */
|
||||
GLbitfield possible_inputs = 0;
|
||||
|
||||
/* _NEW_VARYING_VP_INPUTS */
|
||||
GLbitfield varying_inputs = ctx->VertexProgram._VaryingInputs;
|
||||
/* We only update ctx->VertexProgram._VaryingInputs when in VP_MODE_FF _VPMode */
|
||||
assert(VP_MODE_FF == ctx->VertexProgram._VPMode);
|
||||
|
|
|
|||
|
|
@ -4657,7 +4657,7 @@ struct gl_matrix_stack
|
|||
#define _NEW_FF_VERT_PROGRAM (1u << 28)
|
||||
#define _NEW_FRAG_CLAMP (1u << 29)
|
||||
#define _NEW_MATERIAL (1u << 30) /**< gl_context::Light.Material */
|
||||
#define _NEW_VARYING_VP_INPUTS (1u << 31) /**< gl_context::VertexProgram._VaryingInputs */
|
||||
#define _NEW_FF_FRAG_PROGRAM (1u << 31)
|
||||
#define _NEW_ALL ~0
|
||||
/*@}*/
|
||||
|
||||
|
|
|
|||
|
|
@ -491,16 +491,14 @@ _mesa_update_state_locked( struct gl_context *ctx )
|
|||
|
||||
if (ctx->FragmentProgram._UsesTexEnvProgram) {
|
||||
prog_flags |= _NEW_BUFFERS | _NEW_TEXTURE_OBJECT | _NEW_FOG |
|
||||
_NEW_VARYING_VP_INPUTS | _NEW_LIGHT_FF_PROGRAM |
|
||||
_NEW_POINT | _NEW_RENDERMODE | _NEW_COLOR |
|
||||
_NEW_TEXTURE_STATE;
|
||||
_NEW_FF_FRAG_PROGRAM | _NEW_POINT | _NEW_RENDERMODE |
|
||||
_NEW_COLOR | _NEW_TEXTURE_STATE | _NEW_LIGHT_FF_PROGRAM;
|
||||
}
|
||||
|
||||
if (ctx->VertexProgram._UsesTnlProgram) {
|
||||
prog_flags |= _NEW_VARYING_VP_INPUTS | _NEW_TEXTURE_OBJECT |
|
||||
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_FF_VERT_PROGRAM;
|
||||
_NEW_FOG | _NEW_LIGHT_FF_PROGRAM | _NEW_TEXTURE_STATE;
|
||||
}
|
||||
|
||||
if (new_state & prog_flags) {
|
||||
|
|
@ -624,8 +622,8 @@ set_vertex_processing_mode(struct gl_context *ctx, gl_vertex_processing_mode m)
|
|||
}
|
||||
|
||||
/* Since we only track the varying inputs while being in fixed function
|
||||
* vertex processing mode, we may need to recheck for the
|
||||
* _NEW_VARYING_VP_INPUTS bit.
|
||||
* vertex processing mode, we may need to update fixed-func shaders
|
||||
* for zero-stride vertex attribs.
|
||||
*/
|
||||
_mesa_set_varying_vp_inputs(ctx, ctx->Array._DrawVAOEnabledAttribs);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue