mirror of
https://github.com/GTNewHorizons/Angelica.git
synced 2026-10-26 14:24:30 +00:00
Clear cache on reload shaders
This commit is contained in:
1 parent
aff5ff7e7b
commit
09cc557be0
2 files changed
+7
No files matched your search
@@ -45,6 +45,7 @@ import net.coderbot.iris.postprocess.BufferFlipper;
|
||||
import net.coderbot.iris.postprocess.CenterDepthSampler;
|
||||
import net.coderbot.iris.postprocess.CompositeRenderer;
|
||||
import net.coderbot.iris.postprocess.FinalPassRenderer;
|
||||
import net.coderbot.iris.postprocess.FullScreenQuadRenderer;
|
||||
import net.coderbot.iris.postprocess.ProgramBuildContext;
|
||||
import net.coderbot.iris.rendertarget.IRenderTargetExt;
|
||||
import net.coderbot.iris.rendertarget.NativeImageBackedSingleColorTexture;
|
||||
@@ -1028,6 +1029,7 @@ public class DeferredWorldRenderingPipeline implements WorldRenderingPipeline, R
|
||||
BlendModeOverride.restore();
|
||||
AlphaTestOverride.restore();
|
||||
|
||||
FullScreenQuadRenderer.clearLocCache();
|
||||
destroyPasses(table);
|
||||
|
||||
// Destroy the composite rendering pipeline
|
||||
|
||||
@@ -78,6 +78,11 @@ public class FullScreenQuadRenderer {
|
||||
/** Per-program cached uniform locations: [mvLoc, projLoc]. Populated on first miss. */
|
||||
private static final Int2ObjectOpenHashMap<int[]> compositeLocCache = new Int2ObjectOpenHashMap<>();
|
||||
|
||||
/** Clear cached uniform locations. Must be called when composite programs are destroyed (e.g. shader reload). */
|
||||
public static void clearLocCache() {
|
||||
compositeLocCache.clear();
|
||||
}
|
||||
|
||||
public static void uploadCompositeMatrices() {
|
||||
final int program = GLStateManager.glGetInteger(GL20.GL_CURRENT_PROGRAM);
|
||||
if (program == 0) return;
|
||||
|
||||
Reference in new issue
Block a user