Commit Graph

10707 Commits

Author SHA1 Message Date
Henri Verbeet 537e20e041 wined3d: Map OpenGL adapter BOs persistently on 64-bit architectures.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 09:50:59 +01:00
Alexandre Julliard 8d6c33c3bf include: Remove wine/port.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 18:13:54 +01:00
Alexandre Julliard 143bd63b27 include: Remove some no longer used Unicode functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 18:13:54 +01:00
Henri Verbeet c590681e71 wined3d: Respect the BO memory offset in wined3d_context_gl_map_bo_address().
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-01 18:13:54 +01:00
Henri Verbeet 45fc3cbf12 wined3d: Do not pass an offset and size to wined3d_bo_gl_map().
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-01 18:13:54 +01:00
Henri Verbeet 793ac83d5b wined3d: Always map the whole OpenGL 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>
2021-12-01 18:13:54 +01:00
Henri Verbeet 4ff480b2a2 wined3d: Don't return the BO address offset if glMapBuffer() fails.
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-01 18:13:54 +01:00
Zebediah Figura 669360152e wined3d: Always set GL_PIXEL_UNPACK_BUFFER binding in glsl_blitter_upload_palette().
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-01 18:13:54 +01:00
Zebediah Figura 21481acaf3 wined3d: Always set GL_PIXEL_UNPACK_BUFFER binding in wined3d_texture_gl_allocate_mutable_storage().
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-01 18:13:54 +01:00
Zebediah Figura d3d9785483 wined3d: Always set GL_PIXEL_PACK_BUFFER binding in texture2d_read_from_framebuffer().
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-11-30 22:07:21 +01:00
Zebediah Figura f4cbd110d9 wined3d: Always set GL_PIXEL_PACK_BUFFER binding before downloading texture data.
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-11-30 22:07:21 +01:00
Jan Sikorski d2ceed3904 wined3d: Always set GL_PIXEL_UNPACK_BUFFER binding before calling wined3d_texture_gl_upload_bo().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52116
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-11-29 23:25:46 +01:00
Henri Verbeet 052dbb427d wined3d: Do not add the BO address offset when calling glFlushMappedBufferRange().
Fixes: c2f0ae50b4
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-11-24 15:33:29 +01:00
Henri Verbeet 0e501c00c4 wined3d: Respect the BO buffer offset in wined3d_context_gl_copy_bo_address().
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-11-24 15:33:27 +01:00
Zebediah Figura d4c3bf9d79 wined3d: Respect the BO buffer offset in wined3d_buffer_gl_download_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-11-23 13:41:50 +01:00
Henri Verbeet 2961640bcb wined3d: Respect the BO buffer offset 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-11-23 13:41:48 +01:00
Henri Verbeet 7816809395 wined3d: Respect the BO buffer offset in wined3d_unordered_access_view_gl_clear().
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-11-23 13:41:44 +01:00
Henri Verbeet 0b9002de96 wined3d: Respect the BO buffer offset in create_buffer_texture().
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-11-23 13:41:40 +01:00
Zebediah Figura d7ba208569 wined3d: Allow OpenGL pixel pack buffer objects to be suballocated from a larger 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>
2021-11-23 13:41:29 +01:00
Zebediah Figura f059a25af1 wined3d: Respect the BO address offset when flipping the framebuffer in software.
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-11-23 13:41:26 +01:00
Zebediah Figura 2e67ea199c wined3d: Allow OpenGL indirect draw buffer objects to be suballocated from a larger 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>
2021-11-22 22:20:50 +01:00
Zebediah Figura 3220ea2431 wined3d: Allow OpenGL indirect dispatch buffer objects to be suballocated from a larger 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>
2021-11-22 22:20:50 +01:00
Zebediah Figura 9c9b576820 wined3d: Allow OpenGL pixel unpack buffer objects to be suballocated from a larger 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>
2021-11-22 22:20:50 +01:00
Zebediah Figura 0b9a475324 wined3d: Respect the BO address offset when uploading data from the CPU in wined3d_texture_gl_download_data_slow_path().
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-11-22 22:20:50 +01:00
Zebediah Figura 5c13b060ca wined3d: Move the "buffer_offset" field to struct wined3d_bo.
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-11-22 22:20:50 +01:00
Matteo Bruni 884b7c50cf wined3d: Declare gl_Position as invariant.
All D3D versions seem to basically guarantee invariance for the vertex
position at the very least. In practice, desktop GL implementations
also do the same.
That's not necessarily the case for tile based renderers, where the
cost of providing invariance might be non negligible. We want this
behavior though, so let's ask for it explicitly.

