On 9 September 2013 12:56, Stefan Dösinger <stefan(a)codeweavers.com> wrote:
> ---
I think this patch does a couple of things at once, and would probably
benefit from being broken up.
> static struct arb_vs_compiled_shader *find_arb_vshader(struct wined3d_shader *shader,
> - const struct arb_vs_compile_args *args,
> + const struct wined3d_context *context, const struct arb_vs_compile_args *args,
> const struct wined3d_shader_signature_element *ps_input_sig)
I think it makes more sense to pass a wined3d_stream_info structure
here instead of a context, or perhaps even just the use_map field.
> -static BOOL buffer_find_decl(struct wined3d_buffer *This)
> +static BOOL buffer_find_decl(struct wined3d_buffer *This, const struct wined3d_context *context)
Same.
> diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
> index 23d32c2..f7ded75 100644
> --- a/dlls/wined3d/wined3d_private.h
> +++ b/dlls/wined3d/wined3d_private.h
> @@ -1086,6 +1086,7 @@ struct wined3d_context
> DWORD padding : 1;
> DWORD texShaderBumpMap : 8; /* MAX_TEXTURES, 8 */
> DWORD lastWasPow2Texture : 8; /* MAX_TEXTURES, 8 */
> + DWORD use_draw_strided_slow : 1;
> DWORD shader_update_mask;
> DWORD constant_update_mask;
> DWORD numbered_array_mask;
I think that's an unfortunate place to insert the field, and you
should update the padding.
> @@ -1880,9 +1889,7 @@ struct wined3d_device
> WORD d3d_initialized : 1;
> WORD inScene : 1; /* A flag to check for proper BeginScene / EndScene call pairs */
> WORD softwareVertexProcessing : 1; /* process vertex shaders using software or hardware */
> - WORD useDrawStridedSlow : 1;
> WORD filter_messages : 1;
> - WORD padding : 8;
Padding?