Merge pull request #111141 from stuartcarnie/shader_container_fix

Renderer: Fix missing shader_name; use forward declarations
This commit is contained in:
Thaddeus Crews 2025-10-02 15:11:53 -05:00
commit 1e3754c1d1
No known key found for this signature in database
GPG key ID: 8C6E5FEB5FC03CCC
5 changed files with 9 additions and 2 deletions

View file

@ -37,6 +37,7 @@
#include "scene/3d/sprite_3d.h" #include "scene/3d/sprite_3d.h"
#include "servers/rendering/renderer_rd/renderer_scene_render_rd.h" #include "servers/rendering/renderer_rd/renderer_scene_render_rd.h"
#include "servers/rendering/renderer_rd/storage_rd/material_storage.h" #include "servers/rendering/renderer_rd/storage_rd/material_storage.h"
#include "servers/rendering/rendering_shader_container.h"
// Ensure that AlphaCut is the same between the two classes so we can share the code to detect transparency. // Ensure that AlphaCut is the same between the two classes so we can share the code to detect transparency.
static_assert(ENUM_MEMBERS_EQUAL(SpriteBase3D::ALPHA_CUT_DISABLED, Label3D::ALPHA_CUT_DISABLED)); static_assert(ENUM_MEMBERS_EQUAL(SpriteBase3D::ALPHA_CUT_DISABLED, Label3D::ALPHA_CUT_DISABLED));

View file

@ -32,7 +32,8 @@
#include "editor/export/editor_export_plugin.h" #include "editor/export/editor_export_plugin.h"
#include "servers/rendering/renderer_rd/shader_rd.h" #include "servers/rendering/renderer_rd/shader_rd.h"
#include "servers/rendering/rendering_shader_container.h"
class RenderingShaderContainerFormat;
class ShaderBakerExportPluginPlatform : public RefCounted { class ShaderBakerExportPluginPlatform : public RefCounted {
GDCLASS(ShaderBakerExportPluginPlatform, RefCounted); GDCLASS(ShaderBakerExportPluginPlatform, RefCounted);

View file

@ -37,6 +37,7 @@
#include "core/config/project_settings.h" #include "core/config/project_settings.h"
#include "core/io/dir_access.h" #include "core/io/dir_access.h"
#include "modules/modules_enabled.gen.h" #include "modules/modules_enabled.gen.h"
#include "servers/rendering/rendering_shader_container.h"
#ifdef MODULE_GLSLANG_ENABLED #ifdef MODULE_GLSLANG_ENABLED
#include "modules/glslang/shader_compile.h" #include "modules/glslang/shader_compile.h"

View file

@ -49,7 +49,9 @@
#include "core/variant/type_info.h" #include "core/variant/type_info.h"
#include "servers/rendering/rendering_context_driver.h" #include "servers/rendering/rendering_context_driver.h"
#include "servers/rendering/rendering_device_commons.h" #include "servers/rendering/rendering_device_commons.h"
#include "servers/rendering/rendering_shader_container.h"
class RenderingShaderContainer;
class RenderingShaderContainerFormat;
// These utilities help drivers avoid allocations. // These utilities help drivers avoid allocations.
#define ALLOCA(m_size) ((m_size != 0) ? alloca(m_size) : nullptr) #define ALLOCA(m_size) ((m_size != 0) ? alloca(m_size) : nullptr)

View file

@ -127,6 +127,8 @@ Error RenderingShaderContainer::reflect_spirv(const String &p_shader_name, Span<
using RDC = RenderingDeviceCommons; using RDC = RenderingDeviceCommons;
RDC::ShaderReflection reflection; RDC::ShaderReflection reflection;
shader_name = p_shader_name.utf8();
const uint32_t spirv_size = p_spirv.size() + 0; const uint32_t spirv_size = p_spirv.size() + 0;
r_refl.resize(spirv_size); r_refl.resize(spirv_size);