Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
ComputeSystemCPU Class Reference

#include <ComputeSystemCPU.h>

Inheritance diagram for ComputeSystemCPU:
ComputeSystem RefTarget< ComputeSystem > NonCopyable

Public Types

using CreateShader = ComputeShaderCPU::CreateShader
 
- Public Types inherited from ComputeSystem
using ShaderLoader = std::function<bool(const char *inName, Array<uint8> &outData, String &outError)>
 Callback used when loading shaders.
 

Public Member Functions

virtual JPH_OVERRIDE_NEW_DELETE ComputeShaderResult CreateComputeShader (const char *inName, uint32 inGroupSizeX, uint32 inGroupSizeY, uint32 inGroupSizeZ) override
 Compile a compute shader.
 
virtual ComputeBufferResult CreateComputeBuffer (ComputeBuffer::EType inType, uint64 inSize, uint inStride, const void *inData=nullptr) override
 Create a buffer for use with a compute shader.
 
virtual ComputeQueueResult CreateComputeQueue () override
 Create a queue for executing compute shaders.
 
void RegisterShader (const char *inName, CreateShader inCreateShader)
 
- Public Member Functions inherited from ComputeSystem
virtual JPH_OVERRIDE_NEW_DELETE ~ComputeSystem ()=default
 Destructor.
 
- Public Member Functions inherited from RefTarget< ComputeSystem >
 RefTarget ()=default
 Constructor.
 
 RefTarget (const RefTarget &)
 
 ~RefTarget ()
 assert no one is referencing us
 
void SetEmbedded () const
 
RefTargetoperator= (const RefTarget &)
 Assignment operator.
 
uint32 GetRefCount () const
 Get current refcount of this object.
 
void AddRef () const
 Add or release a reference to this object.
 
void Release () const
 
- Public Member Functions inherited from NonCopyable
 NonCopyable ()=default
 
 NonCopyable (const NonCopyable &)=delete
 
void operator= (const NonCopyable &)=delete
 

Additional Inherited Members

- Static Public Member Functions inherited from RefTarget< ComputeSystem >
static int sInternalGetRefCountOffset ()
 INTERNAL HELPER FUNCTION USED BY SERIALIZATION.
 
- Public Attributes inherited from ComputeSystem
ShaderLoader mShaderLoader = [](const char *, Array<uint8> &, String &outError) { JPH_ASSERT(false, "Override this function"); outError = "Not implemented"; return false; }
 
- Protected Attributes inherited from RefTarget< ComputeSystem >
atomic< uint32mRefCount
 Current reference count.
 
- Static Protected Attributes inherited from RefTarget< ComputeSystem >
static constexpr uint32 cEmbedded
 A large value that gets added to the refcount to mark the object as embedded.
 

Detailed Description

Interface to run a workload on the CPU This is intended mainly for debugging purposes and is not optimized for performance

Member Typedef Documentation

◆ CreateShader

Member Function Documentation

◆ CreateComputeBuffer()

ComputeBufferResult ComputeSystemCPU::CreateComputeBuffer ( ComputeBuffer::EType inType,
uint64 inSize,
uint inStride,
const void * inData = nullptr )
overridevirtual

Create a buffer for use with a compute shader.

Implements ComputeSystem.

◆ CreateComputeQueue()

ComputeQueueResult ComputeSystemCPU::CreateComputeQueue ( )
overridevirtual

Create a queue for executing compute shaders.

Implements ComputeSystem.

◆ CreateComputeShader()

JPH_NAMESPACE_BEGIN ComputeShaderResult ComputeSystemCPU::CreateComputeShader ( const char * inName,
uint32 inGroupSizeX,
uint32 inGroupSizeY,
uint32 inGroupSizeZ )
overridevirtual

Compile a compute shader.

Implements ComputeSystem.

◆ RegisterShader()

void ComputeSystemCPU::RegisterShader ( const char * inName,
CreateShader inCreateShader )
inline

The documentation for this class was generated from the following files: