Sweden-Number/dlls/wined3d
Matteo Bruni e106bbdd39 wined3d: Don't skip FFP vertex pipeline state handlers when STATE_VDECL is dirty.
This fixes the non-default ARB shader backend, broken since
2ddb6b66a7, although the
fundamental issue was there long before that.

Originally the STATE_VDECL handler did some bookkeeping (basically,
computing what is now the stream info data) that's a prerequisite for
running other state handlers. For this reason a somewhat complicated
dance was put in place, with the dependent handlers returning right
away until the STATE_VDECL handler could prepare everything up and the
STATE_VDECL handler in turn explicitly calling these "downstream"
handlers so that they could do their job. With the commit mentioned
above the state dirty flags are cleared after the corresponding
handlers are executed, which means that the relevant handlers are
skipped twice and some stuff is never set up properly.

Stream info is computed by context_apply_draw_state() before going
through the state handler table for a long time now, getting rid of
this obscure handler interdependency. So let's just get rid of the
skipping altogether.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 21:24:42 +02:00
..
Makefile.in
adapter_gl.c
adapter_vk.c
arb_program_shader.c
ati_fragment_shader.c
buffer.c
context.c wined3d: Check for SRV/RTV binding conflicts per wined3d_state. 2021-05-24 22:38:46 +02:00
context_gl.c
context_vk.c
cs.c d3d11: Implement ID3D11DeviceContext::ExecuteCommandList(). 2021-05-27 21:25:29 +02:00
device.c d3d11: Implement ID3D11DeviceContext::ExecuteCommandList(). 2021-05-27 21:25:29 +02:00
directx.c
gl_compat.c
glsl_shader.c
nvidia_texture_shader.c
palette.c
query.c
resource.c wined3d: Check for SRV/RTV binding conflicts per wined3d_state. 2021-05-24 22:38:46 +02:00
sampler.c
shader.c
shader_sm1.c
shader_sm4.c
shader_spirv.c
state.c wined3d: Don't skip FFP vertex pipeline state handlers when STATE_VDECL is dirty. 2021-06-01 21:24:42 +02:00
stateblock.c
surface.c
swapchain.c wined3d: Allow zero width/height for fullscreen swapchains as well in wined3d_swapchain_resize_buffers(). 2021-05-27 21:25:31 +02:00
texture.c wined3d: Fix a spelling error in a comment. 2021-05-25 21:13:00 +02:00
utils.c
version.rc
vertexdeclaration.c
view.c
wined3d.spec d3d11: Implement ID3D11DeviceContext::ExecuteCommandList(). 2021-05-27 21:25:29 +02:00
wined3d_gl.h
wined3d_main.c
wined3d_private.h d3d11: Implement ID3D11DeviceContext::ExecuteCommandList(). 2021-05-27 21:25:29 +02:00
wined3d_vk.h