start on no subgroup impl

This commit is contained in:
mcrcortex
2025-07-06 20:01:44 +10:00
parent 936619ce12
commit 8f3fa2e7f2
2 changed files with 7 additions and 0 deletions

View File

@@ -29,6 +29,11 @@ public class VoxyClient implements ClientModInitializer {
BudgetBufferRenderer.init(); BudgetBufferRenderer.init();
VoxyCommon.setInstanceFactory(VoxyClientInstance::new); VoxyCommon.setInstanceFactory(VoxyClientInstance::new);
if (!Capabilities.INSTANCE.subgroup) {
Logger.warn("GPU does not support subgroup operations, expect some performance degradation");
}
} else { } else {
Logger.error("Voxy is unsupported on your system."); Logger.error("Voxy is unsupported on your system.");
} }

View File

@@ -24,10 +24,12 @@ public class Capabilities {
public final boolean compute; public final boolean compute;
public final boolean indirectParameters; public final boolean indirectParameters;
public final boolean isIntel; public final boolean isIntel;
public final boolean subgroup;
public Capabilities() { public Capabilities() {
var cap = GL.getCapabilities(); var cap = GL.getCapabilities();
this.compute = cap.glDispatchComputeIndirect != 0; this.compute = cap.glDispatchComputeIndirect != 0;
this.subgroup = cap.GL_KHR_shader_subgroup;
this.indirectParameters = cap.glMultiDrawElementsIndirectCountARB != 0; this.indirectParameters = cap.glMultiDrawElementsIndirectCountARB != 0;
this.repFragTest = cap.GL_NV_representative_fragment_test; this.repFragTest = cap.GL_NV_representative_fragment_test;
this.meshShaders = cap.GL_NV_mesh_shader; this.meshShaders = cap.GL_NV_mesh_shader;