Based on a patch by Stefan Dösinger.

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-11-22 22:20:50 +01:00
Andrey Gusev 4f3d189f53 wined3d: Add WINED3DFMT_R16_FLOAT vertex format.
Fixes rendering glitches in Batman: Arkham Knight.

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-11-19 18:31:38 +01:00
Henri Verbeet ba5f90b29a wined3d: Allow OpenGL atomic counter buffer objects to be suballocated from a larger 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>
2021-11-19 18:31:38 +01:00
Henri Verbeet 8f0c9e490b wined3d: Allow OpenGL uniform buffer objects to be suballocated from a larger 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>
2021-11-19 18:31:38 +01:00
Zebediah Figura 3057929d54 wined3d: Allow OpenGL transform feedback buffer objects to be suballocated from a larger 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>
2021-11-19 18:31:38 +01:00
Henri Verbeet 6c6fcff96e wined3d: Allow OpenGL index buffer objects to be suballocated from a larger BO.
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-11-19 18:31:38 +01:00
Henri Verbeet a9584bf521 wined3d: Allow OpenGL vertex buffer objects to be suballocated from a larger BO.
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-11-19 18:31:38 +01:00
Zebediah Figura 6f0d15e0e3 wined3d: Add a helper to calculate the vertex attribute address for a stream element.
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-11-19 18:31:38 +01:00
Nikolay Sivov 0d9fdd02e5 wined3d: Add R8G8_UINT to vertex formats list.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52051
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 16:04:49 +01:00
Zebediah Figura 4b678c1e9a wined3d: Make the "counter_bo" field of struct wined3d_unordered_access_view a wined3d_bo pointer.
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-11-16 17:44:42 +01:00
Zebediah Figura f3647c4b4f wined3d: Make the "buffer_object" field of struct wined3d_const_bo_addr a wined3d_bo pointer.
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-11-16 17:44:42 +01:00
Zebediah Figura 7148f3939a wined3d: Make the "buffer_object" field of struct wined3d_bo_address a wined3d_bo pointer.
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-11-16 17:44:42 +01:00
Jan Sikorski 0056ebf91e wined3d: Acquire references to samplers in deferred contexts.
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-11-15 19:54:17 +01:00
Jan Sikorski 908fb50728 wined3d: Acquire references to shaders in deferred contexts.
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-11-15 19:54:17 +01:00
Jan Sikorski 6057507be4 wined3d: Acquire references to depth stencil states in deferred contexts.
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-11-15 19:54:17 +01:00
Jan Sikorski a313f6bc5c wined3d: Acquire references to rasterizer states in deferred contexts.
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-11-15 19:54:17 +01:00
Jan Sikorski 2228c356e3 wined3d: Acquire references to blend states in deferred contexts.
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-11-15 19:54:17 +01:00
Zebediah Figura b72053868a wined3d: Try to allocate new Vulkan BOs from the client thread for DISCARD maps.
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-11-10 18:56:24 +01:00
Zebediah Figura 83d60c5206 wined3d: Allocate all OpenGL buffer BOs from heap.
That is, no longer allocate a wined3d_bo_gl as part of the wined3d_buffer_gl
structure.

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-11-10 18:56:20 +01:00
Zebediah Figura c465f339a7 wined3d: Avoid accessing the "bo" member of struct wined3d_buffer_gl.
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-11-10 18:56:00 +01:00
Zebediah Figura 4b22faa94e wined3d: Introduce wined3d_context_gl_reference_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>
2021-11-10 18:55:58 +01:00
Zebediah Figura 8a34f089e0 wined3d: Parse ISG1, PSG1 and OSG1 signatures.
These signatures extend the OSG5 format by a minimum precision hint, which gets
ignored for now but could be implemented using 16-bit floats in the future.

Fixes some shader parsing errors in Resident Evil 2.

