Commit Graph

9648 Commits

Author SHA1 Message Date
Henri Verbeet 810ae882f0 wined3d: Handle typeless formats in surface_cpu_blt().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 17:32:13 +02:00
Henri Verbeet 422fa49668 wined3d: Make the adapter responsible for copying between buffer objects.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 17:32:11 +02:00
Henri Verbeet f2c668e779 wined3d: Make the adapter responsible for clearing UAVs.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 17:32:08 +02:00
Henri Verbeet c01433690d wined3d: Merge wined3d_buffer_gl_unmap() and buffer_resource_sub_resource_unmap().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 17:32:05 +02:00
Henri Verbeet e0dcdaedb2 wined3d: Merge wined3d_buffer_gl_map() and buffer_resource_sub_resource_map().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 17:32:02 +02:00
Zebediah Figura 96547e622b wined3d: Reset the CS state before cleaning up the device state.
Otherwise the CS might later try to unbind a resource that has already been
freed.

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-09-23 19:44:18 +02:00
Zebediah Figura 90a03e7926 wined3d: Fully clean up the device state in wined3d_device_uninit_3d().
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-09-23 19:44:18 +02:00
Henri Verbeet 47701b7231 wined3d: Use wined3d_context_map_bo_address() in wined3d_buffer_gl_map().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Henri Verbeet 179c8cc86f wined3d: Move the "buffer_object" field from struct wined3d_buffer_gl to struct wined3d_buffer.
We'll want to use this for Vulkan buffers as well.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Henri Verbeet c2f0ae50b4 wined3d: Use explicit flushing in wined3d_context_gl_unmap_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Henri Verbeet 2bc6941ab0 wined3d: Derive the GL bind point for buffer object maps from the bind flags.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Henri Verbeet 8b780d2d8c wined3d: Use wined3d_resource_gl_legacy_map_flags() in wined3d_buffer_gl_map().
For consistency with the ARB_map_buffer_range path.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Henri Verbeet f8e557a74c wined3d: Initialise the multi-sample draw location for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-20 16:23:47 +02:00
Henri Verbeet c84b48b770 wined3d: Retrieve the supported sample counts for Vulkan formats.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-20 16:23:44 +02:00
Henri Verbeet 59ef897514 wined3d: Explicitly initialise sRGB format info.
For the GL adapter this already happens implicitly in
init_format_texture_info().

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-20 16:23:40 +02:00
Henri Verbeet 74dc66ca57 wined3d: More accurately determine whether a separate sRGB texture is required.
Read control is irrelevant without WINED3D_BIND_SHADER_RESOURCE, write control
is irrelevant without WINED3D_BIND_RENDER_TARGET.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-20 16:23:36 +02:00
Henri Verbeet d00477e5ea wined3d: Add GPU information for AMD VEGA12.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-20 16:23:32 +02:00
Alex Henrie 6c40c2dab2 wined3d: Avoid dead assignment (scan-build).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-20 15:31:23 +02:00
Zhiyi Zhang 124f48d311 wined3d: Truncate stencil reference values to the stencil component size.
As opposed to OpenGL, which clamps them. This fixes a regression introduced by
commit a9e199e5ad.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-28 23:56:17 +02:00
Henri Verbeet 7260e8bd4a wined3d: Initialise d3d_info after quirks are applied.
In particular, quirk_broken_viewport_subpixel_bits() disables
ARB_CLIP_CONTROL, which affects "d3d_info->clip_control". This fixes a
regression introduced by commit e795ddb3d8.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47636
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-28 23:55:46 +02:00
Henri Verbeet 591adce8c1 wined3d: Create the default samplers in adapter_vk_init_3d().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 14:13:19 +02:00
Henri Verbeet 7ac8b0f9a7 wined3d: Add support for sRGB formats to wined3d_format_convert_from_float().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 14:13:13 +02:00
Henri Verbeet 000eab8727 wined3d: Store the sRGB constants as wined3d_vec4 structures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 14:13:02 +02:00
Henri Verbeet f193979a18 wined3d: Introduce wined3d_colour_srgb_from_linear().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 14:12:57 +02:00
Henri Verbeet af8401ba0c wined3d: Introduce WINED3D_TEXTURE_DOWNLOADABLE.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 14:12:49 +02:00
Henri Verbeet 1419a06819 wined3d: Merge wined3d_texture_upload_data() and wined3d_texture_gl_upload_data().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-16 10:09:06 +02:00
Henri Verbeet 400a0dcc8b wined3d: Map/unmap bo addresses through the adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-16 10:09:04 +02:00
Henri Verbeet 75ee0aa9b9 wined3d: Introduce wined3d_texture_ops.texture_prepare_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-16 10:09:02 +02:00
Henri Verbeet 6462ba5269 wined3d: Introduce wined3d_buffer_ops.buffer_prepare_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-16 10:09:00 +02:00
Henri Verbeet 3179a6af29 wined3d: Introduce wined3d_resource_prepare_sysmem().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-16 10:08:52 +02:00
Henri Verbeet 3de4515c18 wined3d: Implement 3D texture clears in surface_cpu_blt_colour_fill().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-15 20:17:09 +02:00
Henri Verbeet 0a0ab960fb wined3d: Set WINED3D_BLT_RAW for raw blits in cpu_blitter_blit().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-15 20:17:07 +02:00
Henri Verbeet 65164450d6 wined3d: Make the adapter responsible for flushes.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-15 20:17:04 +02:00
Henri Verbeet 1174c894e8 wined3d: Make the adapter responsible for query creation and destruction.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-15 20:17:01 +02:00
Henri Verbeet 5356292ee9 wined3d: Introduce a separate structure for OpenGL sampler information.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-15 20:16:58 +02:00
Henri Verbeet 41995669d0 wined3d: Make the adapter responsible for sampler creation and destruction.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-14 17:41:01 +02:00
Matteo Bruni 493f4098c6 wined3d: Allow cross-swapchain blits in the supported cases.
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-08-14 14:30:48 +02:00
Matteo Bruni cdacbd9850 wined3d: Get rid of surface_blt_special() fallback in wined3d_surface_blt().
It turns out it was actually dead code. The last remaining caller was
the cross-swapchain blit case but surface_blt_special() actually
rejected those (or any swapchain to swapchain blit).

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-08-14 14:30:43 +02:00
Matteo Bruni b3bf2c4f26 wined3d: Clean up fallback paths in wined3d_surface_blt().
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-08-14 14:30:39 +02:00
Matteo Bruni fdf37d3e51 wined3d: Get rid of wined3d_max_compat_varyings().
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-08-14 14:30:33 +02:00
Matteo Bruni 4774db8880 wined3d: Fix color mask 1-3 state setting.
Fixes a regression from commit
74b9ef2c1d.

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-08-14 14:30:29 +02:00
Henri Verbeet 9bbe8ec590 wined3d: Get rid of a redundant NULL check in wined3d_context_gl_acquire() (Coverity).
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 11:02:52 +02:00
Henri Verbeet b27f961eeb wined3d: Move the context array from struct wined3d_swapchain to struct wined3d_swapchain_gl.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 11:02:50 +02:00
Henri Verbeet 17ce100766 wined3d: Move the backup window from struct wined3d_swapchain to struct wined3d_swapchain_gl.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 11:02:47 +02:00
Henri Verbeet eef96e89ac wined3d: Introduce a separate structure for OpenGL swapchain information.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 11:02:44 +02:00
Henri Verbeet e3e9bdeedb wined3d: Make the adapter responsible for texture creation and destruction.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 11:02:40 +02:00
Henri Verbeet 96567c6900 wined3d: Report a few more ddraw surface caps on 3D devices.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-12 09:33:02 +02:00
Henri Verbeet 4773e0add0 wined3d: Report WINEDDSCAPS_BACKBUFFER and WINEDDSCAPS_FRONTBUFFER only on 3D devices.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-12 09:32:59 +02:00
Henri Verbeet 5eca371a6c wined3d: Always report WINEDDSCAPS_TEXTURE, WINEDDSCAPS_ZBUFFER and WINEDDSCAPS_MIPMAP.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-12 09:32:55 +02:00
Henri Verbeet 1500693828 wined3d: Never report WINEDDSCAPS_ALPHA, WINEDDSCAPS_SYSTEMMEMORY and WINEDDSCAPS_VISIBLE.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-12 09:32:52 +02:00