Matteo Bruni
d989d449c3
wined3d: Allow forcing commands serialization in the CS thread.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 18:39:48 +01:00
Zebediah Figura
690ff3dbea
wined3d: Move the stencil write mask to wined3d_depth_stencil_state.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 17:03:58 +02:00
Zebediah Figura
94becf6fc6
wined3d: Move the stencil enable state to wined3d_depth_stencil_state.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 17:03:58 +02:00
Zebediah Figura
1acc410b10
wined3d: Fully move the depth buffer enable state to wined3d_depth_stencil_state.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 16:50:19 +02:00
Zebediah Figura
2612381273
wined3d: Introduce a depth/stencil state object.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 16:50:19 +02:00
Zebediah Figura
21017243b8
wined3d: Store the sample mask in wined3d_state.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-02 21:25:23 +02:00
Matteo Bruni
399e01f9e5
wined3d: Get rid of default label in debug_cs_op() switch.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:48 +02:00
Henri Verbeet
a8141ef080
wined3d: Move swapchain buffer discarding to wined3d_cs_exec_present().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 20:05:30 +02:00
Henri Verbeet
c1f09c2461
wined3d: Move the swapchain cursor texture blit to wined3d_cs_exec_present().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 00:14:14 +02:00
Henri Verbeet
4bae47cf17
wined3d: Move the swapchain logo texture blit to wined3d_cs_exec_present().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 00:14:14 +02:00
Henri Verbeet
b65ca13305
wined3d: Move the swapchain fps counter to wined3d_cs_exec_present().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-21 22:29:40 +02:00
Henri Verbeet
f8acf0b97d
wined3d: Store the wined3d patch vertex count in the wined3d state structure.
...
As opposed to the OpenGL patch vertex count. These are of course the same, so
this is only a semantic change.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 20:10:23 +02:00
Henri Verbeet
51a901e34e
wined3d: Store the wined3d primitive type in the wined3d state structure.
...
As opposed to the OpenGL primitive type.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 20:10:19 +02:00
Henri Verbeet
40e2784ed2
wined3d: Check for a bound compute shader in wined3d_cs_exec_dispatch().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 23:07:44 +02:00
Henri Verbeet
95b66030bb
wined3d: Make the adapter responsible for draws.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 11:17:48 +02:00
Henri Verbeet
e46b69475b
wined3d: Make the adapter responsible for compute dispatch.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 11:17:40 +02:00
Matteo Bruni
e11ae91b9c
wined3d: Store the framebuffer inline in struct wined3d_state.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:34:50 +01:00
Matteo Bruni
9c190f8118
wined3d: Align CS packet size to the header size.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 20:43:12 +01:00
Zebediah Figura
a6009fa21f
wined3d: Move the scissor test state to wined3d_rasterizer_state.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-09 12:10:52 +01:00
Zebediah Figura
327d1792dc
wined3d: Move the constant depth bias to wined3d_rasterizer_state.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-09 12:10:52 +01:00
Henri Verbeet
f2c668e779
wined3d: Make the adapter responsible for clearing UAVs.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 17:32:08 +02:00
Zhiyi Zhang
124f48d311
wined3d: Truncate stencil reference values to the stencil component size.
...
As opposed to OpenGL, which clamps them. This fixes a regression introduced by
commit a9e199e5ad
.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-28 23:56:17 +02:00
Henri Verbeet
65164450d6
wined3d: Make the adapter responsible for flushes.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-15 20:17:04 +02:00
Henri Verbeet
74b9ef2c1d
wined3d: Move the "gl_info" field from struct wined3d_context to struct wined3d_context_gl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 19:56:16 +02:00
Henri Verbeet
bed677e343
wined3d: Move the "desc" field from struct wined3d_swapchain to struct wined3d_swapchain_state.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-31 08:30:11 +02:00
Henri Verbeet
ed9a6a2d67
wined3d: Pass a wined3d_context_gl structure to wined3d_texture_prepare_texture().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-12 16:11:30 +02:00
Henri Verbeet
f6b533700a
wined3d: Upload texture data through the texture ops in wined3d_cs_exec_update_sub_resource().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 09:46:13 +02:00
Henri Verbeet
c7badafb9c
wined3d: Upload texture data through the texture ops in wined3d_cs_exec_blt_sub_resource().
...
Since we want to avoid directly calling GL-specific code here.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 12:16:56 +02:00
Henri Verbeet
e0d9bc3a87
wined3d: Move the "valid" field from struct wined3d_context to struct wined3d_context_gl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 15:30:33 +02:00
Henri Verbeet
77bc74c637
wined3d: Pass a wined3d_context_gl structure to wined3d_texture_gl_bind_and_dirtify().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-09 10:01:53 -05:00
Józef Kucia
446a2422a9
wined3d: Store texture swizzle capability in struct wined3d_d3d_info.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-07 08:45:43 -05:00
Józef Kucia
6d45ce4e5a
wined3d: Pass swap interval to swapchain ops.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 16:52:14 +01:00
Józef Kucia
243f289149
wined3d: Store base vertex draw capabilities in struct wined3d_d3d_info.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 19:34:41 +01:00
Zebediah Figura
6bf349fc7c
wined3d: Rename MAX_COMBINED_SAMPLERS to WINED3D_MAX_COMBINED_SAMPLERS.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-22 12:26:34 +01:00
Zebediah Figura
bc96d2f164
wined3d: Introduce a separate structure for light state.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 19:45:24 +01:00
Józef Kucia
0435cac340
wined3d: Do not limit draw rect to intersection of all render target views.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46067
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-10 12:33:13 -06:00
Józef Kucia
2727a6ecf6
wined3d: Sanitise clear flags passed to blitters.
...
In order to not trigger "if (flags)" conditions in ffp_blitter_clear()
unnecessarily. Also, avoids passing WINED3DCLEAR_SYNCHRONOUS, which is handled
at the level of command stream.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-10 12:32:52 -06:00
Józef Kucia
11c94a2ef6
wined3d: Simplify wined3d_cs_emit_clear() slightly.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-09 12:13:56 -06:00
Józef Kucia
1f08817355
wined3d: Introduce wined3d_cs_require_space() helper.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-30 19:36:51 +01:00
Józef Kucia
4eed2416d6
wined3d: Introduce wined3d_cs_submit() helper.
...
Mainly for consistency.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-30 19:36:51 +01:00
Józef Kucia
57110d5bc2
wined3d: Introduce wined3d_cs_finish() helper.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 17:48:34 +01:00
Józef Kucia
60d9211f0f
wined3d: Fix mapping of SV_VertexID to gl_VertexID.
...
Based on a patch by Andrew Wesie.
In Direct3D, SV_VertexID generally starts from zero. In OpenGL,
gl_VertexID starts from "first" parameter passed to glDrawArrays(), or
from "baseVertex" parameter for indexed draw calls. The
GL_ARB_shader_draw_parameters extension doesn't help us much because
gl_BaseVertexARB is zero for non-indexed draw calls [1]. If
gl_BaseVertexARB would be equal to "first" for non-indexed draw calls,
we could simply use gl_VertexID - gl_BaseVertexARB.
After this commit, SV_VertexID is still wrong for indirect draw calls
because we cannot easily access the "first" field from struct
DrawArraysIndirectCommand in a vertex shader.
[1] - The ARB_shader_draw_parameters spec says that "In the case where
the command has no <baseVertex> parameter, the value of
<gl_BaseVertexARB> is zero."
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-23 20:17:45 +01:00
Józef Kucia
ceef4e77cf
wined3d: Set base vertex index also for non-indexed draws.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-23 20:17:44 +01:00
Józef Kucia
13c9fda28f
wined3d: Set base vertex index in CS state.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-23 20:17:44 +01:00
Henri Verbeet
961a94ac04
wined3d: Move the "target" field from struct wined3d_texture to struct wined3d_texture_gl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:53:59 +01:00
Henri Verbeet
5f9740762a
wined3d: Move the OpenGL textures from struct wined3d_texture to struct wined3d_texture_gl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:53:55 +01:00
Daniel Ansorregui
3d4dd7a06e
wined3d: Store the blend factor as a struct wined3d_color.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-18 01:00:52 +02:00
Józef Kucia
b4b55bbbb6
wined3d: Add core context support for A8_UNORM render targets.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44655
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-01 19:12:33 -07:00
Andrew Wesie
580ea44bc6
wined3d: Use query buffer objects for occlusion queries.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45723
Signed-off-by: Andrew Wesie <awesie@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-28 20:30:42 +02:00
Henri Verbeet
fbcdf8c698
ddraw: Only do asynchronous clears when the application asked for them.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-28 01:12:04 +02:00