Skip to content

Commit 2d2c5ac

Browse files
committed
Rename DirectXWrapper to indicate version
Rename `DirectXWrapper` to `DirectX12Wrapper` and only enable it if D3D12 is supported. Update the CMakeLists.txt files to use `target` properties instead of global project ones. No functional change. Signed-off-by: Ahmed Hesham <ahmed.hesham@arm.com>
1 parent 589d43d commit 2d2c5ac

6 files changed

Lines changed: 31 additions & 22 deletions

File tree

test_conformance/common/directx_wrapper/CMakeLists.txt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@ set(DIRECTX_WRAPPER_SOURCES
44

55
add_library(directx_wrapper STATIC ${DIRECTX_WRAPPER_SOURCES})
66

7-
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
7+
target_include_directories(directx_wrapper
8+
INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
89

9-
include_directories(${CLConform_INCLUDE_DIR})
10+
target_compile_definitions(directx_wrapper
11+
PUBLIC
12+
$<$<BOOL:${D3D12_IS_SUPPORTED}>:D3D12_IS_SUPPORTED>)
1013

11-
if (WIN32)
12-
target_link_libraries(directx_wrapper d3d12)
13-
endif ()
14+
target_link_libraries(directx_wrapper
15+
dxgi
16+
$<$<BOOL:${D3D12_IS_SUPPORTED}>:d3d12>)

test_conformance/common/directx_wrapper/directx_wrapper.cpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,12 @@
1414
// limitations under the License.
1515
//
1616

17+
#include <stdexcept>
18+
1719
#include "directx_wrapper.hpp"
1820

19-
DirectXWrapper::DirectXWrapper()
21+
#if D3D12_IS_SUPPORTED
22+
DirectX12Wrapper::DirectX12Wrapper()
2023
{
2124

2225
HRESULT hr = D3D12CreateDevice(nullptr, D3D_FEATURE_LEVEL_12_0,
@@ -44,18 +47,18 @@ DirectXWrapper::DirectXWrapper()
4447
}
4548
}
4649

47-
ID3D12Device* DirectXWrapper::getDXDevice() const { return dx_device.Get(); }
50+
ID3D12Device* DirectX12Wrapper::getDXDevice() const { return dx_device.Get(); }
4851

49-
ID3D12CommandQueue* DirectXWrapper::getDXCommandQueue() const
52+
ID3D12CommandQueue* DirectX12Wrapper::getDXCommandQueue() const
5053
{
5154
return dx_command_queue.Get();
5255
}
53-
ID3D12CommandAllocator* DirectXWrapper::getDXCommandAllocator() const
56+
ID3D12CommandAllocator* DirectX12Wrapper::getDXCommandAllocator() const
5457
{
5558
return dx_command_allocator.Get();
5659
}
5760

58-
DirectXFenceWrapper::DirectXFenceWrapper(ID3D12Device* dx_device)
61+
DirectX12FenceWrapper::DirectX12FenceWrapper(ID3D12Device* dx_device)
5962
: dx_device(dx_device)
6063
{
6164
if (!dx_device)
@@ -69,3 +72,4 @@ DirectXFenceWrapper::DirectXFenceWrapper(ID3D12Device* dx_device)
6972
throw std::runtime_error("Failed to create the DirectX fence");
7073
}
7174
}
75+
#endif

test_conformance/common/directx_wrapper/directx_wrapper.hpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,17 @@
1616

1717
#pragma once
1818

19+
#if D3D12_IS_SUPPORTED
1920
#include <d3d12.h>
21+
#endif
2022
#include <wrl/client.h>
21-
#include <stdexcept>
2223

2324
using namespace Microsoft::WRL;
2425

25-
class DirectXWrapper {
26+
#if D3D12_IS_SUPPORTED
27+
class DirectX12Wrapper {
2628
public:
27-
DirectXWrapper();
29+
DirectX12Wrapper();
2830

2931
[[nodiscard]] ID3D12Device* getDXDevice() const;
3032
[[nodiscard]] ID3D12CommandQueue* getDXCommandQueue() const;
@@ -36,12 +38,13 @@ class DirectXWrapper {
3638
ComPtr<ID3D12CommandAllocator> dx_command_allocator = nullptr;
3739
};
3840

39-
class DirectXFenceWrapper {
41+
class DirectX12FenceWrapper {
4042
public:
41-
DirectXFenceWrapper(ID3D12Device* dx_device);
43+
DirectX12FenceWrapper(ID3D12Device* dx_device);
4244
[[nodiscard]] ID3D12Fence* get() const { return dx_fence.Get(); }
4345

4446
private:
4547
ComPtr<ID3D12Fence> dx_fence = nullptr;
4648
ComPtr<ID3D12Device> dx_device = nullptr;
47-
};
49+
};
50+
#endif

test_conformance/extensions/cl_khr_external_semaphore_dx_fence/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ if (WIN32)
2020
PROPERTIES LANGUAGE CXX)
2121

2222
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
23-
include_directories("../../common/directx_wrapper")
2423
include(../../CMakeCommon.txt)
2524
endif (WIN32)
2625

test_conformance/extensions/cl_khr_external_semaphore_dx_fence/semaphore_dx_fence_base.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ struct DXFenceTestBase
6767
"supported import types");
6868

6969
// Import D3D12 fence into OpenCL
70-
fence_wrapper = new DirectXFenceWrapper(dx_wrapper.getDXDevice());
70+
fence_wrapper = new DirectX12FenceWrapper(dx_wrapper.getDXDevice());
7171
semaphore = createSemaphoreFromFence(fence_wrapper->get());
7272
test_assert_error(!!semaphore, "Could not create semaphore");
7373

@@ -83,12 +83,12 @@ struct DXFenceTestBase
8383
cl_context context = nullptr;
8484
cl_command_queue queue = nullptr;
8585
cl_int num_elems = 0;
86-
DirectXWrapper dx_wrapper;
86+
DirectX12Wrapper dx_wrapper;
8787

8888
cl_semaphore_payload_khr semaphore_payload = 1;
8989
cl_semaphore_khr semaphore = nullptr;
9090
HANDLE fence_handle = nullptr;
91-
DirectXFenceWrapper *fence_wrapper = nullptr;
91+
DirectX12FenceWrapper *fence_wrapper = nullptr;
9292

9393
clCreateSemaphoreWithPropertiesKHR_fn clCreateSemaphoreWithPropertiesKHR =
9494
nullptr;

test_conformance/extensions/cl_khr_external_semaphore_dx_fence/test_external_semaphore_dx_fence.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ struct MultipleWaitSignal final : DXFenceTestBase
191191
int SetUp() override
192192
{
193193
DXFenceTestBase::SetUp();
194-
fence_wrapper_2 = new DirectXFenceWrapper(dx_wrapper.getDXDevice());
194+
fence_wrapper_2 = new DirectX12FenceWrapper(dx_wrapper.getDXDevice());
195195
semaphore_2 = createSemaphoreFromFence(fence_wrapper_2->get());
196196
test_assert_error(!!semaphore_2, "Could not create semaphore");
197197

@@ -282,7 +282,7 @@ struct MultipleWaitSignal final : DXFenceTestBase
282282
protected:
283283
cl_semaphore_khr semaphore_2 = nullptr;
284284
HANDLE fence_handle_2 = nullptr;
285-
DirectXFenceWrapper *fence_wrapper_2 = nullptr;
285+
DirectX12FenceWrapper *fence_wrapper_2 = nullptr;
286286
};
287287

288288
// Confirm that multiple waits in OpenCL followed by signals in DX12 and waits

0 commit comments

Comments
 (0)