yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
f65d756bf
master
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