From de2944ba73141f1ebdef0c7e6f83c2c40b85f547 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Tue, 22 Oct 2019 20:05:14 -0700 Subject: Added validation and correction of IShaderVariable::SetArray arguments --- Graphics/GraphicsEngineOpenGL/include/GLPipelineResourceLayout.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Graphics/GraphicsEngineOpenGL') diff --git a/Graphics/GraphicsEngineOpenGL/include/GLPipelineResourceLayout.h b/Graphics/GraphicsEngineOpenGL/include/GLPipelineResourceLayout.h index 6db22447..ddd79c38 100644 --- a/Graphics/GraphicsEngineOpenGL/include/GLPipelineResourceLayout.h +++ b/Graphics/GraphicsEngineOpenGL/include/GLPipelineResourceLayout.h @@ -157,6 +157,7 @@ public: virtual void SetArray(IDeviceObject* const* ppObjects, Uint32 FirstElement, Uint32 NumElements)override final { + VerifyAndCorrectSetArrayArguments(m_Attribs.Name, m_Attribs.ArraySize, FirstElement, NumElements); for(Uint32 elem=0; elem < NumElements; ++elem) BindResource(ppObjects[elem], FirstElement+elem); } @@ -187,6 +188,7 @@ public: virtual void SetArray(IDeviceObject* const* ppObjects, Uint32 FirstElement, Uint32 NumElements)override final { + VerifyAndCorrectSetArrayArguments(m_Attribs.Name, m_Attribs.ArraySize, FirstElement, NumElements); for(Uint32 elem=0; elem < NumElements; ++elem) BindResource(ppObjects[elem], FirstElement+elem); } @@ -216,6 +218,7 @@ public: virtual void SetArray(IDeviceObject* const* ppObjects, Uint32 FirstElement, Uint32 NumElements)override final { + VerifyAndCorrectSetArrayArguments(m_Attribs.Name, m_Attribs.ArraySize, FirstElement, NumElements); for(Uint32 elem=0; elem < NumElements; ++elem) BindResource(ppObjects[elem], FirstElement+elem); } @@ -245,6 +248,7 @@ public: virtual void SetArray(IDeviceObject* const* ppObjects, Uint32 FirstElement, Uint32 NumElements)override final { + VerifyAndCorrectSetArrayArguments(m_Attribs.Name, m_Attribs.ArraySize, FirstElement, NumElements); for(Uint32 elem=0; elem < NumElements; ++elem) BindResource(ppObjects[elem], FirstElement+elem); } -- cgit v1.2.3