On 9 September 2013 12:56, Stefan Dösinger <ste...@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?