MCPcopy Create free account
hub / github.com/defold/defold / DeleteRenderScriptInstance

Function DeleteRenderScriptInstance

engine/render/src/render/render_script.cpp:3370–3396  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3368 }
3369
3370 void DeleteRenderScriptInstance(HRenderScriptInstance render_script_instance)
3371 {
3372 lua_State* L = render_script_instance->m_RenderContext->m_RenderScriptContext.m_LuaState;
3373
3374 int top = lua_gettop(L);
3375 (void) top;
3376
3377 lua_rawgeti(L, LUA_REGISTRYINDEX, render_script_instance->m_InstanceReference);
3378 dmScript::SetInstance(L);
3379 dmScript::FinalizeInstance(render_script_instance->m_ScriptWorld);
3380 lua_pushnil(L);
3381 dmScript::SetInstance(L);
3382
3383 dmScript::Unref(L, LUA_REGISTRYINDEX, render_script_instance->m_InstanceReference);
3384 dmScript::Unref(L, LUA_REGISTRYINDEX, render_script_instance->m_RenderScriptDataReference);
3385 dmScript::Unref(L, LUA_REGISTRYINDEX, render_script_instance->m_ContextTableReference);
3386
3387 ReleaseConstantBufferLuaRefs(L, render_script_instance);
3388
3389 assert(top == lua_gettop(L));
3390
3391 for (uint32_t i = 0; i < render_script_instance->m_PredicateCount; ++i) {
3392 delete render_script_instance->m_Predicates[i];
3393 }
3394 render_script_instance->~RenderScriptInstance();
3395 ResetRenderScriptInstance(render_script_instance);
3396 }
3397
3398 void SetRenderScriptInstanceRenderScript(HRenderScriptInstance render_script_instance, HRenderScript render_script)
3399 {

Callers 4

TEST_FFunction · 0.85
ResRenderPrototypeCreateFunction · 0.85
TEST_FFunction · 0.85

Calls 9

lua_gettopFunction · 0.85
lua_rawgetiFunction · 0.85
SetInstanceFunction · 0.85
FinalizeInstanceFunction · 0.85
lua_pushnilFunction · 0.85
UnrefFunction · 0.85
assertFunction · 0.50

Tested by 2

TEST_FFunction · 0.68
TEST_FFunction · 0.68