Improve Iris compatibility

- Use config-based areShadersEnabled when choosing the engine
This commit is contained in:
PepperCode1 2022-02-03 17:12:50 -08:00
parent 8fcc1df383
commit e48ecccf32
4 changed files with 16 additions and 3 deletions

View file

@ -77,7 +77,7 @@ public class Backend {
FlwEngine preferredChoice = FlwConfig.get() FlwEngine preferredChoice = FlwConfig.get()
.getEngine(); .getEngine();
boolean usingShaders = IrisShaderHandler.isShaderPackInUse(); boolean usingShaders = IrisShaderHandler.areShadersEnabled();
boolean canUseEngine = switch (preferredChoice) { boolean canUseEngine = switch (preferredChoice) {
case OFF -> true; case OFF -> true;
case BATCHING -> !usingShaders; case BATCHING -> !usingShaders;

View file

@ -19,6 +19,10 @@ public class IrisShaderHandler {
private IrisShaderHandler() { private IrisShaderHandler() {
} }
public static boolean areShadersEnabled() {
return HANDLER.areShadersEnabled();
}
public static boolean isShaderPackInUse() { public static boolean isShaderPackInUse() {
return HANDLER.isShaderPackInUse(); return HANDLER.isShaderPackInUse();
} }
@ -28,6 +32,10 @@ public class IrisShaderHandler {
} }
private interface InternalHandler { private interface InternalHandler {
default boolean areShadersEnabled() {
return false;
};
default boolean isShaderPackInUse() { default boolean isShaderPackInUse() {
return false; return false;
}; };
@ -38,6 +46,11 @@ public class IrisShaderHandler {
} }
private static class InternalHandlerImpl implements InternalHandler { private static class InternalHandlerImpl implements InternalHandler {
@Override
public boolean areShadersEnabled() {
return IrisApi.getInstance().getConfig().areShadersEnabled();
};
@Override @Override
public boolean isShaderPackInUse() { public boolean isShaderPackInUse() {
return IrisApi.getInstance().isShaderPackInUse(); return IrisApi.getInstance().isShaderPackInUse();

View file

@ -21,4 +21,4 @@ public class EventContext {
public interface Listener<C extends EventContext> { public interface Listener<C extends EventContext> {
void handleEvent(C context); void handleEvent(C context);
} }
} }

View file

@ -24,4 +24,4 @@ public final class FlywheelEvents {
} }
); );
} }
} }