On 2 June 2015 at 16:39, Matteo Bruni mbruni@codeweavers.com wrote:
@@ -6711,7 +6721,8 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const WORD map = vshader->reg_maps.input_registers; struct wined3d_string_buffer *tmp_name = string_buffer_get(&priv->string_buffers);
reorder_shader_id = generate_param_reorder_function(priv, vshader, pshader, gl_info);
reorder_shader_id = generate_param_reorder_function(priv, vshader, pshader,
state->gl_primitive_type == GL_POINTS && vshader->reg_maps.point_size, gl_info);
This works because "state->gl_primitive_type == GL_POINTS" is mirrored in struct vs_compile_args, but it isn't necessarily very obvious or pretty.
2015-06-03 12:46 GMT+02:00 Henri Verbeet hverbeet@gmail.com:
On 2 June 2015 at 16:39, Matteo Bruni mbruni@codeweavers.com wrote:
@@ -6711,7 +6721,8 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const WORD map = vshader->reg_maps.input_registers; struct wined3d_string_buffer *tmp_name = string_buffer_get(&priv->string_buffers);
reorder_shader_id = generate_param_reorder_function(priv, vshader, pshader, gl_info);
reorder_shader_id = generate_param_reorder_function(priv, vshader, pshader,
state->gl_primitive_type == GL_POINTS && vshader->reg_maps.point_size, gl_info);
This works because "state->gl_primitive_type == GL_POINTS" is mirrored in struct vs_compile_args, but it isn't necessarily very obvious or pretty.
Right. The problem is that vs_compile_args isn't necessarily around (we might be reusing the previously selected vertex shader) and recomputing it just for this seemed a bit overkill. Any idea?
On 3 June 2015 at 16:27, Matteo Bruni matteo.mystral@gmail.com wrote:
Right. The problem is that vs_compile_args isn't necessarily around (we might be reusing the previously selected vertex shader) and recomputing it just for this seemed a bit overkill. Any idea?
No particular good one. We could perhaps store it in struct glsl_vs_program, but it would probably be only marginally better.