Files
WickedEngine/WickedEngine/wiGraphicsResource.cpp
T

236 lines
3.8 KiB
C++

#include "wiGraphicsResource.h"
#include "Include_DX11.h"
namespace wiGraphicsTypes
{
VertexShader::VertexShader()
{
SAFE_INIT(resource_DX11);
}
VertexShader::~VertexShader()
{
SAFE_RELEASE(resource_DX11);
}
PixelShader::PixelShader()
{
SAFE_INIT(resource_DX11);
}
PixelShader::~PixelShader()
{
SAFE_RELEASE(resource_DX11);
}
GeometryShader::GeometryShader()
{
SAFE_INIT(resource_DX11);
}
GeometryShader::~GeometryShader()
{
SAFE_RELEASE(resource_DX11);
}
DomainShader::DomainShader()
{
SAFE_INIT(resource_DX11);
}
DomainShader::~DomainShader()
{
SAFE_RELEASE(resource_DX11);
}
HullShader::HullShader()
{
SAFE_INIT(resource_DX11);
}
HullShader::~HullShader()
{
SAFE_RELEASE(resource_DX11);
}
ComputeShader::ComputeShader()
{
SAFE_INIT(resource_DX11);
}
ComputeShader::~ComputeShader()
{
SAFE_RELEASE(resource_DX11);
}
Sampler::Sampler()
{
SAFE_INIT(resource_DX11);
}
Sampler::~Sampler()
{
SAFE_RELEASE(resource_DX11);
}
GPUResource::GPUResource()
{
SAFE_INIT(SRV_DX11);
}
GPUResource::~GPUResource()
{
SAFE_RELEASE(SRV_DX11);
for (auto& x : additionalSRVs_DX11)
{
SAFE_RELEASE(x);
}
}
GPUUnorderedResource::GPUUnorderedResource()
{
SAFE_INIT(UAV_DX11);
}
GPUUnorderedResource::~GPUUnorderedResource()
{
SAFE_RELEASE(UAV_DX11);
for (auto& x : additionalUAVs_DX11)
{
SAFE_RELEASE(x);
}
}
GPUBuffer::GPUBuffer() : GPUResource(), GPUUnorderedResource()
{
SAFE_INIT(resource_DX11);
}
GPUBuffer::~GPUBuffer()
{
SAFE_RELEASE(resource_DX11);
}
VertexLayout::VertexLayout()
{
SAFE_INIT(resource_DX11);
}
VertexLayout::~VertexLayout()
{
SAFE_RELEASE(resource_DX11);
}
BlendState::BlendState()
{
SAFE_INIT(resource_DX11);
}
BlendState::~BlendState()
{
SAFE_RELEASE(resource_DX11);
}
DepthStencilState::DepthStencilState()
{
SAFE_INIT(resource_DX11);
}
DepthStencilState::~DepthStencilState()
{
SAFE_RELEASE(resource_DX11);
}
RasterizerState::RasterizerState()
{
SAFE_INIT(resource_DX11);
}
RasterizerState::~RasterizerState()
{
SAFE_RELEASE(resource_DX11);
}
ClassLinkage::ClassLinkage()
{
SAFE_INIT(resource_DX11);
}
ClassLinkage::~ClassLinkage()
{
SAFE_RELEASE(resource_DX11);
}
VertexShaderInfo::VertexShaderInfo()
{
SAFE_INIT(vertexShader);
SAFE_INIT(vertexLayout);
}
VertexShaderInfo::~VertexShaderInfo()
{
SAFE_DELETE(vertexShader);
SAFE_DELETE(vertexLayout);
}
Texture::Texture() : GPUResource(), GPUUnorderedResource()
, independentRTVArraySlices(false), independentRTVCubemapFaces(false)
, independentSRVMIPs(false), independentUAVMIPs(false)
{
SAFE_INIT(RTV_DX11);
}
Texture::~Texture()
{
SAFE_RELEASE(RTV_DX11);
for (auto& x : additionalRTVs_DX11)
{
SAFE_RELEASE(x);
}
}
void Texture::RequestIndepententRenderTargetArraySlices(bool value)
{
independentRTVArraySlices = value;
}
void Texture::RequestIndepententRenderTargetCubemapFaces(bool value)
{
independentRTVCubemapFaces = value;
}
void Texture::RequestIndepententShaderResourcesForMIPs(bool value)
{
independentSRVMIPs = value;
}
void Texture::RequestIndepententUnorderedAccessResourcesForMIPs(bool value)
{
independentUAVMIPs = value;
}
Texture1D::Texture1D() :Texture()
{
SAFE_INIT(texture1D_DX11);
}
Texture1D::~Texture1D()
{
SAFE_RELEASE(texture1D_DX11);
}
Texture2D::Texture2D() :Texture()
{
SAFE_INIT(texture2D_DX11);
SAFE_INIT(DSV_DX11);
}
Texture2D::~Texture2D()
{
SAFE_RELEASE(texture2D_DX11);
SAFE_RELEASE(DSV_DX11);
for (auto& x : additionalDSVs_DX11)
{
SAFE_RELEASE(x);
}
}
Texture3D::Texture3D() :Texture()
{
SAFE_INIT(texture3D_DX11);
}
Texture3D::~Texture3D()
{
SAFE_RELEASE(texture3D_DX11);
}
GPUQuery::GPUQuery()
{
async_frameshift = 0;
}
GPUQuery::~GPUQuery()
{
for (auto& x : resource_DX11)
{
SAFE_RELEASE(x);
}
}
}