Iris Shaders

Iris Shaders

36M Downloads

IrisRenderTypeWrapper can cause compatibility issues with other mods (ie, Satin API)

GlowingRain opened this issue ยท 7 comments

commented

Iris and Minecraft Version

iris-mc1.16.5-1.1.0+rev.6ad325a - Minecraft 1.16.5

Are you running Sodium along with Iris?

Yes

Operating System

Arch Linux

What is your GPU?

Nvidia GeForce GTX 1050 Ti

Java Version

Java 8 and Java 16

Reproduction Steps

  1. Die in-game, select "become a demon".
  2. Try to possess a undead mob, there should be a slow-motion wave-type effect, but it does not happen and instead, crashes.

Crash Report file and latest.log

---- Minecraft Crash Report ----
// Everything's going to plan. No, really, that was supposed to happen.

Time: 08/07/21 02:09
Description: Rendering entity in world

java.lang.IllegalArgumentException: Unrecognized RenderLayer implementation class net.coderbot.iris.layer.IrisRenderLayerWrapper. Layer duplication is only applicable to the default (MultiPhase) implementation
	at Not Enough Crashes deobfuscated stack trace.(1.16.5+build.10)
	at ladysnake.satin.impl.RenderLayerDuplicator.checkDefaultImpl(RenderLayerDuplicator.java:123)
	at ladysnake.satin.impl.RenderLayerDuplicator.copy(RenderLayerDuplicator.java:82)
	at ladysnake.satin.impl.RenderLayerSupplier.getRenderLayer(RenderLayerSupplier.java:47)
	at ladysnake.satin.impl.FramebufferWrapper.getRenderLayer(FramebufferWrapper.java:107)
	at ladysnake.requiem.client.RequiemFx.getZoomFx(RequiemFx.java:188)
	at net.minecraft.client.render.entity.LivingEntityRenderer.localvar$zph000$requiem$replaceRenderLayer(LivingEntityRenderer:1082)
	at net.minecraft.client.render.entity.LivingEntityRenderer.render(LivingEntityRenderer:130)
	at net.minecraft.client.render.entity.MobEntityRenderer.render(MobEntityRenderer:43)
	at net.minecraft.client.render.entity.MobEntityRenderer.render(MobEntityRenderer:18)
	at net.minecraft.client.render.entity.EntityRenderDispatcher.render(EntityRenderDispatcher:261)
	at net.minecraft.client.render.WorldRenderer.renderEntity(WorldRenderer:1459)
	at net.minecraft.client.render.WorldRenderer.render(WorldRenderer:1219)
	at net.minecraft.client.render.GameRenderer.renderWorld(GameRenderer:727)
	at net.minecraft.client.render.GameRenderer.render(GameRenderer:546)
	at net.minecraft.client.MinecraftClient.render(MinecraftClient:1048)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient:681)
	at net.minecraft.client.main.Main.main(Main:215)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Entity being rendered --
Details:
	Entity Type: minecraft:skeleton (net.minecraft.class_1613)
	Entity ID: 128
	Entity Name: Skeleton
	Entity's Exact location: -265.55, 61.00, 117.63
	Entity's Block location: World: (-266,61,117), Chunk: (at 6,3,5 in -17,7; contains blocks -272,0,112 to -257,255,127), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
	Entity's Momentum: 0.00, -0.03, 0.00
	Entity's Passengers: []
	Entity's Vehicle: ~~ERROR~~ NullPointerException: null
	Entity NBT: {Brain:{memories:{}},HurtByTimestamp:0,Attributes:[{Base:0.25d,Name:"minecraft:generic.movement_speed"},{Base:2.0d,Name:"minecraft:generic.attack_damage"}],Invulnerable:0b,FallFlying:0b,PortalCooldown:0,AbsorptionAmount:0.0f,FallDistance:0.0f,DeathTime:0s,HandDropChances:[0.085f,0.085f],PersistenceRequired:0b,UUID:[I;-1727911803,1410221543,-1894483674,1724448994],Motion:[0.0d,-0.03493176915965577d,0.0d],Health:20.0f,LeftHanded:1b,Air:300s,OnGround:1b,Rotation:[-177.1875f,0.0f],HandItems:[{id:"minecraft:bow",Count:1b,tag:{Damage:0}},{}],ArmorDropChances:[0.085f,0.085f,0.085f,0.085f],Pos:[-265.55126953125d,61.0d,117.63134765625d],Fire:0s,ArmorItems:[{},{},{},{}],CanPickUpLoot:0b,HurtTime:0s}
