Diligent Engine
 
Loading...
Searching...
No Matches
PipelineResourceSignatureBase.hpp File Reference
#include <array>
#include <limits>
#include <algorithm>
#include <memory>
#include <functional>
#include <vector>
#include <unordered_set>
#include "PrivateConstants.h"
#include "PipelineResourceSignature.h"
#include "DeviceObjectBase.hpp"
#include "RenderDeviceBase.hpp"
#include "FixedLinearAllocator.hpp"
#include "BasicMath.hpp"
#include "StringTools.hpp"
#include "PlatformMisc.hpp"
#include "SRBMemoryAllocator.hpp"
#include "ShaderResourceCacheCommon.hpp"
#include "HashUtils.hpp"

Classes

struct  Diligent::PipelineResourceSignatureInternalData< PipelineResourceAttribsType, ImmutableSamplerAttribsType >
 Pipeline resource signature internal data required for serialization/deserialization. More...
 
class  Diligent::PipelineResourceSignatureDescWrapper
 Helper class that wraps the pipeline resource signature description. More...
 
class  Diligent::PipelineResourceSignatureBase< EngineImplTraits >
 Template class implementing base functionality of the pipeline resource signature object. More...
 

Namespaces

namespace  Diligent
 Graphics engine namespace.
 

Functions

void Diligent::ValidatePipelineResourceSignatureDesc (const PipelineResourceSignatureDesc &Desc, const IRenderDevice *pDevice, RENDER_DEVICE_TYPE DeviceType) noexcept(false)
 
Uint32 Diligent::FindImmutableSampler (const ImmutableSamplerDesc ImtblSamplers[], Uint32 NumImtblSamplers, SHADER_TYPE ShaderStages, const char *ResourceName, const char *SamplerSuffix)
 
Uint32 Diligent::FindResource (const PipelineResourceDesc Resources[], Uint32 NumResources, SHADER_TYPE ShaderStage, const char *ResourceName)
 
bool Diligent::PipelineResourceSignaturesCompatible (const PipelineResourceSignatureDesc &Desc0, const PipelineResourceSignatureDesc &Desc1, bool IgnoreSamplerDescriptions=false) noexcept
 Returns true if two pipeline resource signature descriptions are compatible, and false otherwise.
 
size_t Diligent::CalculatePipelineResourceSignatureDescHash (const PipelineResourceSignatureDesc &Desc) noexcept
 Calculates hash of the pipeline resource signature description.
 
void Diligent::ReserveSpaceForPipelineResourceSignatureDesc (FixedLinearAllocator &Allocator, const PipelineResourceSignatureDesc &Desc)
 Reserves space for pipeline resource signature description in the Allocator.
 
void Diligent::CopyPipelineResourceSignatureDesc (FixedLinearAllocator &Allocator, const PipelineResourceSignatureDesc &SrcDesc, PipelineResourceSignatureDesc &DstDesc, std::array< Uint16, SHADER_RESOURCE_VARIABLE_TYPE_NUM_TYPES+1 > &ResourceOffsets)
 Copies pipeline resource signature description using the allocator.
 

Detailed Description

Implementation of the Diligent::PipelineResourceSignatureBase template class