yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Ellie Hermaszewskaformatf65d756bf

master
2.1 KiB82 linesraw
1// d3d12-base.h
2// Shared header file for D3D12 implementation
3#pragma once
4
5#include "../command-encoder-com-forward.h"
6#include "../d3d/d3d-swapchain.h"
7#include "../mutable-shader-object.h"
8#include "../renderer-shared.h"
9#include "../simple-render-pass-layout.h"
10#include "../transient-resource-heap-base.h"
11#include "core/slang-basic.h"
12#include "core/slang-blob.h"
13#include "core/slang-chunked-list.h"
14#include "d3d12-descriptor-heap.h"
15#include "d3d12-posix-synchapi.h"
16#include "d3d12-resource.h"
17
18#pragma push_macro("WIN32_LEAN_AND_MEAN")
19#pragma push_macro("NOMINMAX")
20#pragma push_macro("_CRT_SECURE_NO_WARNINGS")
21#undef WIN32_LEAN_AND_MEAN
22#define WIN32_LEAN_AND_MEAN
23#undef NOMINMAX
24#define NOMINMAX
25#undef _CRT_SECURE_NO_WARNINGS
26#define _CRT_SECURE_NO_WARNINGS
27#include <windows.h>
28#pragma pop_macro("_CRT_SECURE_NO_WARNINGS")
29#pragma pop_macro("NOMINMAX")
30#pragma pop_macro("WIN32_LEAN_AND_MEAN")
31
32#include <d3d12.h>
33#include <dxgi1_4.h>
34
35#ifndef __ID3D12GraphicsCommandList1_FWD_DEFINED__
36// If can't find a definition of CommandList1, just use an empty definition
37struct ID3D12GraphicsCommandList1
38{
39};
40#endif
41
42namespace gfx
43{
44namespace d3d12
45{
46class DeviceImpl;
47class BufferResourceImpl;
48class TextureResourceImpl;
49class CommandBufferImpl;
50class PipelineCommandEncoder;
51class ResourceCommandEncoderImpl;
52class ComputeCommandEncoderImpl;
53class RenderCommandEncoderImpl;
54class CommandQueueImpl;
55class FenceImpl;
56class FramebufferLayoutImpl;
57class FramebufferImpl;
58class QueryPoolImpl;
59class PlainBufferProxyQueryPoolImpl;
60class PipelineStateImpl;
61class RenderPassLayoutImpl;
62class ResourceViewInternalImpl;
63class ResourceViewImpl;
64class AccelerationStructureImpl;
65class SamplerStateImpl;
66class ShaderObjectImpl;
67class RootShaderObjectImpl;
68class MutableRootShaderObjectImpl;
69class ShaderObjectLayoutImpl;
70class RootShaderObjectLayoutImpl;
71class ShaderProgramImpl;
72class ShaderTableImpl;
73class SwapChainImpl;
74class TransientResourceHeapImpl;
75class InputLayoutImpl;
76
77#if SLANG_GFX_HAS_DXR_SUPPORT
78class RayTracingCommandEncoderImpl;
79class RayTracingPipelineStateImpl;
80#endif
81} // namespace d3d12
82} // namespace gfx