Stacktrace:
	at net.minecraft.class_898.method_3954(class_898.java:283)
	at net.minecraft.class_761.method_22977(class_761.java:1459)
	at net.minecraft.class_761.method_22710(class_761.java:1219)
	at net.minecraft.class_757.method_3188(class_757.java:727)
	at net.minecraft.class_757.method_3192(class_757.java:546)
	at net.minecraft.class_310.method_1523(class_310.java:1048)
	at net.minecraft.class_310.method_1514(class_310.java:681)
	at net.minecraft.client.main.Main.main(Main.java:215)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
-- Renderer details --
Details:
	Assigned renderer: net.minecraft.class_946@33ae40ce
	Location: -0.44,-1.62,-1.09 - World: (-1,-2,-2), Chunk: (at 15,-1,14 in -1,-1; contains blocks -16,0,-16 to -1,255,-1), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
	Rotation: -177.1875
	Delta: 0.040007353
-- Affected level --
Details:
	All players: 1 total; [class_746['xem_gg'/170, l='ClientLevel', x=-265.11, y=61.00, z=118.72]]
	Chunk stats: Client Chunk Cache: 1024, 527
	Level dimension: minecraft:overworld
	Level spawn location: World: (-112,70,112), Chunk: (at 0,4,0 in -7,7; contains blocks -112,0,112 to -97,255,127), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
	Level time: 2508 game time, 2508 day time
	Server brand: fabric
	Server type: Integrated singleplayer server
