Go to the documentation of this file.
35 #include "../../../Primitives/interface/Object.h"
36 #include "../../../Platforms/interface/PlatformDefinitions.h"
63 #if DILIGENT_CPP_INTERFACE
67 const Char* _SamplerOrTextureName,
69 ShaderStages {_ShaderStages },
70 SamplerOrTextureName{_SamplerOrTextureName},
144 #if DILIGENT_CPP_INTERFACE
154 ArraySize {_ArraySize },
155 ResourceType{_ResourceType},
156 ShaderStages{_ShaderStages},
213 static const INTERFACE_ID IID_PipelineResourceSignature =
214 {0xdce499a5, 0xf812, 0x4c93, {0xb1, 0x8, 0xd6, 0x84, 0xa0, 0xb5, 0x61, 0x18}};
216 #define DILIGENT_INTERFACE_NAME IPipelineResourceSignature
217 #include "../../../Primitives/interface/DefineInterfaceHelperMacros.h"
219 #define IPipelineResourceSignatureInclusiveMethods \
220 IDeviceObjectInclusiveMethods; \
221 IPipelineResourceSignatureMethods PipelineResourceSignature
228 #if DILIGENT_CPP_INTERFACE
343 #include "../../../Primitives/interface/UndefInterfaceHelperMacros.h"
345 #if DILIGENT_C_INTERFACE
349 # define IPipelineResourceSignature_GetDesc(This) (const struct PipelineResourceSignatureDesc*)IDeviceObject_GetDesc(This)
351 # define IPipelineResourceSignature_CreateShaderResourceBinding(This, ...) CALL_IFACE_METHOD(PipelineResourceSignature, CreateShaderResourceBinding, This, __VA_ARGS__)
352 # define IPipelineResourceSignature_BindStaticResources(This, ...) CALL_IFACE_METHOD(PipelineResourceSignature, BindStaticResources, This, __VA_ARGS__)
353 # define IPipelineResourceSignature_GetStaticVariableByName(This, ...) CALL_IFACE_METHOD(PipelineResourceSignature, GetStaticVariableByName, This, __VA_ARGS__)
354 # define IPipelineResourceSignature_GetStaticVariableByIndex(This, ...) CALL_IFACE_METHOD(PipelineResourceSignature, GetStaticVariableByIndex, This, __VA_ARGS__)
355 # define IPipelineResourceSignature_GetStaticVariableCount(This, ...) CALL_IFACE_METHOD(PipelineResourceSignature, GetStaticVariableCount, This, __VA_ARGS__)
356 # define IPipelineResourceSignature_InitializeStaticSRBResources(This, ...) CALL_IFACE_METHOD(PipelineResourceSignature, InitializeStaticSRBResources,This, __VA_ARGS__)
357 # define IPipelineResourceSignature_IsCompatibleWith(This, ...) CALL_IFACE_METHOD(PipelineResourceSignature, IsCompatibleWith, This, __VA_ARGS__)
#define DILIGENT_END_INTERFACE
Definition: DefineInterfaceHelperMacros.h:88
#define VIRTUAL
Definition: DefineInterfaceHelperMacros.h:83
Shader resource variable.
Definition: ShaderResourceVariable.h:117
char Char
Definition: BasicTypes.h:64
Sampler description.
Definition: Sampler.h:58
Shader resource binding interface.
Definition: ShaderResourceBinding.h:58
Pipeline resource signature interface.
Definition: PipelineResourceSignature.h:226
Pipeline resource signature description.
Definition: PipelineResourceSignature.h:166
SHADER_TYPE
Describes the shader type.
Definition: GraphicsTypes.h:65
SHADER_RESOURCE_TYPE
Describes shader resource type.
Definition: Shader.h:356
#define DILIGENT_BEGIN_INTERFACE(Name, Base)
Definition: CommonDefinitions.h:97
Uint32 Flags
Definition: DXBCUtils.cpp:71
@ PIPELINE_RESOURCE_FLAG_COMBINED_SAMPLER
Indicates that a texture SRV will be combined with a sampler. Applies to SHADER_RESOURCE_TYPE_TEXTURE...
Definition: PipelineResourceSignature.h:99
@ PIPELINE_RESOURCE_FLAG_LAST
Definition: PipelineResourceSignature.h:114
@ PIPELINE_RESOURCE_FLAG_FORMATTED_BUFFER
Indicates that this variable will be used to bind formatted buffers. Applies to SHADER_RESOURCE_TYPE_...
Definition: PipelineResourceSignature.h:109
Base interface for all objects created by the render device Diligent::IRenderDevice.
Definition: DeviceObject.h:52
Unique interface identifier.
Definition: InterfaceID.h:37
PipelineResourceDesc() noexcept
Definition: PipelineResourceSignature.h:145
#define PURE
Definition: DefineInterfaceHelperMacros.h:85
@ PIPELINE_RESOURCE_FLAG_UNKNOWN
Resource has no special properties.
Definition: PipelineResourceSignature.h:82
@ SHADER_RESOURCE_VARIABLE_TYPE_MUTABLE
Shader resource bound to the variable is specific to the shader resource binding instance (see Dilige...
Definition: ShaderResourceVariable.h:58
ImmutableSamplerDesc(SHADER_TYPE _ShaderStages, const Char *_SamplerOrTextureName, const SamplerDesc &_Desc) noexcept
Definition: PipelineResourceSignature.h:66
Describes common device object attributes.
Definition: GraphicsTypes.h:1196
#define DILIGENT_END_NAMESPACE
Definition: CommonDefinitions.h:86
#define CONST
Definition: DefineInterfaceHelperMacros.h:84
#define DILIGENT_DERIVE(TypeName)
Definition: CommonDefinitions.h:90
Pipeline resource description.
Definition: PipelineResourceSignature.h:120
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
#define DEFAULT_INITIALIZER(x)
Definition: CommonDefinitions.h:93
@ SHADER_TYPE_UNKNOWN
Unknown shader type.
Definition: GraphicsTypes.h:67
@ PIPELINE_RESOURCE_FLAG_RUNTIME_ARRAY
Indicates that resource is a run-time sized shader array (e.g. an array without a specific size).
Definition: PipelineResourceSignature.h:112
PipelineResourceDesc(SHADER_TYPE _ShaderStages, const char *_Name, Uint32 _ArraySize, SHADER_RESOURCE_TYPE _ResourceType, SHADER_RESOURCE_VARIABLE_TYPE _VarType, PIPELINE_RESOURCE_FLAGS _Flags=PIPELINE_RESOURCE_FLAG_UNKNOWN) noexcept
Definition: PipelineResourceSignature.h:147
#define METHOD(Name)
Definition: DefineInterfaceHelperMacros.h:87
#define DEFAULT_VALUE(x)
Definition: CommonDefinitions.h:99
PIPELINE_RESOURCE_FLAGS
Flags that define pipeline resource properties.
Definition: PipelineResourceSignature.h:79
#define DILIGENT_TYPED_ENUM(EnumName, EnumType)
Definition: CommonDefinitions.h:88
uint8_t Uint8
8-bit unsigned integer
Definition: BasicTypes.h:53
@ PIPELINE_RESOURCE_FLAG_NO_DYNAMIC_BUFFERS
Indicates that dynamic buffers will never be bound to the resource variable. Applies to SHADER_RESOUR...
Definition: PipelineResourceSignature.h:95
#define DILIGENT_BEGIN_NAMESPACE(Name)
Definition: CommonDefinitions.h:82
DEFINE_FLAG_ENUM_OPERATORS(FILE_DIALOG_FLAGS)
ImmutableSamplerDesc() noexcept
Definition: PipelineResourceSignature.h:64
Uint16 ShaderType
Definition: DXBCUtils.cpp:70
@ SHADER_RESOURCE_TYPE_UNKNOWN
Shader resource type is unknown.
Definition: Shader.h:359
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
#define THIS_
Definition: DefineInterfaceHelperMacros.h:82
SHADER_RESOURCE_VARIABLE_TYPE
Describes the type of the shader resource variable.
Definition: ShaderResourceVariable.h:48
Resouce mapping.
Definition: ResourceMapping.h:107
Immutable sampler description.
Definition: PipelineResourceSignature.h:51