VulkanShader_1.21.10-0.0.4-alpha.jar
Download file
package net.vulkanmod.gl;
import java.nio.ByteBuffer;
import net.vulkanmod.vulkan.Vulkan;
import net.vulkanmod.vulkan.shader.SPIRVUtils;
import org.apache.commons.lang3.Validate;
import org.lwjgl.system.MemoryUtil;
public abstract class GlUtil {
public static SPIRVUtils.ShaderKind extToShaderKind(String ext) {
SPIRVUtils.ShaderKind var10000;
switch (ext) {
case ".vsh" -> var10000 = SPIRVUtils.ShaderKind.VERTEX_SHADER;
case ".fsh" -> var10000 = SPIRVUtils.ShaderKind.FRAGMENT_SHADER;
default -> throw new RuntimeException("unknown shader type: " + ext);
}
return var10000;
}
public static ByteBuffer RGBtoRGBA_buffer(ByteBuffer in) {
Validate.isTrue(in.remaining() % 3 == 0, "Unexpected buffer stride", new Object[0]);
int outSize = in.remaining() * 4 / 3;
ByteBuffer out = MemoryUtil.memAlloc(outSize);
int j = 0;
for(int i = 0; i < outSize; j += 3) {
out.put(i, in.get(j));
out.put(i + 1, in.get(j + 1));
out.put(i + 2, in.get(j + 2));
out.put(i + 3, (byte)-1);
i += 4;
}
return out;
}
public static ByteBuffer BGRAtoRGBA_buffer(ByteBuffer in) {
Validate.isTrue(in.remaining() % 4 == 0, "Unexpected buffer stride", new Object[0]);
int outSize = in.remaining();
ByteBuffer out = MemoryUtil.memAlloc(outSize);
long ptr = MemoryUtil.memAddress0(out);
long srcPtr = MemoryUtil.memAddress0(in);
for(int i = 0; i < outSize; i += 4) {
int color = MemoryUtil.memGetInt(srcPtr + (long)i);
color = color << 24 & -16777216 | color >> 8 & 16777215;
MemoryUtil.memPutInt(ptr + (long)i, color);
}
return out;
}
public static int vulkanFormat(int glFormat, int type) {
int var10000;
switch (glFormat) {
case 6402:
case 33190:
case 33191:
case 36012:
var10000 = Vulkan.getDefaultDepthFormat();
return var10000;
case 6403:
switch (type) {
case 5121:
var10000 = 9;
return var10000;
default:
throw new IllegalStateException("Unexpected type: " + type);
}
case 6408:
case 32856:
switch (type) {
case 5120:
var10000 = 37;
return var10000;
case 5121:
var10000 = 37;
return var10000;
case 32821:
case 33639:
var10000 = 37;
return var10000;
default:
throw new IllegalStateException("Unexpected type: " + type);
}
case 32993:
switch (type) {
case 5120:
var10000 = 44;
return var10000;
case 5121:
var10000 = 44;
return var10000;
case 32821:
case 33639:
var10000 = 44;
return var10000;
default:
throw new IllegalStateException("Unexpected type: " + type);
}
case 33639:
switch (type) {
case 5120:
var10000 = 37;
return var10000;
case 5121:
var10000 = 41;
return var10000;
default:
throw new IllegalStateException("Unexpected type: " + type);
}
default:
throw new IllegalStateException("Unexpected format: " + glFormat);
}
}
public static int vulkanFormat(int glInternalFormat) {
int var10000;
switch (glInternalFormat) {
case 6402:
case 33190:
case 36012:
var10000 = Vulkan.getDefaultDepthFormat();
break;
case 33639:
var10000 = 41;
break;
default:
throw new IllegalStateException("Unexpected value: " + glInternalFormat);
}
return var10000;
}
public static int getGlFormat(int vFormat) {
char var10000;
switch (vFormat) {
case 9 -> var10000 = 6403;
case 16 -> var10000 = '舧';
case 37 -> var10000 = 6408;
case 44 -> var10000 = '胡';
default -> throw new IllegalStateException("Unexpected value: " + vFormat);
}
return var10000;
}
}
Download file