11#include <MetalKit/MetalKit.h>
22 bool Initialize(id<MTLDevice> inDevice);
31 id<MTLDevice> GetDevice()
const {
return mDevice; }
34 id<MTLDevice> mDevice;
35 id<MTLLibrary> mShaderLibrary;
Result< Ref< ComputeBuffer > > ComputeBufferResult
Definition ComputeBuffer.h:14
Result< Ref< ComputeQueue > > ComputeQueueResult
Definition ComputeQueue.h:81
Result< Ref< ComputeShader > > ComputeShaderResult
Definition ComputeShader.h:39
#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
std::uint32_t uint32
Definition Core.h:549
#define JPH_NAMESPACE_BEGIN
Definition Core.h:463
#define JPH_DECLARE_RTTI_VIRTUAL(linkage, class_name)
Definition RTTI.h:245
EType
Type of buffer.
Definition ComputeBuffer.h:24
Interface to run a workload on the GPU.
Definition ComputeSystem.h:16
virtual ComputeQueueResult CreateComputeQueue()=0
Create a queue for executing compute shaders.
virtual ComputeBufferResult CreateComputeBuffer(ComputeBuffer::EType inType, uint64 inSize, uint inStride, const void *inData=nullptr)=0
Create a buffer for use with a compute shader.
virtual ComputeShaderResult CreateComputeShader(const char *inName, uint32 inGroupSizeX, uint32 inGroupSizeY=1, uint32 inGroupSizeZ=1)=0
Compile a compute shader.