24 ComputeBufferVK(ComputeSystemVK *inComputeSystem, EType inType,
uint64 inSize,
uint inStride);
25 virtual ~ComputeBufferVK()
override;
27 bool Initialize(
const void *inData);
31 VkBuffer GetBufferCPU()
const {
return mBufferCPU.mBuffer; }
32 VkBuffer GetBufferGPU()
const {
return mBufferGPU.mBuffer; }
33 BufferVK ReleaseBufferCPU()
const { BufferVK tmp = mBufferCPU; mBufferCPU = BufferVK();
return tmp; }
35 void Barrier(VkCommandBuffer inCommandBuffer, VkPipelineStageFlags inToStage, VkAccessFlagBits inToFlags,
bool inForce)
const;
36 bool SyncCPUToGPU(VkCommandBuffer inCommandBuffer)
const;
42 ComputeSystemVK * mComputeSystem;
43 mutable BufferVK mBufferCPU;
45 mutable bool mNeedsSync =
false;
46 mutable VkAccessFlagBits mAccessFlagBits = VK_ACCESS_SHADER_READ_BIT;
47 mutable VkPipelineStageFlags mAccessStage = VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
Result< Ref< ComputeBuffer > > ComputeBufferResult
Definition ComputeBuffer.h:14
#define JPH_EXPORT
Definition Core.h:286
std::uint64_t uint64
Definition Core.h:551
unsigned int uint
Definition Core.h:546
#define JPH_NAMESPACE_END
Definition Core.h:469
#define JPH_NAMESPACE_BEGIN
Definition Core.h:463
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition Memory.h:50
Buffer that can be read from / written to by a compute shader.
Definition ComputeBuffer.h:18
virtual ComputeBufferResult CreateReadBackBuffer() const =0
virtual void * MapInternal(EMode inMode)=0
virtual void UnmapInternal()=0