VulkanShader_1.21.10-0.0.4-alpha.jar
Download file
package net.vulkanmod.render.texture;
import java.util.HashSet;
import java.util.Set;
import net.vulkanmod.vulkan.texture.VulkanImage;
import org.lwjgl.system.MemoryStack;
import org.lwjgl.vulkan.VkCommandBuffer;
public abstract class SpriteUpdateUtil {
private static boolean doUpload = true;
private static final Set<VulkanImage> transitionedLayouts = new HashSet();
public static void setDoUpload(boolean b) {
doUpload = b;
}
public static boolean doUploadFrame() {
return doUpload;
}
public static void addTransitionedLayout(VulkanImage image) {
transitionedLayouts.add(image);
}
public static void transitionLayouts() {
if (!transitionedLayouts.isEmpty()) {
VkCommandBuffer commandBuffer = ImageUploadHelper.INSTANCE.getOrStartCommandBuffer().handle;
MemoryStack stack = MemoryStack.stackPush();
try {
transitionedLayouts.forEach((image) -> image.readOnlyLayout(stack, commandBuffer));
transitionedLayouts.clear();
} catch (Throwable var5) {
if (stack != null) {
try {
stack.close();
} catch (Throwable var4) {
var5.addSuppressed(var4);
}
}
throw var5;
}
if (stack != null) {
stack.close();
}
}
}
}
Download file