2026-03-15 19:10:32 +08:00
|
|
|
#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);
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-15 19:48:20 +08:00
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-15 19:10:32 +08:00
|
|
|
void D3D12ShaderResourceView::Shutdown() {
|
|
|
|
|
m_handle = {};
|
|
|
|
|
m_resource = nullptr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} // namespace RHI
|
|
|
|
|
} // namespace XCEngine
|