#include <math.h>Go to the source code of this file.
Namespaces | |
| namespace | Nv |
| namespace | Nv::Blast |
Defines | |
| #define | NvBlastAllocaAligned16(x) (void*)(((uintptr_t)PxAlloca(x + 0xF) + 0xF) & ~(uintptr_t)0xF) |
| #define | NvBlastBlockArrayData(_dataType, _name, _accessor, _sizeExpr) |
| #define | NvBlastBlockData(_dataType, _name, _accessor) |
| #define | NvBlastCreateOffsetAlign16(_name, _size) |
| #define | NvBlastCreateOffsetEndAlign16() align16(_lastOffset + _lastSize) |
| #define | NvBlastCreateOffsetStart(_baseOffset) |
Functions | |
| template<typename T > | |
| NV_INLINE T | Nv::Blast::align16 (T value) |
| template<typename T > | |
| NV_INLINE T | Nv::Blast::pointerOffset (const void *p, ptrdiff_t offset) |
| template<typename T > | |
| NV_INLINE T | Nv::Blast::pointerOffset (void *p, ptrdiff_t offset) |
| #define NvBlastAllocaAligned16 | ( | x | ) | (void*)(((uintptr_t)PxAlloca(x + 0xF) + 0xF) & ~(uintptr_t)0xF) |
Stack allocation
| #define NvBlastBlockArrayData | ( | _dataType, | |||
| _name, | |||||
| _accessor, | |||||
| _sizeExpr | ) |
Value:
_dataType* _accessor() const \
{ \
return (_dataType*)((uintptr_t)this + _name); \
} \
uint32_t _accessor##ArraySize() const \
{ \
return _sizeExpr; \
} \
uint32_t _name
| #define NvBlastBlockData | ( | _dataType, | |||
| _name, | |||||
| _accessor | ) |
Value:
_dataType* _accessor() const \
{ \
return (_dataType*)((uintptr_t)this + _name); \
} \
uint32_t _name
| #define NvBlastCreateOffsetAlign16 | ( | _name, | |||
| _size | ) |
Value:
_name = align16(_lastOffset + _lastSize); \ _lastOffset = _name; \ _lastSize = _size
| #define NvBlastCreateOffsetEndAlign16 | ( | ) | align16(_lastOffset + _lastSize) |
End offset generation with this. It evaluates to the (16-byte aligned) total size of the data block.
| #define NvBlastCreateOffsetStart | ( | _baseOffset | ) |
Value:
size_t _lastOffset = _baseOffset; \ size_t _lastSize = 0