Files
renderdoc/renderdoc/driver/d3d11/d3d11_stringise.cpp
T
baldurk e08e5f0692 Move some common chunks into SystemChunk from API Chunks
* This makes API-agnostic processing over strucutred data a *little*
  easier. At least it's possible to differentiate initialisation from
  frame capture chunks.
2017-11-24 18:14:23 +00:00

791 lines
33 KiB
C++

/******************************************************************************
* The MIT License (MIT)
*
* Copyright (c) 2017 Baldur Karlsson
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
******************************************************************************/
#include "common/common.h"
#include "d3d11_common.h"
#include "d3d11_resources.h"
template <>
std::string DoStringise(const D3D11ResourceType &el)
{
BEGIN_ENUM_STRINGISE(D3D11ResourceType);
{
STRINGISE_ENUM(Resource_InputLayout)
STRINGISE_ENUM(Resource_Buffer)
STRINGISE_ENUM(Resource_Texture1D)
STRINGISE_ENUM(Resource_Texture2D)
STRINGISE_ENUM(Resource_Texture3D)
STRINGISE_ENUM(Resource_RasterizerState)
STRINGISE_ENUM(Resource_BlendState)
STRINGISE_ENUM(Resource_DepthStencilState)
STRINGISE_ENUM(Resource_SamplerState)
STRINGISE_ENUM(Resource_RenderTargetView)
STRINGISE_ENUM(Resource_ShaderResourceView)
STRINGISE_ENUM(Resource_DepthStencilView)
STRINGISE_ENUM(Resource_Shader)
STRINGISE_ENUM(Resource_UnorderedAccessView)
STRINGISE_ENUM(Resource_Counter)
STRINGISE_ENUM(Resource_Query)
STRINGISE_ENUM(Resource_Predicate)
STRINGISE_ENUM(Resource_ClassInstance)
STRINGISE_ENUM(Resource_ClassLinkage)
STRINGISE_ENUM(Resource_DeviceContext)
STRINGISE_ENUM(Resource_CommandList)
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11Chunk &el)
{
RDCCOMPILE_ASSERT((uint32_t)D3D11Chunk::Max == 1128, "Chunks changed without updating names");
BEGIN_ENUM_STRINGISE(D3D11Chunk)
{
STRINGISE_ENUM_CLASS_NAMED(DeviceInitialisation, "Device Initialisation");
STRINGISE_ENUM_CLASS_NAMED(SetResourceName, "ID3D11Resource::SetDebugName");
STRINGISE_ENUM_CLASS_NAMED(ReleaseResource, "IUnknown::Release");
STRINGISE_ENUM_CLASS_NAMED(CreateSwapBuffer, "IDXGISwapChain::GetBuffer");
STRINGISE_ENUM_CLASS_NAMED(CreateTexture1D, "ID3D11Device::CreateTexture1D");
STRINGISE_ENUM_CLASS_NAMED(CreateTexture2D, "ID3D11Device::CreateTexture2D");
STRINGISE_ENUM_CLASS_NAMED(CreateTexture3D, "ID3D11Device::CreateTexture3D");
STRINGISE_ENUM_CLASS_NAMED(CreateBuffer, "ID3D11Device::CreateBuffer");
STRINGISE_ENUM_CLASS_NAMED(CreateVertexShader, "ID3D11Device::CreateVertexShader");
STRINGISE_ENUM_CLASS_NAMED(CreateHullShader, "ID3D11Device::CreateHullShader");
STRINGISE_ENUM_CLASS_NAMED(CreateDomainShader, "ID3D11Device::CreateDomainShader");
STRINGISE_ENUM_CLASS_NAMED(CreateGeometryShader, "ID3D11Device::CreateGeometryShader");
STRINGISE_ENUM_CLASS_NAMED(CreateGeometryShaderWithStreamOutput,
"ID3D11Device::CreateGeometryShaderWithStreamOutput");
STRINGISE_ENUM_CLASS_NAMED(CreatePixelShader, "ID3D11Device::CreatePixelShader");
STRINGISE_ENUM_CLASS_NAMED(CreateComputeShader, "ID3D11Device::CreateComputeShader");
STRINGISE_ENUM_CLASS_NAMED(GetClassInstance, "ID3D11ClassLinkage::GetClassInstance");
STRINGISE_ENUM_CLASS_NAMED(CreateClassInstance, "ID3D11ClassLinkage::CreateClassInstance");
STRINGISE_ENUM_CLASS_NAMED(CreateClassLinkage, "ID3D11Device::CreateClassLinkage");
STRINGISE_ENUM_CLASS_NAMED(CreateShaderResourceView, "ID3D11Device::CreateShaderResourceView");
STRINGISE_ENUM_CLASS_NAMED(CreateRenderTargetView, "ID3D11Device::CreateRenderTargetView");
STRINGISE_ENUM_CLASS_NAMED(CreateDepthStencilView, "ID3D11Device::CreateDepthStencilView");
STRINGISE_ENUM_CLASS_NAMED(CreateUnorderedAccessView,
"ID3D11Device::CreateUnorderedAccessView");
STRINGISE_ENUM_CLASS_NAMED(CreateInputLayout, "ID3D11Device::CreateInputLayout");
STRINGISE_ENUM_CLASS_NAMED(CreateBlendState, "ID3D11Device::CreateBlendState");
STRINGISE_ENUM_CLASS_NAMED(CreateDepthStencilState, "ID3D11Device::CreateDepthStencilState");
STRINGISE_ENUM_CLASS_NAMED(CreateRasterizerState, "ID3D11Device::CreateRasterizerState");
STRINGISE_ENUM_CLASS_NAMED(CreateSamplerState, "ID3D11Device::CreateSamplerState");
STRINGISE_ENUM_CLASS_NAMED(CreateQuery, "ID3D11Device::CreateQuery");
STRINGISE_ENUM_CLASS_NAMED(CreatePredicate, "ID3D11Device::CreatePredicate");
STRINGISE_ENUM_CLASS_NAMED(CreateCounter, "ID3D11Device::CreateCounter");
STRINGISE_ENUM_CLASS_NAMED(CreateDeferredContext, "ID3D11Device::CreateDeferredContext");
STRINGISE_ENUM_CLASS_NAMED(SetExceptionMode, "ID3D11Device::SetExceptionMode");
STRINGISE_ENUM_CLASS_NAMED(OpenSharedResource, "ID3D11Device::OpenSharedResource");
STRINGISE_ENUM_CLASS_NAMED(IASetInputLayout, "ID3D11DeviceContext::IASetInputLayout");
STRINGISE_ENUM_CLASS_NAMED(IASetVertexBuffers, "ID3D11DeviceContext::IASetVertexBuffers");
STRINGISE_ENUM_CLASS_NAMED(IASetIndexBuffer, "ID3D11DeviceContext::IASetIndexBuffer");
STRINGISE_ENUM_CLASS_NAMED(IASetPrimitiveTopology,
"ID3D11DeviceContext::IASetPrimitiveTopology");
STRINGISE_ENUM_CLASS_NAMED(VSSetConstantBuffers, "ID3D11DeviceContext::VSSetConstantBuffers");
STRINGISE_ENUM_CLASS_NAMED(VSSetShaderResources, "ID3D11DeviceContext::VSSetShaderResources");
STRINGISE_ENUM_CLASS_NAMED(VSSetSamplers, "ID3D11DeviceContext::VSSetSamplers");
STRINGISE_ENUM_CLASS_NAMED(VSSetShader, "ID3D11DeviceContext::VSSetShader");
STRINGISE_ENUM_CLASS_NAMED(HSSetConstantBuffers, "ID3D11DeviceContext::HSSetConstantBuffers");
STRINGISE_ENUM_CLASS_NAMED(HSSetShaderResources, "ID3D11DeviceContext::HSSetShaderResources");
STRINGISE_ENUM_CLASS_NAMED(HSSetSamplers, "ID3D11DeviceContext::HSSetSamplers");
STRINGISE_ENUM_CLASS_NAMED(HSSetShader, "ID3D11DeviceContext::HSSetShader");
STRINGISE_ENUM_CLASS_NAMED(DSSetConstantBuffers, "ID3D11DeviceContext::DSSetConstantBuffers");
STRINGISE_ENUM_CLASS_NAMED(DSSetShaderResources, "ID3D11DeviceContext::DSSetShaderResources");
STRINGISE_ENUM_CLASS_NAMED(DSSetSamplers, "ID3D11DeviceContext::DSSetSamplers");
STRINGISE_ENUM_CLASS_NAMED(DSSetShader, "ID3D11DeviceContext::DSSetShader");
STRINGISE_ENUM_CLASS_NAMED(GSSetConstantBuffers, "ID3D11DeviceContext::GSSetConstantBuffers");
STRINGISE_ENUM_CLASS_NAMED(GSSetShaderResources, "ID3D11DeviceContext::GSSetShaderResources");
STRINGISE_ENUM_CLASS_NAMED(GSSetSamplers, "ID3D11DeviceContext::GSSetSamplers");
STRINGISE_ENUM_CLASS_NAMED(GSSetShader, "ID3D11DeviceContext::GSSetShader");
STRINGISE_ENUM_CLASS_NAMED(SOSetTargets, "ID3D11DeviceContext::SOSetTargets");
STRINGISE_ENUM_CLASS_NAMED(PSSetConstantBuffers, "ID3D11DeviceContext::PSSetConstantBuffers");
STRINGISE_ENUM_CLASS_NAMED(PSSetShaderResources, "ID3D11DeviceContext::PSSetShaderResources");
STRINGISE_ENUM_CLASS_NAMED(PSSetSamplers, "ID3D11DeviceContext::PSSetSamplers");
STRINGISE_ENUM_CLASS_NAMED(PSSetShader, "ID3D11DeviceContext::PSSetShader");
STRINGISE_ENUM_CLASS_NAMED(CSSetConstantBuffers, "ID3D11DeviceContext::CSSetConstantBuffers");
STRINGISE_ENUM_CLASS_NAMED(CSSetShaderResources, "ID3D11DeviceContext::CSSetShaderResources");
STRINGISE_ENUM_CLASS_NAMED(CSSetUnorderedAccessViews,
"ID3D11DeviceContext::CSSetUnorderedAccessViews");
STRINGISE_ENUM_CLASS_NAMED(CSSetSamplers, "ID3D11DeviceContext::CSSetSamplers");
STRINGISE_ENUM_CLASS_NAMED(CSSetShader, "ID3D11DeviceContext::CSSetShader");
STRINGISE_ENUM_CLASS_NAMED(RSSetViewports, "ID3D11DeviceContext::RSSetViewports");
STRINGISE_ENUM_CLASS_NAMED(RSSetScissorRects, "ID3D11DeviceContext::RSSetScissors");
STRINGISE_ENUM_CLASS_NAMED(RSSetState, "ID3D11DeviceContext::RSSetState");
STRINGISE_ENUM_CLASS_NAMED(OMSetRenderTargets, "ID3D11DeviceContext::OMSetRenderTargets");
STRINGISE_ENUM_CLASS_NAMED(OMSetRenderTargetsAndUnorderedAccessViews,
"ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews");
STRINGISE_ENUM_CLASS_NAMED(OMSetBlendState, "ID3D11DeviceContext::OMSetBlendState");
STRINGISE_ENUM_CLASS_NAMED(OMSetDepthStencilState,
"ID3D11DeviceContext::OMSetDepthStencilState");
STRINGISE_ENUM_CLASS_NAMED(DrawIndexedInstanced, "ID3D11DeviceContext::DrawIndexedInstanced");
STRINGISE_ENUM_CLASS_NAMED(DrawInstanced, "ID3D11DeviceContext::DrawInstanced");
STRINGISE_ENUM_CLASS_NAMED(DrawIndexed, "ID3D11DeviceContext::DrawIndexed");
STRINGISE_ENUM_CLASS_NAMED(Draw, "ID3D11DeviceContext::Draw");
STRINGISE_ENUM_CLASS_NAMED(DrawAuto, "ID3D11DeviceContext::DrawAuto");
STRINGISE_ENUM_CLASS_NAMED(DrawIndexedInstancedIndirect,
"ID3D11DeviceContext::DrawIndexedInstancedIndirect");
STRINGISE_ENUM_CLASS_NAMED(DrawInstancedIndirect, "ID3D11DeviceContext::DrawInstancedIndirect");
STRINGISE_ENUM_CLASS_NAMED(Map, "ID3D11DeviceContext::Map");
STRINGISE_ENUM_CLASS_NAMED(Unmap, "ID3D11DeviceContext::Unmap");
STRINGISE_ENUM_CLASS_NAMED(CopySubresourceRegion, "ID3D11DeviceContext::CopySubresourceRegion");
STRINGISE_ENUM_CLASS_NAMED(CopyResource, "ID3D11DeviceContext::CopyResource");
STRINGISE_ENUM_CLASS_NAMED(UpdateSubresource, "ID3D11DeviceContext::UpdateSubresource");
STRINGISE_ENUM_CLASS_NAMED(CopyStructureCount, "ID3D11DeviceContext::CopyStructureCount");
STRINGISE_ENUM_CLASS_NAMED(ResolveSubresource, "ID3D11DeviceContext::ResolveSubresource");
STRINGISE_ENUM_CLASS_NAMED(GenerateMips, "ID3D11DeviceContext::GenerateMips");
STRINGISE_ENUM_CLASS_NAMED(ClearDepthStencilView, "ID3D11DeviceContext::ClearDepthStencilView");
STRINGISE_ENUM_CLASS_NAMED(ClearRenderTargetView, "ID3D11DeviceContext::ClearRenderTargetView");
STRINGISE_ENUM_CLASS_NAMED(ClearUnorderedAccessViewUint,
"ID3D11DeviceContext::ClearUnorderedAccessViewInt");
STRINGISE_ENUM_CLASS_NAMED(ClearUnorderedAccessViewFloat,
"ID3D11DeviceContext::ClearUnorderedAccessViewFloat");
STRINGISE_ENUM_CLASS_NAMED(ClearState, "ID3D11DeviceContext::ClearState");
STRINGISE_ENUM_CLASS_NAMED(ExecuteCommandList, "ID3D11DeviceContext::ExecuteCommandList");
STRINGISE_ENUM_CLASS_NAMED(Dispatch, "ID3D11DeviceContext::Dispatch");
STRINGISE_ENUM_CLASS_NAMED(DispatchIndirect, "ID3D11DeviceContext::DispatchIndirect");
STRINGISE_ENUM_CLASS_NAMED(FinishCommandList, "ID3D11DeviceContext::FinishCommandlist");
STRINGISE_ENUM_CLASS_NAMED(Flush, "ID3D11DeviceContext::Flush");
STRINGISE_ENUM_CLASS_NAMED(SetPredication, "ID3D11DeviceContext::SetPredication");
STRINGISE_ENUM_CLASS_NAMED(SetResourceMinLOD, "ID3D11DeviceContext::SetResourceMinLOD");
STRINGISE_ENUM_CLASS_NAMED(Begin, "ID3D11DeviceContext::Begin");
STRINGISE_ENUM_CLASS_NAMED(End, "ID3D11DeviceContext::End");
STRINGISE_ENUM_CLASS_NAMED(CreateRasterizerState1, "ID3D11Device2::CreateRasterizerState1");
STRINGISE_ENUM_CLASS_NAMED(CreateBlendState1, "ID3D11Device2::CreateBlendState1");
STRINGISE_ENUM_CLASS_NAMED(CopySubresourceRegion1,
"ID3D11DeviceContext1::CopySubresourceRegion1");
STRINGISE_ENUM_CLASS_NAMED(UpdateSubresource1, "ID3D11DeviceContext1::UpdateSubresource1");
STRINGISE_ENUM_CLASS_NAMED(ClearView, "ID3D11DeviceContext1::ClearView");
STRINGISE_ENUM_CLASS_NAMED(VSSetConstantBuffers1,
"ID3D11DeviceContext1::VSSetConstantBuffers1");
STRINGISE_ENUM_CLASS_NAMED(HSSetConstantBuffers1,
"ID3D11DeviceContext1::HSSetConstantBuffers1");
STRINGISE_ENUM_CLASS_NAMED(DSSetConstantBuffers1,
"ID3D11DeviceContext1::DSSetConstantBuffers1");
STRINGISE_ENUM_CLASS_NAMED(GSSetConstantBuffers1,
"ID3D11DeviceContext1::GSSetConstantBuffers1");
STRINGISE_ENUM_CLASS_NAMED(PSSetConstantBuffers1,
"ID3D11DeviceContext1::PSSetConstantBuffers1");
STRINGISE_ENUM_CLASS_NAMED(CSSetConstantBuffers1,
"ID3D11DeviceContext1::CSSetConstantBuffers1");
STRINGISE_ENUM_CLASS_NAMED(PushMarker, "Push Debug Region");
STRINGISE_ENUM_CLASS_NAMED(SetMarker, "Set Marker");
STRINGISE_ENUM_CLASS_NAMED(PopMarker, "Pop Debug Region");
STRINGISE_ENUM_CLASS_NAMED(SetShaderDebugPath, "SetShaderDebugPath");
STRINGISE_ENUM_CLASS_NAMED(DiscardResource, "ID3D11DeviceContext1::DiscardResource");
STRINGISE_ENUM_CLASS_NAMED(DiscardView, "ID3D11DeviceContext1::DiscardView");
STRINGISE_ENUM_CLASS_NAMED(DiscardView1, "ID3D11DeviceContext1::DiscardView1");
STRINGISE_ENUM_CLASS_NAMED(CreateRasterizerState2, "ID3D11Device3::CreateRasterizerState2");
STRINGISE_ENUM_CLASS_NAMED(CreateQuery1, "ID3D11Device3::CreateQuery1");
STRINGISE_ENUM_CLASS_NAMED(CreateTexture2D1, "ID3D11Device3::CreateTexture2D1");
STRINGISE_ENUM_CLASS_NAMED(CreateTexture3D1, "ID3D11Device3::CreateTexture3D1");
STRINGISE_ENUM_CLASS_NAMED(CreateShaderResourceView1,
"ID3D11Device3::CreateShaderResourceView1");
STRINGISE_ENUM_CLASS_NAMED(CreateRenderTargetView1, "ID3D11Device3::CreateRenderTargetView1");
STRINGISE_ENUM_CLASS_NAMED(CreateUnorderedAccessView1,
"ID3D11Device3::CreateUnorderedAccessView1");
STRINGISE_ENUM_CLASS_NAMED(SwapchainPresent, "IDXGISwapChain::Present");
STRINGISE_ENUM_CLASS_NAMED(PostExecuteCommandListRestore,
"ID3D11DeviceContext::ExecuteCommandList");
STRINGISE_ENUM_CLASS_NAMED(PostFinishCommandListSet, "ID3D11DeviceContext::FinishCommandList");
STRINGISE_ENUM_CLASS_NAMED(SwapDeviceContextState,
"ID3D11DeviceContext1::SwapDeviceContextState");
STRINGISE_ENUM_CLASS_NAMED(Max, "Max Chunk");
}
END_ENUM_STRINGISE()
}
template <>
std::string DoStringise(const D3D11_BIND_FLAG &el)
{
BEGIN_BITFIELD_STRINGISE(D3D11_BIND_FLAG);
{
STRINGISE_BITFIELD_VALUE(0)
STRINGISE_BITFIELD_BIT(D3D11_BIND_VERTEX_BUFFER)
STRINGISE_BITFIELD_BIT(D3D11_BIND_INDEX_BUFFER)
STRINGISE_BITFIELD_BIT(D3D11_BIND_CONSTANT_BUFFER)
STRINGISE_BITFIELD_BIT(D3D11_BIND_SHADER_RESOURCE)
STRINGISE_BITFIELD_BIT(D3D11_BIND_STREAM_OUTPUT)
STRINGISE_BITFIELD_BIT(D3D11_BIND_RENDER_TARGET)
STRINGISE_BITFIELD_BIT(D3D11_BIND_DEPTH_STENCIL)
STRINGISE_BITFIELD_BIT(D3D11_BIND_UNORDERED_ACCESS)
STRINGISE_BITFIELD_BIT(D3D11_BIND_DECODER)
STRINGISE_BITFIELD_BIT(D3D11_BIND_VIDEO_ENCODER)
}
END_BITFIELD_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_CPU_ACCESS_FLAG &el)
{
BEGIN_BITFIELD_STRINGISE(D3D11_CPU_ACCESS_FLAG);
{
STRINGISE_BITFIELD_VALUE(0)
STRINGISE_BITFIELD_BIT(D3D11_CPU_ACCESS_READ)
STRINGISE_BITFIELD_BIT(D3D11_CPU_ACCESS_WRITE)
}
END_BITFIELD_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_RESOURCE_MISC_FLAG &el)
{
BEGIN_BITFIELD_STRINGISE(D3D11_RESOURCE_MISC_FLAG);
{
STRINGISE_BITFIELD_VALUE(0)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_GENERATE_MIPS)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_SHARED)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_TEXTURECUBE)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_BUFFER_STRUCTURED)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_RESOURCE_CLAMP)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_GDI_COMPATIBLE)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_SHARED_NTHANDLE)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_RESTRICTED_CONTENT)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_GUARDED)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_TILE_POOL)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_TILED)
STRINGISE_BITFIELD_BIT(D3D11_RESOURCE_MISC_HW_PROTECTED)
}
END_BITFIELD_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_COLOR_WRITE_ENABLE &el)
{
BEGIN_BITFIELD_STRINGISE(D3D11_COLOR_WRITE_ENABLE);
{
STRINGISE_BITFIELD_VALUE(0)
STRINGISE_BITFIELD_VALUE(D3D11_COLOR_WRITE_ENABLE_ALL);
STRINGISE_BITFIELD_BIT(D3D11_COLOR_WRITE_ENABLE_RED)
STRINGISE_BITFIELD_BIT(D3D11_COLOR_WRITE_ENABLE_GREEN)
STRINGISE_BITFIELD_BIT(D3D11_COLOR_WRITE_ENABLE_BLUE)
STRINGISE_BITFIELD_BIT(D3D11_COLOR_WRITE_ENABLE_ALPHA)
}
END_BITFIELD_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_BUFFER_UAV_FLAG &el)
{
BEGIN_BITFIELD_STRINGISE(D3D11_BUFFER_UAV_FLAG);
{
STRINGISE_BITFIELD_VALUE(0)
STRINGISE_BITFIELD_BIT(D3D11_BUFFER_UAV_FLAG_RAW)
STRINGISE_BITFIELD_BIT(D3D11_BUFFER_UAV_FLAG_APPEND)
STRINGISE_BITFIELD_BIT(D3D11_BUFFER_UAV_FLAG_COUNTER)
}
END_BITFIELD_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_DSV_FLAG &el)
{
BEGIN_BITFIELD_STRINGISE(D3D11_DSV_FLAG);
{
STRINGISE_BITFIELD_VALUE(0)
STRINGISE_BITFIELD_BIT(D3D11_DSV_READ_ONLY_DEPTH)
STRINGISE_BITFIELD_BIT(D3D11_DSV_READ_ONLY_STENCIL)
}
END_BITFIELD_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_COPY_FLAGS &el)
{
BEGIN_BITFIELD_STRINGISE(D3D11_COPY_FLAGS);
{
STRINGISE_BITFIELD_VALUE(0)
STRINGISE_BITFIELD_BIT(D3D11_COPY_NO_OVERWRITE)
STRINGISE_BITFIELD_BIT(D3D11_COPY_DISCARD)
}
END_BITFIELD_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_MAP_FLAG &el)
{
BEGIN_BITFIELD_STRINGISE(D3D11_MAP_FLAG);
{
STRINGISE_BITFIELD_VALUE(0)
STRINGISE_BITFIELD_BIT(D3D11_MAP_FLAG_DO_NOT_WAIT)
}
END_BITFIELD_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_CLEAR_FLAG &el)
{
BEGIN_BITFIELD_STRINGISE(D3D11_CLEAR_FLAG);
{
STRINGISE_BITFIELD_VALUE(0)
STRINGISE_BITFIELD_BIT(D3D11_CLEAR_DEPTH)
STRINGISE_BITFIELD_BIT(D3D11_CLEAR_STENCIL)
}
END_BITFIELD_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_BUFFEREX_SRV_FLAG &el)
{
BEGIN_BITFIELD_STRINGISE(D3D11_BUFFEREX_SRV_FLAG);
{
STRINGISE_BITFIELD_VALUE(0)
STRINGISE_BITFIELD_BIT(D3D11_BUFFEREX_SRV_FLAG_RAW)
}
END_BITFIELD_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_TEXTURE_LAYOUT &el)
{
BEGIN_ENUM_STRINGISE(D3D11_TEXTURE_LAYOUT);
{
STRINGISE_ENUM(D3D11_TEXTURE_LAYOUT_UNDEFINED)
STRINGISE_ENUM(D3D11_TEXTURE_LAYOUT_ROW_MAJOR)
STRINGISE_ENUM(D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE)
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_DEPTH_WRITE_MASK &el)
{
BEGIN_ENUM_STRINGISE(D3D11_DEPTH_WRITE_MASK);
{
STRINGISE_ENUM(D3D11_DEPTH_WRITE_MASK_ZERO)
STRINGISE_ENUM(D3D11_DEPTH_WRITE_MASK_ALL)
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_COMPARISON_FUNC &el)
{
BEGIN_ENUM_STRINGISE(D3D11_COMPARISON_FUNC);
{
STRINGISE_ENUM(D3D11_COMPARISON_NEVER);
STRINGISE_ENUM(D3D11_COMPARISON_LESS);
STRINGISE_ENUM(D3D11_COMPARISON_EQUAL);
STRINGISE_ENUM(D3D11_COMPARISON_LESS_EQUAL);
STRINGISE_ENUM(D3D11_COMPARISON_GREATER);
STRINGISE_ENUM(D3D11_COMPARISON_NOT_EQUAL);
STRINGISE_ENUM(D3D11_COMPARISON_GREATER_EQUAL);
STRINGISE_ENUM(D3D11_COMPARISON_ALWAYS);
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_STENCIL_OP &el)
{
BEGIN_ENUM_STRINGISE(D3D11_STENCIL_OP);
{
STRINGISE_ENUM(D3D11_STENCIL_OP_KEEP);
STRINGISE_ENUM(D3D11_STENCIL_OP_ZERO);
STRINGISE_ENUM(D3D11_STENCIL_OP_REPLACE);
STRINGISE_ENUM(D3D11_STENCIL_OP_INCR_SAT);
STRINGISE_ENUM(D3D11_STENCIL_OP_DECR_SAT);
STRINGISE_ENUM(D3D11_STENCIL_OP_INVERT);
STRINGISE_ENUM(D3D11_STENCIL_OP_INCR);
STRINGISE_ENUM(D3D11_STENCIL_OP_DECR);
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_BLEND &el)
{
BEGIN_ENUM_STRINGISE(D3D11_BLEND);
{
STRINGISE_ENUM(D3D11_BLEND_ZERO);
STRINGISE_ENUM(D3D11_BLEND_ONE);
STRINGISE_ENUM(D3D11_BLEND_SRC_COLOR);
STRINGISE_ENUM(D3D11_BLEND_INV_SRC_COLOR);
STRINGISE_ENUM(D3D11_BLEND_SRC_ALPHA);
STRINGISE_ENUM(D3D11_BLEND_INV_SRC_ALPHA);
STRINGISE_ENUM(D3D11_BLEND_DEST_ALPHA);
STRINGISE_ENUM(D3D11_BLEND_INV_DEST_ALPHA);
STRINGISE_ENUM(D3D11_BLEND_DEST_COLOR);
STRINGISE_ENUM(D3D11_BLEND_INV_DEST_COLOR);
STRINGISE_ENUM(D3D11_BLEND_SRC_ALPHA_SAT);
STRINGISE_ENUM(D3D11_BLEND_BLEND_FACTOR);
STRINGISE_ENUM(D3D11_BLEND_INV_BLEND_FACTOR);
STRINGISE_ENUM(D3D11_BLEND_SRC1_COLOR);
STRINGISE_ENUM(D3D11_BLEND_INV_SRC1_COLOR);
STRINGISE_ENUM(D3D11_BLEND_SRC1_ALPHA);
STRINGISE_ENUM(D3D11_BLEND_INV_SRC1_ALPHA);
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_BLEND_OP &el)
{
BEGIN_ENUM_STRINGISE(D3D11_BLEND_OP);
{
STRINGISE_ENUM(D3D11_BLEND_OP_ADD);
STRINGISE_ENUM(D3D11_BLEND_OP_SUBTRACT);
STRINGISE_ENUM(D3D11_BLEND_OP_REV_SUBTRACT);
STRINGISE_ENUM(D3D11_BLEND_OP_MIN);
STRINGISE_ENUM(D3D11_BLEND_OP_MAX);
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_CULL_MODE &el)
{
BEGIN_ENUM_STRINGISE(D3D11_CULL_MODE);
{
STRINGISE_ENUM(D3D11_CULL_NONE);
STRINGISE_ENUM(D3D11_CULL_FRONT);
STRINGISE_ENUM(D3D11_CULL_BACK);
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_FILL_MODE &el)
{
BEGIN_ENUM_STRINGISE(D3D11_FILL_MODE);
{
STRINGISE_ENUM(D3D11_FILL_WIREFRAME);
STRINGISE_ENUM(D3D11_FILL_SOLID);
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_CONSERVATIVE_RASTERIZATION_MODE &el)
{
BEGIN_ENUM_STRINGISE(D3D11_CONSERVATIVE_RASTERIZATION_MODE);
{
STRINGISE_ENUM(D3D11_CONSERVATIVE_RASTERIZATION_MODE_ON);
STRINGISE_ENUM(D3D11_CONSERVATIVE_RASTERIZATION_MODE_OFF);
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_TEXTURE_ADDRESS_MODE &el)
{
BEGIN_ENUM_STRINGISE(D3D11_TEXTURE_ADDRESS_MODE);
{
STRINGISE_ENUM(D3D11_TEXTURE_ADDRESS_WRAP);
STRINGISE_ENUM(D3D11_TEXTURE_ADDRESS_MIRROR);
STRINGISE_ENUM(D3D11_TEXTURE_ADDRESS_CLAMP);
STRINGISE_ENUM(D3D11_TEXTURE_ADDRESS_BORDER);
STRINGISE_ENUM(D3D11_TEXTURE_ADDRESS_MIRROR_ONCE);
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_FILTER &el)
{
BEGIN_ENUM_STRINGISE(D3D11_FILTER);
{
STRINGISE_ENUM(D3D11_FILTER_MIN_MAG_MIP_POINT);
STRINGISE_ENUM(D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR);
STRINGISE_ENUM(D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT);
STRINGISE_ENUM(D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR);
STRINGISE_ENUM(D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT);
STRINGISE_ENUM(D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR);
STRINGISE_ENUM(D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT);
STRINGISE_ENUM(D3D11_FILTER_MIN_MAG_MIP_LINEAR);
STRINGISE_ENUM(D3D11_FILTER_ANISOTROPIC);
STRINGISE_ENUM(D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT);
STRINGISE_ENUM(D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR);
STRINGISE_ENUM(D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT);
STRINGISE_ENUM(D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR);
STRINGISE_ENUM(D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT);
STRINGISE_ENUM(D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR);
STRINGISE_ENUM(D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT);
STRINGISE_ENUM(D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR);
STRINGISE_ENUM(D3D11_FILTER_COMPARISON_ANISOTROPIC);
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_SRV_DIMENSION &el)
{
BEGIN_ENUM_STRINGISE(D3D11_SRV_DIMENSION);
{
STRINGISE_ENUM(D3D11_SRV_DIMENSION_BUFFER)
STRINGISE_ENUM(D3D11_SRV_DIMENSION_TEXTURE1D)
STRINGISE_ENUM(D3D11_SRV_DIMENSION_TEXTURE1DARRAY)
STRINGISE_ENUM(D3D11_SRV_DIMENSION_TEXTURE2D)
STRINGISE_ENUM(D3D11_SRV_DIMENSION_TEXTURE2DARRAY)
STRINGISE_ENUM(D3D11_SRV_DIMENSION_TEXTURE2DMS)
STRINGISE_ENUM(D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY)
STRINGISE_ENUM(D3D11_SRV_DIMENSION_TEXTURE3D)
STRINGISE_ENUM(D3D11_SRV_DIMENSION_TEXTURECUBE)
STRINGISE_ENUM(D3D11_SRV_DIMENSION_TEXTURECUBEARRAY)
STRINGISE_ENUM(D3D11_SRV_DIMENSION_BUFFEREX)
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_RTV_DIMENSION &el)
{
BEGIN_ENUM_STRINGISE(D3D11_RTV_DIMENSION);
{
STRINGISE_ENUM(D3D11_RTV_DIMENSION_BUFFER)
STRINGISE_ENUM(D3D11_RTV_DIMENSION_TEXTURE1D)
STRINGISE_ENUM(D3D11_RTV_DIMENSION_TEXTURE1DARRAY)
STRINGISE_ENUM(D3D11_RTV_DIMENSION_TEXTURE2D)
STRINGISE_ENUM(D3D11_RTV_DIMENSION_TEXTURE2DARRAY)
STRINGISE_ENUM(D3D11_RTV_DIMENSION_TEXTURE2DMS)
STRINGISE_ENUM(D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY)
STRINGISE_ENUM(D3D11_RTV_DIMENSION_TEXTURE3D)
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_UAV_DIMENSION &el)
{
BEGIN_ENUM_STRINGISE(D3D11_UAV_DIMENSION);
{
STRINGISE_ENUM(D3D11_UAV_DIMENSION_BUFFER)
STRINGISE_ENUM(D3D11_UAV_DIMENSION_TEXTURE1D)
STRINGISE_ENUM(D3D11_UAV_DIMENSION_TEXTURE1DARRAY)
STRINGISE_ENUM(D3D11_UAV_DIMENSION_TEXTURE2D)
STRINGISE_ENUM(D3D11_UAV_DIMENSION_TEXTURE2DARRAY)
STRINGISE_ENUM(D3D11_UAV_DIMENSION_TEXTURE3D)
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_DSV_DIMENSION &el)
{
BEGIN_ENUM_STRINGISE(D3D11_DSV_DIMENSION);
{
STRINGISE_ENUM(D3D11_DSV_DIMENSION_TEXTURE1D)
STRINGISE_ENUM(D3D11_DSV_DIMENSION_TEXTURE1DARRAY)
STRINGISE_ENUM(D3D11_DSV_DIMENSION_TEXTURE2D)
STRINGISE_ENUM(D3D11_DSV_DIMENSION_TEXTURE2DARRAY)
STRINGISE_ENUM(D3D11_DSV_DIMENSION_TEXTURE2DMS)
STRINGISE_ENUM(D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY)
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_CONTEXT_TYPE &el)
{
BEGIN_ENUM_STRINGISE(D3D11_CONTEXT_TYPE);
{
STRINGISE_ENUM(D3D11_CONTEXT_TYPE_ALL)
STRINGISE_ENUM(D3D11_CONTEXT_TYPE_3D)
STRINGISE_ENUM(D3D11_CONTEXT_TYPE_COMPUTE)
STRINGISE_ENUM(D3D11_CONTEXT_TYPE_COPY)
STRINGISE_ENUM(D3D11_CONTEXT_TYPE_VIDEO)
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_QUERY &el)
{
BEGIN_ENUM_STRINGISE(D3D11_QUERY);
{
STRINGISE_ENUM(D3D11_QUERY_EVENT)
STRINGISE_ENUM(D3D11_QUERY_OCCLUSION)
STRINGISE_ENUM(D3D11_QUERY_TIMESTAMP)
STRINGISE_ENUM(D3D11_QUERY_TIMESTAMP_DISJOINT)
STRINGISE_ENUM(D3D11_QUERY_PIPELINE_STATISTICS)
STRINGISE_ENUM(D3D11_QUERY_OCCLUSION_PREDICATE)
STRINGISE_ENUM(D3D11_QUERY_SO_STATISTICS)
STRINGISE_ENUM(D3D11_QUERY_SO_OVERFLOW_PREDICATE)
STRINGISE_ENUM(D3D11_QUERY_SO_STATISTICS_STREAM0)
STRINGISE_ENUM(D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0)
STRINGISE_ENUM(D3D11_QUERY_SO_STATISTICS_STREAM1)
STRINGISE_ENUM(D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1)
STRINGISE_ENUM(D3D11_QUERY_SO_STATISTICS_STREAM2)
STRINGISE_ENUM(D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2)
STRINGISE_ENUM(D3D11_QUERY_SO_STATISTICS_STREAM3)
STRINGISE_ENUM(D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3)
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_COUNTER &el)
{
BEGIN_ENUM_STRINGISE(D3D11_COUNTER);
{
STRINGISE_ENUM(D3D11_COUNTER_DEVICE_DEPENDENT_0)
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_MAP &el)
{
BEGIN_ENUM_STRINGISE(D3D11_MAP);
{
STRINGISE_ENUM(D3D11_MAP_READ)
STRINGISE_ENUM(D3D11_MAP_WRITE)
STRINGISE_ENUM(D3D11_MAP_READ_WRITE)
STRINGISE_ENUM(D3D11_MAP_WRITE_DISCARD)
STRINGISE_ENUM(D3D11_MAP_WRITE_NO_OVERWRITE)
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_PRIMITIVE_TOPOLOGY &el)
{
BEGIN_ENUM_STRINGISE(D3D11_PRIMITIVE_TOPOLOGY);
{
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_UNDEFINED);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_POINTLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_LINELIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_LINESTRIP);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST);
STRINGISE_ENUM(D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST);
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_USAGE &el)
{
BEGIN_ENUM_STRINGISE(D3D11_USAGE);
{
STRINGISE_ENUM(D3D11_USAGE_DEFAULT)
STRINGISE_ENUM(D3D11_USAGE_IMMUTABLE)
STRINGISE_ENUM(D3D11_USAGE_DYNAMIC)
STRINGISE_ENUM(D3D11_USAGE_STAGING)
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_INPUT_CLASSIFICATION &el)
{
BEGIN_ENUM_STRINGISE(D3D11_INPUT_CLASSIFICATION);
{
STRINGISE_ENUM(D3D11_INPUT_PER_VERTEX_DATA)
STRINGISE_ENUM(D3D11_INPUT_PER_INSTANCE_DATA)
}
END_ENUM_STRINGISE();
}
template <>
std::string DoStringise(const D3D11_LOGIC_OP &el)
{
BEGIN_ENUM_STRINGISE(D3D11_LOGIC_OP);
{
STRINGISE_ENUM(D3D11_LOGIC_OP_CLEAR);
STRINGISE_ENUM(D3D11_LOGIC_OP_SET);
STRINGISE_ENUM(D3D11_LOGIC_OP_COPY);
STRINGISE_ENUM(D3D11_LOGIC_OP_COPY_INVERTED);
STRINGISE_ENUM(D3D11_LOGIC_OP_NOOP);
STRINGISE_ENUM(D3D11_LOGIC_OP_INVERT);
STRINGISE_ENUM(D3D11_LOGIC_OP_AND);
STRINGISE_ENUM(D3D11_LOGIC_OP_NAND);
STRINGISE_ENUM(D3D11_LOGIC_OP_OR);
STRINGISE_ENUM(D3D11_LOGIC_OP_NOR);
STRINGISE_ENUM(D3D11_LOGIC_OP_XOR);
STRINGISE_ENUM(D3D11_LOGIC_OP_EQUIV);
STRINGISE_ENUM(D3D11_LOGIC_OP_AND_REVERSE);
STRINGISE_ENUM(D3D11_LOGIC_OP_AND_INVERTED);
STRINGISE_ENUM(D3D11_LOGIC_OP_OR_REVERSE);
STRINGISE_ENUM(D3D11_LOGIC_OP_OR_INVERTED);
}
END_ENUM_STRINGISE();
}
#if ENABLED(ENABLE_UNIT_TESTS)
#include "3rdparty/catch/catch.hpp"
TEST_CASE("D3D11 ToStr", "[tostr][d3d]")
{
CHECK(ToStr(D3D11_LOGIC_OP_SET) == "D3D11_LOGIC_OP_SET");
CHECK(ToStr(D3D11_LOGIC_OP(9999)) == "D3D11_LOGIC_OP<9999>");
CHECK(ToStr(D3D11_BIND_FLAG(D3D11_BIND_VERTEX_BUFFER | D3D11_BIND_INDEX_BUFFER)) ==
"D3D11_BIND_VERTEX_BUFFER | D3D11_BIND_INDEX_BUFFER");
CHECK(ToStr(D3D11_BIND_FLAG(D3D11_BIND_VERTEX_BUFFER | D3D11_BIND_INDEX_BUFFER | 0x9b000)) ==
"D3D11_BIND_VERTEX_BUFFER | D3D11_BIND_INDEX_BUFFER | D3D11_BIND_FLAG(634880)");
}
#endif