CLRX  1
An unofficial OpenCL extensions designed for Radeon GPUs
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Namespaces | Enumerations
GalliumBinaries.h File Reference

GalliumCompute binaries handling (only with LLVM 3.6) More...

#include <CLRX/Config.h>
#include <cstdint>
#include <string>
#include <vector>
#include <ostream>
#include <utility>
#include <memory>
#include <CLRX/amdbin/Elf.h>
#include <CLRX/amdbin/ElfBinaries.h>
#include <CLRX/utils/MemAccess.h>
#include <CLRX/utils/Utilities.h>
#include <CLRX/utils/GPUId.h>
#include <CLRX/utils/Containers.h>
#include <CLRX/utils/InputOutput.h>

Go to the source code of this file.

Classes

struct  CLRX::GalliumProgInfoEntry
 kernel program info entry for Gallium binaries More...
 
struct  CLRX::GalliumArgInfo
 kernel argument (Gallium binaries) More...
 
struct  CLRX::GalliumKernel
 kernel info structure (Gallium binaries) More...
 
struct  CLRX::GalliumSection
 Gallium binarie's Section. More...
 
class  CLRX::GalliumElfBinaryBase
 Gallium elf binary base (for 32-bit and 64-bit) More...
 
class  CLRX::GalliumElfBinary32
 32-bit Gallium ELF binary More...
 
class  CLRX::GalliumElfBinary64
 64-bit Gallium ELF binary More...
 
class  CLRX::GalliumBinary
 
struct  CLRX::GalliumDisasmKernelInput
 disasm kernel info structure (Gallium binaries) More...
 
struct  CLRX::GalliumKernelConfig
 kernel config More...
 
struct  CLRX::GalliumKernelInput
 kernel info structure (Gallium binaries) More...
 
struct  CLRX::GalliumInput
 Gallium input. More...
 
class  CLRX::GalliumBinGenerator
 gallium code binary generator More...
 

Namespaces

 CLRX
 main namespace
 

Enumerations

enum  : Flags {
  CLRX::GALLIUM_INNER_CREATE_SECTIONMAP = 0x10, CLRX::GALLIUM_INNER_CREATE_SYMBOLMAP = 0x20, CLRX::GALLIUM_INNER_CREATE_DYNSYMMAP = 0x40, CLRX::GALLIUM_INNER_CREATE_PROGINFOMAP = 0x100,
  CLRX::GALLIUM_ELF_CREATE_PROGINFOMAP = 0x10, CLRX::GALLIUM_CREATE_ALL = ELF_CREATE_ALL | 0xfff0, CLRX::GALLIUM_INNER_SHIFT = 4
}
 
enum  CLRX::GalliumArgType : cxbyte {
  CLRX::GalliumArgType::SCALAR = 0, CLRX::GalliumArgType::CONSTANT, CLRX::GalliumArgType::GLOBAL, CLRX::GalliumArgType::LOCAL,
  CLRX::GalliumArgType::IMAGE2D_RDONLY, CLRX::GalliumArgType::IMAGE2D_WRONLY, CLRX::GalliumArgType::IMAGE3D_RDONLY, CLRX::GalliumArgType::IMAGE3D_WRONLY,
  CLRX::GalliumArgType::SAMPLER, CLRX::GalliumArgType::MAX_VALUE = SAMPLER
}
 GalliumCompute Kernel Arg type. More...
 
enum  CLRX::GalliumArgSemantic : cxbyte {
  CLRX::GalliumArgSemantic::GENERAL = 0, CLRX::GalliumArgSemantic::GRID_DIMENSION, CLRX::GalliumArgSemantic::GRID_OFFSET, CLRX::GalliumArgSemantic::IMAGE_SIZE,
  CLRX::GalliumArgSemantic::IMAGE_FORMAT, CLRX::GalliumArgSemantic::MAX_VALUE = IMAGE_FORMAT
}
 Gallium semantic field type. More...
 
enum  CLRX::GalliumSectionType : cxbyte {
  CLRX::GalliumSectionType::TEXT = 0, CLRX::GalliumSectionType::DATA_CONSTANT, CLRX::GalliumSectionType::DATA_GLOBAL, CLRX::GalliumSectionType::DATA_LOCAL,
  CLRX::GalliumSectionType::DATA_PRIVATE, CLRX::GalliumSectionType::MAX_VALUE = DATA_PRIVATE
}
 Gallium format section type. More...
 
enum  : cxuint { GALLIUMSECTID_GPUCONFIG = ELFSECTID_OTHER_BUILTIN, GALLIUMSECTID_NOTEGNUSTACK, GALLIUMSECTID_MAX = GALLIUMSECTID_NOTEGNUSTACK }
 

Detailed Description

GalliumCompute binaries handling (only with LLVM 3.6)