Commit Graph

9330 Commits

Author SHA1 Message Date
Józef Kucia 5d117c76b9 wined3d: Query Vulkan shared system memory.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-07 08:45:39 -05:00
Henri Verbeet 310638abb7 wined3d: Query Vulkan GPU memory.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-07 08:45:34 -05:00
Henri Verbeet b6dc971796 wined3d: Get rid of context_validate_onscreen_formats().
This was used when using the onscreen depth/stencil buffer with FBOs. We no
longer do that.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-06 13:19:33 -05:00
Henri Verbeet 11b7e47598 wined3d: Get rid of the "target" parameter to wined3d_adapter_gl_create_context().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-06 13:19:33 -05:00
Henri Verbeet c82423df85 wined3d: Get rid of the "target" parameter to wined3d_context_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-06 13:19:33 -05:00
Henri Verbeet 186ae1ad78 wined3d: Get rid of the "target" parameter to context_create().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-06 13:19:33 -05:00
Paul Gofman ff47237ede wined3d: Check if destination texture is FBO attachable in glsl_blitter_supported().
If the destination texture is not FBO attachable GLSL blitter does not work
for it unless backbuffer is used as offscreen rendering mode.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47121
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-06 13:19:33 -05:00
Henri Verbeet ef3df93f46 wined3d: Allocate shader backend and fragment pipe context data in device_context_add().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 16:31:17 +02:00
Henri Verbeet a9dca944cb wined3d: Free shader backend and fragment pipe context data in device_context_remove().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 16:31:15 +02:00
Henri Verbeet 6bb5724a8a wined3d: Introduce wined3d_context_gl_destroy().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 16:31:14 +02:00
Henri Verbeet 166e75e808 wined3d: Free the "texture_type" array in wined3d_context_cleanup().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 16:31:12 +02:00
Henri Verbeet 08b8801c3c wined3d: Rename context_destroy_gl_resources() to wined3d_context_cleanup().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 16:31:10 +02:00
Henri Verbeet 817f915bb3 wined3d: Simplify wined3d_context_destroy().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-03 16:31:08 +02:00
Henri Verbeet cfe9314b64 wined3d: Introduce wined3d_context_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:38 +02:00
Henri Verbeet 5cd787b341 wined3d: Introduce a separate structure for OpenGL context information.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Henri Verbeet bad9cd29a8 wined3d: Get rid of the redundant "device" parameter to context_destroy().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Henri Verbeet e37a5e8029 wined3d: Use shader_glsl_append_imm_vec4() in shader_glsl_get_register_name().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Henri Verbeet 965ab44427 wined3d: Introduce a debug helper for Vulkan return values.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Józef Kucia 750016bc8d wined3d: Assign *device in adapter_vk_create_device().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-30 20:08:31 +02:00
Józef Kucia cf9623e68f wined3d: Make wined3d_gpu_description from Vulkan physical device properties.
This fallback for cards that are not present in wined3d database should be
quite accurate. Almost all information required to fill wined3d_gpu_description
can be retrieved from Vulkan. The GPU description string is expected to be
slightly different from Windows.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-30 20:08:29 +02:00
Józef Kucia ace408edb4 wined3d: Factor out wined3d_copy_name().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-30 20:08:26 +02:00
Józef Kucia 9f75b84219 wined3d: Implement GPU description registry override for Vulkan adapter.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-30 20:08:24 +02:00
Paul Gofman 75aa4ab16b wined3d: Use intBitsToFloat() instead of uintBitsToFloat().
There is no uint type in GLSL version < 1.3, while
ARB_shader_bit_encoding may still be supported.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47039
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-24 00:37:33 +02:00
Henri Verbeet 9d7d68747b wined3d: Don't bother allocating "free_timestamp_queries" in context_create().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-20 00:19:19 +02:00
Henri Verbeet 0097e16e86 wined3d: Don't bother allocating "free_occlusion_queries" in context_create().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-20 00:19:17 +02:00
Henri Verbeet 349136aba0 wined3d: Don't bother allocating "free_fences" in context_create().
We use "free_fences" with wined3d_array_reserve(), which handles NULL fine.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-20 00:19:14 +02:00
Henri Verbeet 0146975b82 wined3d: Assign "adapter_ops" in wined3d_adapter_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-20 00:19:12 +02:00
Henri Verbeet 24b0a027ab wined3d: Pass a wined3d_adapter_gl structure to wined3d_adapter_gl_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-20 00:19:10 +02:00
Józef Kucia d2f477dd72 wined3d: Avoid enabling all features supported by Vulkan physical device.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 16:24:15 +02:00
Józef Kucia 52aa9d6826 wined3d: Use vkGetDeviceProcAddr() to load Vulkan device functions.
In order to bypass Vulkan loader trampoline.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 16:24:13 +02:00
Józef Kucia 725c5156ef wined3d: Create Vulkan device for wined3d_device_vk.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-18 18:46:58 +02:00
Józef Kucia 32c3afba51 wined3d: Make the adapter responsible for creating devices.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-18 18:46:56 +02:00
Henri Verbeet b15685355c wined3d: Explicitly create the implicit swapchain.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-12 15:33:44 +02:00
Henri Verbeet 15d52fec68 wined3d: Get rid of wined3d_device_uninit_gdi().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-12 15:33:33 +02:00
Henri Verbeet b599e8e3a0 wined3d: Get rid of wined3d_device_init_gdi().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-12 15:33:27 +02:00
Paul Gofman 5ed7a61de7 wined3d: Use ARB_shader_bit_encoding for storing local constants when available.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 19:33:54 +02:00
Józef Kucia cc9b2dba4a wined3d: Add support for Vulkan instance extensions.
Use VK_KHR_get_physical_device_properties2 if Vulkan 1.1 is not available.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 19:35:31 +02:00
Józef Kucia 806c97a615 wined3d: Initialise driver and device UUID for Vulkan adapters.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 19:35:29 +02:00
Józef Kucia f32ea05821 wined3d: Implement adapter_vk_get_wined3d_caps().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 19:35:26 +02:00
Józef Kucia 61937c3103 wined3d: Handle GL_EXT_vertex_array_bgra directly in gl_extension_map.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 19:35:24 +02:00
Józef Kucia a8f37cf684 wined3d: Map GL_EXT_texture_swizzle to GL_ARB_texture_swizzle.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 19:35:22 +02:00
Józef Kucia 55429b09fe wined3d: Introduce support for Vulkan formats.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-05 22:16:31 +02:00
Józef Kucia 79631ffff7 wined3d: Use Vulkan physical device properties to fill GPU description.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-05 22:16:31 +02:00
Paul Gofman 57653b9527 wined3d: Store and use stream offset in state block.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=21161
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-05 22:16:31 +02:00
Piotr Caban dcd3c95dbd wined3d: Don't use strcasecmp.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-04 17:21:49 +02:00
Józef Kucia 46a451f327 wined3d: Pass application info to Vulkan.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 20:27:18 +02:00
Józef Kucia f9cf21512e wined3d: Add support for USE_WIN32_VULKAN.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 20:27:16 +02:00
Józef Kucia 3dd8cab4f3 wined3d: Initialise Vulkan for adapters.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 20:27:13 +02:00
Henri Verbeet 7cf3edcdc8 wined3d: Introduce a Vulkan based adapter implementation.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-01 21:54:32 +02:00
Sveinar Søpler ad907fd12e wined3d: Add GPU information for the NVIDIA RTX series.
Signed-off-by: Sveinar Søpler <cybermax@dexter.no>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-29 21:26:34 +01:00