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

Function NullReloadProgram

engine/graphics/src/null/graphics_null.cpp:1009–1045  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1007 }
1008
1009 static bool NullReloadProgram(HContext _context, HProgram program, ShaderDesc* ddf)
1010 {
1011 NullProgram* p = (NullProgram*) program;
1012
1013 if (g_ForceVertexReloadFail || g_ForceFragmentReloadFail)
1014 return false;
1015
1016 ShaderDesc::Shader* ddf_vp = 0x0;
1017 ShaderDesc::Shader* ddf_fp = 0x0;
1018 ShaderDesc::Shader* ddf_cp = 0x0;
1019
1020 if (!GetShaderProgram(_context, ddf, &ddf_vp, &ddf_fp, &ddf_cp))
1021 {
1022 return 0;
1023 }
1024
1025 if (ddf_cp)
1026 {
1027 delete [] (char*) p->m_Compute->m_Data;
1028 p->m_Compute->m_Data = new char[ddf_cp->m_Source.m_Count];
1029 memcpy((char*)p->m_Compute->m_Data, ddf_cp->m_Source.m_Data, ddf_cp->m_Source.m_Count);
1030 }
1031 else
1032 {
1033 // VP
1034 delete [] (char*) p->m_VP->m_Data;
1035 p->m_VP->m_Data = new char[ddf_vp->m_Source.m_Count];
1036 memcpy((char*)p->m_VP->m_Data, ddf_vp->m_Source.m_Data, ddf_vp->m_Source.m_Count);
1037
1038 // FP
1039 delete [] (char*) p->m_FP->m_Data;
1040 p->m_FP->m_Data = new char[ddf_fp->m_Source.m_Count];
1041 memcpy((char*)p->m_FP->m_Data, ddf_fp->m_Source.m_Data, ddf_fp->m_Source.m_Count);
1042 }
1043
1044 return true;
1045 }
1046
1047 static ShaderDesc::Language NullGetProgramLanguage(HProgram program)
1048 {

Callers

nothing calls this directly

Calls 1

GetShaderProgramFunction · 0.85

Tested by

no test coverage detected