Based on a vkd3d patch by Philip Rebohle.

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-11-09 22:02:54 +01:00
Zebediah Figura 1b16a606f7 wined3d: Introduce a wined3d_buffer_update_sub_resource() helper.
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-11-09 22:02:54 +01:00
Zebediah Figura d630aa20bf wined3d: Make the "buffer_object" field of struct wined3d_buffer a wined3d_bo pointer.
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-11-09 22:02:54 +01:00
Zebediah Figura 613e163877 wined3d: Reference vertex buffer objects only after calling context_update_stream_info().
It may load buffers into a different location.

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-11-09 22:02:54 +01:00
Zebediah Figura 8600568883 wined3d: Allocate all Vulkan buffer BOs from heap.
That is, no longer allocate a wined3d_bo_vk as part of the wined3d_buffer_vk
structure.

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-11-05 22:45:18 +01:00
Zebediah Figura a5efc1d5e0 wined3d: Protect wined3d_chunk_vk map fields with a mutex.
So as to allow chunks to be mapped from the client thread.

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-11-05 22:45:15 +01:00
Zebediah Figura 6f292cf37b wined3d: Avoid accessing the "bo" member of struct wined3d_buffer_vk.
So as to allow the "buffer_object" field to point to other another
wined3d_bo_vk; namely, one allocated and still in use by the client thread.

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-11-05 22:45:12 +01:00
Stefan Dösinger 26a53f674c wined3d: Emulate fractional viewports if GL doesn't support them.
This allows test_fractional_viewports to pass regardless of GL capabilies.
I don't think we can get rid of WINED3D_PIXEL_CENTER_INTEGER (and add +0.5
in the client libs) due to vpos in d3d9 shaders.

Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-04 22:36:29 +01:00
Stefan Dösinger 044f5e109f wined3d: Test if an offset is needed to get the correct filling convention.
This fixes stray lines in GameFace GUIs, e.g. in World of Tanks.

Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-04 22:36:28 +01:00
Zebediah Figura b1ae6fd3f4 wined3d: Protect wined3d_bo_slab_vk map fields with a mutex.
So as to allow slabs to be mapped from the client thread.

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-11-04 22:36:28 +01:00
Zebediah Figura 580fdb494c wined3d: Separate a vk_memory_type_from_access_flags() helper.
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-11-04 22:36:28 +01:00
Zebediah Figura a7dcbf3ede wined3d: Separate a vk_buffer_usage_from_bind_flags() helper.
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-11-04 22:36:28 +01:00
Zebediah Figura ce0f12acc9 wined3d: Protect access to the Vulkan wined3d_allocator with a mutex.
So that it can be accessed from the client thread.

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-11-04 22:36:28 +01:00
Paul Gofman 7ba8943e72 wined3d: Validate pitch against the new format in wined3d_texture_update_desc().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51907
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-01 20:52:19 +01:00
Francois Gouget facd463f0e wined3d: Add a trailing linefeed to an ERR().
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-01 20:47:48 +01:00
Zebediah Figura d4f8d13b09 wined3d: Move the bo_user field to struct wined3d_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>
2021-11-01 20:47:39 +01:00
Zebediah Figura cdf01b2f59 wined3d: Make wined3d_buffer_gl_binding_from_bind_flags() static.
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-11-01 20:47:36 +01:00
Jan Sikorski 803274ac14 wined3d: Reduce locking of device context operations.
Only actually take the lock for the immediate context. According to the
d3d11 documentation, operations on device contexts are not thread safe,
and testing on Windows confirms this.

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-11-01 20:46:21 +01:00
Matteo Bruni e2abbf9c58 wined3d: End transform feedback on SO buffer destruction even if the D3D buffer isn't bound.
It might still be bound in GL.

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-10-19 20:53:18 +02:00
Zebediah Figura b344d1d091 wined3d: Fully initialize the allocator structure in wined3d_allocator_init().
Allows the allocator to be uninitialized and reinitialized.

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-10-18 18:34:11 +02:00
Jan Sikorski 3f4e6673dc wined3d: Set render targets and UAVs atomically in wined3d.
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-10-15 18:32:08 +02:00
Jan Sikorski 90cd8b0764 wined3d: Make reference count decrementing functions thread safe.
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-10-15 18:32:03 +02:00
Zebediah Figura 9acf66b795 wined3d: Handle NOOVERWRITE maps on persistently mapped Vulkan buffers from the client thread.
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-10-15 18:30:53 +02:00
Zebediah Figura 6e7779ace9 wined3d: Move the "map_ptr" field from struct wined3d_bo_vk to struct wined3d_bo.
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-10-15 18:30:49 +02:00
Zebediah Figura 2d05178b28 wined3d: Move the "coherent" field from struct wined3d_bo_gl to struct wined3d_bo.
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-10-15 18:30:44 +02:00
Zebediah Figura 86e4d3aa8c wined3d: Omit GL_MAP_FLUSH_EXPLICIT_BIT for incoherent maps when ARB_MAP_BUFFER_RANGE is used.
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-10-15 18:30:38 +02:00
Zebediah Figura c53736d12f wined3d: Move the "memory_offset" field from struct wined3d_bo_vk to struct wined3d_bo.
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-10-14 09:14:15 +02:00
Zebediah Figura 59f16dd564 wined3d: Move the "users" field to a common wined3d_bo structure.
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-10-14 09:14:13 +02:00
Zebediah Figura 3a8a9a678d wined3d: Return the map pitch from the map_upload_bo() callbacks.
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-10-14 09:14:11 +02:00
Zebediah Figura 4b7beecbeb wined3d: Return the map pitch from wined3d_device_context_emit_map().
Partially undoes 61024aa12f.

