diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2019-10-23 03:05:14 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2019-10-23 03:05:14 +0000 |
| commit | de2944ba73141f1ebdef0c7e6f83c2c40b85f547 (patch) | |
| tree | 99fe3994e949ecdc4fe9b5a4ba325803aa97fb2d /Graphics/GraphicsEngineOpenGL | |
| parent | D3D11 and GL backends: fixed instanced draw calls with one instance and non-z... (diff) | |
| download | DiligentCore-de2944ba73141f1ebdef0c7e6f83c2c40b85f547.tar.gz DiligentCore-de2944ba73141f1ebdef0c7e6f83c2c40b85f547.zip | |
Added validation and correction of IShaderVariable::SetArray arguments
Diffstat (limited to 'Graphics/GraphicsEngineOpenGL')
| -rw-r--r-- | Graphics/GraphicsEngineOpenGL/include/GLPipelineResourceLayout.h | 4 |
1 files changed, 4 insertions, 0 deletions
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); } |
