mirror of
https://github.com/Redot-Engine/redot-engine.git
synced 2025-12-07 07:41:50 -05:00
Merge commit godotengine/godot@a3b42d85d2
This commit is contained in:
@@ -264,7 +264,7 @@ void ShaderRD::_build_variant_code(StringBuilder &builder, uint32_t p_variant, c
|
||||
}
|
||||
|
||||
Vector<String> ShaderRD::_build_variant_stage_sources(uint32_t p_variant, CompileData p_data) {
|
||||
if (!variants_enabled[p_variant] && !variants_bake_for.has(p_variant)) {
|
||||
if (!variants_enabled[p_variant]) {
|
||||
return Vector<String>(); // Variant is disabled, return.
|
||||
}
|
||||
|
||||
@@ -465,11 +465,7 @@ bool ShaderRD::_load_from_cache(Version *p_version, int p_group) {
|
||||
for (uint32_t i = 0; i < variant_count; i++) {
|
||||
int variant_id = group_to_variant_map[p_group][i];
|
||||
uint32_t variant_size = f->get_32();
|
||||
ERR_FAIL_COND_V(variant_size == 0 && variants_enabled[variant_id], false);
|
||||
if (!variants_enabled[variant_id] && !variants_bake_for.has(variant_id)) {
|
||||
continue;
|
||||
}
|
||||
if (variant_size == 0) {
|
||||
if (!variants_enabled[variant_id] || variant_size == 0) {
|
||||
continue;
|
||||
}
|
||||
Vector<uint8_t> variant_bytes;
|
||||
@@ -484,7 +480,7 @@ bool ShaderRD::_load_from_cache(Version *p_version, int p_group) {
|
||||
|
||||
for (uint32_t i = 0; i < variant_count; i++) {
|
||||
int variant_id = group_to_variant_map[p_group][i];
|
||||
if ((!variants_enabled[variant_id] && !variants_bake_for.has(variant_id)) || p_version->variant_data[variant_id].is_empty()) {
|
||||
if (!variants_enabled[variant_id]) {
|
||||
p_version->variants.write[variant_id] = RID();
|
||||
continue;
|
||||
}
|
||||
@@ -577,7 +573,7 @@ void ShaderRD::_compile_version_end(Version *p_version, int p_group) {
|
||||
if (!all_valid) {
|
||||
// Clear versions if they exist.
|
||||
for (int i = 0; i < variant_defines.size(); i++) {
|
||||
if ((!variants_enabled[i] && !variants_bake_for.has(i)) || !group_enabled[variant_defines[i].group]) {
|
||||
if (!variants_enabled[i] || !group_enabled[variant_defines[i].group]) {
|
||||
continue; // Disabled.
|
||||
}
|
||||
if (!p_version->variants[i].is_null()) {
|
||||
|
||||
Reference in New Issue
Block a user