summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngine
diff options
context:
space:
mode:
authorassiduous <assiduous@diligentgraphics.com>2021-02-17 01:15:58 +0000
committerassiduous <assiduous@diligentgraphics.com>2021-03-19 00:31:38 +0000
commit045a5c0260f47f0dbd9c0367a647e3781fb9f342 (patch)
tree070ebec89fd63afe022593334f79f0c0cefcbc02 /Graphics/GraphicsEngine
parentFixed clang/gcc build error (diff)
downloadDiligentCore-045a5c0260f47f0dbd9c0367a647e3781fb9f342.tar.gz
DiligentCore-045a5c0260f47f0dbd9c0367a647e3781fb9f342.zip
Few updates to D3D12 resource signature
Diffstat (limited to 'Graphics/GraphicsEngine')
-rw-r--r--Graphics/GraphicsEngine/include/BufferViewBase.hpp2
-rw-r--r--Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp32
-rw-r--r--Graphics/GraphicsEngine/interface/BufferView.h2
3 files changed, 19 insertions, 17 deletions
diff --git a/Graphics/GraphicsEngine/include/BufferViewBase.hpp b/Graphics/GraphicsEngine/include/BufferViewBase.hpp
index d9e12988..21b917e5 100644
--- a/Graphics/GraphicsEngine/include/BufferViewBase.hpp
+++ b/Graphics/GraphicsEngine/include/BufferViewBase.hpp
@@ -76,7 +76,7 @@ public:
IMPLEMENT_QUERY_INTERFACE_IN_PLACE(IID_BufferView, TDeviceObjectBase)
/// Implementation of IBufferView::GetBuffer()
- virtual IBuffer* DILIGENT_CALL_TYPE GetBuffer() override final
+ virtual IBuffer* DILIGENT_CALL_TYPE GetBuffer() const override final
{
return m_pBuffer;
}
diff --git a/Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp b/Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp
index a49d354c..9f5b6cdc 100644
--- a/Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp
+++ b/Graphics/GraphicsEngine/include/PipelineResourceSignatureBase.hpp
@@ -153,12 +153,10 @@ protected:
for (Uint32 i = 0; i < Desc.NumImmutableSamplers; ++i)
{
- VERIFY(Desc.ImmutableSamplers[i].SamplerOrTextureName != nullptr,
- "SamplerOrTextureName can't be null. This error should've been caught by ValidatePipelineResourceSignatureDesc().");
- VERIFY(Desc.ImmutableSamplers[i].SamplerOrTextureName[0] != '\0',
- "SamplerOrTextureName can't be empty. This error should've been caught by ValidatePipelineResourceSignatureDesc().");
-
- Allocator.AddSpaceForString(Desc.ImmutableSamplers[i].SamplerOrTextureName);
+ const auto* SamOrTexName = Desc.ImmutableSamplers[i].SamplerOrTextureName;
+ VERIFY(SamOrTexName != nullptr, "SamplerOrTextureName can't be null. This error should've been caught by ValidatePipelineResourceSignatureDesc().");
+ VERIFY(SamOrTexName[0] != '\0', "SamplerOrTextureName can't be empty. This error should've been caught by ValidatePipelineResourceSignatureDesc().");
+ Allocator.AddSpaceForString(SamOrTexName);
}
if (Desc.UseCombinedTextureSamplers)
@@ -172,12 +170,14 @@ protected:
for (Uint32 i = 0; i < Desc.NumResources; ++i)
{
- auto& Dst = pResources[i];
- Dst = Desc.Resources[i];
- VERIFY_EXPR(Desc.Resources[i].Name != nullptr && Desc.Resources[i].Name[0] != '\0');
- Dst.Name = Allocator.CopyString(Desc.Resources[i].Name);
+ const auto& SrcRes = Desc.Resources[i];
+ auto& DstRes = pResources[i];
+
+ DstRes = SrcRes;
+ VERIFY_EXPR(SrcRes.Name != nullptr && SrcRes.Name[0] != '\0');
+ DstRes.Name = Allocator.CopyString(SrcRes.Name);
- ++m_ResourceOffsets[Dst.VarType + 1];
+ ++m_ResourceOffsets[DstRes.VarType + 1];
}
// Sort resources by variable type (all static -> all mutable -> all dynamic)
@@ -201,10 +201,12 @@ protected:
for (Uint32 i = 0; i < Desc.NumImmutableSamplers; ++i)
{
- auto& Dst = pSamplers[i];
- Dst = Desc.ImmutableSamplers[i];
- VERIFY_EXPR(Desc.ImmutableSamplers[i].SamplerOrTextureName != nullptr && Desc.ImmutableSamplers[i].SamplerOrTextureName[0] != '\0');
- Dst.SamplerOrTextureName = Allocator.CopyString(Desc.ImmutableSamplers[i].SamplerOrTextureName);
+ const auto& SrcSam = Desc.ImmutableSamplers[i];
+ auto& DstSam = pSamplers[i];
+
+ DstSam = SrcSam;
+ VERIFY_EXPR(SrcSam.SamplerOrTextureName != nullptr && SrcSam.SamplerOrTextureName[0] != '\0');
+ DstSam.SamplerOrTextureName = Allocator.CopyString(SrcSam.SamplerOrTextureName);
}
this->m_Desc.Resources = pResources;
diff --git a/Graphics/GraphicsEngine/interface/BufferView.h b/Graphics/GraphicsEngine/interface/BufferView.h
index fa5df537..412397ae 100644
--- a/Graphics/GraphicsEngine/interface/BufferView.h
+++ b/Graphics/GraphicsEngine/interface/BufferView.h
@@ -163,7 +163,7 @@ DILIGENT_BEGIN_INTERFACE(IBufferView, IDeviceObject)
/// The method does *NOT* call AddRef() on the returned interface,
/// so Release() must not be called.
- VIRTUAL struct IBuffer* METHOD(GetBuffer)(THIS) PURE;
+ VIRTUAL struct IBuffer* METHOD(GetBuffer)(THIS) CONST PURE;
};
DILIGENT_END_INTERFACE