Commit Graph

10118 Commits

Author SHA1 Message Date
Henri Verbeet b2748a99fd wined3d: Handle GL_APPLE_flush_buffer_range flushing in wined3d_context_gl_unmap_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 16:36:45 +01:00
Henri Verbeet 1044bc4a05 wined3d: Get rid of redundant DISCARD filtering.
Now that we handle DISCARD maps ourselves, this happens implicitly.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 16:36:43 +01:00
Henri Verbeet 8b3cc57df0 wined3d: Allocate a new bo for busy DISCARD maps.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 16:36:40 +01:00
Henri Verbeet 4c5581c2eb wined3d: Use the "bo user" mechanism to invalidate existing bindings in wined3d_buffer_gl_destroy_buffer_object().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 16:36:36 +01:00
Henri Verbeet d52a75a795 wined3d: Explicitly synchronise in wined3d_context_gl_map_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:39 +01:00
Henri Verbeet 5333cd0612 wined3d: Reference the bo in wined3d_buffer_gl_upload_ranges().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:39 +01:00
Henri Verbeet 736ac3eaf9 wined3d: Reference the bo in wined3d_texture_gl_download_data().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:39 +01:00
Henri Verbeet 6f8c918d86 wined3d: Reference the bo in wined3d_texture_gl_download_data_slow_path().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:39 +01:00
Henri Verbeet 17e51124f9 wined3d: Reference the bo in wined3d_texture_gl_upload_data().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:39 +01:00
Andrey Gusev c1c129f3b8 wined3d: Add NVIDIA GeForce GTX 1060 Mobile.
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>
2020-12-03 20:18:38 +01:00
Henri Verbeet 42f90354ba wined3d: Reference the source/destination bo in wined3d_texture_copy_sysmem_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Henri Verbeet c123ff8881 wined3d: Reference the bo (if any) in texture2d_read_from_framebuffer().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Henri Verbeet 5a9c2f2de1 wined3d: Reference the constant buffer bo in context_gl_load_shader_resources().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Henri Verbeet e29877ee42 wined3d: Reference the SRV bo in context_load_shader_resources().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Henri Verbeet a0abc66566 wined3d: Reference the UAV bo in context_load_unordered_access_resources().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Matteo Bruni 4adfe31003 wined3d: Get rid of an unnecessary assignment.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Henri Verbeet 56f1ce6be6 wined3d: Reference the stream output bo in context_load_stream_output_buffers().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:52:11 +01:00
Henri Verbeet 587174be8b wined3d: Reference the indirect buffer bo in dispatch_compute().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:52:11 +01:00
Henri Verbeet a381f0cae8 wined3d: Reference the indirect buffer bo in wined3d_context_gl_draw_indirect().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:52:11 +01:00
Henri Verbeet 14ed6b1ce3 wined3d: Reference the bo in wined3d_unordered_access_view_gl_clear_uint().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:52:11 +01:00
Henri Verbeet 20c828bdc5 wined3d: Reference the source/destination bo in wined3d_context_gl_copy_bo_address().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:52:11 +01:00
Alexandre Julliard 2bc3c8463d libport: Remove the isfinite/isinf/isnan function replacements.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 10:43:01 +01:00
Alexandre Julliard db7c934f8e libport: Remove the strnlen() function replacement.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 10:19:50 +01:00
Henri Verbeet a7c320d184 wined3d: Use command buffer IDs for synchronisation in wined3d_buffer_gl_sync_apple().
Analogous to the Vulkan adapter. This is slightly awkward in OpenGL
because it doesn't have explicit command buffers like Vulkan, but
calling wined3d_context_gl_submit_command_fence() on swapchain present
works well enough in practice. The main advantage of this approach is that it
avoids using a separate fence for each usage of each bo.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:12 +01:00
Matteo Bruni 77f0149a6c wined3d: Use GL_ARB_buffer_storage if available.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:10 +01:00
Matteo Bruni 90f33067da wined3d: Introduce wined3d_context_gl_create_bo().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:05 +01:00
Henri Verbeet db42859977 wined3d: Store the usage in struct wined3d_bo_gl.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:01 +01:00
Matteo Bruni 0638d50b22 wined3d: Introduce wined3d_context_gl_destroy_bo().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:35:58 +01:00
Matteo Bruni 22c6334656 wined3d: Add a trace to wined3d_context_gl_bind_fbo().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:24 +01:00
Matteo Bruni 881e0a4310 wined3d: Use glClearDepthf() when available.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:24 +01:00
Matteo Bruni 7b23056c0b wined3d: Ignore WINED3DFMT_NULL rendertarget in D/S size checks.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 23:25:24 +01:00
Zhiyi Zhang d8c9671d4d wined3d: Do not use wined3d_output_get_desc() to retrieve display rotation.
Most of the time when wined3d_output_get_desc() is called, display rotation is not needed.
Retrieving display rotation is quite expensive because it needs to query information from XRandR.
So use wined3d_output_get_display_mode() to retrieve display rotation when needed.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50096
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-23 21:05:05 +01:00
Zhiyi Zhang b911e56045 wined3d: Restore display modes for all outputs when doing mode restoration.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 21:47:27 +01:00
Zhiyi Zhang c9e2deac39 wined3d: Store a struct wined3d pointer in struct wined3d_swapchain_state.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-29 22:25:29 +01:00
Paul Gofman 18d1b2453f wined3d: Add GPU information for NVIDIA GeForce GTX 1080 Mobile.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-16 22:00:21 +02:00
Henri Verbeet c677a0b044 wined3d: Use wined3d_get_primary_adapter_luid() if we didn't get a valid LUID from Vulkan.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 20:32:08 +02:00
Henri Verbeet 1b192ce4cb wined3d: Do not invalidate STATE_RENDER(WINED3D_RS_TWOSIDEDSTENCILMODE).
This is no longer used internally; two-sided stencil is handled as part of
STATE_DEPTH_STENCIL.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 18:19:06 +02:00
Henri Verbeet e154c95355 wined3d: Clear the graphics pipeline key stencil test state when the stencil test is disabled.
The state itself is ignored in this case, but could still cause additional
pipeline variants to be created. That's mostly a consideration for Direct3D 9
and before, since Direct3D 10 and 11 already normalise disabled stencil test
state themselves.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 18:19:04 +02:00
Henri Verbeet 227605569a wined3d: Avoid accessing NULL depth/stencil state in wined3d_context_vk_update_graphics_pipeline_key().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 18:19:03 +02:00
Henri Verbeet 43dddbae7b wined3d: Make adapter_vk_clear_uav() static.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:44:36 +02:00
Zhiyi Zhang 62fa286edf wined3d: Clean up swapchain state on wined3d_swapchain_init() failure paths.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:43:52 +02:00
Zhiyi Zhang 9288f31015 dxgi: Update swapchain containing output after Alt+Enter was used to exit fullscreen.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-09 16:21:33 +02:00
Zhiyi Zhang e62b6fa12d dxgi: Support Alt+Enter for d3d12 swapchains.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-09 16:21:33 +02:00
Henri Verbeet e1e28fe60d wined3d: Implement stream output queries for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 18:40:24 +02:00
Henri Verbeet cee2e53c3b wined3d: Implement stream output for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 18:40:22 +02:00
Henri Verbeet 3ee141b81d wined3d: Implement vertex shader stream output in the SPIR-V shader backend.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 18:40:20 +02:00
Henri Verbeet 3d883c640c wined3d: Only store unique stream output descriptions.
This allows us to compare them by pointer.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 18:40:18 +02:00
Henri Verbeet 10bfc47a48 wined3d: Initialise the list of Vulkan device extensions during adapter initialisation.
There's no reason to wait until wined3d device creation.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 18:40:16 +02:00
Henri Verbeet f494552c10 wined3d: Implement rasteriser discard for the Vulkan adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 18:40:14 +02:00
Henri Verbeet 6a6bbf1828 wined3d: Copy the correct "binding_base" size in shader_spirv_select().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 18:40:12 +02:00