Files
XCEngine/engine/src/RHI/D3D12/D3D12ShaderResourceView.cpp

34 lines
944 B
C++
Raw Normal View History

#include "XCEngine/RHI/D3D12/D3D12ShaderResourceView.h"
namespace XCEngine {
namespace RHI {
D3D12ShaderResourceView::D3D12ShaderResourceView()
: m_handle({0})
, m_resource(nullptr) {
}
D3D12ShaderResourceView::~D3D12ShaderResourceView() {
Shutdown();
}
void D3D12ShaderResourceView::Initialize(ID3D12Device* device, ID3D12Resource* resource, const D3D12_SHADER_RESOURCE_VIEW_DESC* desc) {
m_resource = resource;
m_handle = {};
device->CreateShaderResourceView(resource, desc, m_handle);
}
void D3D12ShaderResourceView::InitializeAt(ID3D12Device* device, ID3D12Resource* resource, D3D12_CPU_DESCRIPTOR_HANDLE handle, const D3D12_SHADER_RESOURCE_VIEW_DESC* desc) {
m_resource = resource;
m_handle = handle;
device->CreateShaderResourceView(resource, desc, m_handle);
}
void D3D12ShaderResourceView::Shutdown() {
m_handle = {};
m_resource = nullptr;
}
} // namespace RHI
} // namespace XCEngine