Commit ff19c3e6 authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

wined3d: Require VK_KHR_sampler_mirror_clamp_to_edge for WINED3D_TADDRESS_MIRROR_ONCE.

parent 7250f9a9
...@@ -560,7 +560,8 @@ static void adapter_vk_get_wined3d_caps(const struct wined3d_adapter *adapter, s ...@@ -560,7 +560,8 @@ static void adapter_vk_get_wined3d_caps(const struct wined3d_adapter *adapter, s
{ {
const struct wined3d_adapter_vk *adapter_vk = wined3d_adapter_vk_const(adapter); const struct wined3d_adapter_vk *adapter_vk = wined3d_adapter_vk_const(adapter);
const VkPhysicalDeviceLimits *limits = &adapter_vk->device_limits; const VkPhysicalDeviceLimits *limits = &adapter_vk->device_limits;
BOOL sampler_anisotropy = limits->maxSamplerAnisotropy > 1.0f; bool sampler_anisotropy = limits->maxSamplerAnisotropy > 1.0f;
const struct wined3d_vk_info *vk_info = &adapter_vk->vk_info;
caps->ddraw_caps.dds_caps |= WINEDDSCAPS_BACKBUFFER caps->ddraw_caps.dds_caps |= WINEDDSCAPS_BACKBUFFER
| WINEDDSCAPS_COMPLEX | WINEDDSCAPS_COMPLEX
...@@ -615,8 +616,9 @@ static void adapter_vk_get_wined3d_caps(const struct wined3d_adapter *adapter, s ...@@ -615,8 +616,9 @@ static void adapter_vk_get_wined3d_caps(const struct wined3d_adapter *adapter, s
| WINED3DPTADDRESSCAPS_CLAMP | WINED3DPTADDRESSCAPS_CLAMP
| WINED3DPTADDRESSCAPS_WRAP; | WINED3DPTADDRESSCAPS_WRAP;
caps->VolumeTextureAddressCaps |= WINED3DPTADDRESSCAPS_BORDER caps->VolumeTextureAddressCaps |= WINED3DPTADDRESSCAPS_BORDER
| WINED3DPTADDRESSCAPS_MIRROR | WINED3DPTADDRESSCAPS_MIRROR;
| WINED3DPTADDRESSCAPS_MIRRORONCE; if (vk_info->supported[WINED3D_VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE])
caps->VolumeTextureAddressCaps |= WINED3DPTADDRESSCAPS_MIRRORONCE;
caps->MaxVolumeExtent = limits->maxImageDimension3D; caps->MaxVolumeExtent = limits->maxImageDimension3D;
...@@ -643,8 +645,9 @@ static void adapter_vk_get_wined3d_caps(const struct wined3d_adapter *adapter, s ...@@ -643,8 +645,9 @@ static void adapter_vk_get_wined3d_caps(const struct wined3d_adapter *adapter, s
} }
caps->TextureAddressCaps |= WINED3DPTADDRESSCAPS_BORDER caps->TextureAddressCaps |= WINED3DPTADDRESSCAPS_BORDER
| WINED3DPTADDRESSCAPS_MIRROR | WINED3DPTADDRESSCAPS_MIRROR;
| WINED3DPTADDRESSCAPS_MIRRORONCE; if (vk_info->supported[WINED3D_VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE])
caps->TextureAddressCaps |= WINED3DPTADDRESSCAPS_MIRRORONCE;
caps->StencilCaps |= WINED3DSTENCILCAPS_DECR caps->StencilCaps |= WINED3DSTENCILCAPS_DECR
| WINED3DSTENCILCAPS_INCR | WINED3DSTENCILCAPS_INCR
...@@ -2170,6 +2173,7 @@ static bool wined3d_adapter_vk_init_device_extensions(struct wined3d_adapter_vk ...@@ -2170,6 +2173,7 @@ static bool wined3d_adapter_vk_init_device_extensions(struct wined3d_adapter_vk
{VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, ~0u}, {VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, ~0u},
{VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, ~0u, true}, {VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, ~0u, true},
{VK_KHR_MAINTENANCE1_EXTENSION_NAME, VK_API_VERSION_1_1, true}, {VK_KHR_MAINTENANCE1_EXTENSION_NAME, VK_API_VERSION_1_1, true},
{VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME,VK_API_VERSION_1_2},
{VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_API_VERSION_1_1, true}, {VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_API_VERSION_1_1, true},
{VK_KHR_SWAPCHAIN_EXTENSION_NAME, ~0u, true}, {VK_KHR_SWAPCHAIN_EXTENSION_NAME, ~0u, true},
}; };
...@@ -2181,7 +2185,8 @@ static bool wined3d_adapter_vk_init_device_extensions(struct wined3d_adapter_vk ...@@ -2181,7 +2185,8 @@ static bool wined3d_adapter_vk_init_device_extensions(struct wined3d_adapter_vk
} }
map[] = map[] =
{ {
{VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, WINED3D_VK_EXT_TRANSFORM_FEEDBACK}, {VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, WINED3D_VK_EXT_TRANSFORM_FEEDBACK},
{VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME, WINED3D_VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE},
}; };
if ((vr = VK_CALL(vkEnumerateDeviceExtensionProperties(physical_device, NULL, &count, NULL))) < 0) if ((vr = VK_CALL(vkEnumerateDeviceExtensionProperties(physical_device, NULL, &count, NULL))) < 0)
......
...@@ -207,7 +207,10 @@ struct vulkan_ops ...@@ -207,7 +207,10 @@ struct vulkan_ops
enum wined3d_vk_extension enum wined3d_vk_extension
{ {
WINED3D_VK_EXT_NONE, WINED3D_VK_EXT_NONE,
WINED3D_VK_EXT_TRANSFORM_FEEDBACK, WINED3D_VK_EXT_TRANSFORM_FEEDBACK,
WINED3D_VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE,
WINED3D_VK_EXT_COUNT, WINED3D_VK_EXT_COUNT,
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment