From 007cd42ec6eed0e023c1324525cd44484ee0e79c Mon Sep 17 00:00:00 2001 From: Dennis C Date: Mon, 15 Feb 2021 04:11:46 +0100 Subject: [PATCH] [1.16.5] Fix shaders breaking almost every overlay that uses textures, fixes #7575 (#7624) --- .../client/renderer/GameRenderer.java.patch | 14 ++++++++++--- .../debug/client/rendering/ShaderFixTest.java | 20 +++++++++++++++++++ src/test/resources/META-INF/mods.toml | 4 +++- 3 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 src/test/java/net/minecraftforge/debug/client/rendering/ShaderFixTest.java diff --git a/patches/minecraft/net/minecraft/client/renderer/GameRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/GameRenderer.java.patch index 99d007cb81..3b84b8e0d0 100644 --- a/patches/minecraft/net/minecraft/client/renderer/GameRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/GameRenderer.java.patch @@ -18,7 +18,15 @@ } } -@@ -486,7 +488,7 @@ +@@ -439,6 +441,7 @@ + RenderSystem.loadIdentity(); + this.field_147707_d.func_148018_a(p_195458_1_); + RenderSystem.popMatrix(); ++ RenderSystem.enableTexture(); //FORGE: Fix MC-194675 + } + + this.field_78531_r.func_147110_a().func_147610_a(true); +@@ -486,7 +489,7 @@ } } else if (this.field_78531_r.field_71462_r != null) { try { @@ -27,7 +35,7 @@ } catch (Throwable throwable) { CrashReport crashreport1 = CrashReport.func_85055_a(throwable, "Rendering screen"); CrashReportCategory crashreportcategory1 = crashreport1.func_85058_a("Screen render details"); -@@ -595,9 +597,16 @@ +@@ -595,9 +598,16 @@ Matrix4f matrix4f = matrixstack.func_227866_c_().func_227870_a_(); this.func_228379_a_(matrix4f); activerenderinfo.func_216772_a(this.field_78531_r.field_71441_e, (Entity)(this.field_78531_r.func_175606_aa() == null ? this.field_78531_r.field_71439_g : this.field_78531_r.func_175606_aa()), !this.field_78531_r.field_71474_y.func_243230_g().func_243192_a(), this.field_78531_r.field_71474_y.func_243230_g().func_243193_b(), p_228378_1_); @@ -44,7 +52,7 @@ this.field_78531_r.func_213239_aq().func_219895_b("hand"); if (this.field_175074_C) { RenderSystem.clear(256, Minecraft.field_142025_a); -@@ -709,4 +718,9 @@ +@@ -709,4 +719,9 @@ public OverlayTexture func_228385_m_() { return this.field_228375_t_; } diff --git a/src/test/java/net/minecraftforge/debug/client/rendering/ShaderFixTest.java b/src/test/java/net/minecraftforge/debug/client/rendering/ShaderFixTest.java new file mode 100644 index 0000000000..3bd8a819d3 --- /dev/null +++ b/src/test/java/net/minecraftforge/debug/client/rendering/ShaderFixTest.java @@ -0,0 +1,20 @@ +package net.minecraftforge.debug.client.rendering; + +import net.minecraft.client.entity.player.ClientPlayerEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.client.registry.ClientRegistry; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; + +@Mod("shader_fix_test") +@Mod.EventBusSubscriber(value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD) +public class ShaderFixTest +{ + @SubscribeEvent + public static void clientSetup(final FMLClientSetupEvent event) + { + ClientRegistry.registerEntityShader(ClientPlayerEntity.class, new ResourceLocation("shaders/post/desaturate.json")); + } +} \ No newline at end of file diff --git a/src/test/resources/META-INF/mods.toml b/src/test/resources/META-INF/mods.toml index e02bcbaa0c..e29db42b77 100644 --- a/src/test/resources/META-INF/mods.toml +++ b/src/test/resources/META-INF/mods.toml @@ -109,4 +109,6 @@ license="LGPL v2.1" [[mods]] modId="item_modifier_test" [[mods]] - modId="worldgen_registry_desync_test" \ No newline at end of file + modId="shader_fix_test" +[[mods]] + modId="worldgen_registry_desync_test"