diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2020-04-01 04:13:05 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2020-04-01 04:13:05 +0000 |
| commit | 9d4d0de9c600ef29b7ead7716c1dcfd1e7000b0d (patch) | |
| tree | ac220b4b6310d05c42cd53eaa42a7a291bd08d56 /Graphics/GraphicsEngine | |
| parent | Improved PSO creation warnings (diff) | |
| download | DiligentCore-9d4d0de9c600ef29b7ead7716c1dcfd1e7000b0d.tar.gz DiligentCore-9d4d0de9c600ef29b7ead7716c1dcfd1e7000b0d.zip | |
Added PipelineStateCreateInfo struct that is taken by IRenderDevice::CreateInfo instead of PipelineStateDesc struct (API version 240056)
Diffstat (limited to 'Graphics/GraphicsEngine')
| -rw-r--r-- | Graphics/GraphicsEngine/interface/APIInfo.h | 2 | ||||
| -rw-r--r-- | Graphics/GraphicsEngine/interface/PipelineState.h | 36 | ||||
| -rw-r--r-- | Graphics/GraphicsEngine/interface/RenderDevice.h | 6 |
3 files changed, 40 insertions, 4 deletions
diff --git a/Graphics/GraphicsEngine/interface/APIInfo.h b/Graphics/GraphicsEngine/interface/APIInfo.h index 52bda8ba..93dec634 100644 --- a/Graphics/GraphicsEngine/interface/APIInfo.h +++ b/Graphics/GraphicsEngine/interface/APIInfo.h @@ -30,7 +30,7 @@ /// \file /// Diligent API information -#define DILIGENT_API_VERSION 240055 +#define DILIGENT_API_VERSION 240056 #include "../../../Primitives/interface/BasicTypes.h" diff --git a/Graphics/GraphicsEngine/interface/PipelineState.h b/Graphics/GraphicsEngine/interface/PipelineState.h index 12e5e5ff..913f557c 100644 --- a/Graphics/GraphicsEngine/interface/PipelineState.h +++ b/Graphics/GraphicsEngine/interface/PipelineState.h @@ -250,6 +250,42 @@ struct PipelineStateDesc DILIGENT_DERIVE(DeviceObjectAttribs) }; typedef struct PipelineStateDesc PipelineStateDesc; + +/// Pipeline state creation flags +DILIGENT_TYPED_ENUM(PSO_CREATE_FLAGS, Uint32) +{ + /// Null flag. + PSO_CREATE_FLAG_NONE = 0x00, + + /// Silence missing variable warnings. + + /// By default, the engine outputs a warning for every variable + /// provided as part of the pipeline resource layout description + /// that is not found in any of the designated shader stages. + /// Use this flag to silence these warnings. + PSO_CREATE_FLAG_SILENCE_MISSING_VARIABLE_WARNINGS = 0x01, + + /// Silence missing static sampler warnings. + + /// By default, the engine outputs a warning for every static sampler + /// provided as part of the pipeline resource layout description + /// that is not found in any of the designated shader stages. + /// Use this flag to silence these warnings. + PSO_CREATE_FLAG_SILENCE_MISSING_STATIC_SAMPLER_WARNINGS = 0x02, +}; + + +/// Pipeline state creation attributes +struct PipelineStateCreateInfo +{ + /// Pipeline state description + PipelineStateDesc PSODesc; + + /// Pipeline state creation flags, see Diligent::PSO_CREATE_FLAGS. + PSO_CREATE_FLAGS Flags DEFAULT_INITIALIZER(PSO_CREATE_FLAG_NONE); +}; +typedef struct PipelineStateCreateInfo PipelineStateCreateInfo; + // {06084AE5-6A71-4FE8-84B9-395DD489A28C} static const struct INTERFACE_ID IID_PipelineState = {0x6084ae5, 0x6a71, 0x4fe8, {0x84, 0xb9, 0x39, 0x5d, 0xd4, 0x89, 0xa2, 0x8c}}; diff --git a/Graphics/GraphicsEngine/interface/RenderDevice.h b/Graphics/GraphicsEngine/interface/RenderDevice.h index 2c97ac60..23eae467 100644 --- a/Graphics/GraphicsEngine/interface/RenderDevice.h +++ b/Graphics/GraphicsEngine/interface/RenderDevice.h @@ -154,14 +154,14 @@ DILIGENT_BEGIN_INTERFACE(IRenderDevice, IObject) /// Creates a new pipeline state object - /// \param [in] PipelineDesc - Pipeline state description, see Diligent::PipelineStateDesc for details. + /// \param [in] PSOCreateInfo - Pipeline state create info, see Diligent::PipelineStateCreateInfo for details. /// \param [out] ppPipelineState - Address of the memory location where the pointer to the /// pipeline state interface will be stored. /// The function calls AddRef(), so that the new object will contain /// one reference. VIRTUAL void METHOD(CreatePipelineState)(THIS_ - const PipelineStateDesc REF PipelineDesc, - IPipelineState** ppPipelineState) PURE; + const PipelineStateCreateInfo REF PSOCreateInfo, + IPipelineState** ppPipelineState) PURE; /// Creates a new fence object |
