1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Renderer: Fix missing shader_name; use forward declarations

* Moving over to RenderingShaderContainer, missed setting shader_name
* Use forward declaration reduces compile time when modifying
  rendering_shader_container.h from over 950s to about 10-15
This commit is contained in:
Stuart Carnie
2025-10-02 10:02:18 +10:00
parent abbe792575
commit 3ffcae66a8
5 changed files with 9 additions and 2 deletions

View File

@@ -37,6 +37,7 @@
#include "scene/3d/sprite_3d.h"
#include "servers/rendering/renderer_rd/renderer_scene_render_rd.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.
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 "servers/rendering/renderer_rd/shader_rd.h"
#include "servers/rendering/rendering_shader_container.h"
class RenderingShaderContainerFormat;
class ShaderBakerExportPluginPlatform : public RefCounted {
GDCLASS(ShaderBakerExportPluginPlatform, RefCounted);

View File

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

View File

@@ -49,7 +49,9 @@
#include "core/variant/type_info.h"
#include "servers/rendering/rendering_context_driver.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.
#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;
RDC::ShaderReflection reflection;
shader_name = p_shader_name.utf8();
const uint32_t spirv_size = p_spirv.size() + 0;
r_refl.resize(spirv_size);