CLRX
1
An unofficial OpenCL extensions designed for Radeon GPUs
|
main namespace More...
Classes | |
class | AsmFormatException |
assembler format exception More... | |
class | AsmFormatHandler |
assdembler format handler More... | |
class | AsmRawCodeHandler |
handles raw code format More... | |
class | AsmAmdHandler |
handles AMD Catalyst format More... | |
class | AsmAmdCL2Handler |
handles AMD OpenCL 2.0 binary format More... | |
class | AsmGalliumHandler |
handles GalliumCompute format More... | |
struct | LineCol |
line and column More... | |
struct | AsmSource |
descriptor of assembler source for source position More... | |
struct | AsmFile |
descriptor of file inclusion More... | |
struct | AsmMacroSubst |
descriptor assembler macro substitution More... | |
struct | AsmMacroSource |
descriptor of macro source (used in source fields) More... | |
struct | AsmRepeatSource |
descriptor of assembler repetition More... | |
struct | AsmSourcePos |
assembler source position More... | |
struct | LineTrans |
line translations More... | |
struct | AsmMacroArg |
assembler macro aegument More... | |
class | AsmMacro |
assembler macro More... | |
class | AsmRepeat |
assembler repeat More... | |
class | AsmIRP |
assembler IRP More... | |
class | AsmInputFilter |
assembler input filter for reading lines More... | |
class | AsmStreamInputFilter |
assembler input layout filter More... | |
class | AsmMacroInputFilter |
assembler macro input filter (for macro filtering) More... | |
class | AsmRepeatInputFilter |
assembler repeat input filter More... | |
class | AsmIRPInputFilter |
assembler IRP pseudo-op input filter More... | |
class | ISAAssembler |
ISA assembler class. More... | |
class | GCNAssembler |
GCN arch assembler. More... | |
struct | AsmExprSymbolOccurrence |
assembler symbol occurrence in expression More... | |
struct | AsmSymbol |
assembler symbol structure More... | |
struct | AsmExprTarget |
target for assembler expression More... | |
struct | AsmRelocation |
assembler relocation More... | |
class | AsmExpression |
assembler expression class More... | |
union | AsmExprArg |
assembler expression argument More... | |
struct | AsmSection |
assembler section More... | |
struct | AsmKernel |
kernel entry structure More... | |
struct | AsmClause |
assembler's clause (if,else,macro,rept) More... | |
class | Assembler |
main class of assembler More... | |
class | ISADisassembler |
main class for More... | |
class | GCNDisassembler |
GCN architectur dissassembler. More... | |
struct | AmdDisasmKernelInput |
single kernel input for disassembler More... | |
struct | AmdDisasmInput |
whole disassembler input (for AMD Catalyst driver GPU binaries) More... | |
struct | AmdCL2RelaEntry |
relocation with addend More... | |
struct | AmdCL2DisasmKernelInput |
single kernel input for disassembler More... | |
struct | AmdCL2DisasmInput |
whole disassembler input (for AMD Catalyst driver GPU binaries) More... | |
struct | GalliumDisasmInput |
whole disassembler input (for Gallium driver GPU binaries) More... | |
struct | RawCodeInput |
disassembler input for raw code More... | |
class | Disassembler |
disassembler class More... | |
struct | AmdKernelArg |
kernel argument info structure More... | |
struct | X86KernelArgSym |
X86_64 kernel argument symbol. More... | |
struct | X86_64KernelArgSym |
X86_64 kernel argument symbol. More... | |
struct | CALEncodingEntry |
CALEncodingEntry. There are not copied (ULEV must be used) More... | |
struct | CALNoteHeader |
ATI CAL Note header. There are not copied (ULEV must be used) More... | |
struct | CALNote |
ATI CAL note. There are not copied (ULEV must be used) More... | |
struct | CALNoteInput |
ATI CAL note input. More... | |
struct | CALProgramInfoEntry |
CAL program info entry. There are not copied (ULEV must be used) More... | |
struct | CALUAVEntry |
There are not copied (ULEV must be used) More... | |
struct | CALDataSegmentEntry |
There are not copied (ULEV must be used) More... | |
struct | CALConstantBufferMask |
There are not copied (ULEV must be used) More... | |
struct | CALSamplerMapEntry |
There are not copied (ULEV must be used) More... | |
struct | KernelInfo |
kernel informations More... | |
class | AmdInnerGPUBinary32 |
AMD inner binary for GPU binaries that represent a single kernel. More... | |
class | AmdInnerX86Binary32 |
AMD inner X86 binary. More... | |
class | AmdInnerX86Binary64 |
AMD inner binary for X86-64 binaries. More... | |
class | AmdMainBinaryBase |
main AMD binary base class More... | |
struct | AmdGPUKernelMetadata |
AMD GPU metadata for kernel. More... | |
struct | AmdGPUKernelHeader |
AMD GPU header for kernel. More... | |
class | AmdMainGPUBinaryBase |
main AMD GPU binary base class More... | |
class | AmdMainGPUBinary32 |
AMD main binary for GPU for 32-bit mode. More... | |
class | AmdMainGPUBinary64 |
AMD main binary for GPU for 64-bit mode. More... | |
class | AmdMainX86Binary32 |
AMD main binary for X86 systems. More... | |
class | AmdMainX86Binary64 |
AMD main binary for X86-64 systems. More... | |
struct | AmdKernelArgInput |
AMD OpenCL kernel argument description. More... | |
struct | AmdUserData |
user data for in CAL PROGINFO More... | |
struct | AmdKernelConfig |
kernel configuration More... | |
struct | AmdKernelInput |
AMD kernel input. More... | |
struct | AmdInput |
main Input for AmdGPUBinGenerator More... | |
class | AmdGPUBinGenerator |
main AMD GPU Binary generator More... | |
struct | AmdCL2GPUKernel |
AMD OpenCL 2.0 GPU metadata for kernel. More... | |
struct | AmdCL2GPUKernelStub |
AMD OpenCL 2.0 GPU kernel stub. More... | |
class | AmdCL2InnerGPUBinaryBase |
AMD OpenCL 2.0 inner binary base class. More... | |
class | AmdCL2OldInnerGPUBinary |
AMD OpenCL 2.0 old inner binary for GPU binaries that represent a single kernel. More... | |
class | AmdCL2InnerGPUBinary |
AMD OpenCL 2.0 inner binary for GPU binaries that represent a single kernel. More... | |
struct | AmdCL2GPUKernelMetadata |
AMD OpenCL 2.0 GPU metadata for kernel. More... | |
struct | AmdCL2GPUMetadataHeader |
header for metadata More... | |
struct | AmdCL2GPUKernelArgEntry |
GPU kernel argument entry. More... | |
class | AmdCL2MainGPUBinary |
AMD OpenCL 2.0 main binary for GPU for 64-bit mode. More... | |
struct | AmdCL2KernelConfig |
kernel configuration More... | |
struct | AmdCL2RelInput |
AMD CL2 Relocation entry input. More... | |
struct | AmdCL2KernelInput |
AMD kernel input. More... | |
struct | AmdCL2Input |
main Input for AmdCL2GPUBinGenerator More... | |
class | AmdCL2GPUBinGenerator |
main AMD OpenCL2.0 GPU Binary generator More... | |
struct | Elf32Types |
ELF 32-bit types. More... | |
struct | Elf64Types |
ELF 32-bit types. More... | |
class | ElfBinaryTemplate |
ELF binary class. More... | |
class | ElfRegionContent |
elf region content generator for elf region More... | |
struct | ElfHeaderTemplate |
elf header template More... | |
struct | BinSection |
section structure to external usage (for example in the binary generator input) More... | |
struct | BinSymbol |
symbol structure to external usage (fo example in the binary generator input) More... | |
struct | ElfRegionTemplate |
template of ElfRegion More... | |
struct | ElfProgramHeaderTemplate |
template of ELF program header More... | |
struct | ElfSymbolTemplate |
ELF symbol template. More... | |
class | ElfBinaryGenTemplate |
ELF binary generator. More... | |
struct | GalliumProgInfoEntry |
kernel program info entry for Gallium binaries More... | |
struct | GalliumArgInfo |
kernel argument (Gallium binaries) More... | |
struct | GalliumKernel |
kernel info structure (Gallium binaries) More... | |
struct | GalliumSection |
Gallium binarie's Section. More... | |
class | GalliumElfBinaryBase |
Gallium elf binary base (for 32-bit and 64-bit) More... | |
class | GalliumElfBinary32 |
32-bit Gallium ELF binary More... | |
class | GalliumElfBinary64 |
64-bit Gallium ELF binary More... | |
class | GalliumBinary |
struct | GalliumDisasmKernelInput |
disasm kernel info structure (Gallium binaries) More... | |
struct | GalliumKernelConfig |
kernel config More... | |
struct | GalliumKernelInput |
kernel info structure (Gallium binaries) More... | |
struct | GalliumInput |
Gallium input. More... | |
class | GalliumBinGenerator |
gallium code binary generator More... | |
struct | CLIOption |
Command line option description. More... | |
class | CLIException |
CLI exception class. More... | |
class | CLIParser |
The Command Line Parser (parses options and their arguments) More... | |
class | Array |
an array class More... | |
class | CString |
simple C-string container More... | |
class | MemoryStreamBuf |
memory stream buffer More... | |
class | ArrayStreamBuf |
array stream buffer that holds external static array for memory saving More... | |
class | StringStreamBuf |
string stream buffer that holds external string for memory saving More... | |
class | VectorStreamBuf |
vector char stream buffer external char-vector for memory saving More... | |
class | ArrayIStream |
specialized input stream that holds external array for memory saving More... | |
class | ArrayIOStream |
specialized input/output stream that holds external array for memory saving More... | |
class | ArrayOStream |
specialized output stream that holds external array for memory saving More... | |
class | StringIStream |
specialized input stream that holds external string for memory saving More... | |
class | StringIOStream |
specialized input/output stream that holds external string for memory saving More... | |
class | StringOStream |
specialized output stream that holds external string for memory saving More... | |
class | VectorIStream |
specialized input stream that holds external char-vector for memory saving More... | |
class | VectorIOStream |
specialized input/output stream that holds external char-vector for memory saving More... | |
class | VectorOStream |
specialized output stream that holds external char-vector for memory saving More... | |
class | FastInputBuffer |
fast input buffer adapter More... | |
class | FastOutputBuffer |
fast and direct output buffer More... | |
struct | NonCopyableAndNonMovable |
non copyable and non movable base structure (class) More... | |
class | Exception |
exception class More... | |
class | ParseException |
parse exception class More... | |
class | DynLibrary |
dynamic library class More... | |
struct | CStringLess |
function class that returns true if first C string is less than second More... | |
struct | CStringCaseLess |
function class that returns true if first C string is less than second (ignore case) More... | |
struct | CStringEqual |
function class that returns true if C strings are equal More... | |
struct | CStringHash |
generate hash function for C string More... | |
struct | UInt128 |
Unsigned 128-bit integer. More... | |
class | RefCountable |
reference countable object More... | |
class | FastRefCountable |
reference countable object (only for single threading usage) More... | |
class | RefPtr |
reference pointer based on Glibmm refptr More... | |
Typedefs | |
typedef cxbyte | AsmExprTargetType |
expression target type (one byte) | |
typedef std::unordered_map < CString, AsmSymbol > | AsmSymbolMap |
assembler symbol map | |
typedef AsmSymbolMap::value_type | AsmSymbolEntry |
assembler symbol entry | |
typedef cxuint | RelocType |
relocation type | |
typedef class ElfBinaryTemplate< Elf32Types > | ElfBinary32 |
type for 32-bit ELF binary | |
typedef class ElfBinaryTemplate< Elf64Types > | ElfBinary64 |
type for 64-bit ELF binary | |
typedef ElfHeaderTemplate < Elf32Types > | ElfHeader32 |
32-bit elf header | |
typedef ElfHeaderTemplate < Elf64Types > | ElfHeader64 |
64-bit elf header | |
typedef ElfRegionTemplate < Elf32Types > | ElfRegion32 |
32-bit region (for 32-bit elf) | |
typedef ElfRegionTemplate < Elf64Types > | ElfRegion64 |
64-bit region (for 64-bit elf) | |
typedef ElfProgramHeaderTemplate < Elf32Types > | ElfProgramHeader32 |
32-bit elf program header | |
typedef ElfProgramHeaderTemplate < Elf64Types > | ElfProgramHeader64 |
64-bit elf program header | |
typedef ElfSymbolTemplate < Elf32Types > | ElfSymbol32 |
32-bit elf symbol | |
typedef ElfSymbolTemplate < Elf64Types > | ElfSymbol64 |
64-bit elf symbol | |
typedef class ElfBinaryGenTemplate < Elf32Types > | ElfBinaryGen32 |
type for 32-bit ELF binary generator | |
typedef class ElfBinaryGenTemplate < Elf64Types > | ElfBinaryGen64 |
type for 64-bit ELF binary generator | |
typedef uint64_t | LineNo |
line number type | |
typedef size_t | ColNo |
column number type | |
typedef uint32_t | Flags |
type for declaring various flags | |
Enumerations | |
enum | AsmSectionType : cxbyte { AsmSectionType::DATA = 0, AsmSectionType::CODE, AsmSectionType::CONFIG, AsmSectionType::LAST_COMMON = CONFIG, AsmSectionType::AMD_HEADER = LAST_COMMON+1, AsmSectionType::AMD_METADATA, AsmSectionType::AMD_CALNOTE, AMDCL2_RWDATA = LAST_COMMON+1, AMDCL2_BSS, AMDCL2_SAMPLERINIT, AMDCL2_SETUP, AMDCL2_STUB, AMDCL2_METADATA, AMDCL2_ISAMETADATA, AsmSectionType::GALLIUM_COMMENT = LAST_COMMON+1, EXTRA_FIRST = 0xfc, EXTRA_PROGBITS = 0xfc, EXTRA_NOBITS = 0xfd, EXTRA_NOTE = 0xfe, EXTRA_SECTION = 0xff } |
assembler section type More... | |
enum | : cxuint { ASMSECT_ABS = UINT_MAX, ASMSECT_NONE = UINT_MAX, ASMKERN_GLOBAL = UINT_MAX, ASMKERN_INNER = UINT_MAX-1 } |
enum | : Flags { ASMSECT_WRITEABLE = 1, ASMSECT_ADDRESSABLE = 2, ASMSECT_ABS_ADDRESSABLE = 4, ASMSECT_UNRESOLVABLE = 8, ASMELFSECT_ALLOCATABLE = 0x10, ASMELFSECT_WRITEABLE = 0x20, ASMELFSECT_EXECUTABLE = 0x40 } |
enum | AsmSourceType : cxbyte { AsmSourceType::FILE, AsmSourceType::MACRO, AsmSourceType::REPT } |
source type More... | |
enum | AsmInputFilterType { AsmInputFilterType::STREAM = 0, AsmInputFilterType::REPEAT, AsmInputFilterType::MACROSUBST } |
type of AsmInputFilter More... | |
enum | : Flags { ASM_WARNINGS = 1, ASM_FORCE_ADD_SYMBOLS = 2, ASM_ALTMACRO = 4, ASM_TESTRUN = (1U<<31), ASM_ALL = FLAGS_ALL&~ASM_TESTRUN } |
enum | : cxbyte { WS_UNSIGNED = 0, WS_BOTH = 1 } |
enum | : AsmExprTargetType { ASMXTGT_SYMBOL = 0, ASMXTGT_DATA8, ASMXTGT_DATA16, ASMXTGT_DATA32, ASMXTGT_DATA64, GCNTGT_LITIMM = 16, GCNTGT_SOPKSIMM16, GCNTGT_SOPJMP, GCNTGT_SMRDOFFSET, GCNTGT_DSOFFSET16, GCNTGT_DSOFFSET8_0, GCNTGT_DSOFFSET8_1, GCNTGT_MXBUFOFFSET, GCNTGT_SMEMOFFSET, GCNTGT_SOPCIMM8, GCNTGT_SMEMIMM } |
enum | AsmExprOp : cxbyte { AsmExprOp::ARG_VALUE = 0, AsmExprOp::ARG_SYMBOL = 1, AsmExprOp::NEGATE = 2, AsmExprOp::BIT_NOT, AsmExprOp::LOGICAL_NOT, AsmExprOp::PLUS, AsmExprOp::ADDITION, AsmExprOp::SUBTRACT, AsmExprOp::MULTIPLY, AsmExprOp::DIVISION, AsmExprOp::SIGNED_DIVISION, AsmExprOp::MODULO, AsmExprOp::SIGNED_MODULO, AsmExprOp::BIT_AND, BIT_OR, AsmExprOp::BIT_XOR, AsmExprOp::BIT_ORNOT, AsmExprOp::SHIFT_LEFT, AsmExprOp::SHIFT_RIGHT, AsmExprOp::SIGNED_SHIFT_RIGHT, AsmExprOp::LOGICAL_AND, AsmExprOp::LOGICAL_OR, AsmExprOp::EQUAL, AsmExprOp::NOT_EQUAL, AsmExprOp::LESS, AsmExprOp::LESS_EQ, AsmExprOp::GREATER, AsmExprOp::GREATER_EQ, AsmExprOp::BELOW, AsmExprOp::BELOW_EQ, AsmExprOp::ABOVE, AsmExprOp::ABOVE_EQ, AsmExprOp::CHOICE, AsmExprOp::CHOICE_START, FIRST_ARG = ARG_VALUE, LAST_ARG = ARG_SYMBOL, AsmExprOp::FIRST_UNARY = NEGATE, AsmExprOp::LAST_UNARY = PLUS, AsmExprOp::FIRST_BINARY = ADDITION, AsmExprOp::LAST_BINARY = ABOVE_EQ, AsmExprOp::NONE = 0xff } |
assembler expression operator More... | |
enum | AsmClauseType { AsmClauseType::IF, AsmClauseType::ELSEIF, AsmClauseType::ELSE, AsmClauseType::REPEAT, AsmClauseType::MACRO } |
type of clause More... | |
enum | BinaryFormat { BinaryFormat::AMD = 0, BinaryFormat::GALLIUM, BinaryFormat::RAWCODE, BinaryFormat::AMDCL2 } |
binary for Disassembler More... | |
enum | : Flags { DISASM_DUMPCODE = 1, DISASM_METADATA = 2, DISASM_DUMPDATA = 4, DISASM_CALNOTES = 8, DISASM_FLOATLITS = 16, DISASM_HEXCODE = 32, DISASM_SETUP = 64, DISASM_CONFIG = 128, DISASM_ALL = FLAGS_ALL&~DISASM_CONFIG } |
enum | : Flags { AMDBIN_INNER_INT_CREATE_ALL = 0xff, AMDBIN_CREATE_CALNOTES = 0x10, AMDBIN_CREATE_KERNELINFO = 0x10, AMDBIN_CREATE_KERNELINFOMAP = 0x20, AMDBIN_CREATE_INNERBINMAP = 0x40, AMDBIN_CREATE_INFOSTRINGS = 0x80, AMDBIN_CREATE_KERNELHEADERS = 0x100, AMDBIN_CREATE_KERNELHEADERMAP = 0x200, AMDBIN_INNER_CREATE_SECTIONMAP = 0x1000, AMDBIN_INNER_CREATE_SYMBOLMAP = 0x2000, AMDBIN_INNER_CREATE_DYNSYMMAP = 0x4000, AMDBIN_INNER_CREATE_CALNOTES = 0x10000, AMDBIN_CREATE_ALL = ELF_CREATE_ALL | 0xffff0, AMDBIN_INNER_SHIFT = 12 } |
enum | : cxuint { ELF_M_X86 = 0x7d4 } |
enum | KernelArgType : cxbyte { VOID = 0, UCHAR, CHAR, USHORT, SHORT, UINT, INT, ULONG, LONG, FLOAT, DOUBLE, POINTER, IMAGE, IMAGE1D, IMAGE1D_ARRAY, IMAGE1D_BUFFER, IMAGE2D, IMAGE2D_ARRAY, IMAGE3D, UCHAR2, UCHAR3, UCHAR4, UCHAR8, UCHAR16, CHAR2, CHAR3, CHAR4, CHAR8, CHAR16, USHORT2, USHORT3, USHORT4, USHORT8, USHORT16, SHORT2, SHORT3, SHORT4, SHORT8, SHORT16, UINT2, UINT3, UINT4, UINT8, UINT16, INT2, INT3, INT4, INT8, INT16, ULONG2, ULONG3, ULONG4, ULONG8, ULONG16, LONG2, LONG3, LONG4, LONG8, LONG16, FLOAT2, FLOAT3, FLOAT4, FLOAT8, FLOAT16, DOUBLE2, DOUBLE3, DOUBLE4, DOUBLE8, DOUBLE16, SAMPLER, STRUCTURE, COUNTER32, COUNTER64, PIPE, CMDQUEUE, CLKEVENT, MAX_VALUE = COUNTER64, MAX_VALUE_CL2 = CLKEVENT, MIN_IMAGE = IMAGE, MAX_IMAGE = IMAGE3D } |
kernel argument type | |
enum | KernelPtrSpace : cxbyte { KernelPtrSpace::NONE = 0, KernelPtrSpace::LOCAL, KernelPtrSpace::CONSTANT, KernelPtrSpace::GLOBAL, MAX_VALUE = GLOBAL } |
kernel pointer type of argument More... | |
enum | : cxbyte { KARG_PTR_NORMAL = 0, KARG_PTR_READ_ONLY = 1, KARG_PTR_WRITE_ONLY = 2, KARG_PTR_READ_WRITE = 3, KARG_PTR_ACCESS_MASK = 3, KARG_PTR_CONST = 4, KARG_PTR_RESTRICT = 8, KARG_PTR_VOLATILE = 16 } |
enum | : uint32_t { CALNOTE_ATI_PROGINFO = 1, CALNOTE_ATI_INPUTS = 2, CALNOTE_ATI_OUTPUTS = 3, CALNOTE_ATI_CONDOUT = 4, CALNOTE_ATI_FLOAT32CONSTS = 5, CALNOTE_ATI_INT32CONSTS = 6, CALNOTE_ATI_BOOL32CONSTS = 7, CALNOTE_ATI_EARLYEXIT = 8, CALNOTE_ATI_GLOBAL_BUFFERS = 9, CALNOTE_ATI_CONSTANT_BUFFERS = 10, CALNOTE_ATI_INPUT_SAMPLERS = 11, CALNOTE_ATI_PERSISTENT_BUFFERS = 12, CALNOTE_ATI_SCRATCH_BUFFERS = 13, CALNOTE_ATI_SUB_CONSTANT_BUFFERS = 14, CALNOTE_ATI_UAV_MAILBOX_SIZE = 15, CALNOTE_ATI_UAV = 16, CALNOTE_ATI_UAV_OP_MASK = 17, CALNOTE_ATI_MAXTYPE = CALNOTE_ATI_UAV_OP_MASK } |
enum | AmdMainType { AmdMainType::GPU_BINARY, AmdMainType::GPU_64_BINARY, AmdMainType::X86_BINARY, AmdMainType::X86_64_BINARY, GPU_CL2_BINARY } |
AMD main binary type. More... | |
enum | : Flags { AMDBIN_CREATE_KERNELDATA = 0x10, AMDBIN_CREATE_KERNELDATAMAP = 0x20, AMDBIN_CREATE_KERNELSTUBS = 0x40, AMDBIN_INNER_CREATE_KERNELDATA = 0x10000, AMDBIN_INNER_CREATE_KERNELDATAMAP = 0x20000, AMDBIN_INNER_CREATE_KERNELSTUBS = 0x40000 } |
enum | : cxbyte { AMDCL2_ARGUSED_NOTUSED = 0, AMDCL2_ARGUSED_READ = 1, AMDCL2_ARGUSED_WRITE = 2, AMDCL2_ARGUSED_READ_WRITE = 3 } |
enum | : cxuint { AMDCL2SECTID_SAMPLERINIT = ELFSECTID_OTHER_BUILTIN, AMDCL2SECTID_TEXTRELA, AMDCL2SECTID_RODATARELA, AMDCL2SECTID_NOTE, AMDCL2SECTID_MAX = AMDCL2SECTID_NOTE } |
enum | { RELTYPE_VALUE = 0, RELTYPE_LOW_32BIT, RELTYPE_HIGH_32BIT } |
enum | : cxuint { BINGEN_DEFAULT = UINT_MAX, BINGEN_NOTSUPPLIED = UINT_MAX-1 } |
enum | : Flags { ELF_CREATE_SECTIONMAP = 1, ELF_CREATE_SYMBOLMAP = 2, ELF_CREATE_DYNSYMMAP = 4, ELF_CREATE_ALL = 0xf } |
enum | ElfRegionType : cxbyte { ElfRegionType::PHDR_TABLE, ElfRegionType::SHDR_TABLE, ElfRegionType::SECTION, ElfRegionType::USER } |
type of Elf region More... | |
enum | : cxuint { ELFSECTID_START = UINT_MAX-255, ELFSECTID_SHSTRTAB = ELFSECTID_START, ELFSECTID_STRTAB, ELFSECTID_SYMTAB, ELFSECTID_DYNSTR, ELFSECTID_DYNSYM, ELFSECTID_TEXT, ELFSECTID_RODATA, ELFSECTID_DATA, ELFSECTID_BSS, ELFSECTID_COMMENT, ELFSECTID_STD_MAX = ELFSECTID_COMMENT, ELFSECTID_OTHER_BUILTIN = ELFSECTID_STD_MAX+1, ELFSECTID_NULL = UINT_MAX-2, ELFSECTID_ABS = UINT_MAX-1, ELFSECTID_UNDEF = UINT_MAX } |
enum | : Flags { GALLIUM_INNER_CREATE_SECTIONMAP = 0x10, GALLIUM_INNER_CREATE_SYMBOLMAP = 0x20, GALLIUM_INNER_CREATE_DYNSYMMAP = 0x40, GALLIUM_INNER_CREATE_PROGINFOMAP = 0x100, GALLIUM_ELF_CREATE_PROGINFOMAP = 0x10, GALLIUM_CREATE_ALL = ELF_CREATE_ALL | 0xfff0, GALLIUM_INNER_SHIFT = 4 } |
enum | GalliumArgType : cxbyte { GalliumArgType::SCALAR = 0, GalliumArgType::CONSTANT, GalliumArgType::GLOBAL, GalliumArgType::LOCAL, GalliumArgType::IMAGE2D_RDONLY, GalliumArgType::IMAGE2D_WRONLY, GalliumArgType::IMAGE3D_RDONLY, GalliumArgType::IMAGE3D_WRONLY, GalliumArgType::SAMPLER, GalliumArgType::MAX_VALUE = SAMPLER } |
GalliumCompute Kernel Arg type. More... | |
enum | GalliumArgSemantic : cxbyte { GalliumArgSemantic::GENERAL = 0, GalliumArgSemantic::GRID_DIMENSION, GalliumArgSemantic::GRID_OFFSET, GalliumArgSemantic::IMAGE_SIZE, GalliumArgSemantic::IMAGE_FORMAT, GalliumArgSemantic::MAX_VALUE = IMAGE_FORMAT } |
Gallium semantic field type. More... | |
enum | GalliumSectionType : cxbyte { GalliumSectionType::TEXT = 0, GalliumSectionType::DATA_CONSTANT, GalliumSectionType::DATA_GLOBAL, GalliumSectionType::DATA_LOCAL, GalliumSectionType::DATA_PRIVATE, GalliumSectionType::MAX_VALUE = DATA_PRIVATE } |
Gallium format section type. More... | |
enum | : cxuint { GALLIUMSECTID_GPUCONFIG = ELFSECTID_OTHER_BUILTIN, GALLIUMSECTID_NOTEGNUSTACK, GALLIUMSECTID_MAX = GALLIUMSECTID_NOTEGNUSTACK } |
enum | CLIArgType : cxuchar { CLIArgType::NONE = 0, BOOL, UINT, INT, UINT64, INT64, SIZE, FLOAT, DOUBLE, STRING, CLIArgType::TRIMMED_STRING, SINGLE_MAX = TRIMMED_STRING, BOOL_ARRAY = 32, UINT_ARRAY, INT_ARRAY, UINT64_ARRAY, INT64_ARRAY, SIZE_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, STRING_ARRAY, CLIArgType::TRIMMED_STRING_ARRAY, ARRAY_MAX = TRIMMED_STRING_ARRAY } |
type of argument of the option More... | |
enum | GPUDeviceType : cxbyte { GPUDeviceType::CAPE_VERDE = 0, GPUDeviceType::PITCAIRN, GPUDeviceType::TAHITI, GPUDeviceType::OLAND, GPUDeviceType::BONAIRE, GPUDeviceType::SPECTRE, GPUDeviceType::SPOOKY, GPUDeviceType::KALINDI, GPUDeviceType::HAINAN, GPUDeviceType::HAWAII, GPUDeviceType::ICELAND, GPUDeviceType::TONGA, GPUDeviceType::MULLINS, GPUDeviceType::FIJI, GPUDeviceType::CARRIZO, DUMMY, GOOSE, HORSE, STONEY, ELLESMERE, BAFFIN, GPUDeviceType::GPUDEVICE_MAX = BAFFIN, GPUDeviceType::RADEON_HD7700 = CAPE_VERDE, GPUDeviceType::RADEON_HD7800 = PITCAIRN, GPUDeviceType::RADEON_HD7900 = TAHITI, GPUDeviceType::RADEON_R7_250 = OLAND, GPUDeviceType::RADEON_R7_260 = BONAIRE, GPUDeviceType::RADEON_R9_290 = HAWAII } |
type of GPU device More... | |
enum | GPUArchitecture : cxbyte { GPUArchitecture::GCN1_0 = 0, GPUArchitecture::GCN1_1, GPUArchitecture::GCN1_2, GPUARCH_MAX = GCN1_2 } |
GPU architecture. More... | |
enum | : Flags { REGCOUNT_NO_VCC = 1, REGCOUNT_NO_FLAT = 2, REGCOUNT_NO_XNACK = 4, REGCOUNT_NO_EXTRA = 0xffff } |
enum | : cxuint { REGTYPE_SGPR = 0, REGTYPE_VGPR } |
enum | : Flags { GCN_VCC = 1, GCN_FLAT = 2, GCN_XNACK = 4 } |
enum | : Flags { GPUSETUP_TGSIZE_EN = 1, GPUSETUP_SCRATCH_EN = 2 } |
enum | : Flags { FLAGS_ALL = 0xffffffffU } |
enum | : Flags { DYNLIB_LOCAL = 0, DYNLIB_LAZY = 1, DYNLIB_NOW = 2, DYNLIB_MODE1_MASK = 7, DYNLIB_GLOBAL = 8 } |
Functions | |
bool | isKernelArgImage (KernelArgType argType) |
return true if argType is image | |
bool | isAmdBinary (size_t binaryCodeSize, const cxbyte *binaryCode) |
check whether binary code is Amd Catalyst binary | |
AmdMainBinaryBase * | createAmdBinaryFromCode (size_t binaryCodeSize, cxbyte *binaryCode, Flags creationFlags=AMDBIN_CREATE_ALL) |
create AMD binary object from binary code More... | |
uint32_t | detectAmdDriverVersion () |
detect driver version in the system | |
bool | isAmdCL2Binary (size_t binarySize, const cxbyte *binary) |
check whether is Amd OpenCL 2.0 binary | |
bool | isElfBinary (size_t binarySize, const cxbyte *binary) |
check whether binary data is is ELF binary | |
uint16_t | convertSectionId (cxuint sectionIndex, const uint16_t *builtinSections, cxuint maxBuiltinSection, cxuint extraSectionIndex) |
convert section id to elf section id | |
template<typename Iter > | |
Iter | binaryFind (Iter begin, Iter end, const typename std::iterator_traits< Iter >::value_type &v) |
binary find helper More... | |
template<typename Iter , typename Comp = std::less<typename std::iterator_traits<Iter>::value_type>> | |
Iter | binaryFind (Iter begin, Iter end, const typename std::iterator_traits< Iter >::value_type &v, Comp comp) |
binary find helper More... | |
template<typename Iter > | |
Iter | binaryMapFind (Iter begin, Iter end, const typename std::iterator_traits< Iter >::value_type::first_type &k) |
binary find helper for array-map More... | |
template<typename Iter , typename Comp = std::less<typename std::iterator_traits<Iter>::value_type::first_type>> | |
Iter | binaryMapFind (Iter begin, Iter end, const typename std::iterator_traits< Iter >::value_type::first_type &k, Comp comp) |
binary find helper for array-map More... | |
template<typename Iter > | |
void | mapSort (Iter begin, Iter end) |
map range of iterators More... | |
template<typename Iter , typename Comp = std::less<typename std::iterator_traits<Iter>::value_type::first_type>> | |
void | mapSort (Iter begin, Iter end, Comp comp) |
map range of iterators More... | |
bool | operator== (const CLRX::CString &s1, const CLRX::CString &s2) |
equal operator | |
bool | operator!= (const CLRX::CString &s1, const CLRX::CString &s2) |
not-equal operator | |
bool | operator< (const CLRX::CString &s1, const CLRX::CString &s2) |
less operator | |
bool | operator> (const CLRX::CString &s1, const CLRX::CString &s2) |
greater operator | |
bool | operator<= (const CLRX::CString &s1, const CLRX::CString &s2) |
less or equal operator | |
bool | operator>= (const CLRX::CString &s1, const CLRX::CString &s2) |
greater or equal operator | |
GPUDeviceType | getGPUDeviceTypeFromName (const char *name) |
get GPU device type from name | |
const char * | getGPUDeviceTypeName (GPUDeviceType deviceType) |
get GPU device type name | |
GPUArchitecture | getGPUArchitectureFromName (const char *name) |
get GPU architecture from name | |
GPUArchitecture | getGPUArchitectureFromDeviceType (GPUDeviceType deviceType) |
get GPUArchitecture from GPU device type | |
GPUDeviceType | getLowestGPUDeviceTypeFromArchitecture (GPUArchitecture arch) |
get lowest GPU device for architecture | |
const char * | getGPUArchitectureName (GPUArchitecture architecture) |
get GPU architecture name | |
cxuint | getGPUMaxRegistersNum (GPUArchitecture architecture, cxuint regType, Flags flags=0) |
get maximum available registers for GPU (type: 0 - scalar, 1 - vector) | |
void | getGPUSetupMinRegistersNum (GPUArchitecture architecture, cxuint dimMask, cxuint userDataNum, Flags flags, cxuint *gprsOut) |
get minimal number of required registers | |
size_t | getGPUMaxLocalSize (GPUArchitecture architecture) |
get maximum local size for GPU architecture | |
cxuint | getGPUExtraRegsNum (GPUArchitecture architecture, cxuint regType, Flags flags) |
get extra registers (like VCC,FLAT_SCRATCH) | |
uint8_t | BEV (uint8_t t) |
convert from/to big endian value | |
int8_t | BEV (int8_t t) |
convert from/to big endian value | |
uint16_t | BEV (uint16_t t) |
convert from/to big endian value | |
int16_t | BEV (int16_t t) |
convert from/to big endian value | |
uint32_t | BEV (uint32_t t) |
convert from/to big endian value | |
int32_t | BEV (int32_t t) |
convert from/to big endian value | |
uint64_t | BEV (uint64_t t) |
convert from/to big endian value | |
int64_t | BEV (int64_t t) |
convert from/to big endian value | |
uint8_t | UBEV (const uint8_t &t) |
convert from/to big endian value from unaligned memory | |
int8_t | UBEV (const int8_t &t) |
convert from/to big endian value from unaligned memory | |
uint16_t | UBEV (const uint16_t &t) |
convert from/to big endian value from unaligned memory | |
int16_t | UBEV (const int16_t &t) |
convert from/to big endian value from unaligned memory | |
uint32_t | UBEV (const uint32_t &t) |
convert from/to big endian value from unaligned memory | |
int32_t | UBEV (const int32_t &t) |
convert from/to big endian value from unaligned memory | |
uint64_t | UBEV (const uint64_t &t) |
convert from/to big endian value from unaligned memory | |
int64_t | UBEV (const int64_t &t) |
convert from/to big endian value from unaligned memory | |
uint8_t | LEV (uint8_t t) |
convert from/to little endian value | |
int8_t | LEV (int8_t t) |
convert from/to little endian value | |
uint16_t | LEV (uint16_t t) |
convert from/to little endian value | |
int16_t | LEV (int16_t t) |
convert from/to little endian value | |
uint32_t | LEV (uint32_t t) |
convert from/to little endian value | |
int32_t | LEV (int32_t t) |
convert from/to little endian value | |
uint64_t | LEV (uint64_t t) |
convert from/to little endian value | |
int64_t | LEV (int64_t t) |
convert from/to little endian value | |
uint8_t | ULEV (const uint8_t &t) |
convert from/to little endian value from unaligned memory | |
int8_t | ULEV (const int8_t &t) |
convert from/to little endian value from unaligned memory | |
uint16_t | ULEV (const uint16_t &t) |
convert from/to little endian value from unaligned memory | |
int16_t | ULEV (const int16_t &t) |
convert from/to little endian value from unaligned memory | |
uint32_t | ULEV (const uint32_t &t) |
convert from/to little endian value from unaligned memory | |
int32_t | ULEV (const int32_t &t) |
convert from/to little endian value from unaligned memory | |
uint64_t | ULEV (const uint64_t &t) |
convert from/to little endian value from unaligned memory | |
int64_t | ULEV (const int64_t &t) |
convert from/to little endian value from unaligned memory | |
void | SBEV (uint8_t &r, uint8_t v) |
save from/to big endian value | |
void | SBEV (int8_t &r, int8_t v) |
save from/to big endian value | |
void | SBEV (uint16_t &r, uint16_t v) |
save from/to big endian value | |
void | SBEV (int16_t &r, int16_t v) |
save from/to big endian value | |
void | SBEV (uint32_t &r, uint32_t v) |
save from/to big endian value | |
void | SBEV (int32_t &r, int32_t v) |
save from/to big endian value | |
void | SBEV (uint64_t &r, uint64_t v) |
save from/to big endian value | |
void | SBEV (int64_t &r, int64_t v) |
save from/to big endian value | |
void | SUBEV (uint16_t &r, uint16_t v) |
save from/to big endian value to unaligned memory | |
void | SUBEV (int16_t &r, int16_t v) |
save from/to big endian value to unaligned memory | |
void | SUBEV (uint32_t &r, uint32_t v) |
save from/to big endian value to unaligned memory | |
void | SUBEV (int32_t &r, int32_t v) |
save from/to big endian value to unaligned memory | |
void | SUBEV (uint64_t &r, uint64_t v) |
save from/to big endian value to unaligned memory | |
void | SUBEV (int64_t &r, int64_t v) |
save from/to big endian value to unaligned memory | |
void | SLEV (uint8_t &r, uint8_t v) |
save from/to little endian value | |
void | SLEV (int8_t &r, int8_t v) |
save from/to little endian value | |
void | SLEV (uint16_t &r, uint16_t v) |
save from/to little endian value | |
void | SLEV (int16_t &r, int16_t v) |
save from/to little endian value | |
void | SLEV (uint32_t &r, uint32_t v) |
save from/to little endian value | |
void | SLEV (int32_t &r, int32_t v) |
save from/to little endian value | |
void | SLEV (uint64_t &r, uint64_t v) |
save from/to little endian value | |
void | SLEV (int64_t &r, int64_t v) |
save from/to little endian value | |
void | SULEV (uint8_t &r, uint8_t v) |
save from/to little endian value to unaligned memory | |
void | SULEV (int8_t &r, int8_t v) |
save from/to little endian value to unaligned memory | |
void | SULEV (uint16_t &r, uint16_t v) |
save from/to little endian value to unaligned memory | |
void | SULEV (int16_t &r, int16_t v) |
save from/to little endian value to unaligned memory | |
void | SULEV (uint32_t &r, uint32_t v) |
save from/to little endian value to unaligned memory | |
void | SULEV (int32_t &r, int32_t v) |
save from/to little endian value to unaligned memory | |
void | SULEV (uint64_t &r, uint64_t v) |
save from/to little endian value to unaligned memory | |
void | SULEV (int64_t &r, int64_t v) |
save from/to little endian value to unaligned memory | |
uint16_t | BSWAP16 (uint16_t v) |
BSWAP 16-bit. | |
uint32_t | BSWAP32 (uint32_t v) |
BSWAP 32-bit. | |
uint64_t | BSWAP64 (uint64_t v) |
BSWAP 64-bit. | |
uint8_t | UBEV (uint8_t t) |
convert from/to big endian value from unaligned memory | |
int8_t | UBEV (int8_t t) |
convert from/to big endian value from unaligned memory | |
uint8_t | ULEV (uint8_t t) |
convert from/to little endian value from unaligned memory | |
int8_t | ULEV (int8_t t) |
convert from/to little endian value from unaligned memory | |
void | SUBEV (uint8_t &r, uint8_t v) |
save from/to big endian value to unaligned memory | |
void | SUBEV (int8_t &r, int8_t v) |
save from/to bif endian value to unaligned memory | |
bool | isSpace (unsigned char c) |
check whether character is space | |
bool | isODigit (unsigned char c) |
check whether character is digit | |
bool | isDigit (unsigned char c) |
check whether character is digit | |
bool | isXDigit (unsigned char c) |
check whether character is hexadecimal digit | |
bool | isAlpha (unsigned char c) |
check whether character is digit | |
bool | isAlnum (unsigned char c) |
check whether character is digit | |
const char * | skipSpaces (const char *s) |
skip spaces from cString | |
const char * | skipSpacesAtEnd (const char *s, size_t length) |
skip spaces from cString | |
template<typename T > | |
T | cstrtovCStyle (const char *str, const char *inend, const char *&outend) |
parses integer or float point formatted looks like C-style More... | |
template<typename T > | |
T | parseEnvVariable (const char *envVar, const T &defaultValue=T()) |
parse environment variable More... | |
template cxuchar | parseEnvVariable< cxuchar > (const char *envVar, const cxuchar &defaultValue) |
parse environment variable of cxuchar type | |
template cxchar | parseEnvVariable< cxchar > (const char *envVar, const cxchar &defaultValue) |
parse environment variable of cxchar type | |
template cxuint | parseEnvVariable< cxuint > (const char *envVar, const cxuint &defaultValue) |
parse environment variable of cxuint type | |
template cxint | parseEnvVariable< cxint > (const char *envVar, const cxint &defaultValue) |
parse environment variable of cxint type | |
template cxushort | parseEnvVariable< cxushort > (const char *envVar, const cxushort &defaultValue) |
parse environment variable of cxushort type | |
template cxshort | parseEnvVariable< cxshort > (const char *envVar, const cxshort &defaultValue) |
parse environment variable of cxshort type | |
template cxulong | parseEnvVariable< cxulong > (const char *envVar, const cxulong &defaultValue) |
parse environment variable of cxulong type | |
template cxlong | parseEnvVariable< cxlong > (const char *envVar, const cxlong &defaultValue) |
parse environment variable of cxlong type | |
template cxullong | parseEnvVariable< cxullong > (const char *envVar, const cxullong &defaultValue) |
parse environment variable of cxullong type | |
template cxllong | parseEnvVariable< cxllong > (const char *envVar, const cxllong &defaultValue) |
parse environment variable of cxllong type | |
template float | parseEnvVariable< float > (const char *envVar, const float &defaultValue) |
parse environment variable of float type | |
template double | parseEnvVariable< double > (const char *envVar, const double &defaultValue) |
parse environment variable of double type | |
template std::string | parseEnvVariable< std::string > (const char *envVar, const std::string &defaultValue) |
parse environment variable of string type | |
template bool | parseEnvVariable< bool > (const char *envVar, const bool &defaultValue) |
parse environment variable of boolean type | |
cxuint | CLZ32 (uint32_t v) |
counts leading zeroes for 32-bit unsigned integer. For zero behavior is undefined | |
cxuint | CLZ64 (uint64_t v) |
counts leading zeroes for 64-bit unsigned integer. For zero behavior is undefined | |
template<typename T , typename T2 > | |
bool | usumGt (T a, T b, T2 c) |
safely compares sum of two unsigned integers with other unsigned integer | |
template<typename T , typename T2 > | |
bool | usumGe (T a, T b, T2 c) |
safely compares sum of two unsigned integers with other unsigned integer | |
std::string | escapeStringCStyle (size_t strSize, const char *str) |
escapes string into C-style string | |
std::string | escapeStringCStyle (const std::string &str) |
escape string into C-style string | |
std::string | escapeStringCStyle (const CString &str) |
escape string into C-style string | |
size_t | escapeStringCStyle (size_t strSize, const char *str, size_t outMaxSize, char *outStr, size_t &outSize) |
escapes string into C-style string More... | |
cxuint | cstrtoui (const char *str, const char *inend, const char *&outend) |
parses unsigned integer regardless locales More... | |
int64_t | cstrtoiXCStyle (const char *str, const char *inend, const char *&outend, cxuint bits) |
parse 64-bit signed integer | |
uint64_t | cstrtouXCStyle (const char *str, const char *inend, const char *&outend, cxuint bits) |
parse 64-bit unsigned integer | |
uint64_t | cstrtofXCStyle (const char *str, const char *inend, const char *&outend, cxuint expBits, cxuint mantisaBits) |
parse 64-bit float value | |
UInt128 | cstrtou128CStyle (const char *str, const char *inend, const char *&outend) |
parse 128-bit unsigned integer | |
template<> | |
cxuchar | cstrtovCStyle< cxuchar > (const char *str, const char *inend, const char *&outend) |
parse cxuchar value from string | |
template<> | |
cxchar | cstrtovCStyle< cxchar > (const char *str, const char *inend, const char *&outend) |
parse cxchar value from string | |
template<> | |
cxuint | cstrtovCStyle< cxuint > (const char *str, const char *inend, const char *&outend) |
parse cxuint value from string | |
template<> | |
cxint | cstrtovCStyle< cxint > (const char *str, const char *inend, const char *&outend) |
parse cxint value from string | |
template<> | |
cxushort | cstrtovCStyle< cxushort > (const char *str, const char *inend, const char *&outend) |
parse cxushort value from string | |
template<> | |
cxshort | cstrtovCStyle< cxshort > (const char *str, const char *inend, const char *&outend) |
parse cxshort value from string | |
template<> | |
cxulong | cstrtovCStyle< cxulong > (const char *str, const char *inend, const char *&outend) |
parse cxulong value from string | |
template<> | |
cxlong | cstrtovCStyle< cxlong > (const char *str, const char *inend, const char *&outend) |
parse cxlong value from string | |
template<> | |
cxullong | cstrtovCStyle< cxullong > (const char *str, const char *inend, const char *&outend) |
parse cxullong value from string | |
template<> | |
cxllong | cstrtovCStyle< cxllong > (const char *str, const char *inend, const char *&outend) |
parse cxllong value from string | |
template<> | |
UInt128 | cstrtovCStyle< UInt128 > (const char *str, const char *inend, const char *&outend) |
parse UInt128 value from string | |
template<> | |
float | cstrtovCStyle< float > (const char *str, const char *inend, const char *&outend) |
parse float value from string | |
template<> | |
double | cstrtovCStyle< double > (const char *str, const char *inend, const char *&outend) |
parse double value from string | |
cxushort | cstrtohCStyle (const char *str, const char *inend, const char *&outend) |
parses half float formatted looks like C-style More... | |
size_t | uXtocstrCStyle (uint64_t value, char *str, size_t maxSize, cxuint radix, cxuint width, bool prefix) |
format unsigned value to string | |
size_t | iXtocstrCStyle (int64_t value, char *str, size_t maxSize, cxuint radix, cxuint width, bool prefix) |
formast signed value to string | |
template<typename T > | |
size_t | itocstrCStyle (T value, char *str, size_t maxSize, cxuint radix=10, cxuint width=0, bool prefix=true) |
formats an integer More... | |
template<> | |
size_t | itocstrCStyle< cxuchar > (cxuchar value, char *str, size_t maxSize, cxuint radix, cxuint width, bool prefix) |
format cxuchar value to string | |
template<> | |
size_t | itocstrCStyle< cxchar > (cxchar value, char *str, size_t maxSize, cxuint radix, cxuint width, bool prefix) |
format cxchar value to string | |
template<> | |
size_t | itocstrCStyle< cxushort > (cxushort value, char *str, size_t maxSize, cxuint radix, cxuint width, bool prefix) |
format cxushort value to string | |
template<> | |
size_t | itocstrCStyle< cxshort > (cxshort value, char *str, size_t maxSize, cxuint radix, cxuint width, bool prefix) |
format cxshort value to string | |
template<> | |
size_t | itocstrCStyle< cxuint > (cxuint value, char *str, size_t maxSize, cxuint radix, cxuint width, bool prefix) |
format cxuint value to string | |
template<> | |
size_t | itocstrCStyle< cxint > (cxint value, char *str, size_t maxSize, cxuint radix, cxuint width, bool prefix) |
format cxint value to string | |
template<> | |
size_t | itocstrCStyle< cxulong > (cxulong value, char *str, size_t maxSize, cxuint radix, cxuint width, bool prefix) |
format cxulong value to string | |
template<> | |
size_t | itocstrCStyle< cxlong > (cxlong value, char *str, size_t maxSize, cxuint radix, cxuint width, bool prefix) |
format cxlong value to string | |
template<> | |
size_t | itocstrCStyle< cxullong > (cxullong value, char *str, size_t maxSize, cxuint radix, cxuint width, bool prefix) |
format cxullong value to string | |
template<> | |
size_t | itocstrCStyle< cxllong > (cxllong value, char *str, size_t maxSize, cxuint radix, cxuint width, bool prefix) |
format cxllong value to string | |
size_t | fXtocstrCStyle (uint64_t value, char *str, size_t maxSize, bool scientific, cxuint expBits, cxuint mantisaBits) |
format float value to string | |
size_t | htocstrCStyle (cxushort value, char *str, size_t maxSize, bool scientific=false) |
formats half float in C-style More... | |
size_t | ftocstrCStyle (float value, char *str, size_t maxSize, bool scientific=false) |
formats single float in C-style More... | |
size_t | dtocstrCStyle (double value, char *str, size_t maxSize, bool scientific=false) |
formats double float in C-style More... | |
bool | isDirectory (const char *path) |
returns true if path refers to directory | |
Array< cxbyte > | loadDataFromFile (const char *filename) |
load data from file (any regular or pipe or device) More... | |
void | filesystemPath (char *path) |
convert to filesystem from unified path (with slashes) | |
void | filesystemPath (std::string &path) |
convert to filesystem from unified path (with slashes) | |
std::string | joinPaths (const std::string &path1, const std::string &path2) |
join two paths | |
uint64_t | getFileTimestamp (const char *filename) |
get file timestamp in nanosecond since Unix epoch | |
std::string | getHomeDir () |
get user's home directory | |
void | makeDir (const char *dirname) |
create directory | |
char | toLower (char c) |
convert character to lowercase | |
void | toLowerString (std::string &string) |
convert string to lowercase | |
void | toLowerString (char *cstr) |
convert string to lowercase | |
void | toLowerString (CString &string) |
convert string to lowercase | |
char | toUpper (char c) |
convert character to uppercase | |
void | toUpperString (std::string &string) |
convert string to uppercase | |
void | toUpperString (char *cstr) |
convert string to uppercase | |
void | toUpperString (CString &string) |
convert string to uppercase | |
main namespace
|
strong |
assembler section type
Enumerator | |
---|---|
DATA |
kernel or global data |
CODE |
code of program or kernel |
CONFIG |
configuration (global or for kernel) |
LAST_COMMON |
last common type |
AMD_HEADER |
AMD Catalyst kernel's header. |
AMD_METADATA |
AMD Catalyst kernel's metadata. |
AMD_CALNOTE |
AMD CALNote. |
GALLIUM_COMMENT |
gallium comment section |
anonymous enum : cxuint |
anonymous enum : Flags |
|
strong |
|
strong |
type of AsmInputFilter
Enumerator | |
---|---|
STREAM | |
REPEAT | |
MACROSUBST |
anonymous enum : Flags |
anonymous enum : AsmExprTargetType |
|
strong |
assembler expression operator
|
strong |
|
strong |
binary for Disassembler
Enumerator | |
---|---|
AMD |
AMD CATALYST format. |
GALLIUM |
GalliumCompute format. |
RAWCODE |
raw code format |
AMDCL2 |
AMD OpenCL 2.0 format. |
anonymous enum : Flags |
anonymous enum : Flags |
|
strong |
anonymous enum : cxbyte |
|
strong |
anonymous enum : Flags |
anonymous enum : cxbyte |
anonymous enum |
anonymous enum : cxuint |
anonymous enum : Flags |
|
strong |
anonymous enum : Flags |
|
strong |
GalliumCompute Kernel Arg type.
|
strong |
|
strong |
|
strong |
|
strong |
type of GPU device
|
strong |
anonymous enum : Flags |
AmdMainBinaryBase* CLRX::createAmdBinaryFromCode | ( | size_t | binaryCodeSize, |
cxbyte * | binaryCode, | ||
Flags | creationFlags = AMDBIN_CREATE_ALL |
||
) |
create AMD binary object from binary code
binaryCodeSize | binary code size |
binaryCode | pointer to binary code |
creationFlags | flags that specified what will be created during creation |
Iter CLRX::binaryFind | ( | Iter | begin, |
Iter | end, | ||
const typename std::iterator_traits< Iter >::value_type & | v | ||
) |
binary find helper
binary find
begin | iterator to first element |
end | iterator to after last element |
v | value to find |
Iter CLRX::binaryFind | ( | Iter | begin, |
Iter | end, | ||
const typename std::iterator_traits< Iter >::value_type & | v, | ||
Comp | comp | ||
) |
binary find helper
binary find
begin | iterator to first element |
end | iterator to after last element |
v | value to find |
comp | comparator |
Iter CLRX::binaryMapFind | ( | Iter | begin, |
Iter | end, | ||
const typename std::iterator_traits< Iter >::value_type::first_type & | k | ||
) |
binary find helper for array-map
binary find of map (array)
begin | iterator to first element |
end | iterator to after last element |
k | key to find |
Iter CLRX::binaryMapFind | ( | Iter | begin, |
Iter | end, | ||
const typename std::iterator_traits< Iter >::value_type::first_type & | k, | ||
Comp | comp | ||
) |
binary find helper for array-map
binary find of map (array)
begin | iterator to first element |
end | iterator to after last element |
k | key to find |
comp | comparator |
void CLRX::mapSort | ( | Iter | begin, |
Iter | end | ||
) |
map range of iterators
sort map (array)
begin | iterator to first element |
end | iterator to after last element |
void CLRX::mapSort | ( | Iter | begin, |
Iter | end, | ||
Comp | comp | ||
) |
map range of iterators
sort map (array)
begin | iterator to first element |
end | iterator to after last element |
begin | iterator to first element |
end | iterator to after last element |
comp | comparator |
T CLRX::cstrtovCStyle | ( | const char * | str, |
const char * | inend, | ||
const char *& | outend | ||
) |
parses integer or float point formatted looks like C-style
parses integer or float point from str string. inend can points to end of string or can be null. Function throws ParseException when number in string is out of range, when string does not have number or inend points to string. Function accepts decimal format, octal form (with prefix '0'), hexadecimal form (prefix '0x' or '0X'), and binary form (prefix '0b' or '0B'). For floating points function accepts decimal format and binary format. Result is rounded to nearest even (if two values are equally close will be choosen a even value). Currently only IEEE-754 format is supported.
str | input string pointer |
inend | pointer points to end of string or null if not end specified |
outend | returns end of number in string (returned even if exception thrown) |
T CLRX::parseEnvVariable | ( | const char * | envVar, |
const T & | defaultValue = T() |
||
) |
parse environment variable
parse environment variable
envVar | - name of environment variable |
defaultValue | - value that will be returned if environment variable is not present |
size_t CLRX::escapeStringCStyle | ( | size_t | strSize, |
const char * | str, | ||
size_t | outMaxSize, | ||
char * | outStr, | ||
size_t & | outSize | ||
) |
escapes string into C-style string
strSize | string size |
str | string |
outMaxSize | output max size (including null-character) |
outStr | output string |
outSize | size of output string |
cxuint CLRX::cstrtoui | ( | const char * | str, |
const char * | inend, | ||
const char *& | outend | ||
) |
parses unsigned integer regardless locales
parses unsigned integer in decimal form from str string. inend can points to end of string or can be null. Function throws ParseException when number in string is out of range, when string does not have number or inend points to string.
str | input string pointer |
inend | pointer points to end of string or null if not end specified |
outend | returns end of number in string (returned even if exception thrown) |
|
inline |
parses half float formatted looks like C-style
parse half value from string
parses half floating point from str string. inend can points to end of string or can be null. Function throws ParseException when number in string is out of range, when string does not have number or inend points to string. Function accepts decimal format and binary format. Result is rounded to nearest even (if two values are equally close will be choosen a even value). Currently only IEEE-754 format is supported.
str | input string pointer |
inend | pointer points to end of string or null if not end specified |
outend | returns end of number in string (returned even if exception thrown) |
size_t CLRX::itocstrCStyle | ( | T | value, |
char * | str, | ||
size_t | maxSize, | ||
cxuint | radix = 10 , |
||
cxuint | width = 0 , |
||
bool | prefix = true |
||
) |
formats an integer
formats an integer in C-style formatting.
value | integer value |
str | output string |
maxSize | max size of string (including null-character) |
radix | radix of digits (2, 8, 10, 16) |
width | max number of digits in number |
prefix | adds required prefix if true |
|
inline |
formats half float in C-style
formats to string the half float in C-style formatting. This function handles 2 modes of printing value: human readable and scientific. Scientific mode forces form with decimal exponent. Currently only IEEE-754 format is supported.
value | float value |
str | output string |
maxSize | max size of string (including null-character) |
scientific | enable scientific mode |
|
inline |
formats single float in C-style
formats to string the single float in C-style formatting. This function handles 2 modes of printing value: human readable and scientific. Scientific mode forces form with decimal exponent. Currently only IEEE-754 format is supported.
value | float value |
str | output string |
maxSize | max size of string (including null-character) |
scientific | enable scientific mode |
|
inline |
formats double float in C-style
formats to string the double float in C-style formatting. This function handles 2 modes of printing value: human readable and scientific. Scientific mode forces form with decimal exponent. Currently only IEEE-754 format is supported.
value | float value |
str | output string |
maxSize | max size of string (including null-character) |
scientific | enable scientific mode |
Array<cxbyte> CLRX::loadDataFromFile | ( | const char * | filename | ) |
load data from file (any regular or pipe or device)
filename | filename |