9# include <Metal/Metal.h>
18# define metal_printf LOG_TRACE << string_printf
22enum AppleGPUArchitecture {
34 static const vector<id<MTLDevice>> &get_usable_devices();
35 static int get_apple_gpu_core_count(id<MTLDevice> device);
36 static AppleGPUArchitecture get_apple_gpu_architecture(id<MTLDevice> device);
37 static int optimal_sort_partition_elements();
38 static string get_device_name(id<MTLDevice> device);
41void metal_gpu_address_helper_init(id<MTLDevice> device);
43uint64_t metal_gpuAddress(id<MTLBuffer> buffer);
45uint64_t metal_gpuResourceID(id<MTLAccelerationStructure> accel_struct);
46uint64_t metal_gpuResourceID(id<MTLIntersectionFunctionTable> ift);
unsigned long long int uint64_t
#define CCL_NAMESPACE_END
TEX_TEMPLATE DataVec texture(T, FltCoord, float=0.0f) RET