We may want to be able to return an existing BO from
context->ops->map_upload_bo(), in which case it is structurally awkward to
request a specific memory layout. We may also want to give map_upload_bo() the
freedom to allocate either a new (smaller) BO, or use an existing (larger) one,
for partial uploads.

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-10-14 09:14:07 +02:00
Jan Sikorski b70a7f37bc wined3d: Count all bo's towards retired bo size.
Some memory may be counted more than once, as suballocations and as
backing memory for these suballocations. It doesn't seem worth worrying
about, since the threshold and the mechanism itself are heuristic.

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-10-14 09:14:01 +02:00
Jan Sikorski dfeded6460 wined3d: Use atomic instructions for resource view bind counts.
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-10-11 21:33:38 +02:00
Jan Sikorski 33449ed625 wined3d: Do not call wined3d_device_destroy_default_samplers() in the CS thread.
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-10-11 21:33:38 +02:00
Jan Sikorski 6d2d43bb05 wined3d: Make wined3d_device_context procedures thread safe.
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-10-11 21:33:38 +02:00
Jacek Caban c166e9694e gdi32: Don't export Wine extensions.
Link directly to win32u instead.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:54:48 +02:00
Matteo Bruni dc3408b1f4 wined3d: Get rid of a WARN() in init_format_filter_info().
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-10-06 20:29:35 +02:00
Jan Sikorski fa410970d9 wined3d: Implement UAV clears on the Vulkan backend.
Based on the vkd3d implementation.

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-10-06 20:29:35 +02:00
Jan Sikorski bacd0301ef wined3d: Set VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT for unordered access images.
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-10-06 20:29:35 +02:00
Jan Sikorski 89d61c28e4 wined3d: Use a single allocation for command list data.
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-10-06 20:29:35 +02:00
Jan Sikorski 1554fc44c7 wined3d: Don't pass wined3d_shader to shader_spirv_compile().
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-10-05 20:09:21 +02:00
Jan Sikorski b0f1634b06 wined3d: Introduce wined3d_view_load_location() helper.
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-10-05 20:09:21 +02:00
Zebediah Figura 7bc0d3edc4 wined3d: Do not return a struct upload_bo from the map_upload_bo callback.
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-10-05 20:09:21 +02:00
Zebediah Figura f0cc2ef2bd wined3d: Call the unmap_upload_bo callback in wined3d_device_context_emit_update_sub_resource().
We will need to mark the resource as no longer mapped, from the client's
perspective.

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-10-05 20:09:21 +02:00
Zebediah Figura a8ff9865b9 wined3d: Rename {prepare, get}_upload_bo() to {map, unmap}_upload_bo().
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-10-05 20:09:21 +02:00
Zebediah Figura 3d1163f108 wined3d: Separate a resource_offset_map_pointer() helper.
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-10-05 20:09:20 +02:00
Zebediah Figura 6ba6d65d91 wined3d: Do not emit an upload for NOOVERWRITE maps on deferred contexts.
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-10-05 20:09:20 +02:00
Stefan Dösinger 235908a7a6 wined3d: Fix the center offset in get_projection_matrix.
If we have clip control, viewport_miscpart_cc applies both the half pixel
offset and the filling convention nudge. We always have integer pixel centers
in this <= d3d9-only codepath.

Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 20:09:20 +02:00
Jan Sikorski fbecfaec1b wined3d: Initial implementation of queries for deferred contexts.
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-10-05 20:09:20 +02:00
Zebediah Figura e06f52eb00 wined3d: Wrap the upload bo address in a new upload_bo structure.
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-09-29 21:38:12 +02:00
Zebediah Figura e906468c64 wined3d: Call prepare_upload_bo in wined3d_device_context_emit_map() only for DISCARD or NOOVERWRITE maps.
We can't do an asynchronous upload with just WINED3D_MAP_WRITE, but we can with
update_sub_resource, and prepare_upload_bo doesn't know which it was called
from.

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-09-29 21:38:12 +02:00
Zebediah Figura 3691680478 wined3d: Do not call list_remove() on a Vulkan query which has not been started.
Or call it twice on one which has.

