[PATCH 2/5] wined3d: Clamp per-vertex point size in vertex shaders.

Matteo Bruni matteo.mystral at gmail.com
Wed Jun 3 09:27:36 CDT 2015


2015-06-03 12:46 GMT+02:00 Henri Verbeet <hverbeet at gmail.com>:
> On 2 June 2015 at 16:39, Matteo Bruni <mbruni at 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?



More information about the wine-devel mailing list