-- System Details --
Details:
	Minecraft Version: 1.16.5
	Minecraft Version ID: 1.16.5
	Operating System: Linux (amd64) version 5.12.10-xanmod1-1
	Java Version: 1.8.0_292, Oracle Corporation
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 1603785704 bytes (1529 MB) / 2728919040 bytes (2602 MB) up to 5726797824 bytes (5461 MB)
	CPUs: 4
	JVM Flags: 3 total; -Xmx6144m -Xms6144m -Xms256m
	Suspected Mods: Fabric Loader (fabricloader), Satin (satin), Requiem (requiem)
	Fabric Mods: 
		cardinal-components-base: Cardinal Components API (base) 2.8.3
		cardinal-components-entity: Cardinal Components API (entities) 2.8.3
		cardinal-components-scoreboard: Cardinal Components API (scoreboard) 2.8.3
		chime: Chime 1.1.3
		fabric: Fabric API 0.36.0+1.16
		fabric-api-base: Fabric API Base 0.3.0+c88702897d
		fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.2.0+6aebe11a7d
		fabric-biome-api-v1: Fabric Biome API (v1) 3.1.10+3661eaa17d
		fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.5+ca58154a7d
		fabric-command-api-v1: Fabric Command API (v1) 1.1.1+351679a77d
		fabric-commands-v0: Fabric Commands (v0) 0.2.2+ca58154a7d
		fabric-containers-v0: Fabric Containers (v0) 0.1.11+9354966b7d
		fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.1+ca58154a7d
		fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.3+ca58154a7d
		fabric-dimensions-v1: Fabric Dimensions API (v1) 2.0.6+61336ba97d
		fabric-entity-events-v1: Fabric Entity Events (v1) 1.1.0+c88702897d
		fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.3+f941baf07d
		fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.1+ca58154a7d
		fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.6+ca58154a7d
		fabric-item-api-v1: Fabric Item API (v1) 1.2.1+ca58154a7d
		fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.7+2868a2287d
		fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.4+9354966b7d
		fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.1+ca58154a7d
		fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.2.1+ca58154a7d
		fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.2+ca58154a7d
		fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.3+ca58154a7d
		fabric-models-v0: Fabric Models (v0) 0.3.0+bc7a746f7d
		fabric-networking-api-v1: Fabric Networking API (v1) 1.0.3+e3c9d0627d
		fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.8+ca58154a7d
		fabric-networking-v0: Fabric Networking (v0) 0.3.2+ca58154a7d
		fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.9.5+c88702897d
		fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.2+ca58154a7d
		fabric-particles-v1: Fabric Particles (v1) 0.2.4+ca58154a7d
		fabric-permissions-api-v0: fabric-permissions-api 0.1-SNAPSHOT
		fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.4+ca58154a7d
		fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.3+0ef801b67d
		fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.4+ca58154a7d
		fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 2.3.0+2868a2287d
		fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.5+ca58154a7d
		fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.13+ca58154a7d
		fabric-rendering-v0: Fabric Rendering (v0) 1.1.2+ca58154a7d
		fabric-rendering-v1: Fabric Rendering (v1) 1.6.0+2868a2287d
		fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.6+2868a2287d
		fabric-screen-api-v1: Fabric Screen API (v1) 1.0.0+c045166c7d
		fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.5+9354966b7d
		fabric-structure-api-v1: Fabric Structure API (v1) 1.1.11+ca0ef93d7d
		fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.1+ca58154a7d
		fabric-textures-v0: Fabric Textures (v0) 1.0.6+ca58154a7d
		fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.7+8183d3957d
		fabricloader: Fabric Loader 0.11.6
		fiber: fiber 0.23.0-2
		fiber2cloth: Fiber To Cloth 3.1.0
		iris: Iris 1.1.0+rev.6ad325a
		java: OpenJDK 64-Bit Server VM 8
		locki: Locki 0.2.0
		minecraft: Minecraft 1.16.5
		notenoughcrashes: Not Enough Crashes 3.2.0
		playerabilitylib: Pal 1.2.2
		requiem: Requiem 1.7.12
		requiemapi: Requiem-API 1.7.12
		satin: Satin 1.5.1
		sodium: Sodium 0.2.0+IRIS3-rev.2c3e7cc
	Launched Version: 1.16.5
	Backend library: LWJGL version 3.2.2 build 10
	Backend API: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2 GL version 4.6.0 NVIDIA 465.31, NVIDIA Corporation
	GL Caps: Using framebuffer using OpenGL 3.0
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'fabric'
	Type: Client (map_client.txt)
	Graphics mode: fancy
	Resource Packs: Fabric Mods
	Current Language: English (US)
	CPU: 4x Intel(R) Core(TM) i3-6100 CPU @ 3.70GHz
	Client Crashes Since Restart: 1
	Integrated Server Crashes Since Restart: 0

Additional context

Note: All mods have been downloaded with GDLauncher's built-in mod-downloader (shouldn't affect things since it's pulling from Curseforge), Iris & Sodium downloaded through the Iris installer provided (version 1.1.1).

commented

This no longer crashes, but I'd like to keep this open along with #817 to remind me to refactor out IrisRenderLayerWrapper at some point.

commented

Apparent solution from #385 (comment) does not work, tried in a fresh instance with just Iris, Sodium and Requiem as shown as above.

commented

Have you tried adding indium?

commented

Just tried it out with the latest Indium artifact build for 1.16.5, no luck.

commented

use the Indium jar in our discord server, the one on the Indium GH Repo doesn't work with our Sodium

commented

If you're talking about the 1.0.0.rev+0ad607b_1 pinned in #iris-support, then also no luck with it. Not sure what's going on here.

commented

looking at the log, this seems to be a Satin issue. It believes MultiPhase is the only type of renderlayer that is valid for the operation requiem is doing, however Iris's render layers are not one of MultiPhase.