blob: 33585c059408399fcbe6d128c20234fb207265c5 [file] [log] [blame]
// 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.h:
// Declares ANGLE-specific enums classes for CLenums and functions operating
// on them.
#ifndef COMMON_PACKEDCLENUMS_AUTOGEN_H_
#define COMMON_PACKEDCLENUMS_AUTOGEN_H_
#include <angle_cl.h>
typedef cl_uint CLenum;
#include <cstdint>
#include <ostream>
namespace cl
{
template <typename Enum>
Enum FromCLenum(CLenum from);
enum class AddressingMode : uint8_t
{
None = 0,
ClampToEdge = 1,
Clamp = 2,
Repeat = 3,
MirroredRepeat = 4,
InvalidEnum = 5,
EnumCount = 5,
};
template <>
AddressingMode FromCLenum<AddressingMode>(CLenum from);
CLenum ToCLenum(AddressingMode from);
std::ostream &operator<<(std::ostream &os, AddressingMode value);
enum class CommandQueueInfo : uint8_t
{
Context = 0,
Device = 1,
ReferenceCount = 2,
Properties = 3,
Size = 4,
DeviceDefault = 5,
PropertiesArray = 6,
InvalidEnum = 7,
EnumCount = 7,
};
template <>
CommandQueueInfo FromCLenum<CommandQueueInfo>(CLenum from);
CLenum ToCLenum(CommandQueueInfo from);
std::ostream &operator<<(std::ostream &os, CommandQueueInfo value);
enum class ContextInfo : uint8_t
{
ReferenceCount = 0,
Devices = 1,
Properties = 2,
NumDevices = 3,
InvalidEnum = 4,
EnumCount = 4,
};
template <>
ContextInfo FromCLenum<ContextInfo>(CLenum from);
CLenum ToCLenum(ContextInfo from);
std::ostream &operator<<(std::ostream &os, ContextInfo value);
enum class DeviceInfo : uint8_t
{
Type = 0,
VendorID = 1,
MaxComputeUnits = 2,
MaxWorkItemDimensions = 3,
MaxWorkGroupSize = 4,
MaxWorkItemSizes = 5,
PreferredVectorWidthChar = 6,
PreferredVectorWidthShort = 7,
PreferredVectorWidthInt = 8,
PreferredVectorWidthLong = 9,
PreferredVectorWidthFloat = 10,
PreferredVectorWidthDouble = 11,
MaxClockFrequency = 12,
AddressBits = 13,
MaxReadImageArgs = 14,
MaxWriteImageArgs = 15,
MaxMemAllocSize = 16,
Image2D_MaxWidth = 17,
Image2D_MaxHeight = 18,
Image3D_MaxWidth = 19,
Image3D_MaxHeight = 20,
Image3D_MaxDepth = 21,
ImageSupport = 22,
MaxParameterSize = 23,
MaxSamplers = 24,
MemBaseAddrAlign = 25,
MinDataTypeAlignSize = 26,
SingleFpConfig = 27,
GlobalMemCacheType = 28,
GlobalMemCachelineSize = 29,
GlobalMemCacheSize = 30,
GlobalMemSize = 31,
MaxConstantBufferSize = 32,
MaxConstantArgs = 33,
LocalMemType = 34,
LocalMemSize = 35,
ErrorCorrectionSupport = 36,
ProfilingTimerResolution = 37,
EndianLittle = 38,
Available = 39,
CompilerAvailable = 40,
ExecutionCapabilities = 41,
QueueOnHostProperties = 42,
Name = 43,
Vendor = 44,
DriverVersion = 45,
Profile = 46,
Version = 47,
Extensions = 48,
Platform = 49,
DoubleFpConfig = 50,
HalfFpConfig = 51,
PreferredVectorWidthHalf = 52,
HostUnifiedMemory = 53,
NativeVectorWidthChar = 54,
NativeVectorWidthShort = 55,
NativeVectorWidthInt = 56,
NativeVectorWidthLong = 57,
NativeVectorWidthFloat = 58,
NativeVectorWidthDouble = 59,
NativeVectorWidthHalf = 60,
OpenCL_C_Version = 61,
LinkerAvailable = 62,
BuiltInKernels = 63,
ImageMaxBufferSize = 64,
ImageMaxArraySize = 65,
ParentDevice = 66,
PartitionMaxSubDevices = 67,
PartitionProperties = 68,
PartitionAffinityDomain = 69,
PartitionType = 70,
ReferenceCount = 71,
PreferredInteropUserSync = 72,
PrintfBufferSize = 73,
ImagePitchAlignment = 74,
ImageBaseAddressAlignment = 75,
MaxReadWriteImageArgs = 76,
MaxGlobalVariableSize = 77,
QueueOnDeviceProperties = 78,
QueueOnDevicePreferredSize = 79,
QueueOnDeviceMaxSize = 80,
MaxOnDeviceQueues = 81,
MaxOnDeviceEvents = 82,
SVM_Capabilities = 83,
GlobalVariablePreferredTotalSize = 84,
MaxPipeArgs = 85,
PipeMaxActiveReservations = 86,
PipeMaxPacketSize = 87,
PreferredPlatformAtomicAlignment = 88,
PreferredGlobalAtomicAlignment = 89,
PreferredLocalAtomicAlignment = 90,
IL_Version = 91,
MaxNumSubGroups = 92,
SubGroupIndependentForwardProgress = 93,
NumericVersion = 94,
ExtensionsWithVersion = 95,
ILsWithVersion = 96,
BuiltInKernelsWithVersion = 97,
AtomicMemoryCapabilities = 98,
AtomicFenceCapabilities = 99,
NonUniformWorkGroupSupport = 100,
OpenCL_C_AllVersions = 101,
PreferredWorkGroupSizeMultiple = 102,
WorkGroupCollectiveFunctionsSupport = 103,
GenericAddressSpaceSupport = 104,
OpenCL_C_Features = 105,
DeviceEnqueueCapabilities = 106,
PipeSupport = 107,
LatestConformanceVersionPassed = 108,
InvalidEnum = 109,
EnumCount = 109,
};
template <>
DeviceInfo FromCLenum<DeviceInfo>(CLenum from);
CLenum ToCLenum(DeviceInfo from);
std::ostream &operator<<(std::ostream &os, DeviceInfo value);
enum class EventInfo : uint8_t
{
CommandQueue = 0,
CommandType = 1,
ReferenceCount = 2,
CommandExecutionStatus = 3,
Context = 4,
InvalidEnum = 5,
EnumCount = 5,
};
template <>
EventInfo FromCLenum<EventInfo>(CLenum from);
CLenum ToCLenum(EventInfo from);
std::ostream &operator<<(std::ostream &os, EventInfo value);
enum class FilterMode : uint8_t
{
Nearest = 0,
Linear = 1,
InvalidEnum = 2,
EnumCount = 2,
};
template <>
FilterMode FromCLenum<FilterMode>(CLenum from);
CLenum ToCLenum(FilterMode from);
std::ostream &operator<<(std::ostream &os, FilterMode value);
enum class ImageInfo : uint8_t
{
Format = 0,
ElementSize = 1,
RowPitch = 2,
SlicePitch = 3,
Width = 4,
Height = 5,
Depth = 6,
ArraySize = 7,
Buffer = 8,
NumMipLevels = 9,
NumSamples = 10,
InvalidEnum = 11,
EnumCount = 11,
};
template <>
ImageInfo FromCLenum<ImageInfo>(CLenum from);
CLenum ToCLenum(ImageInfo from);
std::ostream &operator<<(std::ostream &os, ImageInfo value);
enum class KernelArgInfo : uint8_t
{
AddressQualifier = 0,
AccessQualifier = 1,
TypeName = 2,
TypeQualifier = 3,
Name = 4,
InvalidEnum = 5,
EnumCount = 5,
};
template <>
KernelArgInfo FromCLenum<KernelArgInfo>(CLenum from);
CLenum ToCLenum(KernelArgInfo from);
std::ostream &operator<<(std::ostream &os, KernelArgInfo value);
enum class KernelExecInfo : uint8_t
{
SVM_Ptrs = 0,
SVM_FineGrainSystem = 1,
InvalidEnum = 2,
EnumCount = 2,
};
template <>
KernelExecInfo FromCLenum<KernelExecInfo>(CLenum from);
CLenum ToCLenum(KernelExecInfo from);
std::ostream &operator<<(std::ostream &os, KernelExecInfo value);
enum class KernelInfo : uint8_t
{
FunctionName = 0,
NumArgs = 1,
ReferenceCount = 2,
Context = 3,
Program = 4,
Attributes = 5,
InvalidEnum = 6,
EnumCount = 6,
};
template <>
KernelInfo FromCLenum<KernelInfo>(CLenum from);
CLenum ToCLenum(KernelInfo from);
std::ostream &operator<<(std::ostream &os, KernelInfo value);
enum class KernelSubGroupInfo : uint8_t
{
MaxSubGroupSizeForNdrange = 0,
SubGroupCountForNdrange = 1,
LocalSizeForSubGroupCount = 2,
MaxNumSubGroups = 3,
CompileNumSubGroups = 4,
InvalidEnum = 5,
EnumCount = 5,
};
template <>
KernelSubGroupInfo FromCLenum<KernelSubGroupInfo>(CLenum from);
CLenum ToCLenum(KernelSubGroupInfo from);
std::ostream &operator<<(std::ostream &os, KernelSubGroupInfo value);
enum class KernelWorkGroupInfo : uint8_t
{
WorkGroupSize = 0,
CompileWorkGroupSize = 1,
LocalMemSize = 2,
PreferredWorkGroupSizeMultiple = 3,
PrivateMemSize = 4,
GlobalWorkSize = 5,
InvalidEnum = 6,
EnumCount = 6,
};
template <>
KernelWorkGroupInfo FromCLenum<KernelWorkGroupInfo>(CLenum from);
CLenum ToCLenum(KernelWorkGroupInfo from);
std::ostream &operator<<(std::ostream &os, KernelWorkGroupInfo value);
enum class MemInfo : uint8_t
{
Type = 0,
Flags = 1,
Size = 2,
HostPtr = 3,
MapCount = 4,
ReferenceCount = 5,
Context = 6,
AssociatedMemObject = 7,
Offset = 8,
UsesSVM_Pointer = 9,
Properties = 10,
InvalidEnum = 11,
EnumCount = 11,
};
template <>
MemInfo FromCLenum<MemInfo>(CLenum from);
CLenum ToCLenum(MemInfo from);
std::ostream &operator<<(std::ostream &os, MemInfo value);
enum class MemObjectType : uint8_t
{
Buffer = 0,
Image2D = 1,
Image3D = 2,
Image2D_Array = 3,
Image1D = 4,
Image1D_Array = 5,
Image1D_Buffer = 6,
Pipe = 7,
InvalidEnum = 8,
EnumCount = 8,
};
template <>
MemObjectType FromCLenum<MemObjectType>(CLenum from);
CLenum ToCLenum(MemObjectType from);
std::ostream &operator<<(std::ostream &os, MemObjectType value);
enum class PipeInfo : uint8_t
{
PacketSize = 0,
MaxPackets = 1,
Properties = 2,
InvalidEnum = 3,
EnumCount = 3,
};
template <>
PipeInfo FromCLenum<PipeInfo>(CLenum from);
CLenum ToCLenum(PipeInfo from);
std::ostream &operator<<(std::ostream &os, PipeInfo value);
enum class PlatformInfo : uint8_t
{
Profile = 0,
Version = 1,
Name = 2,
Vendor = 3,
Extensions = 4,
HostTimerResolution = 5,
NumericVersion = 6,
ExtensionsWithVersion = 7,
IcdSuffix = 8,
InvalidEnum = 9,
EnumCount = 9,
};
template <>
PlatformInfo FromCLenum<PlatformInfo>(CLenum from);
CLenum ToCLenum(PlatformInfo from);
std::ostream &operator<<(std::ostream &os, PlatformInfo value);
enum class ProfilingInfo : uint8_t
{
CommandQueued = 0,
CommandSubmit = 1,
CommandStart = 2,
CommandEnd = 3,
CommandComplete = 4,
InvalidEnum = 5,
EnumCount = 5,
};
template <>
ProfilingInfo FromCLenum<ProfilingInfo>(CLenum from);
CLenum ToCLenum(ProfilingInfo from);
std::ostream &operator<<(std::ostream &os, ProfilingInfo value);
enum class ProgramBuildInfo : uint8_t
{
Status = 0,
Options = 1,
Log = 2,
BinaryType = 3,
GlobalVariableTotalSize = 4,
InvalidEnum = 5,
EnumCount = 5,
};
template <>
ProgramBuildInfo FromCLenum<ProgramBuildInfo>(CLenum from);
CLenum ToCLenum(ProgramBuildInfo from);
std::ostream &operator<<(std::ostream &os, ProgramBuildInfo value);
enum class ProgramInfo : uint8_t
{
ReferenceCount = 0,
Context = 1,
NumDevices = 2,
Devices = 3,
Source = 4,
BinarySizes = 5,
Binaries = 6,
NumKernels = 7,
KernelNames = 8,
IL = 9,
ScopeGlobalCtorsPresent = 10,
ScopeGlobalDtorsPresent = 11,
InvalidEnum = 12,
EnumCount = 12,
};
template <>
ProgramInfo FromCLenum<ProgramInfo>(CLenum from);
CLenum ToCLenum(ProgramInfo from);
std::ostream &operator<<(std::ostream &os, ProgramInfo value);
enum class SamplerInfo : uint8_t
{
ReferenceCount = 0,
Context = 1,
NormalizedCoords = 2,
AddressingMode = 3,
FilterMode = 4,
Properties = 5,
InvalidEnum = 6,
EnumCount = 6,
};
template <>
SamplerInfo FromCLenum<SamplerInfo>(CLenum from);
CLenum ToCLenum(SamplerInfo from);
std::ostream &operator<<(std::ostream &os, SamplerInfo value);
} // namespace cl
#endif // COMMON_PACKEDCLENUMS_AUTOGEN_H_