| // GENERATED FILE - DO NOT EDIT. |
| // Generated by gen_packed_gl_enums.py using data from packed_cl_enums.json. |
| // |
| // Copyright 2017 The ANGLE Project Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| // PackedCLEnums_autogen.cpp: |
| // Implements ANGLE-specific enums classes for CLenums and functions operating |
| // on them. |
| |
| #include "common/PackedCLEnums_autogen.h" |
| #include "common/debug.h" |
| |
| namespace cl |
| { |
| |
| template <> |
| AddressingMode FromCLenum<AddressingMode>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_ADDRESS_NONE: |
| return AddressingMode::None; |
| case CL_ADDRESS_CLAMP_TO_EDGE: |
| return AddressingMode::ClampToEdge; |
| case CL_ADDRESS_CLAMP: |
| return AddressingMode::Clamp; |
| case CL_ADDRESS_REPEAT: |
| return AddressingMode::Repeat; |
| case CL_ADDRESS_MIRRORED_REPEAT: |
| return AddressingMode::MirroredRepeat; |
| default: |
| return AddressingMode::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(AddressingMode from) |
| { |
| switch (from) |
| { |
| case AddressingMode::None: |
| return CL_ADDRESS_NONE; |
| case AddressingMode::ClampToEdge: |
| return CL_ADDRESS_CLAMP_TO_EDGE; |
| case AddressingMode::Clamp: |
| return CL_ADDRESS_CLAMP; |
| case AddressingMode::Repeat: |
| return CL_ADDRESS_REPEAT; |
| case AddressingMode::MirroredRepeat: |
| return CL_ADDRESS_MIRRORED_REPEAT; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, AddressingMode value) |
| { |
| switch (value) |
| { |
| case AddressingMode::None: |
| os << "CL_ADDRESS_NONE"; |
| break; |
| case AddressingMode::ClampToEdge: |
| os << "CL_ADDRESS_CLAMP_TO_EDGE"; |
| break; |
| case AddressingMode::Clamp: |
| os << "CL_ADDRESS_CLAMP"; |
| break; |
| case AddressingMode::Repeat: |
| os << "CL_ADDRESS_REPEAT"; |
| break; |
| case AddressingMode::MirroredRepeat: |
| os << "CL_ADDRESS_MIRRORED_REPEAT"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| CommandQueueInfo FromCLenum<CommandQueueInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_QUEUE_CONTEXT: |
| return CommandQueueInfo::Context; |
| case CL_QUEUE_DEVICE: |
| return CommandQueueInfo::Device; |
| case CL_QUEUE_REFERENCE_COUNT: |
| return CommandQueueInfo::ReferenceCount; |
| case CL_QUEUE_PROPERTIES: |
| return CommandQueueInfo::Properties; |
| case CL_QUEUE_SIZE: |
| return CommandQueueInfo::Size; |
| case CL_QUEUE_DEVICE_DEFAULT: |
| return CommandQueueInfo::DeviceDefault; |
| case CL_QUEUE_PROPERTIES_ARRAY: |
| return CommandQueueInfo::PropertiesArray; |
| default: |
| return CommandQueueInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(CommandQueueInfo from) |
| { |
| switch (from) |
| { |
| case CommandQueueInfo::Context: |
| return CL_QUEUE_CONTEXT; |
| case CommandQueueInfo::Device: |
| return CL_QUEUE_DEVICE; |
| case CommandQueueInfo::ReferenceCount: |
| return CL_QUEUE_REFERENCE_COUNT; |
| case CommandQueueInfo::Properties: |
| return CL_QUEUE_PROPERTIES; |
| case CommandQueueInfo::Size: |
| return CL_QUEUE_SIZE; |
| case CommandQueueInfo::DeviceDefault: |
| return CL_QUEUE_DEVICE_DEFAULT; |
| case CommandQueueInfo::PropertiesArray: |
| return CL_QUEUE_PROPERTIES_ARRAY; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, CommandQueueInfo value) |
| { |
| switch (value) |
| { |
| case CommandQueueInfo::Context: |
| os << "CL_QUEUE_CONTEXT"; |
| break; |
| case CommandQueueInfo::Device: |
| os << "CL_QUEUE_DEVICE"; |
| break; |
| case CommandQueueInfo::ReferenceCount: |
| os << "CL_QUEUE_REFERENCE_COUNT"; |
| break; |
| case CommandQueueInfo::Properties: |
| os << "CL_QUEUE_PROPERTIES"; |
| break; |
| case CommandQueueInfo::Size: |
| os << "CL_QUEUE_SIZE"; |
| break; |
| case CommandQueueInfo::DeviceDefault: |
| os << "CL_QUEUE_DEVICE_DEFAULT"; |
| break; |
| case CommandQueueInfo::PropertiesArray: |
| os << "CL_QUEUE_PROPERTIES_ARRAY"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| ContextInfo FromCLenum<ContextInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_CONTEXT_REFERENCE_COUNT: |
| return ContextInfo::ReferenceCount; |
| case CL_CONTEXT_DEVICES: |
| return ContextInfo::Devices; |
| case CL_CONTEXT_PROPERTIES: |
| return ContextInfo::Properties; |
| case CL_CONTEXT_NUM_DEVICES: |
| return ContextInfo::NumDevices; |
| default: |
| return ContextInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(ContextInfo from) |
| { |
| switch (from) |
| { |
| case ContextInfo::ReferenceCount: |
| return CL_CONTEXT_REFERENCE_COUNT; |
| case ContextInfo::Devices: |
| return CL_CONTEXT_DEVICES; |
| case ContextInfo::Properties: |
| return CL_CONTEXT_PROPERTIES; |
| case ContextInfo::NumDevices: |
| return CL_CONTEXT_NUM_DEVICES; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, ContextInfo value) |
| { |
| switch (value) |
| { |
| case ContextInfo::ReferenceCount: |
| os << "CL_CONTEXT_REFERENCE_COUNT"; |
| break; |
| case ContextInfo::Devices: |
| os << "CL_CONTEXT_DEVICES"; |
| break; |
| case ContextInfo::Properties: |
| os << "CL_CONTEXT_PROPERTIES"; |
| break; |
| case ContextInfo::NumDevices: |
| os << "CL_CONTEXT_NUM_DEVICES"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| DeviceInfo FromCLenum<DeviceInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_DEVICE_TYPE: |
| return DeviceInfo::Type; |
| case CL_DEVICE_VENDOR_ID: |
| return DeviceInfo::VendorID; |
| case CL_DEVICE_MAX_COMPUTE_UNITS: |
| return DeviceInfo::MaxComputeUnits; |
| case CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS: |
| return DeviceInfo::MaxWorkItemDimensions; |
| case CL_DEVICE_MAX_WORK_GROUP_SIZE: |
| return DeviceInfo::MaxWorkGroupSize; |
| case CL_DEVICE_MAX_WORK_ITEM_SIZES: |
| return DeviceInfo::MaxWorkItemSizes; |
| case CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR: |
| return DeviceInfo::PreferredVectorWidthChar; |
| case CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT: |
| return DeviceInfo::PreferredVectorWidthShort; |
| case CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT: |
| return DeviceInfo::PreferredVectorWidthInt; |
| case CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG: |
| return DeviceInfo::PreferredVectorWidthLong; |
| case CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT: |
| return DeviceInfo::PreferredVectorWidthFloat; |
| case CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE: |
| return DeviceInfo::PreferredVectorWidthDouble; |
| case CL_DEVICE_MAX_CLOCK_FREQUENCY: |
| return DeviceInfo::MaxClockFrequency; |
| case CL_DEVICE_ADDRESS_BITS: |
| return DeviceInfo::AddressBits; |
| case CL_DEVICE_MAX_READ_IMAGE_ARGS: |
| return DeviceInfo::MaxReadImageArgs; |
| case CL_DEVICE_MAX_WRITE_IMAGE_ARGS: |
| return DeviceInfo::MaxWriteImageArgs; |
| case CL_DEVICE_MAX_MEM_ALLOC_SIZE: |
| return DeviceInfo::MaxMemAllocSize; |
| case CL_DEVICE_IMAGE2D_MAX_WIDTH: |
| return DeviceInfo::Image2D_MaxWidth; |
| case CL_DEVICE_IMAGE2D_MAX_HEIGHT: |
| return DeviceInfo::Image2D_MaxHeight; |
| case CL_DEVICE_IMAGE3D_MAX_WIDTH: |
| return DeviceInfo::Image3D_MaxWidth; |
| case CL_DEVICE_IMAGE3D_MAX_HEIGHT: |
| return DeviceInfo::Image3D_MaxHeight; |
| case CL_DEVICE_IMAGE3D_MAX_DEPTH: |
| return DeviceInfo::Image3D_MaxDepth; |
| case CL_DEVICE_IMAGE_SUPPORT: |
| return DeviceInfo::ImageSupport; |
| case CL_DEVICE_MAX_PARAMETER_SIZE: |
| return DeviceInfo::MaxParameterSize; |
| case CL_DEVICE_MAX_SAMPLERS: |
| return DeviceInfo::MaxSamplers; |
| case CL_DEVICE_MEM_BASE_ADDR_ALIGN: |
| return DeviceInfo::MemBaseAddrAlign; |
| case CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE: |
| return DeviceInfo::MinDataTypeAlignSize; |
| case CL_DEVICE_SINGLE_FP_CONFIG: |
| return DeviceInfo::SingleFpConfig; |
| case CL_DEVICE_GLOBAL_MEM_CACHE_TYPE: |
| return DeviceInfo::GlobalMemCacheType; |
| case CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE: |
| return DeviceInfo::GlobalMemCachelineSize; |
| case CL_DEVICE_GLOBAL_MEM_CACHE_SIZE: |
| return DeviceInfo::GlobalMemCacheSize; |
| case CL_DEVICE_GLOBAL_MEM_SIZE: |
| return DeviceInfo::GlobalMemSize; |
| case CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: |
| return DeviceInfo::MaxConstantBufferSize; |
| case CL_DEVICE_MAX_CONSTANT_ARGS: |
| return DeviceInfo::MaxConstantArgs; |
| case CL_DEVICE_LOCAL_MEM_TYPE: |
| return DeviceInfo::LocalMemType; |
| case CL_DEVICE_LOCAL_MEM_SIZE: |
| return DeviceInfo::LocalMemSize; |
| case CL_DEVICE_ERROR_CORRECTION_SUPPORT: |
| return DeviceInfo::ErrorCorrectionSupport; |
| case CL_DEVICE_PROFILING_TIMER_RESOLUTION: |
| return DeviceInfo::ProfilingTimerResolution; |
| case CL_DEVICE_ENDIAN_LITTLE: |
| return DeviceInfo::EndianLittle; |
| case CL_DEVICE_AVAILABLE: |
| return DeviceInfo::Available; |
| case CL_DEVICE_COMPILER_AVAILABLE: |
| return DeviceInfo::CompilerAvailable; |
| case CL_DEVICE_EXECUTION_CAPABILITIES: |
| return DeviceInfo::ExecutionCapabilities; |
| case CL_DEVICE_QUEUE_ON_HOST_PROPERTIES: |
| return DeviceInfo::QueueOnHostProperties; |
| case CL_DEVICE_NAME: |
| return DeviceInfo::Name; |
| case CL_DEVICE_VENDOR: |
| return DeviceInfo::Vendor; |
| case CL_DRIVER_VERSION: |
| return DeviceInfo::DriverVersion; |
| case CL_DEVICE_PROFILE: |
| return DeviceInfo::Profile; |
| case CL_DEVICE_VERSION: |
| return DeviceInfo::Version; |
| case CL_DEVICE_EXTENSIONS: |
| return DeviceInfo::Extensions; |
| case CL_DEVICE_PLATFORM: |
| return DeviceInfo::Platform; |
| case CL_DEVICE_DOUBLE_FP_CONFIG: |
| return DeviceInfo::DoubleFpConfig; |
| case CL_DEVICE_HALF_FP_CONFIG: |
| return DeviceInfo::HalfFpConfig; |
| case CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF: |
| return DeviceInfo::PreferredVectorWidthHalf; |
| case CL_DEVICE_HOST_UNIFIED_MEMORY: |
| return DeviceInfo::HostUnifiedMemory; |
| case CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR: |
| return DeviceInfo::NativeVectorWidthChar; |
| case CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT: |
| return DeviceInfo::NativeVectorWidthShort; |
| case CL_DEVICE_NATIVE_VECTOR_WIDTH_INT: |
| return DeviceInfo::NativeVectorWidthInt; |
| case CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG: |
| return DeviceInfo::NativeVectorWidthLong; |
| case CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT: |
| return DeviceInfo::NativeVectorWidthFloat; |
| case CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE: |
| return DeviceInfo::NativeVectorWidthDouble; |
| case CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF: |
| return DeviceInfo::NativeVectorWidthHalf; |
| case CL_DEVICE_OPENCL_C_VERSION: |
| return DeviceInfo::OpenCL_C_Version; |
| case CL_DEVICE_LINKER_AVAILABLE: |
| return DeviceInfo::LinkerAvailable; |
| case CL_DEVICE_BUILT_IN_KERNELS: |
| return DeviceInfo::BuiltInKernels; |
| case CL_DEVICE_IMAGE_MAX_BUFFER_SIZE: |
| return DeviceInfo::ImageMaxBufferSize; |
| case CL_DEVICE_IMAGE_MAX_ARRAY_SIZE: |
| return DeviceInfo::ImageMaxArraySize; |
| case CL_DEVICE_PARENT_DEVICE: |
| return DeviceInfo::ParentDevice; |
| case CL_DEVICE_PARTITION_MAX_SUB_DEVICES: |
| return DeviceInfo::PartitionMaxSubDevices; |
| case CL_DEVICE_PARTITION_PROPERTIES: |
| return DeviceInfo::PartitionProperties; |
| case CL_DEVICE_PARTITION_AFFINITY_DOMAIN: |
| return DeviceInfo::PartitionAffinityDomain; |
| case CL_DEVICE_PARTITION_TYPE: |
| return DeviceInfo::PartitionType; |
| case CL_DEVICE_REFERENCE_COUNT: |
| return DeviceInfo::ReferenceCount; |
| case CL_DEVICE_PREFERRED_INTEROP_USER_SYNC: |
| return DeviceInfo::PreferredInteropUserSync; |
| case CL_DEVICE_PRINTF_BUFFER_SIZE: |
| return DeviceInfo::PrintfBufferSize; |
| case CL_DEVICE_IMAGE_PITCH_ALIGNMENT: |
| return DeviceInfo::ImagePitchAlignment; |
| case CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT: |
| return DeviceInfo::ImageBaseAddressAlignment; |
| case CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS: |
| return DeviceInfo::MaxReadWriteImageArgs; |
| case CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE: |
| return DeviceInfo::MaxGlobalVariableSize; |
| case CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES: |
| return DeviceInfo::QueueOnDeviceProperties; |
| case CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE: |
| return DeviceInfo::QueueOnDevicePreferredSize; |
| case CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE: |
| return DeviceInfo::QueueOnDeviceMaxSize; |
| case CL_DEVICE_MAX_ON_DEVICE_QUEUES: |
| return DeviceInfo::MaxOnDeviceQueues; |
| case CL_DEVICE_MAX_ON_DEVICE_EVENTS: |
| return DeviceInfo::MaxOnDeviceEvents; |
| case CL_DEVICE_SVM_CAPABILITIES: |
| return DeviceInfo::SVM_Capabilities; |
| case CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE: |
| return DeviceInfo::GlobalVariablePreferredTotalSize; |
| case CL_DEVICE_MAX_PIPE_ARGS: |
| return DeviceInfo::MaxPipeArgs; |
| case CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS: |
| return DeviceInfo::PipeMaxActiveReservations; |
| case CL_DEVICE_PIPE_MAX_PACKET_SIZE: |
| return DeviceInfo::PipeMaxPacketSize; |
| case CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT: |
| return DeviceInfo::PreferredPlatformAtomicAlignment; |
| case CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT: |
| return DeviceInfo::PreferredGlobalAtomicAlignment; |
| case CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT: |
| return DeviceInfo::PreferredLocalAtomicAlignment; |
| case CL_DEVICE_IL_VERSION: |
| return DeviceInfo::IL_Version; |
| case CL_DEVICE_MAX_NUM_SUB_GROUPS: |
| return DeviceInfo::MaxNumSubGroups; |
| case CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS: |
| return DeviceInfo::SubGroupIndependentForwardProgress; |
| case CL_DEVICE_NUMERIC_VERSION: |
| return DeviceInfo::NumericVersion; |
| case CL_DEVICE_EXTENSIONS_WITH_VERSION: |
| return DeviceInfo::ExtensionsWithVersion; |
| case CL_DEVICE_ILS_WITH_VERSION: |
| return DeviceInfo::ILsWithVersion; |
| case CL_DEVICE_BUILT_IN_KERNELS_WITH_VERSION: |
| return DeviceInfo::BuiltInKernelsWithVersion; |
| case CL_DEVICE_ATOMIC_MEMORY_CAPABILITIES: |
| return DeviceInfo::AtomicMemoryCapabilities; |
| case CL_DEVICE_ATOMIC_FENCE_CAPABILITIES: |
| return DeviceInfo::AtomicFenceCapabilities; |
| case CL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORT: |
| return DeviceInfo::NonUniformWorkGroupSupport; |
| case CL_DEVICE_OPENCL_C_ALL_VERSIONS: |
| return DeviceInfo::OpenCL_C_AllVersions; |
| case CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE: |
| return DeviceInfo::PreferredWorkGroupSizeMultiple; |
| case CL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORT: |
| return DeviceInfo::WorkGroupCollectiveFunctionsSupport; |
| case CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT: |
| return DeviceInfo::GenericAddressSpaceSupport; |
| case CL_DEVICE_OPENCL_C_FEATURES: |
| return DeviceInfo::OpenCL_C_Features; |
| case CL_DEVICE_DEVICE_ENQUEUE_CAPABILITIES: |
| return DeviceInfo::DeviceEnqueueCapabilities; |
| case CL_DEVICE_PIPE_SUPPORT: |
| return DeviceInfo::PipeSupport; |
| case CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED: |
| return DeviceInfo::LatestConformanceVersionPassed; |
| default: |
| return DeviceInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(DeviceInfo from) |
| { |
| switch (from) |
| { |
| case DeviceInfo::Type: |
| return CL_DEVICE_TYPE; |
| case DeviceInfo::VendorID: |
| return CL_DEVICE_VENDOR_ID; |
| case DeviceInfo::MaxComputeUnits: |
| return CL_DEVICE_MAX_COMPUTE_UNITS; |
| case DeviceInfo::MaxWorkItemDimensions: |
| return CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS; |
| case DeviceInfo::MaxWorkGroupSize: |
| return CL_DEVICE_MAX_WORK_GROUP_SIZE; |
| case DeviceInfo::MaxWorkItemSizes: |
| return CL_DEVICE_MAX_WORK_ITEM_SIZES; |
| case DeviceInfo::PreferredVectorWidthChar: |
| return CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR; |
| case DeviceInfo::PreferredVectorWidthShort: |
| return CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT; |
| case DeviceInfo::PreferredVectorWidthInt: |
| return CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT; |
| case DeviceInfo::PreferredVectorWidthLong: |
| return CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG; |
| case DeviceInfo::PreferredVectorWidthFloat: |
| return CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT; |
| case DeviceInfo::PreferredVectorWidthDouble: |
| return CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE; |
| case DeviceInfo::MaxClockFrequency: |
| return CL_DEVICE_MAX_CLOCK_FREQUENCY; |
| case DeviceInfo::AddressBits: |
| return CL_DEVICE_ADDRESS_BITS; |
| case DeviceInfo::MaxReadImageArgs: |
| return CL_DEVICE_MAX_READ_IMAGE_ARGS; |
| case DeviceInfo::MaxWriteImageArgs: |
| return CL_DEVICE_MAX_WRITE_IMAGE_ARGS; |
| case DeviceInfo::MaxMemAllocSize: |
| return CL_DEVICE_MAX_MEM_ALLOC_SIZE; |
| case DeviceInfo::Image2D_MaxWidth: |
| return CL_DEVICE_IMAGE2D_MAX_WIDTH; |
| case DeviceInfo::Image2D_MaxHeight: |
| return CL_DEVICE_IMAGE2D_MAX_HEIGHT; |
| case DeviceInfo::Image3D_MaxWidth: |
| return CL_DEVICE_IMAGE3D_MAX_WIDTH; |
| case DeviceInfo::Image3D_MaxHeight: |
| return CL_DEVICE_IMAGE3D_MAX_HEIGHT; |
| case DeviceInfo::Image3D_MaxDepth: |
| return CL_DEVICE_IMAGE3D_MAX_DEPTH; |
| case DeviceInfo::ImageSupport: |
| return CL_DEVICE_IMAGE_SUPPORT; |
| case DeviceInfo::MaxParameterSize: |
| return CL_DEVICE_MAX_PARAMETER_SIZE; |
| case DeviceInfo::MaxSamplers: |
| return CL_DEVICE_MAX_SAMPLERS; |
| case DeviceInfo::MemBaseAddrAlign: |
| return CL_DEVICE_MEM_BASE_ADDR_ALIGN; |
| case DeviceInfo::MinDataTypeAlignSize: |
| return CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE; |
| case DeviceInfo::SingleFpConfig: |
| return CL_DEVICE_SINGLE_FP_CONFIG; |
| case DeviceInfo::GlobalMemCacheType: |
| return CL_DEVICE_GLOBAL_MEM_CACHE_TYPE; |
| case DeviceInfo::GlobalMemCachelineSize: |
| return CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE; |
| case DeviceInfo::GlobalMemCacheSize: |
| return CL_DEVICE_GLOBAL_MEM_CACHE_SIZE; |
| case DeviceInfo::GlobalMemSize: |
| return CL_DEVICE_GLOBAL_MEM_SIZE; |
| case DeviceInfo::MaxConstantBufferSize: |
| return CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE; |
| case DeviceInfo::MaxConstantArgs: |
| return CL_DEVICE_MAX_CONSTANT_ARGS; |
| case DeviceInfo::LocalMemType: |
| return CL_DEVICE_LOCAL_MEM_TYPE; |
| case DeviceInfo::LocalMemSize: |
| return CL_DEVICE_LOCAL_MEM_SIZE; |
| case DeviceInfo::ErrorCorrectionSupport: |
| return CL_DEVICE_ERROR_CORRECTION_SUPPORT; |
| case DeviceInfo::ProfilingTimerResolution: |
| return CL_DEVICE_PROFILING_TIMER_RESOLUTION; |
| case DeviceInfo::EndianLittle: |
| return CL_DEVICE_ENDIAN_LITTLE; |
| case DeviceInfo::Available: |
| return CL_DEVICE_AVAILABLE; |
| case DeviceInfo::CompilerAvailable: |
| return CL_DEVICE_COMPILER_AVAILABLE; |
| case DeviceInfo::ExecutionCapabilities: |
| return CL_DEVICE_EXECUTION_CAPABILITIES; |
| case DeviceInfo::QueueOnHostProperties: |
| return CL_DEVICE_QUEUE_ON_HOST_PROPERTIES; |
| case DeviceInfo::Name: |
| return CL_DEVICE_NAME; |
| case DeviceInfo::Vendor: |
| return CL_DEVICE_VENDOR; |
| case DeviceInfo::DriverVersion: |
| return CL_DRIVER_VERSION; |
| case DeviceInfo::Profile: |
| return CL_DEVICE_PROFILE; |
| case DeviceInfo::Version: |
| return CL_DEVICE_VERSION; |
| case DeviceInfo::Extensions: |
| return CL_DEVICE_EXTENSIONS; |
| case DeviceInfo::Platform: |
| return CL_DEVICE_PLATFORM; |
| case DeviceInfo::DoubleFpConfig: |
| return CL_DEVICE_DOUBLE_FP_CONFIG; |
| case DeviceInfo::HalfFpConfig: |
| return CL_DEVICE_HALF_FP_CONFIG; |
| case DeviceInfo::PreferredVectorWidthHalf: |
| return CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF; |
| case DeviceInfo::HostUnifiedMemory: |
| return CL_DEVICE_HOST_UNIFIED_MEMORY; |
| case DeviceInfo::NativeVectorWidthChar: |
| return CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR; |
| case DeviceInfo::NativeVectorWidthShort: |
| return CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT; |
| case DeviceInfo::NativeVectorWidthInt: |
| return CL_DEVICE_NATIVE_VECTOR_WIDTH_INT; |
| case DeviceInfo::NativeVectorWidthLong: |
| return CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG; |
| case DeviceInfo::NativeVectorWidthFloat: |
| return CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT; |
| case DeviceInfo::NativeVectorWidthDouble: |
| return CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE; |
| case DeviceInfo::NativeVectorWidthHalf: |
| return CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF; |
| case DeviceInfo::OpenCL_C_Version: |
| return CL_DEVICE_OPENCL_C_VERSION; |
| case DeviceInfo::LinkerAvailable: |
| return CL_DEVICE_LINKER_AVAILABLE; |
| case DeviceInfo::BuiltInKernels: |
| return CL_DEVICE_BUILT_IN_KERNELS; |
| case DeviceInfo::ImageMaxBufferSize: |
| return CL_DEVICE_IMAGE_MAX_BUFFER_SIZE; |
| case DeviceInfo::ImageMaxArraySize: |
| return CL_DEVICE_IMAGE_MAX_ARRAY_SIZE; |
| case DeviceInfo::ParentDevice: |
| return CL_DEVICE_PARENT_DEVICE; |
| case DeviceInfo::PartitionMaxSubDevices: |
| return CL_DEVICE_PARTITION_MAX_SUB_DEVICES; |
| case DeviceInfo::PartitionProperties: |
| return CL_DEVICE_PARTITION_PROPERTIES; |
| case DeviceInfo::PartitionAffinityDomain: |
| return CL_DEVICE_PARTITION_AFFINITY_DOMAIN; |
| case DeviceInfo::PartitionType: |
| return CL_DEVICE_PARTITION_TYPE; |
| case DeviceInfo::ReferenceCount: |
| return CL_DEVICE_REFERENCE_COUNT; |
| case DeviceInfo::PreferredInteropUserSync: |
| return CL_DEVICE_PREFERRED_INTEROP_USER_SYNC; |
| case DeviceInfo::PrintfBufferSize: |
| return CL_DEVICE_PRINTF_BUFFER_SIZE; |
| case DeviceInfo::ImagePitchAlignment: |
| return CL_DEVICE_IMAGE_PITCH_ALIGNMENT; |
| case DeviceInfo::ImageBaseAddressAlignment: |
| return CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT; |
| case DeviceInfo::MaxReadWriteImageArgs: |
| return CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS; |
| case DeviceInfo::MaxGlobalVariableSize: |
| return CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE; |
| case DeviceInfo::QueueOnDeviceProperties: |
| return CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES; |
| case DeviceInfo::QueueOnDevicePreferredSize: |
| return CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE; |
| case DeviceInfo::QueueOnDeviceMaxSize: |
| return CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE; |
| case DeviceInfo::MaxOnDeviceQueues: |
| return CL_DEVICE_MAX_ON_DEVICE_QUEUES; |
| case DeviceInfo::MaxOnDeviceEvents: |
| return CL_DEVICE_MAX_ON_DEVICE_EVENTS; |
| case DeviceInfo::SVM_Capabilities: |
| return CL_DEVICE_SVM_CAPABILITIES; |
| case DeviceInfo::GlobalVariablePreferredTotalSize: |
| return CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE; |
| case DeviceInfo::MaxPipeArgs: |
| return CL_DEVICE_MAX_PIPE_ARGS; |
| case DeviceInfo::PipeMaxActiveReservations: |
| return CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS; |
| case DeviceInfo::PipeMaxPacketSize: |
| return CL_DEVICE_PIPE_MAX_PACKET_SIZE; |
| case DeviceInfo::PreferredPlatformAtomicAlignment: |
| return CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT; |
| case DeviceInfo::PreferredGlobalAtomicAlignment: |
| return CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT; |
| case DeviceInfo::PreferredLocalAtomicAlignment: |
| return CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT; |
| case DeviceInfo::IL_Version: |
| return CL_DEVICE_IL_VERSION; |
| case DeviceInfo::MaxNumSubGroups: |
| return CL_DEVICE_MAX_NUM_SUB_GROUPS; |
| case DeviceInfo::SubGroupIndependentForwardProgress: |
| return CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS; |
| case DeviceInfo::NumericVersion: |
| return CL_DEVICE_NUMERIC_VERSION; |
| case DeviceInfo::ExtensionsWithVersion: |
| return CL_DEVICE_EXTENSIONS_WITH_VERSION; |
| case DeviceInfo::ILsWithVersion: |
| return CL_DEVICE_ILS_WITH_VERSION; |
| case DeviceInfo::BuiltInKernelsWithVersion: |
| return CL_DEVICE_BUILT_IN_KERNELS_WITH_VERSION; |
| case DeviceInfo::AtomicMemoryCapabilities: |
| return CL_DEVICE_ATOMIC_MEMORY_CAPABILITIES; |
| case DeviceInfo::AtomicFenceCapabilities: |
| return CL_DEVICE_ATOMIC_FENCE_CAPABILITIES; |
| case DeviceInfo::NonUniformWorkGroupSupport: |
| return CL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORT; |
| case DeviceInfo::OpenCL_C_AllVersions: |
| return CL_DEVICE_OPENCL_C_ALL_VERSIONS; |
| case DeviceInfo::PreferredWorkGroupSizeMultiple: |
| return CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE; |
| case DeviceInfo::WorkGroupCollectiveFunctionsSupport: |
| return CL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORT; |
| case DeviceInfo::GenericAddressSpaceSupport: |
| return CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT; |
| case DeviceInfo::OpenCL_C_Features: |
| return CL_DEVICE_OPENCL_C_FEATURES; |
| case DeviceInfo::DeviceEnqueueCapabilities: |
| return CL_DEVICE_DEVICE_ENQUEUE_CAPABILITIES; |
| case DeviceInfo::PipeSupport: |
| return CL_DEVICE_PIPE_SUPPORT; |
| case DeviceInfo::LatestConformanceVersionPassed: |
| return CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, DeviceInfo value) |
| { |
| switch (value) |
| { |
| case DeviceInfo::Type: |
| os << "CL_DEVICE_TYPE"; |
| break; |
| case DeviceInfo::VendorID: |
| os << "CL_DEVICE_VENDOR_ID"; |
| break; |
| case DeviceInfo::MaxComputeUnits: |
| os << "CL_DEVICE_MAX_COMPUTE_UNITS"; |
| break; |
| case DeviceInfo::MaxWorkItemDimensions: |
| os << "CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS"; |
| break; |
| case DeviceInfo::MaxWorkGroupSize: |
| os << "CL_DEVICE_MAX_WORK_GROUP_SIZE"; |
| break; |
| case DeviceInfo::MaxWorkItemSizes: |
| os << "CL_DEVICE_MAX_WORK_ITEM_SIZES"; |
| break; |
| case DeviceInfo::PreferredVectorWidthChar: |
| os << "CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR"; |
| break; |
| case DeviceInfo::PreferredVectorWidthShort: |
| os << "CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT"; |
| break; |
| case DeviceInfo::PreferredVectorWidthInt: |
| os << "CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT"; |
| break; |
| case DeviceInfo::PreferredVectorWidthLong: |
| os << "CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG"; |
| break; |
| case DeviceInfo::PreferredVectorWidthFloat: |
| os << "CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT"; |
| break; |
| case DeviceInfo::PreferredVectorWidthDouble: |
| os << "CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE"; |
| break; |
| case DeviceInfo::MaxClockFrequency: |
| os << "CL_DEVICE_MAX_CLOCK_FREQUENCY"; |
| break; |
| case DeviceInfo::AddressBits: |
| os << "CL_DEVICE_ADDRESS_BITS"; |
| break; |
| case DeviceInfo::MaxReadImageArgs: |
| os << "CL_DEVICE_MAX_READ_IMAGE_ARGS"; |
| break; |
| case DeviceInfo::MaxWriteImageArgs: |
| os << "CL_DEVICE_MAX_WRITE_IMAGE_ARGS"; |
| break; |
| case DeviceInfo::MaxMemAllocSize: |
| os << "CL_DEVICE_MAX_MEM_ALLOC_SIZE"; |
| break; |
| case DeviceInfo::Image2D_MaxWidth: |
| os << "CL_DEVICE_IMAGE2D_MAX_WIDTH"; |
| break; |
| case DeviceInfo::Image2D_MaxHeight: |
| os << "CL_DEVICE_IMAGE2D_MAX_HEIGHT"; |
| break; |
| case DeviceInfo::Image3D_MaxWidth: |
| os << "CL_DEVICE_IMAGE3D_MAX_WIDTH"; |
| break; |
| case DeviceInfo::Image3D_MaxHeight: |
| os << "CL_DEVICE_IMAGE3D_MAX_HEIGHT"; |
| break; |
| case DeviceInfo::Image3D_MaxDepth: |
| os << "CL_DEVICE_IMAGE3D_MAX_DEPTH"; |
| break; |
| case DeviceInfo::ImageSupport: |
| os << "CL_DEVICE_IMAGE_SUPPORT"; |
| break; |
| case DeviceInfo::MaxParameterSize: |
| os << "CL_DEVICE_MAX_PARAMETER_SIZE"; |
| break; |
| case DeviceInfo::MaxSamplers: |
| os << "CL_DEVICE_MAX_SAMPLERS"; |
| break; |
| case DeviceInfo::MemBaseAddrAlign: |
| os << "CL_DEVICE_MEM_BASE_ADDR_ALIGN"; |
| break; |
| case DeviceInfo::MinDataTypeAlignSize: |
| os << "CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE"; |
| break; |
| case DeviceInfo::SingleFpConfig: |
| os << "CL_DEVICE_SINGLE_FP_CONFIG"; |
| break; |
| case DeviceInfo::GlobalMemCacheType: |
| os << "CL_DEVICE_GLOBAL_MEM_CACHE_TYPE"; |
| break; |
| case DeviceInfo::GlobalMemCachelineSize: |
| os << "CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE"; |
| break; |
| case DeviceInfo::GlobalMemCacheSize: |
| os << "CL_DEVICE_GLOBAL_MEM_CACHE_SIZE"; |
| break; |
| case DeviceInfo::GlobalMemSize: |
| os << "CL_DEVICE_GLOBAL_MEM_SIZE"; |
| break; |
| case DeviceInfo::MaxConstantBufferSize: |
| os << "CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE"; |
| break; |
| case DeviceInfo::MaxConstantArgs: |
| os << "CL_DEVICE_MAX_CONSTANT_ARGS"; |
| break; |
| case DeviceInfo::LocalMemType: |
| os << "CL_DEVICE_LOCAL_MEM_TYPE"; |
| break; |
| case DeviceInfo::LocalMemSize: |
| os << "CL_DEVICE_LOCAL_MEM_SIZE"; |
| break; |
| case DeviceInfo::ErrorCorrectionSupport: |
| os << "CL_DEVICE_ERROR_CORRECTION_SUPPORT"; |
| break; |
| case DeviceInfo::ProfilingTimerResolution: |
| os << "CL_DEVICE_PROFILING_TIMER_RESOLUTION"; |
| break; |
| case DeviceInfo::EndianLittle: |
| os << "CL_DEVICE_ENDIAN_LITTLE"; |
| break; |
| case DeviceInfo::Available: |
| os << "CL_DEVICE_AVAILABLE"; |
| break; |
| case DeviceInfo::CompilerAvailable: |
| os << "CL_DEVICE_COMPILER_AVAILABLE"; |
| break; |
| case DeviceInfo::ExecutionCapabilities: |
| os << "CL_DEVICE_EXECUTION_CAPABILITIES"; |
| break; |
| case DeviceInfo::QueueOnHostProperties: |
| os << "CL_DEVICE_QUEUE_ON_HOST_PROPERTIES"; |
| break; |
| case DeviceInfo::Name: |
| os << "CL_DEVICE_NAME"; |
| break; |
| case DeviceInfo::Vendor: |
| os << "CL_DEVICE_VENDOR"; |
| break; |
| case DeviceInfo::DriverVersion: |
| os << "CL_DRIVER_VERSION"; |
| break; |
| case DeviceInfo::Profile: |
| os << "CL_DEVICE_PROFILE"; |
| break; |
| case DeviceInfo::Version: |
| os << "CL_DEVICE_VERSION"; |
| break; |
| case DeviceInfo::Extensions: |
| os << "CL_DEVICE_EXTENSIONS"; |
| break; |
| case DeviceInfo::Platform: |
| os << "CL_DEVICE_PLATFORM"; |
| break; |
| case DeviceInfo::DoubleFpConfig: |
| os << "CL_DEVICE_DOUBLE_FP_CONFIG"; |
| break; |
| case DeviceInfo::HalfFpConfig: |
| os << "CL_DEVICE_HALF_FP_CONFIG"; |
| break; |
| case DeviceInfo::PreferredVectorWidthHalf: |
| os << "CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF"; |
| break; |
| case DeviceInfo::HostUnifiedMemory: |
| os << "CL_DEVICE_HOST_UNIFIED_MEMORY"; |
| break; |
| case DeviceInfo::NativeVectorWidthChar: |
| os << "CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR"; |
| break; |
| case DeviceInfo::NativeVectorWidthShort: |
| os << "CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT"; |
| break; |
| case DeviceInfo::NativeVectorWidthInt: |
| os << "CL_DEVICE_NATIVE_VECTOR_WIDTH_INT"; |
| break; |
| case DeviceInfo::NativeVectorWidthLong: |
| os << "CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG"; |
| break; |
| case DeviceInfo::NativeVectorWidthFloat: |
| os << "CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT"; |
| break; |
| case DeviceInfo::NativeVectorWidthDouble: |
| os << "CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE"; |
| break; |
| case DeviceInfo::NativeVectorWidthHalf: |
| os << "CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF"; |
| break; |
| case DeviceInfo::OpenCL_C_Version: |
| os << "CL_DEVICE_OPENCL_C_VERSION"; |
| break; |
| case DeviceInfo::LinkerAvailable: |
| os << "CL_DEVICE_LINKER_AVAILABLE"; |
| break; |
| case DeviceInfo::BuiltInKernels: |
| os << "CL_DEVICE_BUILT_IN_KERNELS"; |
| break; |
| case DeviceInfo::ImageMaxBufferSize: |
| os << "CL_DEVICE_IMAGE_MAX_BUFFER_SIZE"; |
| break; |
| case DeviceInfo::ImageMaxArraySize: |
| os << "CL_DEVICE_IMAGE_MAX_ARRAY_SIZE"; |
| break; |
| case DeviceInfo::ParentDevice: |
| os << "CL_DEVICE_PARENT_DEVICE"; |
| break; |
| case DeviceInfo::PartitionMaxSubDevices: |
| os << "CL_DEVICE_PARTITION_MAX_SUB_DEVICES"; |
| break; |
| case DeviceInfo::PartitionProperties: |
| os << "CL_DEVICE_PARTITION_PROPERTIES"; |
| break; |
| case DeviceInfo::PartitionAffinityDomain: |
| os << "CL_DEVICE_PARTITION_AFFINITY_DOMAIN"; |
| break; |
| case DeviceInfo::PartitionType: |
| os << "CL_DEVICE_PARTITION_TYPE"; |
| break; |
| case DeviceInfo::ReferenceCount: |
| os << "CL_DEVICE_REFERENCE_COUNT"; |
| break; |
| case DeviceInfo::PreferredInteropUserSync: |
| os << "CL_DEVICE_PREFERRED_INTEROP_USER_SYNC"; |
| break; |
| case DeviceInfo::PrintfBufferSize: |
| os << "CL_DEVICE_PRINTF_BUFFER_SIZE"; |
| break; |
| case DeviceInfo::ImagePitchAlignment: |
| os << "CL_DEVICE_IMAGE_PITCH_ALIGNMENT"; |
| break; |
| case DeviceInfo::ImageBaseAddressAlignment: |
| os << "CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT"; |
| break; |
| case DeviceInfo::MaxReadWriteImageArgs: |
| os << "CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS"; |
| break; |
| case DeviceInfo::MaxGlobalVariableSize: |
| os << "CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE"; |
| break; |
| case DeviceInfo::QueueOnDeviceProperties: |
| os << "CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES"; |
| break; |
| case DeviceInfo::QueueOnDevicePreferredSize: |
| os << "CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE"; |
| break; |
| case DeviceInfo::QueueOnDeviceMaxSize: |
| os << "CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE"; |
| break; |
| case DeviceInfo::MaxOnDeviceQueues: |
| os << "CL_DEVICE_MAX_ON_DEVICE_QUEUES"; |
| break; |
| case DeviceInfo::MaxOnDeviceEvents: |
| os << "CL_DEVICE_MAX_ON_DEVICE_EVENTS"; |
| break; |
| case DeviceInfo::SVM_Capabilities: |
| os << "CL_DEVICE_SVM_CAPABILITIES"; |
| break; |
| case DeviceInfo::GlobalVariablePreferredTotalSize: |
| os << "CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE"; |
| break; |
| case DeviceInfo::MaxPipeArgs: |
| os << "CL_DEVICE_MAX_PIPE_ARGS"; |
| break; |
| case DeviceInfo::PipeMaxActiveReservations: |
| os << "CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS"; |
| break; |
| case DeviceInfo::PipeMaxPacketSize: |
| os << "CL_DEVICE_PIPE_MAX_PACKET_SIZE"; |
| break; |
| case DeviceInfo::PreferredPlatformAtomicAlignment: |
| os << "CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT"; |
| break; |
| case DeviceInfo::PreferredGlobalAtomicAlignment: |
| os << "CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT"; |
| break; |
| case DeviceInfo::PreferredLocalAtomicAlignment: |
| os << "CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT"; |
| break; |
| case DeviceInfo::IL_Version: |
| os << "CL_DEVICE_IL_VERSION"; |
| break; |
| case DeviceInfo::MaxNumSubGroups: |
| os << "CL_DEVICE_MAX_NUM_SUB_GROUPS"; |
| break; |
| case DeviceInfo::SubGroupIndependentForwardProgress: |
| os << "CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS"; |
| break; |
| case DeviceInfo::NumericVersion: |
| os << "CL_DEVICE_NUMERIC_VERSION"; |
| break; |
| case DeviceInfo::ExtensionsWithVersion: |
| os << "CL_DEVICE_EXTENSIONS_WITH_VERSION"; |
| break; |
| case DeviceInfo::ILsWithVersion: |
| os << "CL_DEVICE_ILS_WITH_VERSION"; |
| break; |
| case DeviceInfo::BuiltInKernelsWithVersion: |
| os << "CL_DEVICE_BUILT_IN_KERNELS_WITH_VERSION"; |
| break; |
| case DeviceInfo::AtomicMemoryCapabilities: |
| os << "CL_DEVICE_ATOMIC_MEMORY_CAPABILITIES"; |
| break; |
| case DeviceInfo::AtomicFenceCapabilities: |
| os << "CL_DEVICE_ATOMIC_FENCE_CAPABILITIES"; |
| break; |
| case DeviceInfo::NonUniformWorkGroupSupport: |
| os << "CL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORT"; |
| break; |
| case DeviceInfo::OpenCL_C_AllVersions: |
| os << "CL_DEVICE_OPENCL_C_ALL_VERSIONS"; |
| break; |
| case DeviceInfo::PreferredWorkGroupSizeMultiple: |
| os << "CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE"; |
| break; |
| case DeviceInfo::WorkGroupCollectiveFunctionsSupport: |
| os << "CL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORT"; |
| break; |
| case DeviceInfo::GenericAddressSpaceSupport: |
| os << "CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT"; |
| break; |
| case DeviceInfo::OpenCL_C_Features: |
| os << "CL_DEVICE_OPENCL_C_FEATURES"; |
| break; |
| case DeviceInfo::DeviceEnqueueCapabilities: |
| os << "CL_DEVICE_DEVICE_ENQUEUE_CAPABILITIES"; |
| break; |
| case DeviceInfo::PipeSupport: |
| os << "CL_DEVICE_PIPE_SUPPORT"; |
| break; |
| case DeviceInfo::LatestConformanceVersionPassed: |
| os << "CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| EventInfo FromCLenum<EventInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_EVENT_COMMAND_QUEUE: |
| return EventInfo::CommandQueue; |
| case CL_EVENT_COMMAND_TYPE: |
| return EventInfo::CommandType; |
| case CL_EVENT_REFERENCE_COUNT: |
| return EventInfo::ReferenceCount; |
| case CL_EVENT_COMMAND_EXECUTION_STATUS: |
| return EventInfo::CommandExecutionStatus; |
| case CL_EVENT_CONTEXT: |
| return EventInfo::Context; |
| default: |
| return EventInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(EventInfo from) |
| { |
| switch (from) |
| { |
| case EventInfo::CommandQueue: |
| return CL_EVENT_COMMAND_QUEUE; |
| case EventInfo::CommandType: |
| return CL_EVENT_COMMAND_TYPE; |
| case EventInfo::ReferenceCount: |
| return CL_EVENT_REFERENCE_COUNT; |
| case EventInfo::CommandExecutionStatus: |
| return CL_EVENT_COMMAND_EXECUTION_STATUS; |
| case EventInfo::Context: |
| return CL_EVENT_CONTEXT; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, EventInfo value) |
| { |
| switch (value) |
| { |
| case EventInfo::CommandQueue: |
| os << "CL_EVENT_COMMAND_QUEUE"; |
| break; |
| case EventInfo::CommandType: |
| os << "CL_EVENT_COMMAND_TYPE"; |
| break; |
| case EventInfo::ReferenceCount: |
| os << "CL_EVENT_REFERENCE_COUNT"; |
| break; |
| case EventInfo::CommandExecutionStatus: |
| os << "CL_EVENT_COMMAND_EXECUTION_STATUS"; |
| break; |
| case EventInfo::Context: |
| os << "CL_EVENT_CONTEXT"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| FilterMode FromCLenum<FilterMode>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_FILTER_NEAREST: |
| return FilterMode::Nearest; |
| case CL_FILTER_LINEAR: |
| return FilterMode::Linear; |
| default: |
| return FilterMode::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(FilterMode from) |
| { |
| switch (from) |
| { |
| case FilterMode::Nearest: |
| return CL_FILTER_NEAREST; |
| case FilterMode::Linear: |
| return CL_FILTER_LINEAR; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, FilterMode value) |
| { |
| switch (value) |
| { |
| case FilterMode::Nearest: |
| os << "CL_FILTER_NEAREST"; |
| break; |
| case FilterMode::Linear: |
| os << "CL_FILTER_LINEAR"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| ImageInfo FromCLenum<ImageInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_IMAGE_FORMAT: |
| return ImageInfo::Format; |
| case CL_IMAGE_ELEMENT_SIZE: |
| return ImageInfo::ElementSize; |
| case CL_IMAGE_ROW_PITCH: |
| return ImageInfo::RowPitch; |
| case CL_IMAGE_SLICE_PITCH: |
| return ImageInfo::SlicePitch; |
| case CL_IMAGE_WIDTH: |
| return ImageInfo::Width; |
| case CL_IMAGE_HEIGHT: |
| return ImageInfo::Height; |
| case CL_IMAGE_DEPTH: |
| return ImageInfo::Depth; |
| case CL_IMAGE_ARRAY_SIZE: |
| return ImageInfo::ArraySize; |
| case CL_IMAGE_BUFFER: |
| return ImageInfo::Buffer; |
| case CL_IMAGE_NUM_MIP_LEVELS: |
| return ImageInfo::NumMipLevels; |
| case CL_IMAGE_NUM_SAMPLES: |
| return ImageInfo::NumSamples; |
| default: |
| return ImageInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(ImageInfo from) |
| { |
| switch (from) |
| { |
| case ImageInfo::Format: |
| return CL_IMAGE_FORMAT; |
| case ImageInfo::ElementSize: |
| return CL_IMAGE_ELEMENT_SIZE; |
| case ImageInfo::RowPitch: |
| return CL_IMAGE_ROW_PITCH; |
| case ImageInfo::SlicePitch: |
| return CL_IMAGE_SLICE_PITCH; |
| case ImageInfo::Width: |
| return CL_IMAGE_WIDTH; |
| case ImageInfo::Height: |
| return CL_IMAGE_HEIGHT; |
| case ImageInfo::Depth: |
| return CL_IMAGE_DEPTH; |
| case ImageInfo::ArraySize: |
| return CL_IMAGE_ARRAY_SIZE; |
| case ImageInfo::Buffer: |
| return CL_IMAGE_BUFFER; |
| case ImageInfo::NumMipLevels: |
| return CL_IMAGE_NUM_MIP_LEVELS; |
| case ImageInfo::NumSamples: |
| return CL_IMAGE_NUM_SAMPLES; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, ImageInfo value) |
| { |
| switch (value) |
| { |
| case ImageInfo::Format: |
| os << "CL_IMAGE_FORMAT"; |
| break; |
| case ImageInfo::ElementSize: |
| os << "CL_IMAGE_ELEMENT_SIZE"; |
| break; |
| case ImageInfo::RowPitch: |
| os << "CL_IMAGE_ROW_PITCH"; |
| break; |
| case ImageInfo::SlicePitch: |
| os << "CL_IMAGE_SLICE_PITCH"; |
| break; |
| case ImageInfo::Width: |
| os << "CL_IMAGE_WIDTH"; |
| break; |
| case ImageInfo::Height: |
| os << "CL_IMAGE_HEIGHT"; |
| break; |
| case ImageInfo::Depth: |
| os << "CL_IMAGE_DEPTH"; |
| break; |
| case ImageInfo::ArraySize: |
| os << "CL_IMAGE_ARRAY_SIZE"; |
| break; |
| case ImageInfo::Buffer: |
| os << "CL_IMAGE_BUFFER"; |
| break; |
| case ImageInfo::NumMipLevels: |
| os << "CL_IMAGE_NUM_MIP_LEVELS"; |
| break; |
| case ImageInfo::NumSamples: |
| os << "CL_IMAGE_NUM_SAMPLES"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| KernelArgInfo FromCLenum<KernelArgInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_KERNEL_ARG_ADDRESS_QUALIFIER: |
| return KernelArgInfo::AddressQualifier; |
| case CL_KERNEL_ARG_ACCESS_QUALIFIER: |
| return KernelArgInfo::AccessQualifier; |
| case CL_KERNEL_ARG_TYPE_NAME: |
| return KernelArgInfo::TypeName; |
| case CL_KERNEL_ARG_TYPE_QUALIFIER: |
| return KernelArgInfo::TypeQualifier; |
| case CL_KERNEL_ARG_NAME: |
| return KernelArgInfo::Name; |
| default: |
| return KernelArgInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(KernelArgInfo from) |
| { |
| switch (from) |
| { |
| case KernelArgInfo::AddressQualifier: |
| return CL_KERNEL_ARG_ADDRESS_QUALIFIER; |
| case KernelArgInfo::AccessQualifier: |
| return CL_KERNEL_ARG_ACCESS_QUALIFIER; |
| case KernelArgInfo::TypeName: |
| return CL_KERNEL_ARG_TYPE_NAME; |
| case KernelArgInfo::TypeQualifier: |
| return CL_KERNEL_ARG_TYPE_QUALIFIER; |
| case KernelArgInfo::Name: |
| return CL_KERNEL_ARG_NAME; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, KernelArgInfo value) |
| { |
| switch (value) |
| { |
| case KernelArgInfo::AddressQualifier: |
| os << "CL_KERNEL_ARG_ADDRESS_QUALIFIER"; |
| break; |
| case KernelArgInfo::AccessQualifier: |
| os << "CL_KERNEL_ARG_ACCESS_QUALIFIER"; |
| break; |
| case KernelArgInfo::TypeName: |
| os << "CL_KERNEL_ARG_TYPE_NAME"; |
| break; |
| case KernelArgInfo::TypeQualifier: |
| os << "CL_KERNEL_ARG_TYPE_QUALIFIER"; |
| break; |
| case KernelArgInfo::Name: |
| os << "CL_KERNEL_ARG_NAME"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| KernelExecInfo FromCLenum<KernelExecInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_KERNEL_EXEC_INFO_SVM_PTRS: |
| return KernelExecInfo::SVM_Ptrs; |
| case CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM: |
| return KernelExecInfo::SVM_FineGrainSystem; |
| default: |
| return KernelExecInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(KernelExecInfo from) |
| { |
| switch (from) |
| { |
| case KernelExecInfo::SVM_Ptrs: |
| return CL_KERNEL_EXEC_INFO_SVM_PTRS; |
| case KernelExecInfo::SVM_FineGrainSystem: |
| return CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, KernelExecInfo value) |
| { |
| switch (value) |
| { |
| case KernelExecInfo::SVM_Ptrs: |
| os << "CL_KERNEL_EXEC_INFO_SVM_PTRS"; |
| break; |
| case KernelExecInfo::SVM_FineGrainSystem: |
| os << "CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| KernelInfo FromCLenum<KernelInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_KERNEL_FUNCTION_NAME: |
| return KernelInfo::FunctionName; |
| case CL_KERNEL_NUM_ARGS: |
| return KernelInfo::NumArgs; |
| case CL_KERNEL_REFERENCE_COUNT: |
| return KernelInfo::ReferenceCount; |
| case CL_KERNEL_CONTEXT: |
| return KernelInfo::Context; |
| case CL_KERNEL_PROGRAM: |
| return KernelInfo::Program; |
| case CL_KERNEL_ATTRIBUTES: |
| return KernelInfo::Attributes; |
| default: |
| return KernelInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(KernelInfo from) |
| { |
| switch (from) |
| { |
| case KernelInfo::FunctionName: |
| return CL_KERNEL_FUNCTION_NAME; |
| case KernelInfo::NumArgs: |
| return CL_KERNEL_NUM_ARGS; |
| case KernelInfo::ReferenceCount: |
| return CL_KERNEL_REFERENCE_COUNT; |
| case KernelInfo::Context: |
| return CL_KERNEL_CONTEXT; |
| case KernelInfo::Program: |
| return CL_KERNEL_PROGRAM; |
| case KernelInfo::Attributes: |
| return CL_KERNEL_ATTRIBUTES; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, KernelInfo value) |
| { |
| switch (value) |
| { |
| case KernelInfo::FunctionName: |
| os << "CL_KERNEL_FUNCTION_NAME"; |
| break; |
| case KernelInfo::NumArgs: |
| os << "CL_KERNEL_NUM_ARGS"; |
| break; |
| case KernelInfo::ReferenceCount: |
| os << "CL_KERNEL_REFERENCE_COUNT"; |
| break; |
| case KernelInfo::Context: |
| os << "CL_KERNEL_CONTEXT"; |
| break; |
| case KernelInfo::Program: |
| os << "CL_KERNEL_PROGRAM"; |
| break; |
| case KernelInfo::Attributes: |
| os << "CL_KERNEL_ATTRIBUTES"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| KernelSubGroupInfo FromCLenum<KernelSubGroupInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE: |
| return KernelSubGroupInfo::MaxSubGroupSizeForNdrange; |
| case CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE: |
| return KernelSubGroupInfo::SubGroupCountForNdrange; |
| case CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT: |
| return KernelSubGroupInfo::LocalSizeForSubGroupCount; |
| case CL_KERNEL_MAX_NUM_SUB_GROUPS: |
| return KernelSubGroupInfo::MaxNumSubGroups; |
| case CL_KERNEL_COMPILE_NUM_SUB_GROUPS: |
| return KernelSubGroupInfo::CompileNumSubGroups; |
| default: |
| return KernelSubGroupInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(KernelSubGroupInfo from) |
| { |
| switch (from) |
| { |
| case KernelSubGroupInfo::MaxSubGroupSizeForNdrange: |
| return CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE; |
| case KernelSubGroupInfo::SubGroupCountForNdrange: |
| return CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE; |
| case KernelSubGroupInfo::LocalSizeForSubGroupCount: |
| return CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT; |
| case KernelSubGroupInfo::MaxNumSubGroups: |
| return CL_KERNEL_MAX_NUM_SUB_GROUPS; |
| case KernelSubGroupInfo::CompileNumSubGroups: |
| return CL_KERNEL_COMPILE_NUM_SUB_GROUPS; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, KernelSubGroupInfo value) |
| { |
| switch (value) |
| { |
| case KernelSubGroupInfo::MaxSubGroupSizeForNdrange: |
| os << "CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE"; |
| break; |
| case KernelSubGroupInfo::SubGroupCountForNdrange: |
| os << "CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE"; |
| break; |
| case KernelSubGroupInfo::LocalSizeForSubGroupCount: |
| os << "CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT"; |
| break; |
| case KernelSubGroupInfo::MaxNumSubGroups: |
| os << "CL_KERNEL_MAX_NUM_SUB_GROUPS"; |
| break; |
| case KernelSubGroupInfo::CompileNumSubGroups: |
| os << "CL_KERNEL_COMPILE_NUM_SUB_GROUPS"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| KernelWorkGroupInfo FromCLenum<KernelWorkGroupInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_KERNEL_WORK_GROUP_SIZE: |
| return KernelWorkGroupInfo::WorkGroupSize; |
| case CL_KERNEL_COMPILE_WORK_GROUP_SIZE: |
| return KernelWorkGroupInfo::CompileWorkGroupSize; |
| case CL_KERNEL_LOCAL_MEM_SIZE: |
| return KernelWorkGroupInfo::LocalMemSize; |
| case CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE: |
| return KernelWorkGroupInfo::PreferredWorkGroupSizeMultiple; |
| case CL_KERNEL_PRIVATE_MEM_SIZE: |
| return KernelWorkGroupInfo::PrivateMemSize; |
| case CL_KERNEL_GLOBAL_WORK_SIZE: |
| return KernelWorkGroupInfo::GlobalWorkSize; |
| default: |
| return KernelWorkGroupInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(KernelWorkGroupInfo from) |
| { |
| switch (from) |
| { |
| case KernelWorkGroupInfo::WorkGroupSize: |
| return CL_KERNEL_WORK_GROUP_SIZE; |
| case KernelWorkGroupInfo::CompileWorkGroupSize: |
| return CL_KERNEL_COMPILE_WORK_GROUP_SIZE; |
| case KernelWorkGroupInfo::LocalMemSize: |
| return CL_KERNEL_LOCAL_MEM_SIZE; |
| case KernelWorkGroupInfo::PreferredWorkGroupSizeMultiple: |
| return CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE; |
| case KernelWorkGroupInfo::PrivateMemSize: |
| return CL_KERNEL_PRIVATE_MEM_SIZE; |
| case KernelWorkGroupInfo::GlobalWorkSize: |
| return CL_KERNEL_GLOBAL_WORK_SIZE; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, KernelWorkGroupInfo value) |
| { |
| switch (value) |
| { |
| case KernelWorkGroupInfo::WorkGroupSize: |
| os << "CL_KERNEL_WORK_GROUP_SIZE"; |
| break; |
| case KernelWorkGroupInfo::CompileWorkGroupSize: |
| os << "CL_KERNEL_COMPILE_WORK_GROUP_SIZE"; |
| break; |
| case KernelWorkGroupInfo::LocalMemSize: |
| os << "CL_KERNEL_LOCAL_MEM_SIZE"; |
| break; |
| case KernelWorkGroupInfo::PreferredWorkGroupSizeMultiple: |
| os << "CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE"; |
| break; |
| case KernelWorkGroupInfo::PrivateMemSize: |
| os << "CL_KERNEL_PRIVATE_MEM_SIZE"; |
| break; |
| case KernelWorkGroupInfo::GlobalWorkSize: |
| os << "CL_KERNEL_GLOBAL_WORK_SIZE"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| MemInfo FromCLenum<MemInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_MEM_TYPE: |
| return MemInfo::Type; |
| case CL_MEM_FLAGS: |
| return MemInfo::Flags; |
| case CL_MEM_SIZE: |
| return MemInfo::Size; |
| case CL_MEM_HOST_PTR: |
| return MemInfo::HostPtr; |
| case CL_MEM_MAP_COUNT: |
| return MemInfo::MapCount; |
| case CL_MEM_REFERENCE_COUNT: |
| return MemInfo::ReferenceCount; |
| case CL_MEM_CONTEXT: |
| return MemInfo::Context; |
| case CL_MEM_ASSOCIATED_MEMOBJECT: |
| return MemInfo::AssociatedMemObject; |
| case CL_MEM_OFFSET: |
| return MemInfo::Offset; |
| case CL_MEM_USES_SVM_POINTER: |
| return MemInfo::UsesSVM_Pointer; |
| case CL_MEM_PROPERTIES: |
| return MemInfo::Properties; |
| default: |
| return MemInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(MemInfo from) |
| { |
| switch (from) |
| { |
| case MemInfo::Type: |
| return CL_MEM_TYPE; |
| case MemInfo::Flags: |
| return CL_MEM_FLAGS; |
| case MemInfo::Size: |
| return CL_MEM_SIZE; |
| case MemInfo::HostPtr: |
| return CL_MEM_HOST_PTR; |
| case MemInfo::MapCount: |
| return CL_MEM_MAP_COUNT; |
| case MemInfo::ReferenceCount: |
| return CL_MEM_REFERENCE_COUNT; |
| case MemInfo::Context: |
| return CL_MEM_CONTEXT; |
| case MemInfo::AssociatedMemObject: |
| return CL_MEM_ASSOCIATED_MEMOBJECT; |
| case MemInfo::Offset: |
| return CL_MEM_OFFSET; |
| case MemInfo::UsesSVM_Pointer: |
| return CL_MEM_USES_SVM_POINTER; |
| case MemInfo::Properties: |
| return CL_MEM_PROPERTIES; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, MemInfo value) |
| { |
| switch (value) |
| { |
| case MemInfo::Type: |
| os << "CL_MEM_TYPE"; |
| break; |
| case MemInfo::Flags: |
| os << "CL_MEM_FLAGS"; |
| break; |
| case MemInfo::Size: |
| os << "CL_MEM_SIZE"; |
| break; |
| case MemInfo::HostPtr: |
| os << "CL_MEM_HOST_PTR"; |
| break; |
| case MemInfo::MapCount: |
| os << "CL_MEM_MAP_COUNT"; |
| break; |
| case MemInfo::ReferenceCount: |
| os << "CL_MEM_REFERENCE_COUNT"; |
| break; |
| case MemInfo::Context: |
| os << "CL_MEM_CONTEXT"; |
| break; |
| case MemInfo::AssociatedMemObject: |
| os << "CL_MEM_ASSOCIATED_MEMOBJECT"; |
| break; |
| case MemInfo::Offset: |
| os << "CL_MEM_OFFSET"; |
| break; |
| case MemInfo::UsesSVM_Pointer: |
| os << "CL_MEM_USES_SVM_POINTER"; |
| break; |
| case MemInfo::Properties: |
| os << "CL_MEM_PROPERTIES"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| MemObjectType FromCLenum<MemObjectType>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_MEM_OBJECT_BUFFER: |
| return MemObjectType::Buffer; |
| case CL_MEM_OBJECT_IMAGE2D: |
| return MemObjectType::Image2D; |
| case CL_MEM_OBJECT_IMAGE3D: |
| return MemObjectType::Image3D; |
| case CL_MEM_OBJECT_IMAGE2D_ARRAY: |
| return MemObjectType::Image2D_Array; |
| case CL_MEM_OBJECT_IMAGE1D: |
| return MemObjectType::Image1D; |
| case CL_MEM_OBJECT_IMAGE1D_ARRAY: |
| return MemObjectType::Image1D_Array; |
| case CL_MEM_OBJECT_IMAGE1D_BUFFER: |
| return MemObjectType::Image1D_Buffer; |
| case CL_MEM_OBJECT_PIPE: |
| return MemObjectType::Pipe; |
| default: |
| return MemObjectType::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(MemObjectType from) |
| { |
| switch (from) |
| { |
| case MemObjectType::Buffer: |
| return CL_MEM_OBJECT_BUFFER; |
| case MemObjectType::Image2D: |
| return CL_MEM_OBJECT_IMAGE2D; |
| case MemObjectType::Image3D: |
| return CL_MEM_OBJECT_IMAGE3D; |
| case MemObjectType::Image2D_Array: |
| return CL_MEM_OBJECT_IMAGE2D_ARRAY; |
| case MemObjectType::Image1D: |
| return CL_MEM_OBJECT_IMAGE1D; |
| case MemObjectType::Image1D_Array: |
| return CL_MEM_OBJECT_IMAGE1D_ARRAY; |
| case MemObjectType::Image1D_Buffer: |
| return CL_MEM_OBJECT_IMAGE1D_BUFFER; |
| case MemObjectType::Pipe: |
| return CL_MEM_OBJECT_PIPE; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, MemObjectType value) |
| { |
| switch (value) |
| { |
| case MemObjectType::Buffer: |
| os << "CL_MEM_OBJECT_BUFFER"; |
| break; |
| case MemObjectType::Image2D: |
| os << "CL_MEM_OBJECT_IMAGE2D"; |
| break; |
| case MemObjectType::Image3D: |
| os << "CL_MEM_OBJECT_IMAGE3D"; |
| break; |
| case MemObjectType::Image2D_Array: |
| os << "CL_MEM_OBJECT_IMAGE2D_ARRAY"; |
| break; |
| case MemObjectType::Image1D: |
| os << "CL_MEM_OBJECT_IMAGE1D"; |
| break; |
| case MemObjectType::Image1D_Array: |
| os << "CL_MEM_OBJECT_IMAGE1D_ARRAY"; |
| break; |
| case MemObjectType::Image1D_Buffer: |
| os << "CL_MEM_OBJECT_IMAGE1D_BUFFER"; |
| break; |
| case MemObjectType::Pipe: |
| os << "CL_MEM_OBJECT_PIPE"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| PipeInfo FromCLenum<PipeInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_PIPE_PACKET_SIZE: |
| return PipeInfo::PacketSize; |
| case CL_PIPE_MAX_PACKETS: |
| return PipeInfo::MaxPackets; |
| case CL_PIPE_PROPERTIES: |
| return PipeInfo::Properties; |
| default: |
| return PipeInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(PipeInfo from) |
| { |
| switch (from) |
| { |
| case PipeInfo::PacketSize: |
| return CL_PIPE_PACKET_SIZE; |
| case PipeInfo::MaxPackets: |
| return CL_PIPE_MAX_PACKETS; |
| case PipeInfo::Properties: |
| return CL_PIPE_PROPERTIES; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, PipeInfo value) |
| { |
| switch (value) |
| { |
| case PipeInfo::PacketSize: |
| os << "CL_PIPE_PACKET_SIZE"; |
| break; |
| case PipeInfo::MaxPackets: |
| os << "CL_PIPE_MAX_PACKETS"; |
| break; |
| case PipeInfo::Properties: |
| os << "CL_PIPE_PROPERTIES"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| PlatformInfo FromCLenum<PlatformInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_PLATFORM_PROFILE: |
| return PlatformInfo::Profile; |
| case CL_PLATFORM_VERSION: |
| return PlatformInfo::Version; |
| case CL_PLATFORM_NAME: |
| return PlatformInfo::Name; |
| case CL_PLATFORM_VENDOR: |
| return PlatformInfo::Vendor; |
| case CL_PLATFORM_EXTENSIONS: |
| return PlatformInfo::Extensions; |
| case CL_PLATFORM_HOST_TIMER_RESOLUTION: |
| return PlatformInfo::HostTimerResolution; |
| case CL_PLATFORM_NUMERIC_VERSION: |
| return PlatformInfo::NumericVersion; |
| case CL_PLATFORM_EXTENSIONS_WITH_VERSION: |
| return PlatformInfo::ExtensionsWithVersion; |
| case CL_PLATFORM_ICD_SUFFIX_KHR: |
| return PlatformInfo::IcdSuffix; |
| default: |
| return PlatformInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(PlatformInfo from) |
| { |
| switch (from) |
| { |
| case PlatformInfo::Profile: |
| return CL_PLATFORM_PROFILE; |
| case PlatformInfo::Version: |
| return CL_PLATFORM_VERSION; |
| case PlatformInfo::Name: |
| return CL_PLATFORM_NAME; |
| case PlatformInfo::Vendor: |
| return CL_PLATFORM_VENDOR; |
| case PlatformInfo::Extensions: |
| return CL_PLATFORM_EXTENSIONS; |
| case PlatformInfo::HostTimerResolution: |
| return CL_PLATFORM_HOST_TIMER_RESOLUTION; |
| case PlatformInfo::NumericVersion: |
| return CL_PLATFORM_NUMERIC_VERSION; |
| case PlatformInfo::ExtensionsWithVersion: |
| return CL_PLATFORM_EXTENSIONS_WITH_VERSION; |
| case PlatformInfo::IcdSuffix: |
| return CL_PLATFORM_ICD_SUFFIX_KHR; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, PlatformInfo value) |
| { |
| switch (value) |
| { |
| case PlatformInfo::Profile: |
| os << "CL_PLATFORM_PROFILE"; |
| break; |
| case PlatformInfo::Version: |
| os << "CL_PLATFORM_VERSION"; |
| break; |
| case PlatformInfo::Name: |
| os << "CL_PLATFORM_NAME"; |
| break; |
| case PlatformInfo::Vendor: |
| os << "CL_PLATFORM_VENDOR"; |
| break; |
| case PlatformInfo::Extensions: |
| os << "CL_PLATFORM_EXTENSIONS"; |
| break; |
| case PlatformInfo::HostTimerResolution: |
| os << "CL_PLATFORM_HOST_TIMER_RESOLUTION"; |
| break; |
| case PlatformInfo::NumericVersion: |
| os << "CL_PLATFORM_NUMERIC_VERSION"; |
| break; |
| case PlatformInfo::ExtensionsWithVersion: |
| os << "CL_PLATFORM_EXTENSIONS_WITH_VERSION"; |
| break; |
| case PlatformInfo::IcdSuffix: |
| os << "CL_PLATFORM_ICD_SUFFIX_KHR"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| ProfilingInfo FromCLenum<ProfilingInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_PROFILING_COMMAND_QUEUED: |
| return ProfilingInfo::CommandQueued; |
| case CL_PROFILING_COMMAND_SUBMIT: |
| return ProfilingInfo::CommandSubmit; |
| case CL_PROFILING_COMMAND_START: |
| return ProfilingInfo::CommandStart; |
| case CL_PROFILING_COMMAND_END: |
| return ProfilingInfo::CommandEnd; |
| case CL_PROFILING_COMMAND_COMPLETE: |
| return ProfilingInfo::CommandComplete; |
| default: |
| return ProfilingInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(ProfilingInfo from) |
| { |
| switch (from) |
| { |
| case ProfilingInfo::CommandQueued: |
| return CL_PROFILING_COMMAND_QUEUED; |
| case ProfilingInfo::CommandSubmit: |
| return CL_PROFILING_COMMAND_SUBMIT; |
| case ProfilingInfo::CommandStart: |
| return CL_PROFILING_COMMAND_START; |
| case ProfilingInfo::CommandEnd: |
| return CL_PROFILING_COMMAND_END; |
| case ProfilingInfo::CommandComplete: |
| return CL_PROFILING_COMMAND_COMPLETE; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, ProfilingInfo value) |
| { |
| switch (value) |
| { |
| case ProfilingInfo::CommandQueued: |
| os << "CL_PROFILING_COMMAND_QUEUED"; |
| break; |
| case ProfilingInfo::CommandSubmit: |
| os << "CL_PROFILING_COMMAND_SUBMIT"; |
| break; |
| case ProfilingInfo::CommandStart: |
| os << "CL_PROFILING_COMMAND_START"; |
| break; |
| case ProfilingInfo::CommandEnd: |
| os << "CL_PROFILING_COMMAND_END"; |
| break; |
| case ProfilingInfo::CommandComplete: |
| os << "CL_PROFILING_COMMAND_COMPLETE"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| ProgramBuildInfo FromCLenum<ProgramBuildInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_PROGRAM_BUILD_STATUS: |
| return ProgramBuildInfo::Status; |
| case CL_PROGRAM_BUILD_OPTIONS: |
| return ProgramBuildInfo::Options; |
| case CL_PROGRAM_BUILD_LOG: |
| return ProgramBuildInfo::Log; |
| case CL_PROGRAM_BINARY_TYPE: |
| return ProgramBuildInfo::BinaryType; |
| case CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE: |
| return ProgramBuildInfo::GlobalVariableTotalSize; |
| default: |
| return ProgramBuildInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(ProgramBuildInfo from) |
| { |
| switch (from) |
| { |
| case ProgramBuildInfo::Status: |
| return CL_PROGRAM_BUILD_STATUS; |
| case ProgramBuildInfo::Options: |
| return CL_PROGRAM_BUILD_OPTIONS; |
| case ProgramBuildInfo::Log: |
| return CL_PROGRAM_BUILD_LOG; |
| case ProgramBuildInfo::BinaryType: |
| return CL_PROGRAM_BINARY_TYPE; |
| case ProgramBuildInfo::GlobalVariableTotalSize: |
| return CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, ProgramBuildInfo value) |
| { |
| switch (value) |
| { |
| case ProgramBuildInfo::Status: |
| os << "CL_PROGRAM_BUILD_STATUS"; |
| break; |
| case ProgramBuildInfo::Options: |
| os << "CL_PROGRAM_BUILD_OPTIONS"; |
| break; |
| case ProgramBuildInfo::Log: |
| os << "CL_PROGRAM_BUILD_LOG"; |
| break; |
| case ProgramBuildInfo::BinaryType: |
| os << "CL_PROGRAM_BINARY_TYPE"; |
| break; |
| case ProgramBuildInfo::GlobalVariableTotalSize: |
| os << "CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| ProgramInfo FromCLenum<ProgramInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_PROGRAM_REFERENCE_COUNT: |
| return ProgramInfo::ReferenceCount; |
| case CL_PROGRAM_CONTEXT: |
| return ProgramInfo::Context; |
| case CL_PROGRAM_NUM_DEVICES: |
| return ProgramInfo::NumDevices; |
| case CL_PROGRAM_DEVICES: |
| return ProgramInfo::Devices; |
| case CL_PROGRAM_SOURCE: |
| return ProgramInfo::Source; |
| case CL_PROGRAM_BINARY_SIZES: |
| return ProgramInfo::BinarySizes; |
| case CL_PROGRAM_BINARIES: |
| return ProgramInfo::Binaries; |
| case CL_PROGRAM_NUM_KERNELS: |
| return ProgramInfo::NumKernels; |
| case CL_PROGRAM_KERNEL_NAMES: |
| return ProgramInfo::KernelNames; |
| case CL_PROGRAM_IL: |
| return ProgramInfo::IL; |
| case CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT: |
| return ProgramInfo::ScopeGlobalCtorsPresent; |
| case CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT: |
| return ProgramInfo::ScopeGlobalDtorsPresent; |
| default: |
| return ProgramInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(ProgramInfo from) |
| { |
| switch (from) |
| { |
| case ProgramInfo::ReferenceCount: |
| return CL_PROGRAM_REFERENCE_COUNT; |
| case ProgramInfo::Context: |
| return CL_PROGRAM_CONTEXT; |
| case ProgramInfo::NumDevices: |
| return CL_PROGRAM_NUM_DEVICES; |
| case ProgramInfo::Devices: |
| return CL_PROGRAM_DEVICES; |
| case ProgramInfo::Source: |
| return CL_PROGRAM_SOURCE; |
| case ProgramInfo::BinarySizes: |
| return CL_PROGRAM_BINARY_SIZES; |
| case ProgramInfo::Binaries: |
| return CL_PROGRAM_BINARIES; |
| case ProgramInfo::NumKernels: |
| return CL_PROGRAM_NUM_KERNELS; |
| case ProgramInfo::KernelNames: |
| return CL_PROGRAM_KERNEL_NAMES; |
| case ProgramInfo::IL: |
| return CL_PROGRAM_IL; |
| case ProgramInfo::ScopeGlobalCtorsPresent: |
| return CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT; |
| case ProgramInfo::ScopeGlobalDtorsPresent: |
| return CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, ProgramInfo value) |
| { |
| switch (value) |
| { |
| case ProgramInfo::ReferenceCount: |
| os << "CL_PROGRAM_REFERENCE_COUNT"; |
| break; |
| case ProgramInfo::Context: |
| os << "CL_PROGRAM_CONTEXT"; |
| break; |
| case ProgramInfo::NumDevices: |
| os << "CL_PROGRAM_NUM_DEVICES"; |
| break; |
| case ProgramInfo::Devices: |
| os << "CL_PROGRAM_DEVICES"; |
| break; |
| case ProgramInfo::Source: |
| os << "CL_PROGRAM_SOURCE"; |
| break; |
| case ProgramInfo::BinarySizes: |
| os << "CL_PROGRAM_BINARY_SIZES"; |
| break; |
| case ProgramInfo::Binaries: |
| os << "CL_PROGRAM_BINARIES"; |
| break; |
| case ProgramInfo::NumKernels: |
| os << "CL_PROGRAM_NUM_KERNELS"; |
| break; |
| case ProgramInfo::KernelNames: |
| os << "CL_PROGRAM_KERNEL_NAMES"; |
| break; |
| case ProgramInfo::IL: |
| os << "CL_PROGRAM_IL"; |
| break; |
| case ProgramInfo::ScopeGlobalCtorsPresent: |
| os << "CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT"; |
| break; |
| case ProgramInfo::ScopeGlobalDtorsPresent: |
| os << "CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| template <> |
| SamplerInfo FromCLenum<SamplerInfo>(CLenum from) |
| { |
| switch (from) |
| { |
| case CL_SAMPLER_REFERENCE_COUNT: |
| return SamplerInfo::ReferenceCount; |
| case CL_SAMPLER_CONTEXT: |
| return SamplerInfo::Context; |
| case CL_SAMPLER_NORMALIZED_COORDS: |
| return SamplerInfo::NormalizedCoords; |
| case CL_SAMPLER_ADDRESSING_MODE: |
| return SamplerInfo::AddressingMode; |
| case CL_SAMPLER_FILTER_MODE: |
| return SamplerInfo::FilterMode; |
| case CL_SAMPLER_PROPERTIES: |
| return SamplerInfo::Properties; |
| default: |
| return SamplerInfo::InvalidEnum; |
| } |
| } |
| |
| CLenum ToCLenum(SamplerInfo from) |
| { |
| switch (from) |
| { |
| case SamplerInfo::ReferenceCount: |
| return CL_SAMPLER_REFERENCE_COUNT; |
| case SamplerInfo::Context: |
| return CL_SAMPLER_CONTEXT; |
| case SamplerInfo::NormalizedCoords: |
| return CL_SAMPLER_NORMALIZED_COORDS; |
| case SamplerInfo::AddressingMode: |
| return CL_SAMPLER_ADDRESSING_MODE; |
| case SamplerInfo::FilterMode: |
| return CL_SAMPLER_FILTER_MODE; |
| case SamplerInfo::Properties: |
| return CL_SAMPLER_PROPERTIES; |
| default: |
| UNREACHABLE(); |
| return 0; |
| } |
| } |
| |
| std::ostream &operator<<(std::ostream &os, SamplerInfo value) |
| { |
| switch (value) |
| { |
| case SamplerInfo::ReferenceCount: |
| os << "CL_SAMPLER_REFERENCE_COUNT"; |
| break; |
| case SamplerInfo::Context: |
| os << "CL_SAMPLER_CONTEXT"; |
| break; |
| case SamplerInfo::NormalizedCoords: |
| os << "CL_SAMPLER_NORMALIZED_COORDS"; |
| break; |
| case SamplerInfo::AddressingMode: |
| os << "CL_SAMPLER_ADDRESSING_MODE"; |
| break; |
| case SamplerInfo::FilterMode: |
| os << "CL_SAMPLER_FILTER_MODE"; |
| break; |
| case SamplerInfo::Properties: |
| os << "CL_SAMPLER_PROPERTIES"; |
| break; |
| default: |
| os << "GL_INVALID_ENUM"; |
| break; |
| } |
| return os; |
| } |
| |
| } // namespace cl |