package net.vulkanmod.vulkan.shader.descriptor;

import java.util.List;
import org.lwjgl.system.MemoryUtil;

public class ManualUBO extends UBO {
   private long srcPtr;
   private int srcSize;
   private boolean update = true;

   public ManualUBO(int binding, int type, int size) {
      super("manual UBO: %d".formatted(binding), binding, type, size * 4, (List)null);
   }

   public void update(long ptr) {
      if (this.update) {
         MemoryUtil.memCopy(this.srcPtr, ptr, (long)this.srcSize);
      }

   }

   public void setSrc(long ptr, int size) {
      this.srcPtr = ptr;
      this.srcSize = size;
   }

   public void setUpdate(boolean update) {
      this.update = update;
   }
}
