IrisShaders / Iris

A modern shaders mod for Minecraft compatible with existing OptiFine shader packs
https://irisshaders.dev
GNU Lesser General Public License v3.0
3.34k stars 635 forks source link

ERROR: Implementation limit of 16 active fragment shader samplers (e.g., maximum number of supported image units) exceeded, fragment shader uses 19 samplers #2285

Closed zestysoft closed 6 months ago

zestysoft commented 6 months ago

What happened?

The shaderpack failed to load! Please report the error to the shader developer. Copy Info

Screenshots

Screenshot 2024-03-31 at 6 45 44 PM

Log output

latest.log

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.

zestysoft commented 6 months ago

I also tried wiping everything from the mods folder and using 1.20.2 non-beta stuff and also had trouble:

latest.log

however the java exception is different:

java.lang.IllegalStateException: No more available texture units while activating sampler shadowtex1

IMS212 commented 6 months ago

Many shaders are not supported on macOS; this isn't a bug.

zestysoft commented 6 months ago

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

Screenshot 2024-04-01 at 6 25 53 PM
IMS212 commented 6 months ago

Not supported by many shaders. Iris supports it; this limit is dependent on the shader.

zestysoft commented 6 months ago

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

Lolothepro commented 6 months ago

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...

lashan commented 6 months ago

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
coderbot16 commented 6 months ago

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.

zestysoft commented 6 months ago

@IMS212 implied there was at least one shader that did work?

IMS212 commented 6 months ago

Yes, BSL.