Zebediah Figura
9a1d079793
wined3d: Store render states in the wined3d_stateblock_state structure.
...
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-01-29 19:20:39 +01:00
Zebediah Figura
05149fa2d5
wined3d: Factor our init_default_render_states().
...
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-01-29 19:05:40 +01:00
Zebediah Figura
c1f6c489c1
wined3d: Store pixel shader boolean constants in the wined3d_stateblock_state structure.
...
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-01-29 19:05:37 +01:00
Zebediah Figura
c49ff2ce74
wined3d: Store pixel shader integer constants in the wined3d_stateblock_state structure.
...
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-01-29 19:05:35 +01:00
Zebediah Figura
3a5d7487d5
wined3d: Store pixel shader floating point constants in the wined3d_stateblock_state structure.
...
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-01-29 19:05:33 +01:00
Zebediah Figura
0e493a2d80
wined3d: Store the pixel shader in the wined3d_stateblock_state structure.
...
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-01-28 18:35:46 +01:00
Zebediah Figura
28b0f53f6e
wined3d: Store vertex shader boolean constants in the wined3d_stateblock_state structure.
...
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-01-28 18:35:46 +01:00
Zebediah Figura
96d7437ada
wined3d: Store vertex shader integer constants in the wined3d_stateblock_state structure.
...
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-01-28 18:35:46 +01:00
Zebediah Figura
4de2da1d14
wined3d: Store vertex shader floating point constants in the wined3d_stateblock_state structure.
...
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-01-28 18:35:46 +01:00
Zebediah Figura
f2e7906d9c
wined3d: Introduce a separate structure for stateblock state and store vertex shader state therein.
...
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-01-28 18:35:45 +01:00
Józef Kucia
b51bc84338
wined3d: Move wined3d_bit_scan() to public header.
...
wine/port.h is required for ffs().
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-25 23:09:07 +01:00
Zebediah Figura
9415066f6e
wined3d: Remove stateblock handling from wined3d_device_set_predication().
...
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-01-25 18:55:18 +01:00
Zebediah Figura
a6cd109ad6
wined3d: Remove stateblock handling from wined3d_device_set_compute_shader().
...
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-01-25 18:55:15 +01:00
Zebediah Figura
d94ae444d2
wined3d: Remove stateblock handling from wined3d_device_set_geometry_shader().
...
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-01-25 18:55:12 +01:00
Zebediah Figura
6bb73652de
wined3d: Remove stateblock handling from wined3d_device_set_constant_buffer().
...
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-01-24 17:33:38 +01:00
Zebediah Figura
8973c22a48
wined3d: Remove stateblock handling from wined3d_device_set_stream_output().
...
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-01-24 17:33:38 +01:00
Zebediah Figura
6f721eede5
wined3d: Remove stateblock handling from wined3d_device_set_pipeline_unordered_access_view().
...
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-01-24 17:33:38 +01:00
Zebediah Figura
7bb0d2d4e8
wined3d: Remove stateblock handling from wined3d_device_set_sampler().
...
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-01-24 17:33:38 +01:00
Zebediah Figura
8e70ce0872
wined3d: Remove stateblock handling from wined3d_device_set_shader_resource_view().
...
It cannot be called while recording a stateblock.
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-01-24 17:33:38 +01:00
Zebediah Figura
7163fbba85
wined3d: Remove stateblock handling from wined3d_device_multiply_transform().
...
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-01-23 16:32:27 +01:00
Józef Kucia
e37b9c74f0
wined3d: Avoid potential out-of-bounds memory access in surface_cpu_blt_colour_fill().
...
Draw rects are derived from the current viewport. It is possible to produce a
clear operation with a draw rect which lies completely outside of one of render
targets in D3D9.
It seems that we never use the CPU blitter for D3D9 render target clears, so it
might not be a problem in practice.
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-17 16:14:05 +01:00
Henri Verbeet
347743fad5
wined3d: Allow multisample destination textures in the GLSL blitter.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46459
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-15 15:26:15 +01:00
Józef Kucia
77f40d0581
wined3d: Execute all CS commands before setting palette entries.
...
This is not the most performant solution.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44796
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-14 17:25:49 +01:00
Józef Kucia
cd2dee0f4b
wined3d: Execute all CS commands before changing swapchain palette.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44796
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-14 17:25:49 +01:00
Matteo Bruni
41e35425a8
wined3d: Set proper GL internal format for sRGB formats.
...
The idea was to defer that part to check_fbo_compat() for the FBO ORM
but, it turns out, there are formats like DXTn that aren't generally
FBO-attachable but still support sRGB.
Fixes 9fc3444d6e
(it's a partial revert,
in fact).
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-14 15:32:23 +01:00
Henri Verbeet
536782bc1c
wined3d: Support WINED3D_BLIT_OP_COLOR_BLIT_ALPHATEST in the GLSL blitter.
...
Both the ARBfp and fixed-function blitter support
WINED3D_BLIT_OP_COLOR_BLIT_ALPHATEST, but the fixed-function blitter requires
a compatibility context, and the ARBfp blitter isn't created when the GLSL
blitter is available.
This fixes a regression introduced by commit
6fc027e5ac
.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45874
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-11 18:35:46 +01:00
Henri Verbeet
bb0063af39
wined3d: Support WINED3D_BLIT_OP_COLOR_BLIT_CKEY in the GLSL blitter.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45874
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-11 18:35:44 +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
8a2583c7d9
wined3d: Limit surface_cpu_blt_colour_fill() to dimensions of render target view.
...
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:09 -06:00
Józef Kucia
0530f33cc1
wined3d: Split clears for different size resources in ffp_blitter_clear().
...
We cannot reliably clear attachments of different sizes using a single glClear()
command. The OpenGL spec says:
"If the attachment sizes are not all identical, the results of rendering are
defined only within the largest area that can fit in all of the attachments.
This area is defined as the intersection of rectangles having a lower left of
(0, 0) and an upper right of (width, height) for each attachment. Contents of
attachments outside this area are undefined after execution of a rendering
command (as defined in section 2.4)."
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:03 -06:00
Józef Kucia
cd3c3e56b1
wined3d: Use accurate rt_count in ffp_blitter_clear().
...
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:58 -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
Henri Verbeet
86c773fc66
wined3d: Recognise virgl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-04 17:03:41 +01:00
Józef Kucia
2058505ceb
wined3d: Handle unmappable buffers in wined3d_device_process_vertices() gracefully.
...
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-12-27 22:43:47 +01:00
Francois Gouget
1177d08245
wined3d: Make wined3d_adapter_init_format_info() static.
...
It is no longer referenced in other source files.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-17 22:35:22 +01:00
Henri Verbeet
3a386645c2
wined3d: Get rid of the "colRGBA" variable in light().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 16:13:45 +01:00
Zebediah Figura
9f85d5dab0
wined3d: Use wined3d_state_get_light() in wined3d_state_record_lights().
...
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>
2018-12-03 22:27:05 +01:00
Józef Kucia
6dddb88ebe
wined3d: Lock wined3d mutex in wined3d_get_adapter_identifier().
...
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-12-03 22:27:05 +01:00
Józef Kucia
9042fbe1e4
wined3d: Lock wined3d mutex in wined3d_swapchain_present().
...
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-12-03 22:27:05 +01:00
Józef Kucia
f44e09b182
wined3d: Use wined3d_cs_finish() in swapchain_cleanup().
...
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
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
662e645257
wined3d: Lock wined3d mutex in wined3d_swapchain_create().
...
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
56d2db81b3
wined3d: Lock wined3d mutex in wined3d_swapchain_decref().
...
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
0896decb18
wined3d: Lock wined3d mutex in wined3d_swapchain_resize_target().
...
Fixes a deadlock. It can also be seen as a small step towards more
fine-grained locking in wined3d.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45431
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
Daniel Ansorregui
5a961e8de7
wined3d: Simplify "glsl_generate_ffp" texture projection.
...
This is to simplify the code before adding the FETCH4
modifications. No change is intended in the shader generation.
Signed-off-by: Daniel Ansorregui <mailszeros@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 20:24:58 +01:00
Henri Verbeet
74931f9217
wined3d: Do not set WINED3D_TEXTURE_CREATE_MAPPABLE on the cursor texture.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 20:24:54 +01:00
Henri Verbeet
e5a6861d3a
wined3d: Do not set WINED3D_TEXTURE_CREATE_MAPPABLE on the logo texture.
...
We never map it.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 20:24:52 +01:00