mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
tests: Mark a todo as resolved on MoltenVK 1.2.12.
Technically it is not, the Vulkan commands we're generating are still not correct. But let's get rid of the failure message.
This commit is contained in:
committed by
Henri Verbeet
parent
653e4f47ac
commit
7b4a29da81
Notes:
Henri Verbeet
2025-04-03 20:33:55 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1440
@@ -32901,7 +32901,7 @@ static void test_64kb_texture_alignment(void)
|
|||||||
transition_resource_state(command_list, textures[1],
|
transition_resource_state(command_list, textures[1],
|
||||||
D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_COPY_SOURCE);
|
D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_COPY_SOURCE);
|
||||||
get_resource_readback_with_command_list(textures[1], 0, &rb, queue, command_list);
|
get_resource_readback_with_command_list(textures[1], 0, &rb, queue, command_list);
|
||||||
todo_if(is_mvk_device(device))
|
todo_if(is_mvk_device_lt(device, 1, 2, 12))
|
||||||
check_readback_data_uint(&rb.rb, &box, 0xdeadbeef, 0);
|
check_readback_data_uint(&rb.rb, &box, 0xdeadbeef, 0);
|
||||||
release_resource_readback(&rb);
|
release_resource_readback(&rb);
|
||||||
|
|
||||||
|
@@ -531,6 +531,11 @@ static inline bool is_mvk_device(ID3D12Device *device)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline bool is_mvk_device_lt(ID3D12Device *device, uint32_t major, uint32_t minor, uint32_t patch)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
static inline bool is_macos_lt(unsigned int major, unsigned int minor, unsigned int patch)
|
static inline bool is_macos_lt(unsigned int major, unsigned int minor, unsigned int patch)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
@@ -855,6 +860,22 @@ static inline bool is_mvk_device(ID3D12Device *device)
|
|||||||
return properties.driverID == VK_DRIVER_ID_MOLTENVK;
|
return properties.driverID == VK_DRIVER_ID_MOLTENVK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* MoltenVK uses a different pattern than standard Vulkan. */
|
||||||
|
#define MVK_MAKE_API_VERSION(major, minor, patch) \
|
||||||
|
((((uint32_t)(major)) * 10000) + (((uint32_t)(minor)) * 100) + (uint32_t)(patch))
|
||||||
|
|
||||||
|
static inline bool is_mvk_device_lt(ID3D12Device *device, uint32_t major, uint32_t minor, uint32_t patch)
|
||||||
|
{
|
||||||
|
VkPhysicalDeviceDriverPropertiesKHR driver_properties;
|
||||||
|
VkPhysicalDeviceProperties device_properties;
|
||||||
|
|
||||||
|
get_driver_properties(device, &device_properties, &driver_properties);
|
||||||
|
if (driver_properties.driverID != VK_DRIVER_ID_MOLTENVK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return device_properties.driverVersion < MVK_MAKE_API_VERSION(major, minor, patch);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
|
|
||||||
static inline bool is_macos_lt(unsigned int major, unsigned int minor, unsigned int patch)
|
static inline bool is_macos_lt(unsigned int major, unsigned int minor, unsigned int patch)
|
||||||
|
@@ -421,7 +421,7 @@ static inline void vulkan_test_context_destroy(const struct vulkan_test_context
|
|||||||
VK_CALL(vkDestroyInstance(context->instance, NULL));
|
VK_CALL(vkDestroyInstance(context->instance, NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This doesn't work for NVIDIA, because they use a different bit pattern. */
|
/* This doesn't work for NVIDIA or MoltenVK, because they use a different bit pattern. */
|
||||||
static inline bool is_vulkan_driver_version_ge(const VkPhysicalDeviceProperties *device_properties,
|
static inline bool is_vulkan_driver_version_ge(const VkPhysicalDeviceProperties *device_properties,
|
||||||
const VkPhysicalDeviceDriverPropertiesKHR *driver_properties,
|
const VkPhysicalDeviceDriverPropertiesKHR *driver_properties,
|
||||||
uint32_t major, uint32_t minor, uint32_t patch)
|
uint32_t major, uint32_t minor, uint32_t patch)
|
||||||
|
Reference in New Issue
Block a user