Commit Graph

10610 Commits

Author SHA1 Message Date
Henri Verbeet c8c79a9043 wined3d: Use wined3d_mask_from_size() in set_glsl_shader_program().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Henri Verbeet 8c7dce6949 wined3d: Use wined3d_mask_from_size() in shader_glsl_generate_stream_output_setup().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Henri Verbeet 02106b0195 wined3d: Use wined3d_mask_from_size() in shader_glsl_gather4().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Henri Verbeet e804eebe0b wined3d: Use wined3d_mask_from_size() in shader_glsl_store_uav().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Jan Sikorski 6e0e2bef5d wined3d: Acquire references to vertex buffers for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Jan Sikorski c36351be1e wined3d: Acquire references to stream output buffers for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Jan Sikorski 8641353442 wined3d: Acquire references to index buffers for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Jan Sikorski 5f417adf18 wined3d: Acquire references to indirect draw buffers for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Jan Sikorski 3fb9a8ea51 wined3d: Acquire references to indirect dispatch buffers for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Zebediah Figura 9206277105 d3d11: Report D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER.
This fixes a black screen in The Unfinished Swan.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Zebediah Figura 59636714e7 d3d11: Report D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Henri Verbeet 98d3624f23 wined3d: Use wined3d_mask_from_size() in stateblock_savedstates_set_all().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Henri Verbeet 5a8ffed774 wined3d: Use wined3d_mask_from_size() in find_ps_compile_args().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Henri Verbeet e9a109835f wined3d: Use wined3d_mask_from_size() in geometry_shader_init_stream_output().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Henri Verbeet b0a961eaca wined3d: Properly compare integers in wined3d_graphics_pipeline_vk_compare().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Henri Verbeet 162fc7bd46 wined3d: Properly compare integers in wined3d_bo_slab_vk_compare().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Jan Sikorski 18a6d9ab0e wined3d: Acquire references to cleared render-target views for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Jan Sikorski 4f7837a584 wined3d: Acquire references to cleared unordered-access views for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Jan Sikorski d5e13912b2 wined3d: Acquire references to constant buffers for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Jan Sikorski e7810388e2 wined3d: Acquire references to depth/stencil views for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Jan Sikorski e6b61128e5 wined3d: Acquire references to unordered-access views for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Jan Sikorski 06ce7001bd wined3d: Acquire references to shader resource views for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 18:40:23 +01:00
Jan Sikorski 2991180e47 wined3d: Acquire references to render-target views for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 18:40:21 +01:00
Jan Sikorski c976f8fb95 wined3d: Acquire blend state references for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 18:40:19 +01:00
Jan Sikorski 7c0d1595e0 wined3d: Acquire rasterizer state references for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 18:40:16 +01:00
Jan Sikorski cb853ec2cd wined3d: Acquire depth/stencil state references for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 18:40:14 +01:00
Henri Verbeet d878158675 wined3d: Properly compare integers in wined3d_so_desc_compare().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 18:18:41 +01:00
Henri Verbeet 9b98d86f29 wined3d: Properly compare integers in wined3d_pipeline_layout_vk_compare().
As pointed out by Giovanni, modular subtraction doesn't produce a total order;
in particular, it's not transitive. For the values likely to be encountered by
wined3d_pipeline_layout_vk_compare(), this is perhaps unlikely to be an issue
in practice. However, that's not necessarily the case for e.g. handles or
masks.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 18:18:38 +01:00
Henri Verbeet 0a1b3fc136 wined3d: Use wined3d_mask_from_size() in wined3d_ffp_get_fs_settings().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 18:18:35 +01:00
Henri Verbeet 074dd54536 wined3d: Use wined3d_mask_from_size() in wined3d_ffp_get_vs_settings().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 18:18:31 +01:00
Henri Verbeet 8b4ae5951d wined3d: Discard texture resources before unloading them in wined3d_texture_destroy_object().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 18:18:29 +01:00
Zebediah Figura 35e08b90b3 wined3d: Do not iterate over multiple layers when clearing 3D UAVs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52390
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-13 17:05:00 +01:00
Andrey Gusev 76c9fc8a76 wined3d: Handle WINED3DSPSM_NONE in shader_sm4_read_param().
Next titles call for it Dying Light, Mortal Shell, Deus Ex: Mankind Divided, Thief (2014).

Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-11 21:59:51 +01:00
Henri Verbeet 1908cb9501 wined3d: Use GL_MAP_PERSISTENT_BIT even for non-persistent bo maps.
While the reason for doing this is to allow draws referencing mapped buffer
resources to succeed, the behaviour of the application in the referenced bug
report (FlatOut) appears to be slightly different; it does end up drawing
while buffer objects are mapped due to reordering of map operations inside the
command stream, but as far as I can tell those buffer objects are not
referenced by the draw. The driver in question (fglrx/Catalyst) appears to
simply be a bit overzealous with throwing errors, and unfortunately doesn't
provide much more information than "glDrawElementsBaseVertex has generated an
error (GL_INVALID_OPERATION)". The issue is not reproducible with Mesa
radeonsi.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46118
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-07 16:49:53 +01:00
Alex Henrie 29c9cf6429 wined3d: Fix memory leak on error path in wined3d_buffer_vk_create_buffer_object (Coverity).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-03 14:50:29 +01:00
Conor McCarthy 586b52204e wined3d: Also check the internal format when determining GL raw blit compatibility.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51935
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-28 17:23:24 +01:00
Andrey Gusev b006a4c5ac wined3d: Add WINED3DFMT_R11G11B10_FLOAT vertex format.
Used by Dark Souls: Remastered.

Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-17 18:33:57 +01:00
Henri Verbeet 44cb2ba942 wined3d: Release the allocator lock on error in wined3d_allocator_chunk_vk_map().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-17 17:57:04 +01:00
Conor McCarthy d61c9998d9 wined3d: Do not bind buffers in state_cb() if the shader is not set.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52020
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-15 18:55:25 +01:00
Zebediah Figura f69d4a865f wined3d: Trace CS packet pointers.
This makes it easier to "unwind" through the CS thread when debugging.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 21:23:24 +01:00
Jan Sikorski 87b5d91412 Revert "wined3d: Acquire references to shaders in deferred contexts.".
This reverts commit 908fb50728.

Moved to wined3d_cs_packet_{in/de}cref_objects().

Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 21:23:18 +01:00
Jan Sikorski 5d450c0a4b wined3d: Acquire shader references for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 21:23:14 +01:00
Jan Sikorski 9340ed6067 Revert "wined3d: Acquire references to samplers in deferred contexts.".
This reverts commit 0056ebf91e.

Sampler references in deferred contexts are now managed by inspecting CS
packets.

Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 21:23:11 +01:00
Jan Sikorski ffa37997be wined3d: Acquire sampler references for command lists by inspecting CS packets.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 21:23:05 +01:00
Henri Verbeet 2802328cf6 wined3d: Move the command list reference counting functions to the end of cs.c.
These are part of the public API, so there's not need for them to be at
the start of the file.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 21:23:00 +01:00
Jan Sikorski e418b1f59d wined3d: Use wined3d_next_cs_packet() in wined3d_cs_exec_execute_command_list().
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 21:22:50 +01:00
Jan Sikorski 6ebbc4a882 wined3d: Introduce a helper function to extract a packet from a command stream.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 21:22:47 +01:00
Zebediah Figura 0cd8c95e67 wined3d: Use wined3d_context_copy_bo_address() in wined3d_buffer_gl_upload_ranges().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 21:22:18 +01:00
Henri Verbeet 0eb686f20d wined3d: Pass a wined3d_device_gl pointer to wined3d_device_delete_opengl_contexts_cs().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 21:22:15 +01:00
Henri Verbeet 194b47b4fd wined3d: Use the access flags used to create the bo for persistent maps in wined3d_bo_gl_map().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00