summaryrefslogtreecommitdiffstats
path: root/RenderScript/src
diff options
context:
space:
mode:
Diffstat (limited to 'RenderScript/src')
-rw-r--r--RenderScript/src/ScriptParser.cpp5
-rw-r--r--RenderScript/src/ShaderResourceBindingParser.cpp9
2 files changed, 13 insertions, 1 deletions
diff --git a/RenderScript/src/ScriptParser.cpp b/RenderScript/src/ScriptParser.cpp
index a31f308..5cb13b5 100644
--- a/RenderScript/src/ScriptParser.cpp
+++ b/RenderScript/src/ScriptParser.cpp
@@ -244,6 +244,11 @@ namespace Diligent
m_pShaderVariableParser->GetObjectByName( m_LuaState, ShaderVarName, ppShaderVar );
}
+ void ScriptParser::GetShaderResourceBindingByName( const Char *SRBName, IShaderResourceBinding** ppSRB )
+ {
+ m_pShaderResBindingParser->GetObjectByName( m_LuaState, SRBName, ppSRB );
+ }
+
void ScriptParser::QueryInterface( const Diligent::INTERFACE_ID &IID, IObject **ppInterface )
{
UNSUPPORTED( "Not implemented" );
diff --git a/RenderScript/src/ShaderResourceBindingParser.cpp b/RenderScript/src/ShaderResourceBindingParser.cpp
index 0613f59..80a5092 100644
--- a/RenderScript/src/ShaderResourceBindingParser.cpp
+++ b/RenderScript/src/ShaderResourceBindingParser.cpp
@@ -51,8 +51,15 @@ namespace Diligent
// Shader should be the first argument
auto *pPSO = *GetUserData<IPipelineState**>( L, 1, m_PSOLibMetatableName.c_str() );
+ bool InitStaticResources = false;
+ auto NumArgs = lua_gettop( L );
+ if( NumArgs >= 2 )
+ {
+ InitStaticResources = ReadValueFromLua<Bool>( L, 2 );
+ }
+
auto pNewShaderResBndngLuaObj = reinterpret_cast<IShaderResourceBinding**>(lua_newuserdata( L, sizeof( IShaderResourceBinding* ) ));
- pPSO->CreateShaderResourceBinding(pNewShaderResBndngLuaObj);
+ pPSO->CreateShaderResourceBinding(pNewShaderResBndngLuaObj, InitStaticResources);
CHECK_LUA_STACK_HEIGHT( +1 );
}