This fixes a crash in Mafia: Definitive Edition.

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-09-29 21:38:12 +02:00
Jan Sikorski 8a7e6cf166 wined3d: Record a state reset on the first 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-09-28 20:15:10 +02:00
Zebediah Figura 1ebe7e8b0e wined3d: Implement Vulkan NULL cube array image shader resource view descriptors.
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-09-27 20:38:04 +02:00
Paul Gofman 6b724c3dd8 wined3d: Add GPU information for AMD VANGOGH.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 20:22:24 +02:00
Jan Sikorski bb729bf9d8 wined3d: Fix typo in wined3d_texture_vk_download_data().
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-09-23 20:22:21 +02:00
Alexandre Julliard 6ba7773121 makefiles: Add a -mcygwin flag to specify the inverse of -mno-cygwin.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Jan Sikorski bb285f56f9 wined3d: Avoid stalling the pipeline on 3D blits.
Load the source texture to WINED3D_LOCATION_BUFFER, so that the copy
is GPU-side only.

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-09-15 19:34:23 +02:00
Jan Sikorski 752551fa30 wined3d: Avoid the pipeline barrier when mapping buffer objects backing textures.
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-09-15 19:34:23 +02:00
Jan Sikorski 4466d5b51c wined3d: Implement WINED3D_LOCATION_BUFFER for textures in the Vulkan backend.
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-09-15 19:34:23 +02:00
Jan Sikorski 28b3d83d40 wined3d: Keep PBO support flag in d3d_info.
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-09-15 19:34:23 +02:00
Jan Sikorski fb69639776 wined3d: Implement support for buffer objects in wined3d_texture_vk_download_data().
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-09-15 19:34:23 +02:00
Jan Sikorski 256a2a0913 wined3d: Implement support for buffer objects in wined3d_texture_vk_upload_data().
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-09-15 19:34:23 +02:00
Jan Sikorski 8e40f98c3e wined3d: Make wined3d_texture_update_map_binding() backend-independent.
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-09-15 19:34:23 +02:00
Henri Verbeet 554a4a111a wined3d: Use wined3d_mask_from_size() in wined3d_fixup_alpha().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:28:20 +02:00
Henri Verbeet 4261369e5d wined3d: Use WGL_SWAP_COPY_ARB for swapchains with COPY swap effects, if available.
Avoiding the (slow) GDI present path.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:28:18 +02:00
Henri Verbeet 6181b0ea27 wined3d: Use GDI blits for partial presents with COPY swap effects.
The GL/Vulkan backbuffer contents are undefined after a buffer swap.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:28:16 +02:00
Henri Verbeet 830522e196 wined3d: Get rid of the "render_to_fbo" field from the wined3d_swapchain structure.
It's effectively always true when using ORM_FBO, now that the
"AlwaysOffscreen" setting is gone.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:28:14 +02:00
Henri Verbeet b535dea0aa wined3d: Do not attempt to restore GL contexts corresponding to wined3d contexts in wined3d_context_gl_cleanup().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:28:11 +02:00
Jan Sikorski 9d9d44e44b wined3d: Allow constant buffers to be forced to be write-mappable.
Using a registry setting. Games sometimes use DEFAULT usage and no CPU
access combined with UpdateSubresource() for often-changing constants,
causing us to interrupt the render pass and transfer through a staging
buffer on each update. In such cases forcing the buffers to be mappable
greatly increases performance.

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-09-13 19:57:28 +02:00
Jan Sikorski d23f1007d2 wined3d: Remove wined3d_texture_copy_sysmem_location().
Use wined3d_context_copy_bo_address() instead.

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-09-09 21:11:48 +02:00
Nikolay Sivov a408fdf5f5 wined3d: Handle null semantics in stream output description cache.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 21:11:30 +02:00
Francois Gouget 4a5d95272c wined3d: Make wined3d_context_vk_allocate_memory() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-01 21:21:26 +02:00
Anton Baskanov e3db02d0cb wined3d: Simplify the odd line condition in gen_yv12_read().
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-01 21:21:19 +02:00
Anton Baskanov f4d2bdddca wined3d: Fix the odd line condition in gen_yv12_read().
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-01 21:21:16 +02:00
Jan Sikorski b4e03a7c6e wined3d: Avoid read-to-read resource barriers.
Guard against the most recent write operation instead. Accumulate read
bindings to a) not issue unnecessary barriers when a resource has
multiple read-only usages, and b) synchronize with all previous read
bindings when writing.

