summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineD3D11
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2019-10-23 03:05:14 +0000
committerEgor Yusov <egor.yusov@gmail.com>2019-10-23 03:05:14 +0000
commitde2944ba73141f1ebdef0c7e6f83c2c40b85f547 (patch)
tree99fe3994e949ecdc4fe9b5a4ba325803aa97fb2d /Graphics/GraphicsEngineD3D11
parentD3D11 and GL backends: fixed instanced draw calls with one instance and non-z... (diff)
downloadDiligentCore-de2944ba73141f1ebdef0c7e6f83c2c40b85f547.tar.gz
DiligentCore-de2944ba73141f1ebdef0c7e6f83c2c40b85f547.zip
Added validation and correction of IShaderVariable::SetArray arguments
Diffstat (limited to 'Graphics/GraphicsEngineD3D11')
-rw-r--r--Graphics/GraphicsEngineD3D11/include/ShaderResourceLayoutD3D11.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/Graphics/GraphicsEngineD3D11/include/ShaderResourceLayoutD3D11.h b/Graphics/GraphicsEngineD3D11/include/ShaderResourceLayoutD3D11.h
index 5934e4c3..84caeaa8 100644
--- a/Graphics/GraphicsEngineD3D11/include/ShaderResourceLayoutD3D11.h
+++ b/Graphics/GraphicsEngineD3D11/include/ShaderResourceLayoutD3D11.h
@@ -83,6 +83,7 @@ public:
virtual void SetArray(IDeviceObject* const* ppObjects, Uint32 FirstElement, Uint32 NumElements)override final
{
+ VerifyAndCorrectSetArrayArguments(m_Attribs.Name, m_Attribs.BindCount, FirstElement, NumElements);
for(Uint32 elem=0; elem < NumElements; ++elem)
BindResource(ppObjects[elem], FirstElement+elem);
}
@@ -110,6 +111,7 @@ public:
virtual void SetArray(IDeviceObject* const* ppObjects, Uint32 FirstElement, Uint32 NumElements)override final
{
+ VerifyAndCorrectSetArrayArguments(m_Attribs.Name, m_Attribs.BindCount, FirstElement, NumElements);
for(Uint32 elem=0; elem < NumElements; ++elem)
BindResource(ppObjects[elem], FirstElement+elem);
}
@@ -141,6 +143,7 @@ public:
virtual void SetArray(IDeviceObject* const* ppObjects, Uint32 FirstElement, Uint32 NumElements)override final
{
+ VerifyAndCorrectSetArrayArguments(m_Attribs.Name, m_Attribs.BindCount, FirstElement, NumElements);
for(Uint32 elem=0; elem < NumElements; ++elem)
BindResource(ppObjects[elem], FirstElement+elem);
}
@@ -166,6 +169,7 @@ public:
virtual void SetArray(IDeviceObject* const* ppObjects, Uint32 FirstElement, Uint32 NumElements)override final
{
+ VerifyAndCorrectSetArrayArguments(m_Attribs.Name, m_Attribs.BindCount, FirstElement, NumElements);
for(Uint32 elem=0; elem < NumElements; ++elem)
BindResource(ppObjects[elem], FirstElement+elem);
}
@@ -192,6 +196,7 @@ public:
virtual void SetArray(IDeviceObject* const* ppObjects, Uint32 FirstElement, Uint32 NumElements)override final
{
+ VerifyAndCorrectSetArrayArguments(m_Attribs.Name, m_Attribs.BindCount, FirstElement, NumElements);
for(Uint32 elem=0; elem < NumElements; ++elem)
BindResource(ppObjects[elem], FirstElement+elem);
}
@@ -217,6 +222,7 @@ public:
virtual void SetArray(IDeviceObject* const* ppObjects, Uint32 FirstElement, Uint32 NumElements)override final
{
+ VerifyAndCorrectSetArrayArguments(m_Attribs.Name, m_Attribs.BindCount, FirstElement, NumElements);
for(Uint32 elem=0; elem < NumElements; ++elem)
BindResource(ppObjects[elem], FirstElement+elem);
}