![]() |
My Project
|
#include <mtlComputeEvaluator.h>
Public Types | |
| typedef bool | Instantiatable |
Public Member Functions | |
| MTLComputeEvaluator () | |
| ~MTLComputeEvaluator () | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > | |
| bool | EvalStencils (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, STENCIL_TABLE const *stencilTable, MTLContext *context) const |
| Generic stencil function. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > | |
| bool | EvalStencils (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, STENCIL_TABLE const *stencilTable, MTLContext *context) const |
| Generic stencil function. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > | |
| bool | EvalStencils (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, STENCIL_TABLE const *stencilTable, MTLContext *context) const |
| Generic stencil function. More... | |
| bool | EvalStencils (id< MTLBuffer > srcBuffer, BufferDescriptor const &srcDesc, id< MTLBuffer > dstBuffer, BufferDescriptor const &dstDesc, id< MTLBuffer > duBuffer, BufferDescriptor const &duDesc, id< MTLBuffer > dvBuffer, BufferDescriptor const &dvDesc, id< MTLBuffer > sizesBuffer, id< MTLBuffer > offsetsBuffer, id< MTLBuffer > indicesBuffer, id< MTLBuffer > weightsBuffer, id< MTLBuffer > duWeightsBuffer, id< MTLBuffer > dvWeightsBuffer, int start, int end, MTLContext *context) const |
| Dispatch the MTL compute kernel on GPU asynchronously returns false if the kernel hasn't been compiled yet. More... | |
| bool | EvalStencils (id< MTLBuffer > srcBuffer, BufferDescriptor const &srcDesc, id< MTLBuffer > dstBuffer, BufferDescriptor const &dstDesc, id< MTLBuffer > duBuffer, BufferDescriptor const &duDesc, id< MTLBuffer > dvBuffer, BufferDescriptor const &dvDesc, id< MTLBuffer > duuBuffer, BufferDescriptor const &duuDesc, id< MTLBuffer > duvBuffer, BufferDescriptor const &duvDesc, id< MTLBuffer > dvvBuffer, BufferDescriptor const &dvvDesc, id< MTLBuffer > sizesBuffer, id< MTLBuffer > offsetsBuffer, id< MTLBuffer > indicesBuffer, id< MTLBuffer > weightsBuffer, id< MTLBuffer > duWeightsBuffer, id< MTLBuffer > dvWeightsBuffer, id< MTLBuffer > duuWeightsBuffer, id< MTLBuffer > duvWeightsBuffer, id< MTLBuffer > dvvWeightsBuffer, int start, int end, MTLContext *context) const |
| Dispatch the MTL compute kernel on GPU asynchronously returns false if the kernel hasn't been compiled yet. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| bool | EvalPatches (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, MTLContext *context) const |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| bool | EvalPatches (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, MTLContext *context) const |
| Generic limit eval function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| bool | EvalPatches (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, MTLContext *context) const |
| Generic limit eval function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| bool | EvalPatches (id< MTLBuffer > srcBuffer, BufferDescriptor const &srcDesc, id< MTLBuffer > dstBuffer, BufferDescriptor const &dstDesc, id< MTLBuffer > duBuffer, BufferDescriptor const &duDesc, id< MTLBuffer > dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, id< MTLBuffer > patchCoordsBuffer, const PatchArrayVector &patchArrays, id< MTLBuffer > patchIndexBuffer, id< MTLBuffer > patchParamsBuffer, MTLContext *context) const |
| bool | EvalPatches (id< MTLBuffer > srcBuffer, BufferDescriptor const &srcDesc, id< MTLBuffer > dstBuffer, BufferDescriptor const &dstDesc, id< MTLBuffer > duBuffer, BufferDescriptor const &duDesc, id< MTLBuffer > dvBuffer, BufferDescriptor const &dvDesc, id< MTLBuffer > duuBuffer, BufferDescriptor const &duuDesc, id< MTLBuffer > duvBuffer, BufferDescriptor const &duvDesc, id< MTLBuffer > dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, id< MTLBuffer > patchCoordsBuffer, const PatchArrayVector &patchArrays, id< MTLBuffer > patchIndexBuffer, id< MTLBuffer > patchParamsBuffer, MTLContext *context) const |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, MTLContext *deviceContext) const |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, MTLContext *deviceContext) const |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, MTLContext *deviceContext) const |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, MTLContext *deviceContext) const |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, MTLContext *deviceContext) const |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, MTLContext *deviceContext) const |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| bool | Compile (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, BufferDescriptor const &duuDesc, BufferDescriptor const &duvDesc, BufferDescriptor const &dvvDesc, MTLContext *context) |
| Configure compute pipline state. Returns false if it fails to create the pipeline state. More... | |
Static Public Member Functions | |
| static MTLComputeEvaluator * | Create (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, MTLContext *context) |
| static MTLComputeEvaluator * | Create (BufferDescriptor const &srcDesc, BufferDescriptor const &dstDesc, BufferDescriptor const &duDesc, BufferDescriptor const &dvDesc, BufferDescriptor const &duuDesc, BufferDescriptor const &duvDesc, BufferDescriptor const &dvvDesc, MTLContext *context) |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > | |
| static bool | EvalStencils (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, STENCIL_TABLE const *stencilTable, MTLComputeEvaluator const *instance, MTLContext *context) |
| Generic static stencil function. This function has a same signature as other device kernels have so that it can be called transparently from OsdMesh template interface. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > | |
| static bool | EvalStencils (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, STENCIL_TABLE const *stencilTable, MTLComputeEvaluator const *instance, MTLContext *context) |
| Generic static stencil function. This function has a same signature as other device kernels have so that it can be called transparently from OsdMesh template interface. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > | |
| static bool | EvalStencils (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, STENCIL_TABLE const *stencilTable, MTLComputeEvaluator const *instance, MTLContext *context) |
| Generic static stencil function. This function has a same signature as other device kernels have so that it can be called transparently from OsdMesh template interface. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatches (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, MTLComputeEvaluator const *instance, MTLContext *context) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatches (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, MTLComputeEvaluator *instance, MTLContext *context) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatches (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, MTLComputeEvaluator *instance, MTLContext *context) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, MTLComputeEvaluator const *instance, MTLContext *deviceContext) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, MTLComputeEvaluator const *instance, MTLContext *deviceContext) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatchesVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, MTLComputeEvaluator const *instance, MTLContext *deviceContext) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, MTLComputeEvaluator const *instance, MTLContext *deviceContext) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, MTLComputeEvaluator const *instance, MTLContext *deviceContext) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > | |
| static bool | EvalPatchesFaceVarying (SRC_BUFFER *srcBuffer, BufferDescriptor const &srcDesc, DST_BUFFER *dstBuffer, BufferDescriptor const &dstDesc, DST_BUFFER *duBuffer, BufferDescriptor const &duDesc, DST_BUFFER *dvBuffer, BufferDescriptor const &dvDesc, DST_BUFFER *duuBuffer, BufferDescriptor const &duuDesc, DST_BUFFER *duvBuffer, BufferDescriptor const &duvDesc, DST_BUFFER *dvvBuffer, BufferDescriptor const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, MTLComputeEvaluator const *instance, MTLContext *deviceContext) |
| Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. More... | |
| static void | Synchronize (MTLContext *context) |
| Wait for the dispatched kernel to finish. More... | |
Definition at line 91 of file mtlComputeEvaluator.h.
| typedef bool Instantiatable |
Definition at line 94 of file mtlComputeEvaluator.h.
| ~MTLComputeEvaluator | ( | ) |
| bool Compile | ( | BufferDescriptor const & | srcDesc, |
| BufferDescriptor const & | dstDesc, | ||
| BufferDescriptor const & | duDesc, | ||
| BufferDescriptor const & | dvDesc, | ||
| BufferDescriptor const & | duuDesc, | ||
| BufferDescriptor const & | duvDesc, | ||
| BufferDescriptor const & | dvvDesc, | ||
| MTLContext * | context | ||
| ) |
Configure compute pipline state. Returns false if it fails to create the pipeline state.
|
static |
|
static |
| bool EvalPatches | ( | id< MTLBuffer > | srcBuffer, |
| BufferDescriptor const & | srcDesc, | ||
| id< MTLBuffer > | dstBuffer, | ||
| BufferDescriptor const & | dstDesc, | ||
| id< MTLBuffer > | duBuffer, | ||
| BufferDescriptor const & | duDesc, | ||
| id< MTLBuffer > | dvBuffer, | ||
| BufferDescriptor const & | dvDesc, | ||
| id< MTLBuffer > | duuBuffer, | ||
| BufferDescriptor const & | duuDesc, | ||
| id< MTLBuffer > | duvBuffer, | ||
| BufferDescriptor const & | duvDesc, | ||
| id< MTLBuffer > | dvvBuffer, | ||
| BufferDescriptor const & | dvvDesc, | ||
| int | numPatchCoords, | ||
| id< MTLBuffer > | patchCoordsBuffer, | ||
| const PatchArrayVector & | patchArrays, | ||
| id< MTLBuffer > | patchIndexBuffer, | ||
| id< MTLBuffer > | patchParamsBuffer, | ||
| MTLContext * | context | ||
| ) | const |
| bool EvalPatches | ( | id< MTLBuffer > | srcBuffer, |
| BufferDescriptor const & | srcDesc, | ||
| id< MTLBuffer > | dstBuffer, | ||
| BufferDescriptor const & | dstDesc, | ||
| id< MTLBuffer > | duBuffer, | ||
| BufferDescriptor const & | duDesc, | ||
| id< MTLBuffer > | dvBuffer, | ||
| BufferDescriptor const & | dvDesc, | ||
| int | numPatchCoords, | ||
| id< MTLBuffer > | patchCoordsBuffer, | ||
| const PatchArrayVector & | patchArrays, | ||
| id< MTLBuffer > | patchIndexBuffer, | ||
| id< MTLBuffer > | patchParamsBuffer, | ||
| MTLContext * | context | ||
| ) | const |
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning an MTLBuffer object of destination data |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
| context | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 889 of file mtlComputeEvaluator.h.
|
inline |
Generic limit eval function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning a MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning a MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning a MTLBuffer object of destination data |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning a MTLBuffer object of destination data |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning a MTLBuffer object of destination data |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. |
| patchTable | MTLPatchTable or equivalent |
| context | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 1104 of file mtlComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
| context | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 786 of file mtlComputeEvaluator.h.
|
inline |
Generic limit eval function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. |
| patchTable | MTLPatchTable or equivalent |
| context | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 1025 of file mtlComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
Limit evaluations with PatchTable
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
| context | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 705 of file mtlComputeEvaluator.h.
|
inline |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBOBuffer() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| context | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 966 of file mtlComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning an MTLBuffer object of destination data |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| fvarChannel | face-varying channel |
| instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
| deviceContext | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 1991 of file mtlComputeEvaluator.h.
|
inline |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning a MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning a MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning a MTLBuffer object of destination data |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning a MTLBuffer object of destination data |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning a MTLBuffer object of destination data |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| fvarChannel | face-varying channel |
| deviceContext | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 2106 of file mtlComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| fvarChannel | face-varying channel |
| instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
| deviceContext | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 1813 of file mtlComputeEvaluator.h.
|
inline |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning a MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning a MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| fvarChannel | face-varying channel |
| deviceContext | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 1900 of file mtlComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| fvarChannel | face-varying channel |
| instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
| deviceContext | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 1672 of file mtlComputeEvaluator.h.
|
inline |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning a MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning a MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| fvarChannel | face-varying channel |
| deviceContext | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 1742 of file mtlComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning an MTLBuffer object of destination data |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
| deviceContext | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 1496 of file mtlComputeEvaluator.h.
|
inline |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning a MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning a MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning a MTLBuffer object of destination data |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning a MTLBuffer object of destination data |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning a MTLBuffer object of destination data |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| deviceContext | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 1606 of file mtlComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
| deviceContext | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 1325 of file mtlComputeEvaluator.h.
|
inline |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning a MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning a MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning a MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning a MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| deviceContext | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 1407 of file mtlComputeEvaluator.h.
|
inlinestatic |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
| deviceContext | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 1192 of file mtlComputeEvaluator.h.
|
inline |
Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| numPatchCoords | number of patchCoords. |
| patchCoords | array of locations to be evaluated. must have BindVBO() method returning an array of PatchCoord struct in VBO. |
| patchTable | MTLPatchTable or equivalent |
| deviceContext | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 1257 of file mtlComputeEvaluator.h.
| bool EvalStencils | ( | id< MTLBuffer > | srcBuffer, |
| BufferDescriptor const & | srcDesc, | ||
| id< MTLBuffer > | dstBuffer, | ||
| BufferDescriptor const & | dstDesc, | ||
| id< MTLBuffer > | duBuffer, | ||
| BufferDescriptor const & | duDesc, | ||
| id< MTLBuffer > | dvBuffer, | ||
| BufferDescriptor const & | dvDesc, | ||
| id< MTLBuffer > | duuBuffer, | ||
| BufferDescriptor const & | duuDesc, | ||
| id< MTLBuffer > | duvBuffer, | ||
| BufferDescriptor const & | duvDesc, | ||
| id< MTLBuffer > | dvvBuffer, | ||
| BufferDescriptor const & | dvvDesc, | ||
| id< MTLBuffer > | sizesBuffer, | ||
| id< MTLBuffer > | offsetsBuffer, | ||
| id< MTLBuffer > | indicesBuffer, | ||
| id< MTLBuffer > | weightsBuffer, | ||
| id< MTLBuffer > | duWeightsBuffer, | ||
| id< MTLBuffer > | dvWeightsBuffer, | ||
| id< MTLBuffer > | duuWeightsBuffer, | ||
| id< MTLBuffer > | duvWeightsBuffer, | ||
| id< MTLBuffer > | dvvWeightsBuffer, | ||
| int | start, | ||
| int | end, | ||
| MTLContext * | context | ||
| ) | const |
Dispatch the MTL compute kernel on GPU asynchronously returns false if the kernel hasn't been compiled yet.
| srcBuffer | MTLBuffer of input primvar source data |
| srcDesc | vertex buffer descriptor for the srcBuffer |
| dstBuffer | MTLBuffer of output primvar destination data |
| dstDesc | vertex buffer descriptor for the dstBuffer |
| duBuffer | MTLBuffer of output derivative wrt u |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | MTLBuffer of output derivative wrt v |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duuBuffer | MTLBuffer of output 2nd derivative wrt u |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duvBuffer | MTLBuffer of output 2nd derivative wrt u and v |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvvBuffer | MTLBuffer of output 2nd derivative wrt v |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| sizesBuffer | MTLBuffer of the sizes in the stencil table |
| offsetsBuffer | MTLBuffer of the offsets in the stencil table |
| indicesBuffer | MTLBuffer of the indices in the stencil table |
| weightsBuffer | MTLBuffer of the weights in the stencil table |
| duWeightsBuffer | MTLBuffer of the du weights in the stencil table |
| dvWeightsBuffer | MTLBuffer of the dv weights in the stencil table |
| duuWeightsBuffer | MTLBuffer of the duu weights in the stencil table |
| duvWeightsBuffer | MTLBuffer of the duv weights in the stencil table |
| dvvWeightsBuffer | MTLBuffer of the dvv weights in the stencil table |
| start | start index of stencil table |
| end | end index of stencil table |
| context | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
| bool EvalStencils | ( | id< MTLBuffer > | srcBuffer, |
| BufferDescriptor const & | srcDesc, | ||
| id< MTLBuffer > | dstBuffer, | ||
| BufferDescriptor const & | dstDesc, | ||
| id< MTLBuffer > | duBuffer, | ||
| BufferDescriptor const & | duDesc, | ||
| id< MTLBuffer > | dvBuffer, | ||
| BufferDescriptor const & | dvDesc, | ||
| id< MTLBuffer > | sizesBuffer, | ||
| id< MTLBuffer > | offsetsBuffer, | ||
| id< MTLBuffer > | indicesBuffer, | ||
| id< MTLBuffer > | weightsBuffer, | ||
| id< MTLBuffer > | duWeightsBuffer, | ||
| id< MTLBuffer > | dvWeightsBuffer, | ||
| int | start, | ||
| int | end, | ||
| MTLContext * | context | ||
| ) | const |
Dispatch the MTL compute kernel on GPU asynchronously returns false if the kernel hasn't been compiled yet.
| srcBuffer | MTLBuffer of input primvar source data |
| srcDesc | vertex buffer descriptor for the srcBuffer |
| dstBuffer | MTLBuffer of output primvar destination data |
| dstDesc | vertex buffer descriptor for the dstBuffer |
| duBuffer | MTLBuffer of output derivative wrt u |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | MTLBuffer of output derivative wrt v |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| sizesBuffer | MTLBuffer of the sizes in the stencil table |
| offsetsBuffer | MTLBuffer of the offsets in the stencil table |
| indicesBuffer | MTLBuffer of the indices in the stencil table |
| weightsBuffer | MTLBuffer of the weights in the stencil table |
| duWeightsBuffer | MTLBuffer of the du weights in the stencil table |
| dvWeightsBuffer | MTLBuffer of the dv weights in the stencil table |
| start | start index of stencil table |
| end | end index of stencil table |
| context | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
|
inlinestatic |
Generic static stencil function. This function has a same signature as other device kernels have so that it can be called transparently from OsdMesh template interface.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the dstBuffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning an MTLBuffer object of destination data |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| stencilTable | stencil table to be applied. The table must have MTLBuffer interfaces. |
| instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
| context | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 312 of file mtlComputeEvaluator.h.
|
inline |
Generic stencil function.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the dstBuffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| duuBuffer | Output buffer 2nd derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duuDesc | vertex buffer descriptor for the duuBuffer |
| duvBuffer | Output buffer 2nd derivative wrt u and v must have BindVBO() method returning an MTLBuffer object of destination data |
| duvDesc | vertex buffer descriptor for the duvBuffer |
| dvvBuffer | Output buffer 2nd derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvvDesc | vertex buffer descriptor for the dvvBuffer |
| stencilTable | stencil table to be applied. The table must have MTLBuffer interfaces. |
| context | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 504 of file mtlComputeEvaluator.h.
|
inlinestatic |
Generic static stencil function. This function has a same signature as other device kernels have so that it can be called transparently from OsdMesh template interface.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the dstBuffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| stencilTable | stencil table to be applied. The table must have MTLBuffer interfaces. |
| instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
| context | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 220 of file mtlComputeEvaluator.h.
|
inline |
Generic stencil function.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the dstBuffer |
| duBuffer | Output buffer derivative wrt u must have BindVBO() method returning an MTLBuffer object of destination data |
| duDesc | vertex buffer descriptor for the duBuffer |
| dvBuffer | Output buffer derivative wrt v must have BindVBO() method returning an MTLBuffer object of destination data |
| dvDesc | vertex buffer descriptor for the dvBuffer |
| stencilTable | stencil table to be applied. The table must have MTLBuffer interfaces. |
| context | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 430 of file mtlComputeEvaluator.h.
|
inlinestatic |
Generic static stencil function. This function has a same signature as other device kernels have so that it can be called transparently from OsdMesh template interface.
Stencil evaluations with StencilTable
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| stencilTable | stencil table to be applied. The table must have MTLBuffer interfaces. |
| instance | cached compiled instance. Clients are supposed to pre-compile an instance of this class and provide to this function. If it's null the kernel still compute by instantiating on-demand kernel although it may cause a performance problem. |
| context | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 149 of file mtlComputeEvaluator.h.
|
inline |
Generic stencil function.
| srcBuffer | Input primvar buffer. must have BindVBO() method returning an MTLBuffer object of source data |
| srcDesc | vertex buffer descriptor for the input buffer |
| dstBuffer | Output primvar buffer must have BindVBO() method returning an MTLBuffer object of destination data |
| dstDesc | vertex buffer descriptor for the output buffer |
| stencilTable | stencil table to be applied. The table must have MTLBuffer interfaces. |
| context | used to obtain the MTLDevice object and command queue to obtain command buffers from. |
Definition at line 376 of file mtlComputeEvaluator.h.
|
static |
Wait for the dispatched kernel to finish.