SYMBOLS: CUdouble CUlonglong CUulonglong ;
-: >cuda-param-type ( c-type -- c-type' )
- {
- { CUdeviceptr [ void* ] }
- { double [ CUdouble ] }
- { longlong [ CUlonglong ] }
- { ulonglong [ CUulonglong ] }
- [ ]
- } case ;
-
<<
: always-8-byte-align ( c-type -- c-type )
8 >>align 8 >>align-first ;
-longlong c-type clone always-8-byte-align \ CUlonglong typedef
-ulonglong c-type clone always-8-byte-align \ CUulonglong typedef
-double c-type clone always-8-byte-align \ CUdouble typedef
+longlong lookup-c-type clone always-8-byte-align \ CUlonglong typedef
+ulonglong lookup-c-type clone always-8-byte-align \ CUulonglong typedef
+double lookup-c-type clone always-8-byte-align \ CUdouble typedef
>>
STRUCT: CUuuid
{ bytes char[16] } ;
-C-ENUM: CUctx_flags
+ENUM: CUctx_flags
{ CU_CTX_SCHED_AUTO 0 }
{ CU_CTX_SCHED_SPIN 1 }
{ CU_CTX_SCHED_YIELD 2 }
{ CU_CTX_BLOCKING_SYNC 4 }
{ CU_CTX_MAP_HOST 8 }
{ CU_CTX_LMEM_RESIZE_TO_MAX 16 }
- { CU_CTX_FLAGS_MASK HEX: 1f } ;
+ { CU_CTX_FLAGS_MASK 0x1f } ;
-C-ENUM: CUevent_flags
+ENUM: CUevent_flags
{ CU_EVENT_DEFAULT 0 }
{ CU_EVENT_BLOCKING_SYNC 1 } ;
-C-ENUM: CUarray_format
- { CU_AD_FORMAT_UNSIGNED_INT8 HEX: 01 }
- { CU_AD_FORMAT_UNSIGNED_INT16 HEX: 02 }
- { CU_AD_FORMAT_UNSIGNED_INT32 HEX: 03 }
- { CU_AD_FORMAT_SIGNED_INT8 HEX: 08 }
- { CU_AD_FORMAT_SIGNED_INT16 HEX: 09 }
- { CU_AD_FORMAT_SIGNED_INT32 HEX: 0a }
- { CU_AD_FORMAT_HALF HEX: 10 }
- { CU_AD_FORMAT_FLOAT HEX: 20 } ;
-
-C-ENUM: CUaddress_mode
+ENUM: CUarray_format
+ { CU_AD_FORMAT_UNSIGNED_INT8 0x01 }
+ { CU_AD_FORMAT_UNSIGNED_INT16 0x02 }
+ { CU_AD_FORMAT_UNSIGNED_INT32 0x03 }
+ { CU_AD_FORMAT_SIGNED_INT8 0x08 }
+ { CU_AD_FORMAT_SIGNED_INT16 0x09 }
+ { CU_AD_FORMAT_SIGNED_INT32 0x0a }
+ { CU_AD_FORMAT_HALF 0x10 }
+ { CU_AD_FORMAT_FLOAT 0x20 } ;
+
+ENUM: CUaddress_mode
{ CU_TR_ADDRESS_MODE_WRAP 0 }
{ CU_TR_ADDRESS_MODE_CLAMP 1 }
{ CU_TR_ADDRESS_MODE_MIRROR 2 } ;
-C-ENUM: CUfilter_mode
+ENUM: CUfilter_mode
{ CU_TR_FILTER_MODE_POINT 0 }
{ CU_TR_FILTER_MODE_LINEAR 1 } ;
-C-ENUM: CUdevice_attribute
+ENUM: CUdevice_attribute
{ CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK 1 }
{ CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X 2 }
{ CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y 3 }
{ clockRate int }
{ textureAlign int } ;
-C-ENUM: CUfunction_attribute
+ENUM: CUfunction_attribute
{ CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK 0 }
{ CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES 1 }
{ CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES 2 }
{ CU_FUNC_ATTRIBUTE_BINARY_VERSION 6 }
CU_FUNC_ATTRIBUTE_MAX ;
-C-ENUM: CUfunc_cache
- { CU_FUNC_CACHE_PREFER_NONE HEX: 00 }
- { CU_FUNC_CACHE_PREFER_SHARED HEX: 01 }
- { CU_FUNC_CACHE_PREFER_L1 HEX: 02 } ;
+ENUM: CUfunc_cache
+ { CU_FUNC_CACHE_PREFER_NONE 0x00 }
+ { CU_FUNC_CACHE_PREFER_SHARED 0x01 }
+ { CU_FUNC_CACHE_PREFER_L1 0x02 } ;
-C-ENUM: CUmemorytype
- { CU_MEMORYTYPE_HOST HEX: 01 }
- { CU_MEMORYTYPE_DEVICE HEX: 02 }
- { CU_MEMORYTYPE_ARRAY HEX: 03 } ;
+ENUM: CUmemorytype
+ { CU_MEMORYTYPE_HOST 0x01 }
+ { CU_MEMORYTYPE_DEVICE 0x02 }
+ { CU_MEMORYTYPE_ARRAY 0x03 } ;
-C-ENUM: CUcomputemode
+ENUM: CUcomputemode
{ CU_COMPUTEMODE_DEFAULT 0 }
{ CU_COMPUTEMODE_EXCLUSIVE 1 }
{ CU_COMPUTEMODE_PROHIBITED 2 } ;
-C-ENUM: CUjit_option
+ENUM: CUjit_option
{ CU_JIT_MAX_REGISTERS 0 }
CU_JIT_THREADS_PER_BLOCK
CU_JIT_WALL_TIME
CU_JIT_TARGET
CU_JIT_FALLBACK_STRATEGY ;
-C-ENUM: CUjit_target
+ENUM: CUjit_target
{ CU_TARGET_COMPUTE_10 0 }
CU_TARGET_COMPUTE_11
CU_TARGET_COMPUTE_12
CU_TARGET_COMPUTE_13
CU_TARGET_COMPUTE_20 ;
-C-ENUM: CUjit_fallback
+ENUM: CUjit_fallback
{ CU_PREFER_PTX 0 }
CU_PREFER_BINARY ;
-C-ENUM: CUgraphicsRegisterFlags
+ENUM: CUgraphicsRegisterFlags
{ CU_GRAPHICS_REGISTER_FLAGS_NONE 0 } ;
-C-ENUM: CUgraphicsMapResourceFlags
- { CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE HEX: 00 }
- { CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY HEX: 01 }
- { CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD HEX: 02 } ;
+ENUM: CUgraphicsMapResourceFlags
+ { CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE 0x00 }
+ { CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY 0x01 }
+ { CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD 0x02 } ;
-C-ENUM: CUarray_cubemap_face
- { CU_CUBEMAP_FACE_POSITIVE_X HEX: 00 }
- { CU_CUBEMAP_FACE_NEGATIVE_X HEX: 01 }
- { CU_CUBEMAP_FACE_POSITIVE_Y HEX: 02 }
- { CU_CUBEMAP_FACE_NEGATIVE_Y HEX: 03 }
- { CU_CUBEMAP_FACE_POSITIVE_Z HEX: 04 }
- { CU_CUBEMAP_FACE_NEGATIVE_Z HEX: 05 } ;
+ENUM: CUarray_cubemap_face
+ { CU_CUBEMAP_FACE_POSITIVE_X 0x00 }
+ { CU_CUBEMAP_FACE_NEGATIVE_X 0x01 }
+ { CU_CUBEMAP_FACE_POSITIVE_Y 0x02 }
+ { CU_CUBEMAP_FACE_NEGATIVE_Y 0x03 }
+ { CU_CUBEMAP_FACE_POSITIVE_Z 0x04 }
+ { CU_CUBEMAP_FACE_NEGATIVE_Z 0x05 } ;
-C-ENUM: CUresult
+ENUM: CUresult
{ CUDA_SUCCESS 0 }
{ CUDA_ERROR_INVALID_VALUE 1 }
{ CUDA_ERROR_OUT_OF_MEMORY 2 }
{ CUDA_ERROR_UNKNOWN 999 } ;
-CONSTANT: CU_MEMHOSTALLOC_PORTABLE HEX: 01
-CONSTANT: CU_MEMHOSTALLOC_DEVICEMAP HEX: 02
-CONSTANT: CU_MEMHOSTALLOC_WRITECOMBINED HEX: 04
+CONSTANT: CU_MEMHOSTALLOC_PORTABLE 0x01
+CONSTANT: CU_MEMHOSTALLOC_DEVICEMAP 0x02
+CONSTANT: CU_MEMHOSTALLOC_WRITECOMBINED 0x04
STRUCT: CUDA_MEMCPY2D
{ srcXInBytes uint }
{ NumChannels uint }
{ Flags uint } ;
-CONSTANT: CUDA_ARRAY3D_2DARRAY HEX: 01
-CONSTANT: CU_TRSA_OVERRIDE_FORMAT HEX: 01
-CONSTANT: CU_TRSF_READ_AS_INTEGER HEX: 01
-CONSTANT: CU_TRSF_NORMALIZED_COORDINATES HEX: 02
+CONSTANT: CUDA_ARRAY3D_2DARRAY 0x01
+CONSTANT: CU_TRSA_OVERRIDE_FORMAT 0x01
+CONSTANT: CU_TRSF_READ_AS_INTEGER 0x01
+CONSTANT: CU_TRSF_NORMALIZED_COORDINATES 0x02
CONSTANT: CU_PARAM_TR_DEFAULT -1
FUNCTION: CUresult cuInit ( uint Flags ) ;
FUNCTION: CUresult cuGraphicsUnmapResources ( uint count, CUgraphicsResource* resources, CUstream hStream ) ;
FUNCTION: CUresult cuGetExportTable ( void** ppExportTable, CUuuid* pExportTableId ) ;
-