This is motivated by an issue where a program using a single buffer to
store both indices and vertex attributes causes superfluous barriers on
each draw call.

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-08-27 21:21:22 +02:00
Francois Gouget 135633bc20 wined3d: Fix the spelling of a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 21:49:09 +02:00
Matteo Bruni 451dede7c0 wined3d: Clear dirty flags after calling all the state handlers in context_apply_draw_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>
2021-08-12 23:07:06 +02:00
Matteo Bruni aaf4ef6e62 wined3d: Don't consider texture rectangles for buffers.
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-08-12 23:07:03 +02:00
Jan Sikorski bd4b717702 wined3d: Avoid redundantly resetting timestamp queries.
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-08-06 19:57:07 +02:00
Jan Sikorski 9b9f07ca84 wined3d: Don't try to reset query pools if we don't have a command buffer.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51419
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-08-06 19:57:04 +02:00
Jan Sikorski fed705e03f wined3d: Make use of VK_EXT_host_query_reset if available.
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-08-03 23:41:05 +02:00
Jan Sikorski ad0b459ebe wined3d: Do not request device local memory if we also want it to be host visible.
Some implementations do not support this combination.

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-07-29 16:50:50 +02:00
Zebediah Figura 203dd2b640 wined3d: Use a designated initializer to initialize wined3d_settings.
And replace ~0u with the more meaningful UINT_MAX.

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-07-29 16:50:48 +02:00
Jan Sikorski ba67dfe8c8 wined3d: Track queries started inside/outside of a render pass separately.
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-07-29 16:50:41 +02:00
Zebediah Figura e4502cff81 wined3d: Check for failure from wined3d_device_context_require_space() in wined3d_device_context_emit_unmap().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51485
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-07-27 16:39:55 +02:00
Zebediah Figura f838d5a2b9 wined3d: Implement constant buffer offsetting for Vulkan.
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-07-23 16:43:50 +02:00
Zebediah Figura 5fe58921bf wined3d: Separate a helper to update Vulkan sampler bindings.
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-07-23 16:43:50 +02:00
Zebediah Figura 17d39ff067 wined3d: Separate a helper to update Vulkan UAV counter bindings.
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-07-23 16:43:50 +02:00
Zebediah Figura fd6a67436b wined3d: Separate a helper to update Vulkan UAV bindings.
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-07-23 16:43:50 +02:00
Zebediah Figura 5c8046d7b6 wined3d: Separate a helper to update Vulkan SRV bindings.
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-07-23 16:43:50 +02:00
Zebediah Figura 6416e39822 wined3d: Separate a helper to update Vulkan CBV bindings.
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-07-23 16:43:50 +02:00
Zebediah Figura 5ce7adaace d3d11: Implement constant buffer offsetting for OpenGL.
Based on a patch by Kimmo Myllyvirta.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45198
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-07-19 12:21:52 +02:00
Zebediah Figura befaf4d612 wined3d: Set an array of rendertarget views as a single CS operation.
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-07-19 12:21:47 +02:00
Zebediah Figura 1124edd281 d3d11: Fail OMSetRenderTargets() if any of the views have the wrong binding flags.
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-07-19 12:21:44 +02:00
Zebediah Figura 086212ba57 wined3d: Set an arary of stream sources as a single CS operation.
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-07-19 12:21:39 +02:00
Zebediah Figura 460eabd922 d3d11: Fail IASetVertexBuffers() if any of the offsets are unaligned.
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-07-19 12:21:34 +02:00
Zebediah Figura 5d588eaa4f wined3d: Set both the stream source and frequency for a given index as a single CS operation.
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-07-19 12:21:27 +02:00
Zebediah Figura 96da563f0d wined3d: Set the entire stream output state as a single CS operation.
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-07-19 12:21:13 +02:00
Zebediah Figura 84d6845412 wined3d: Recursively acquire queued command lists in wined3d_cs_acquire_command_list().
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-07-19 12:19:05 +02:00
Zebediah Figura 82be8b676c wined3d: Fix some memory leaks when destroying deferred contexts.
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-07-08 21:12:11 +02:00
Zebediah Figura bc8dcae118 wined3d: Fix some memory leaks when destroying command lists.
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-07-08 21:12:09 +02:00
Zebediah Figura 3f60840cdc wined3d: Move the uploads array in wined3d_deferred_context_record_command_list().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51416
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-07-08 21:12:06 +02:00
Henri Verbeet c2ea032a71 wined3d: Use wined3d_mask_from_size() in shader_glsl_get_sample_function().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 10:51:06 +02:00
Henri Verbeet bc70306dd2 wined3d: Use wined3d_mask_from_size() in shader_glsl_atomic().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 10:51:04 +02:00
Henri Verbeet 420f86c2a5 wined3d: Use wined3d_mask_from_size() in shader_glsl_ld_uav().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 10:51:01 +02:00
Zebediah Figura 393ea20679 wined3d: Set an array of UAVs as a single CS operation.
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-07-07 18:14:38 +02:00
Zebediah Figura 9fdc3fd8bb wined3d: Introduce a wined3d_bound_range() helper.
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-07-07 18:14:35 +02:00
Zebediah Figura 34a9d3e40f wined3d: Set an array of samplers as a single CS operation.
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-07-06 16:06:14 +02:00
Zebediah Figura 7698b9e25a wined3d: Set an array of shader resource views as a single CS operation.
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-07-06 16:06:11 +02:00
Zebediah Figura e6bbf6ee91 wined3d: Set an array of constant buffers as a single CS operation.
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-07-06 16:06:07 +02:00
Zebediah Figura a68cdf4a41 wined3d: Pass a wined3d_cs pointer to wined3d_not_from_cs().
This partially reverts 6a9752bf5e.

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-07-06 16:06:03 +02:00
Zebediah Figura f2fe987907 wined3d: Factor out most of the execute_command_list callback to a common function.
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-07-06 16:06:01 +02:00
Henri Verbeet d888cbcb20 wined3d: Use wined3d_mask_from_size() in wined3d_render_pass_vk_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 17:52:47 +02:00
Henri Verbeet 76cef0869f wined3d: Use wined3d_mask_from_size() in wined3d_context_vk_apply_draw_state().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 17:52:47 +02:00
Henri Verbeet 3ed5dd1336 wined3d: Use wined3d_mask_from_size() in state_stencil().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 17:52:47 +02:00
Zebediah Figura 0c36633a20 wined3d: Print a message when forcing CS serialization.
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>
2021-07-02 16:49:09 +02:00
Zebediah Figura 6a9752bf5e wined3d: No longer queue WINED3D_CS_QUEUE_MAP operations through wined3d_device_context_ops.
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>
2021-07-01 22:34:31 +02:00
Zebediah Figura 7186d8bef5 wined3d: Implement NOOVERWRITE maps in wined3d_deferred_context_prepare_upload_bo().
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>
2021-07-01 22:34:31 +02:00
Zebediah Figura 65e31e4508 wined3d: Use context->ops->prepare_upload_bo() in wined3d_device_context_map() if possible.
This has the notable effect of implementing maps on deferred contexts.

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>
2021-07-01 22:34:31 +02:00
Zebediah Figura 75928a6a88 wined3d: Implement wined3d_deferred_context_prepare_upload_bo().
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>
2021-07-01 22:34:31 +02:00
Zebediah Figura cf55fc493c wined3d: Introduce a prepare_upload_bo device context operation and use it to upload sub-resource data.
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>
2021-07-01 22:34:31 +02:00
Henri Verbeet 107fa122cc wined3d: Only set valid transform states in wined3d_device_context_set_state().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Henri Verbeet 87ed274d98 wined3d: Only set valid render states in wined3d_device_context_set_state().
Somewhat similar to commit 0170bb0e54,
setting invalid render states ends up invalidating invalid state IDs.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Zebediah Figura f5a22e4310 wined3d: Pass a wined3d_const_bo_address to wined3d_cs_exec_update_sub_resource().
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>
2021-06-29 15:31:28 +02:00
Zebediah Figura a260928b81 wined3d: Use wined3d_buffer_copy_bo_address() in wined3d_cs_exec_update_sub_resource().
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>
2021-06-29 15:31:26 +02:00
Zebediah Figura 447a748c51 wined3d: Create buffers with a format of WINED3DFMT_R8_UNORM.
Allow things like wined3d_format_copy_data() to work on them.

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>
2021-06-29 15:31:24 +02:00
Jan Sikorski f165b911d8 wined3d: Avoid ending the renderpass when issuing a query.
Allocate a fresh query index that does not need to be reset.
Reset query pools at creation and when the render pass is ended.

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-06-29 15:31:21 +02:00
Zebediah Figura 08c96a4888 wined3d: Move box validation to wined3d_device_context_map().
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>
2021-06-28 19:43:28 +02:00
Zebediah Figura 2e06677570 wined3d: Pass a wined3d_resource and sub-resource index to wined3d_texture_check_box_dimensions().
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>
2021-06-28 19:43:28 +02:00
Henri Verbeet 64ab905758 wined3d: Use wined3d_mask_from_size() in find_draw_buffers_mask().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 22:48:48 +02:00
Henri Verbeet 0fd45ba2be wined3d: Use wined3d_mask_from_size() in wined3d_context_gl_enable_clip_distances().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 22:48:48 +02:00
Henri Verbeet d5fa539749 wined3d: Use wined3d_mask_from_size() in glsl_blitter_blit().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 22:48:48 +02:00
Henri Verbeet 260b11a193 wined3d: Use wined3d_mask_from_size() in arbfp_blitter_blit().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 22:48:48 +02:00
Henri Verbeet 0170bb0e54 wined3d: Only invalidate valid state IDs in wined3d_cs_exec_reset_state().
Not every state ID between 0 and STATE_HIGHEST is valid; for example, there
are holes in the renderstate IDs. While invalidating these works fine,
attempting to subsequently apply them in e.g. context_apply_draw_state() ends
up calling state_undefined() and printing an ERR. This is especially visible
when running the d2d1 tests.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 22:48:48 +02:00
Zebediah Figura 61024aa12f wined3d: Return the map pitch in wined3d_device_context_map().
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>
2021-06-25 22:48:47 +02:00
Zebediah Figura 236afee0da wined3d: Always pass a non-NULL box to context->ops->map().
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>
2021-06-25 22:48:47 +02:00
Zebediah Figura e275504859 wined3d: Use a wined3d_resource operation to retrieve the resource dimensions in wined3d_device_context_update_sub_resource().
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>
2021-06-25 22:48:47 +02:00
Zebediah Figura f226540ee2 wined3d: Do not use a staging buffer if discarding a mappable buffer in adapter_vk_copy_bo_address().
As in wined3d_buffer_vk_upload_ranges().

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>
2021-06-22 17:57:47 +02:00
Zebediah Figura 783c850d96 wined3d: Factor out wined3d_buffer_copy_bo_address().
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>
2021-06-22 17:57:47 +02:00
Zebediah Figura 334a3bbe37 wined3d: Handle WINED3D_LOCATION_DISCARDED in wined3d_buffer_get_memory().
This can't currently happen. However, we'd like to use
wined3d_buffer_get_memory() in wined3d_cs_exec_update_sub_resource(). This would
probably also help in implementing ID3D11DeviceContext1::DiscardResource().

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>
2021-06-22 17:57:47 +02:00
Zebediah Figura 9c1a80f433 wined3d: Remove the now redundant "locations" parameter from wined3d_buffer_get_memory().
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>
2021-06-22 17:57:47 +02:00
Zebediah Figura a48513f114 wined3d: Do not call wined3d_buffer_get_memory() in wined3d_buffer_init_data().
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>
2021-06-22 17:57:47 +02:00
Henri Verbeet 2aeab85c27 wined3d: Add decompression information for BC4_UNORM.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-22 17:57:47 +02:00
Jan Sikorski 25271032df wined3d: Don't pass a 3D texture view's depth range as layer range to Vulkan.
Layer index and count fields in struct wined3d_view_desc double as the depth range of a 3D texture view.

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-06-14 21:13:38 +02:00
Jan Sikorski 2d44949360 wined3d: Fix typo in wined3d_texture_vk_prepare_texture().
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-06-11 20:27:40 +02:00
Francois Gouget 2fb789f5c6 wined3d: Avoid an unneeded NULL cast.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-10 20:49:31 +02:00
Nguyễn Chính Hữu 8854fd2b07 wined3d: Add GPU information for NVIDIA GT 1030.
Signed-off-by: Nguyễn Chính Hữu <huupoke12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-10 20:46:58 +02:00
Henri Verbeet b6ca5e50a6 wined3d: Use the texture level count to calculate sub-resource indices for Vulkan mip-map generation.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:24:34 +02:00
Henri Verbeet 27845d2fbd wined3d: Use the texture level count to calculate sub-resource indices for OpenGL mip-map generation.
Instead of the view's level count, which may be different.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:24:32 +02:00
Henri Verbeet 81fc2e6ab6 d3d11: Implement d3d11_device_context_ClearUnorderedAccessViewFloat().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:24:29 +02:00
Henri Verbeet 126f0e6ed3 wined3d: Implement OpenGL image UAV clears using ARB_clear_texture.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:24:25 +02:00
Henri Verbeet cc31ca8885 wined3d: Introduce wined3d_mask_from_size().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:24:23 +02:00
Matteo Bruni 2f5a01201c wined3d: Don't pass the swizzle map to find_vs_compile_args() separately.
It's already part of the context.

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:54 +02:00
Matteo Bruni 8127ea1f84 wined3d: Remove access to gl_info from find_ps_compile_args().
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:51 +02:00