VulkanShader_1.21.10-0.0.4-alpha.jar
Download file
package net.vulkanmod.mixin.compatibility;
import com.mojang.blaze3d.buffers.GpuBufferSlice;
import com.mojang.blaze3d.textures.GpuTexture;
import java.util.List;
import java.util.Map;
import net.minecraft.class_283;
import net.minecraft.class_9925;
import net.vulkanmod.render.engine.VkGpuTexture;
import net.vulkanmod.vulkan.Renderer;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin({class_283.class})
public abstract class PostPassM {
@Shadow
@Final
private List<class_283.class_9971> field_53122;
@Inject(
method = {"method_67884"},
at = {@At(
value = "INVOKE",
target = "Lcom/mojang/blaze3d/systems/GpuDevice;createCommandEncoder()Lcom/mojang/blaze3d/systems/CommandEncoder;"
)}
)
private void transitionLayouts(class_9925 resourceHandle, GpuBufferSlice gpuBufferSlice, Map map, CallbackInfo ci) {
Renderer.getInstance().endRenderPass();
for(class_283.class_9971 input : this.field_53122) {
VkGpuTexture gpuTexture = (VkGpuTexture)input.method_71128(map).texture();
if (gpuTexture.needsClear()) {
gpuTexture.getFbo((GpuTexture)null).bind();
}
gpuTexture.getVulkanImage().readOnlyLayout();
}
}
}
Download file