/** * Loop over all the parameters in a parameter list. If the parameter * is a GL state reference, look up the current value of that state * variable and put it into the parameter's Value[4] array. * This would be called at glBegin time when using a fragment program. */ void _mesa_load_state_parameters(GLcontext *ctx, struct program_parameter_list *paramList) { GLuint i; if (!paramList) return; for (i = 0; i < paramList->NumParameters; i++) { if (paramList->Parameters[i].Type == STATE) { _mesa_fetch_state(ctx, paramList->Parameters[i].StateIndexes, paramList->Parameters[i].Values); } } }
/** * Loop over all the parameters in a parameter list. If the parameter * is a GL state reference, look up the current value of that state * variable and put it into the parameter's Value[4] array. * Other parameter types never change or are explicitly set by the user * with glUniform() or glProgramParameter(), etc. * This would be called at glBegin time. */ void _mesa_load_state_parameters(struct gl_context *ctx, struct gl_program_parameter_list *paramList) { GLuint i; if (!paramList) return; for (i = 0; i < paramList->NumParameters; i++) { if (paramList->Parameters[i].Type == PROGRAM_STATE_VAR) { _mesa_fetch_state(ctx, paramList->Parameters[i].StateIndexes, ¶mList->ParameterValues[i][0].f); } } }
/** * Loop over all the parameters in a parameter list. If the parameter * is a GL state reference, look up the current value of that state * variable and put it into the parameter's Value[4] array. * This would be called at glBegin time when using a fragment program. */ void _mesa_load_state_parameters(GLcontext *ctx, struct gl_program_parameter_list *paramList) { GLuint i; if (!paramList) return; /*assert(ctx->Driver.NeedFlush == 0);*/ for (i = 0; i < paramList->NumParameters; i++) { if (paramList->Parameters[i].Type == PROGRAM_STATE_VAR) { _mesa_fetch_state(ctx, (gl_state_index *) paramList->Parameters[i].StateIndexes, paramList->ParameterValues[i]); } } }