Commit Graph

9312 Commits

Author SHA1 Message Date
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
Józef Kucia 80f343e497 wined3d: Get rid of wined3d_check_render_target_format().
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-03-29 21:24:01 +01:00
Józef Kucia f6c2d9d75f wined3d: Avoid using gl_info in wined3d_get_device_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-03-29 21:24:01 +01:00
Józef Kucia 89fbb64fb8 wined3d: Pass wined3d_adapter to fragment_pipe->get_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-03-29 21:24:01 +01:00
Józef Kucia 9502b8e843 wined3d: Pass wined3d_adapter to vp_get_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-03-29 21:24:01 +01:00
Józef Kucia 20a94e6998 wined3d: Pass wined3d_adapter to shader_get_caps().
Suggested by Henri Verbeet.

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-03-29 21:24:01 +01:00
Paul Gofman 826b67e395 wined3d: Treat zero shininess as no specular lighting in legacy lighting mode.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42572
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-03-29 21:14:00 +01:00
Józef Kucia cad72d3cd7 wined3d: Move pixel formats to wined3d_adapter_gl.
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-03-29 00:20:47 +01:00
Józef Kucia 8497ba8a73 wined3d: Use adapter_check_format() in wined3d_check_render_target_format().
wined3d_check_pixel_format_{color,depth}() functions are moved to adapter_gl.c.

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-03-29 00:20:44 +01:00
Józef Kucia 7358bb01b6 wined3d: Call wined3d_check_pixel_format_color() also for adapter format.
In preparation for the next commit.

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-03-29 00:20:42 +01:00
Józef Kucia 5a5d18bda4 wined3d: Use adapter_check_format() in wined3d_check_depth_stencil_format().
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-03-29 00:20:40 +01:00
Józef Kucia 2727dcb07f wined3d: Add adapter_check_format() to adapter_ops.
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-03-29 00:20:38 +01:00
Józef Kucia 0b7a403e93 wined3d: Always check format flags in wined3d_check_depth_stencil_match().
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-03-29 00:20:36 +01:00
Józef Kucia 0b7407287d wined3d: Cleanup wined3d_check_surface_capability().
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-03-29 00:20:34 +01:00
Józef Kucia 5b58a70953 wined3d: Cleanup CheckRenderTargetCapability().
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-03-29 00:20:32 +01:00
Józef Kucia 1e9277bf97 wined3d: Always check if format has depth/stencil flags in wined3d_check_depth_stencil_format().
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-03-29 00:20:29 +01:00
Józef Kucia f30f8c818d wined3d: Cleanup CheckDepthStencilCapability().
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-03-29 00:20:27 +01:00
Henri Verbeet a5279a5fba wined3d: Also update the "src_texture_gl" pointer when using a staging texture in the blitter.
Astutely spotted by Józef Kucia.
This fixes a regression introduced by commit
961a94ac04.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-27 22:09:04 +01:00
Henri Verbeet 7551f01bd0 wined3d: Do not take "draw_rect" into account when comparing attachment sizes in ffp_blitter_clear().
The scissor rectangle and viewport shouldn't affect whether attachment sizes
are equal. The Intel i965 driver will do a fast clear when the scissor
rectangle overlaps the intersection of the attachments, and that behaviour is
allowed by the OpenGL spec. This commit fixes failures in the d3d8 and d3d9
depth_buffer_test() tests on the Intel i965 driver.

See also commit 0530f33cc1.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-27 22:09:02 +01:00