yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
f65d756bf
master
1// debug-base.h 2#pragma once 3 4#include "../command-encoder-com-forward.h" 5#include "../renderer-shared.h" 6#include "core/slang-com-object.h" 7#include "slang-com-ptr.h" 8#include "slang-gfx.h" 9 10namespace gfx 11{ 12using namespace Slang ; 13 14namespace debug 15{ 16 17class DebugObjectBase :public Slang ::ComObject 18{ 19public : 20uint64_t uid ; 21DebugObjectBase () 22 { 23static uint64_t uidCounter = 0 ; 24uid = ++ uidCounter ; 25 } 26}; 27 28template < typename TInterface > 29class DebugObject :public TInterface ,public DebugObjectBase 30{ 31public : 32Slang ::ComPtr < TInterface > baseObject ; 33}; 34 35template < typename TInterface > 36class UnownedDebugObject :public TInterface ,public DebugObjectBase 37{ 38public : 39TInterface * baseObject = nullptr ; 40}; 41 42class DebugDevice ; 43class DebugShaderTable ; 44class DebugQueryPool ; 45class DebugBufferResource ; 46class DebugTextureResource ; 47class DebugResourceView ; 48class DebugAccelerationStructure ; 49class DebugSamplerState ; 50class DebugShaderObject ; 51class DebugRootShaderObject ; 52class DebugCommandBuffer ; 53class DebugResourceCommandEncoderImpl ; 54class DebugComputeCommandEncoder ; 55class DebugResourceCommandEncoder ; 56class DebugRenderCommandEncoder ; 57class DebugRayTracingCommandEncoder ; 58class DebugFence ; 59class DebugCommandQueue ; 60class DebugFramebuffer ; 61class DebugFramebufferLayout ; 62class DebugInputLayout ; 63class DebugPipelineState ; 64class DebugRenderPassLayout ; 65class DebugShaderProgram ; 66class DebugTransientResourceHeap ; 67class DebugSwapchain ; 68 69}// namespace debug 70}// namespace gfx