On 28 May 2015 at 23:23, Matteo Bruni mbruni@codeweavers.com wrote:
@@ -6987,6 +7006,13 @@ static void shader_glsl_select(void *shader_priv, struct wined3d_context *contex GLuint program_id = 0, prev_id = 0; GLenum old_vertex_color_clamp, current_vertex_color_clamp;
- if (!ctx_data->backend_init_done)
- {
gl_info->gl_ops.gl.p_glEnable(GL_PROGRAM_POINT_SIZE);
checkGLcall("GL_PROGRAM_POINT_SIZE");
ctx_data->backend_init_done = TRUE;
- }
Is this shared state between contexts? Otherwise you need to do this once for every context. Also, shader_glsl_select() is kind of a hot path, it may be better to just add an entry to struct wined3d_shader_backend_ops for this kind of initialization.