Files
XCEngine/tests/RHI/D3D12/test_command_allocator.cpp

46 lines
1.3 KiB
C++
Raw Normal View History

#include "fixtures/D3D12TestFixture.h"
TEST_F(D3D12TestFixture, CommandAllocator_Placeholder) {
ASSERT_NE(GetCommandAllocator(), nullptr);
}
TEST_F(D3D12TestFixture, CommandAllocator_Reset) {
ComPtr<ID3D12CommandAllocator> allocator;
HRESULT hr = GetDevice()->CreateCommandAllocator(
D3D12_COMMAND_LIST_TYPE_DIRECT,
IID_PPV_ARGS(&allocator)
);
ASSERT_HRESULT_SUCCEEDED(hr);
hr = allocator->Reset();
ASSERT_HRESULT_SUCCEEDED(hr);
}
TEST_F(D3D12TestFixture, CommandAllocator_MultipleReset) {
ComPtr<ID3D12CommandAllocator> allocator;
HRESULT hr = GetDevice()->CreateCommandAllocator(
D3D12_COMMAND_LIST_TYPE_DIRECT,
IID_PPV_ARGS(&allocator)
);
ASSERT_HRESULT_SUCCEEDED(hr);
for (int i = 0; i < 10; ++i) {
hr = allocator->Reset();
ASSERT_HRESULT_SUCCEEDED(hr);
}
}
TEST_F(D3D12TestFixture, CommandAllocator_DifferentTypes) {
D3D12_COMMAND_LIST_TYPE types[] = {
D3D12_COMMAND_LIST_TYPE_DIRECT,
D3D12_COMMAND_LIST_TYPE_COMPUTE,
D3D12_COMMAND_LIST_TYPE_COPY
};
for (auto type : types) {
ComPtr<ID3D12CommandAllocator> allocator;
HRESULT hr = GetDevice()->CreateCommandAllocator(type, IID_PPV_ARGS(&allocator));
ASSERT_HRESULT_SUCCEEDED(hr);
}
}