mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
tests/d3d12: Skip testing NULL VBVs on NVIDIA on Windows.
It seems that the NVIDIA drivers leaves VBVs bindings untouched when they are NULL (or the GPU buffer address is NULL), instead of setting them to a null binding. Differently from other cases of inconsistent behaviour between AMD and NVIDIA, here I'm explicitly marking the NVIDIA behaviour as broken, because the expected behaviour is spelled out explicitly (at least for the D3D12 specification standards).
This commit is contained in:
committed by
Henri Verbeet
parent
bc637f2633
commit
6ca9395368
Notes:
Henri Verbeet
2025-04-21 14:51:29 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1464
@@ -20242,6 +20242,13 @@ static void test_null_vbv(void)
|
|||||||
command_list = context.list;
|
command_list = context.list;
|
||||||
queue = context.queue;
|
queue = context.queue;
|
||||||
|
|
||||||
|
if (is_nvidia_windows_device(context.device))
|
||||||
|
{
|
||||||
|
skip("Setting NULL VBVs is broken on NVIDIA devices, skipping.\n");
|
||||||
|
destroy_test_context(&context);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
context.root_signature = create_empty_root_signature(context.device,
|
context.root_signature = create_empty_root_signature(context.device,
|
||||||
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT);
|
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT);
|
||||||
input_layout.pInputElementDescs = layout_desc;
|
input_layout.pInputElementDescs = layout_desc;
|
||||||
|
@@ -479,6 +479,13 @@ static inline bool is_intel_windows_device(ID3D12Device *device)
|
|||||||
return get_adapter_desc(device, &desc) && desc.VendorId == 0x8086;
|
return get_adapter_desc(device, &desc) && desc.VendorId == 0x8086;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline bool is_nvidia_windows_device(ID3D12Device *device)
|
||||||
|
{
|
||||||
|
DXGI_ADAPTER_DESC desc;
|
||||||
|
|
||||||
|
return get_adapter_desc(device, &desc) && desc.VendorId == 0x10de;
|
||||||
|
}
|
||||||
|
|
||||||
static inline bool is_mesa_device(ID3D12Device *device)
|
static inline bool is_mesa_device(ID3D12Device *device)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
@@ -766,6 +773,11 @@ static inline bool is_intel_windows_device(ID3D12Device *device)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline bool is_nvidia_windows_device(ID3D12Device *device)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
static inline bool is_mesa_device(ID3D12Device *device)
|
static inline bool is_mesa_device(ID3D12Device *device)
|
||||||
{
|
{
|
||||||
VkPhysicalDeviceDriverPropertiesKHR properties;
|
VkPhysicalDeviceDriverPropertiesKHR properties;
|
||||||
|
Reference in New Issue
Block a user