Allow shader containers to be loaded in parallel.

This commit is contained in:
Skyth
2026-04-30 20:07:25 +03:00
parent a0375dde96
commit d751f5bbfb
4 changed files with 54 additions and 43 deletions
+2 -2
View File
@@ -4170,8 +4170,6 @@ RID RenderingDevice::shader_create_from_bytecode(const Vector<uint8_t> &p_shader
}
RID RenderingDevice::shader_create_from_bytecode_with_samplers(const Vector<uint8_t> &p_shader_binary, RID p_placeholder, const Vector<PipelineImmutableSampler> &p_immutable_samplers) {
_THREAD_SAFE_METHOD_
Ref<RenderingShaderContainer> shader_container = driver->get_shader_container_format().create_container();
ERR_FAIL_COND_V(shader_container.is_null(), RID());
@@ -4195,6 +4193,8 @@ RID RenderingDevice::shader_create_from_bytecode_with_samplers(const Vector<uint
RDD::ShaderID shader_id = driver->shader_create_from_container(shader_container, driver_immutable_samplers);
ERR_FAIL_COND_V(!shader_id, RID());
_THREAD_SAFE_METHOD_
// All good, let's create modules.
RID id;