1
0
Fork 0
mirror of synced 2025-03-07 03:53:26 +01:00

wined3d/atifs: Move fragment program compilation from set_tex_op_atifs() to atifs_apply_draw_state().

This commit is contained in:
Zebediah Figura 2023-11-11 22:30:44 -06:00 committed by Alexandre Julliard
parent 3d6c33f450
commit ef6e9a6bb4

View file

@ -1011,6 +1011,11 @@ static void atifs_stage_constant(struct wined3d_context *context, const struct w
}
static void set_tex_op_atifs(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
{
context->shader_update_mask |= (1u << WINED3D_SHADER_TYPE_PIXEL);
}
static void atifs_update_shader(struct wined3d_context *context, const struct wined3d_state *state)
{
struct atifs_context_private_data *ctx_priv = context->fragment_pipe_data;
const struct atifs_ffp_desc *desc, *last_shader = ctx_priv->last_shader;
@ -1233,6 +1238,10 @@ static void atifs_apply_draw_state(struct wined3d_context *context, const struct
gl_info->gl_ops.gl.p_glEnable(GL_FRAGMENT_SHADER_ATI);
checkGLcall("glEnable(GL_FRAGMENT_SHADER_ATI)");
if (context->shader_update_mask & (1u << WINED3D_SHADER_TYPE_PIXEL))
atifs_update_shader(context, state);
/* Note that atifs_update_shader() may set the constant update mask. */
constant_update_mask = context->constant_update_mask;
if (constant_update_mask & WINED3D_SHADER_CONST_FFP_PS)