yum-mirror/slang

Making it easier to work with shaders

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

Ellie Hermaszewskaformatf65d756bf

master
1.7 KiB73 linesraw
1// d3d11-base.h
2// Shared header file for D3D11 implementation
3#pragma once
4
5#include "../d3d/d3d-swapchain.h"
6#include "../d3d/d3d-util.h"
7#include "../flag-combiner.h"
8#include "../immediate-renderer-base.h"
9#include "../mutable-shader-object.h"
10#include "../nvapi/nvapi-util.h"
11#include "core/slang-basic.h"
12#include "core/slang-blob.h"
13#include "slang-com-ptr.h"
14
15#pragma push_macro("WIN32_LEAN_AND_MEAN")
16#pragma push_macro("NOMINMAX")
17#undef WIN32_LEAN_AND_MEAN
18#define WIN32_LEAN_AND_MEAN
19#undef NOMINMAX
20#define NOMINMAX
21#include <windows.h>
22#pragma pop_macro("NOMINMAX")
23#pragma pop_macro("WIN32_LEAN_AND_MEAN")
24
25#include <d3d11_2.h>
26#include <d3dcompiler.h>
27
28#ifdef GFX_NVAPI
29// NVAPI integration is described here
30// https://developer.nvidia.com/unlocking-gpu-intrinsics-hlsl
31
32#include "../nvapi/nvapi-include.h"
33#endif
34
35// We will use the C standard library just for printing error messages.
36#include <stdio.h>
37
38#ifdef _MSC_VER
39#include <stddef.h>
40#if (_MSC_VER < 1900)
41#define snprintf sprintf_s
42#endif
43#endif
44
45namespace gfx
46{
47namespace d3d11
48{
49class DeviceImpl;
50class ShaderProgramImpl;
51class BufferResourceImpl;
52class TextureResourceImpl;
53class SamplerStateImpl;
54class ResourceViewImpl;
55class ShaderResourceViewImpl;
56class UnorderedAccessViewImpl;
57class DepthStencilViewImpl;
58class RenderTargetViewImpl;
59class FramebufferLayoutImpl;
60class FramebufferImpl;
61class SwapchainImpl;
62class InputLayoutImpl;
63class QueryPoolImpl;
64class PipelineStateImpl;
65class GraphicsPipelineStateImpl;
66class ComputePipelineStateImpl;
67class ShaderObjectLayoutImpl;
68class RootShaderObjectLayoutImpl;
69class ShaderObjectImpl;
70class MutableShaderObjectImpl;
71class RootShaderObjectImpl;
72} // namespace d3d11
73} // namespace gfx