diff --git a/tests/d3d12.c b/tests/d3d12.c index 28edc54d..7255c7fd 100644 --- a/tests/d3d12.c +++ b/tests/d3d12.c @@ -28,6 +28,7 @@ static PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER pfn_D3D12CreateVersionedRootSignatureDeserializer; static PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE pfn_D3D12SerializeVersionedRootSignature; PFN_D3D12_CREATE_DEVICE pfn_D3D12CreateDevice; +PFN_D3D12_ENABLE_EXPERIMENTAL_FEATURES pfn_D3D12EnableExperimentalFeatures; PFN_D3D12_GET_DEBUG_INTERFACE pfn_D3D12GetDebugInterface; struct vec2 @@ -49715,6 +49716,7 @@ static void test_root_signature_priority(void) START_TEST(d3d12) { pfn_D3D12CreateDevice = get_d3d12_pfn(D3D12CreateDevice); + pfn_D3D12EnableExperimentalFeatures = get_d3d12_pfn(D3D12EnableExperimentalFeatures); pfn_D3D12GetDebugInterface = get_d3d12_pfn(D3D12GetDebugInterface); parse_args(argc, argv); diff --git a/tests/d3d12_crosstest.h b/tests/d3d12_crosstest.h index 959c0419..269b3cb5 100644 --- a/tests/d3d12_crosstest.h +++ b/tests/d3d12_crosstest.h @@ -51,6 +51,7 @@ #include "d3d12_test_utils.h" extern PFN_D3D12_CREATE_DEVICE pfn_D3D12CreateDevice; +extern PFN_D3D12_ENABLE_EXPERIMENTAL_FEATURES pfn_D3D12EnableExperimentalFeatures; extern PFN_D3D12_GET_DEBUG_INTERFACE pfn_D3D12GetDebugInterface; #if defined(_WIN32) && !defined(VKD3D_FORCE_UTILS_WRAPPER) @@ -296,6 +297,10 @@ static ID3D12Device *create_device(void) return NULL; } + /* Enable support for 6_3+, we need this for some tests. */ + if (pfn_D3D12EnableExperimentalFeatures) + pfn_D3D12EnableExperimentalFeatures(1, &D3D12ExperimentalShaderModels, NULL, NULL); + hr = pfn_D3D12CreateDevice(adapter, D3D_FEATURE_LEVEL_11_0, &IID_ID3D12Device, (void **)&device); if (adapter) IUnknown_Release(adapter); diff --git a/tests/descriptor_performance.c b/tests/descriptor_performance.c index ae2077fb..32f041c0 100644 --- a/tests/descriptor_performance.c +++ b/tests/descriptor_performance.c @@ -23,11 +23,13 @@ static PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER pfn_D3D12CreateVersionedRootSignatureDeserializer; static PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE pfn_D3D12SerializeVersionedRootSignature; PFN_D3D12_CREATE_DEVICE pfn_D3D12CreateDevice; +PFN_D3D12_ENABLE_EXPERIMENTAL_FEATURES pfn_D3D12EnableExperimentalFeatures; PFN_D3D12_GET_DEBUG_INTERFACE pfn_D3D12GetDebugInterface; static void setup(int argc, char **argv) { pfn_D3D12CreateDevice = get_d3d12_pfn(D3D12CreateDevice); + pfn_D3D12EnableExperimentalFeatures = get_d3d12_pfn(D3D12EnableExperimentalFeatures); pfn_D3D12GetDebugInterface = get_d3d12_pfn(D3D12GetDebugInterface); parse_args(argc, argv);