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

Function WebGPUDestroyProgram

engine/graphics/src/webgpu/graphics_webgpu.cpp:2945–2986  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2943}
2944
2945static void WebGPUDestroyProgram(WebGPUContext* context, WebGPUProgram* program)
2946{
2947 TRACE_CALL;
2948 if(program->m_VertexModule) {
2949 WebGPUDestroyShader(program->m_VertexModule);
2950 delete program->m_VertexModule;
2951 program->m_VertexModule = NULL;
2952 }
2953 if(program->m_FragmentModule) {
2954 WebGPUDestroyShader(program->m_FragmentModule);
2955 delete program->m_FragmentModule;
2956 program->m_FragmentModule = NULL;
2957 }
2958 if(program->m_ComputeModule) {
2959 WebGPUDestroyShader(program->m_ComputeModule);
2960 delete program->m_ComputeModule;
2961 program->m_ComputeModule = NULL;
2962 }
2963 if (program->m_UniformData)
2964 {
2965 delete[] program->m_UniformData;
2966 program->m_UniformData = NULL;
2967 }
2968 for (size_t i = 0; i < MAX_SET_COUNT; ++i)
2969 {
2970 if (program->m_BindGroupLayouts[i])
2971 {
2972 wgpuBindGroupLayoutRelease(program->m_BindGroupLayouts[i]);
2973 program->m_BindGroupLayouts[i] = NULL;
2974 }
2975 if (program->m_BindGroups[i])
2976 {
2977 wgpuBindGroupRelease(program->m_BindGroups[i]);
2978 program->m_BindGroups[i] = NULL;
2979 }
2980 }
2981 if (program->m_PipelineLayout)
2982 {
2983 wgpuPipelineLayoutRelease(program->m_PipelineLayout);
2984 program->m_PipelineLayout = NULL;
2985 }
2986}
2987
2988static void WebGPUDeleteProgram(HContext context, HProgram _program)
2989{

Callers 2

WebGPUDeleteProgramFunction · 0.85
WebGPUReloadProgramFunction · 0.85

Calls 1

WebGPUDestroyShaderFunction · 0.85

Tested by

no test coverage detected