summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngine
diff options
context:
space:
mode:
authorassiduous <assiduous@diligentgraphics.com>2020-04-01 04:13:05 +0000
committerassiduous <assiduous@diligentgraphics.com>2020-04-01 04:13:05 +0000
commit9d4d0de9c600ef29b7ead7716c1dcfd1e7000b0d (patch)
treeac220b4b6310d05c42cd53eaa42a7a291bd08d56 /Graphics/GraphicsEngine
parentImproved PSO creation warnings (diff)
downloadDiligentCore-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.h2
-rw-r--r--Graphics/GraphicsEngine/interface/PipelineState.h36
-rw-r--r--Graphics/GraphicsEngine/interface/RenderDevice.h6
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