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

Function CreateProgramResourceBindings

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

Source from the content-addressed store, hash-verified

926 }
927
928 static void CreateProgramResourceBindings(NullProgram* program, NullShaderModule* vertex_module, NullShaderModule* fragment_module, NullShaderModule* compute_module)
929 {
930 ResourceBindingDesc bindings[MAX_SET_COUNT][MAX_BINDINGS_PER_SET_COUNT] = {};
931
932 uint32_t ubo_alignment = UNIFORM_BUFFERS_ALIGNMENT;
933 uint32_t ssbo_alignment = 0;
934
935 ProgramResourceBindingsInfo binding_info = {};
936 FillProgramResourceBindings(&program->m_BaseProgram, bindings, ubo_alignment, ssbo_alignment, binding_info);
937
938 program->m_BaseProgram.m_MaxSet = binding_info.m_MaxSet;
939 program->m_BaseProgram.m_MaxBinding = binding_info.m_MaxBinding;
940 program->m_UniformDataSize = binding_info.m_UniformDataSize;
941 program->m_UniformData = new uint8_t[binding_info.m_UniformDataSize];
942 memset(program->m_UniformData, 0, binding_info.m_UniformDataSize);
943
944 BuildUniforms(&program->m_BaseProgram);
945 BuildUniformBuffers(program);
946 }
947
948 static NullShaderModule* NewShaderModuleFromDDF(HContext context, ShaderDesc::Shader* ddf)
949 {

Callers 1

NullNewProgramFunction · 0.70

Calls 3

BuildUniformsFunction · 0.85
BuildUniformBuffersFunction · 0.70

Tested by

no test coverage detected