ERROR: Implementation limit of 16 active fragment shader samplers (e.g., maximum number of supported image units) exceeded, fragment shader uses 19 samplers
zestysoft opened this issue · 10 comments
What happened?
The shaderpack failed to load! Please report the error to the shader developer. Copy Info
Screenshots
Log output
Minecraft Version
1.20.4
Iris Version
iris-1.7.0-snapshot+mc1.20.4-482321c.jar
Operating System
MacOS Sonoma 14.4.1
What is your GPU?
M3 Max
Additional context
I used the Iris-Installer-3.2.0.jar downloaded from https://irisshaders.dev
Mod files in mods:
DistantHorizons-fabric-2.0.2-a-dev-1.20.4.jar fabric-api-0.96.11+1.20.4.jar indium-1.0.30+mc1.20.4.jar iris-1.7.0-snapshot+mc1.20.4-482321c.jar sodium-fabric-0.5.8+mc1.20.4.jar
shaderpacks:
Bliss-Shader-DH.zip
I know here be dragons, so just fyi.
I also tried wiping everything from the mods folder and using 1.20.2 non-beta stuff and also had trouble:
however the java exception is different:
java.lang.IllegalStateException: No more available texture units while activating sampler shadowtex1
Any idea what this is about then? Seems weird to complain about a platform that has no support in the first place?
https://x.com/IrisShaders/status/1768825389747781884
Not supported by many shaders. Iris supports it; this limit is dependent on the shader.
If that's the case, why would you close this issue before discovering which shader I've got installed?
Here, it's the shader that the iris installer installed: Bliss-Shader-DH.zip
If that's the case, why would you close this issue before discovering which shader I've got installed?
Here, it's the shader that the iris installer installed: Bliss-Shader-DH.zip
The name of the shader you're using is in the log file...
I more or less am having the same issue, on Mac OS 14.4, Minecraft 1.20.4, etc. Here's the error that it's throwing for me when I click the "Copy Info" link in the chat/console that shows up.
composite2: composite2: WARNING: Could not find vertex shader attribute 'at_tangent' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'mc_midTexCoord' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'UV0' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'iris_Entity' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'at_midBlock' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'mc_Entity' to match BindAttributeLocation request.
WARNING: Output of vertex shader 'iris_FogFragCoord' not read by fragment shader
WARNING: Output of vertex shader 'zMults' not read by fragment shader
ERROR: Implementation limit of 16 active fragment shader samplers (e.g., maximum number of supported image units) exceeded, fragment shader uses 19 samplers
This just means that the number of textures (images) the shader pack is trying to sample from in an individual program exceeds GL_MAX_TEXTURE_IMAGE_UNITS, which Apple's drivers set at 16 (the minimum required by the standard).
Iris can't help you here. We can't change the limit enforced by Apple, we can't change the number of images/textures the shader pack wants to actually use, and we've already done what we can to minimize the number of images active to what the shader tries to actually use. That's why we closed the issue.
Your only option is get the shader pack author to change their shader to work around the Apple-imposed limit, or not use Apple. Unfortunately, these are just the kinds of issues that come with trying to run gaming-like workloads on Apple, as Apple expects all software to bend to their wants, rather than Apple being more accommodating.
@IMS212 implied there was at least one shader that did work?