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

Function NullNewProgram

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

Source from the content-addressed store, hash-verified

957 }
958
959 static HProgram NullNewProgram(HContext _context, ShaderDesc* ddf, char* error_buffer, uint32_t error_buffer_size)
960 {
961 ShaderDesc::Shader* ddf_vp = 0x0;
962 ShaderDesc::Shader* ddf_fp = 0x0;
963 ShaderDesc::Shader* ddf_cp = 0x0;
964
965 if (!GetShaderProgram(_context, ddf, &ddf_vp, &ddf_fp, &ddf_cp))
966 {
967 return 0;
968 }
969
970 NullProgram* p = new NullProgram();
971
972 if (ddf_cp)
973 {
974 p->m_Compute = NewShaderModuleFromDDF(_context, ddf_cp);
975 }
976 else
977 {
978 p->m_VP = NewShaderModuleFromDDF(_context, ddf_vp);
979 p->m_FP = NewShaderModuleFromDDF(_context, ddf_fp);
980 }
981
982 CreateShaderMeta(&ddf->m_Reflection, &p->m_BaseProgram.m_ShaderMeta);
983 CreateProgramResourceBindings(p, p->m_VP, p->m_FP, p->m_Compute);
984
985 return (HProgram) p;
986 }
987
988 static void DeleteShader(NullShaderModule* shader)
989 {

Callers

nothing calls this directly

Calls 4

GetShaderProgramFunction · 0.85
NewShaderModuleFromDDFFunction · 0.85
CreateShaderMetaFunction · 0.85

Tested by

no test coverage detected