Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1.  
  2. #ifndef R600_LLVM_H
  3. #define R600_LLVM_H
  4.  
  5. #if defined R600_USE_LLVM || defined HAVE_OPENCL
  6.  
  7. #include "radeon/radeon_llvm.h"
  8. #include <llvm-c/Core.h>
  9.  
  10. struct r600_bytecode;
  11. struct r600_shader_ctx;
  12. struct radeon_llvm_context;
  13. struct radeon_shader_binary;
  14. enum radeon_family;
  15.  
  16. LLVMModuleRef r600_tgsi_llvm(
  17.         struct radeon_llvm_context * ctx,
  18.         const struct tgsi_token * tokens);
  19.  
  20. unsigned r600_llvm_compile(
  21.         LLVMModuleRef mod,
  22.         enum radeon_family family,
  23.         struct r600_bytecode *bc,
  24.         boolean *use_kill,
  25.         unsigned dump);
  26.  
  27. unsigned r600_create_shader(struct r600_bytecode *bc,
  28.                 const struct radeon_shader_binary *binary,
  29.                 boolean *use_kill);
  30.  
  31. void r600_shader_binary_read_config(const struct radeon_shader_binary *binary,
  32.                 struct r600_bytecode *bc,
  33.                 uint64_t symbol_offset,
  34.                 boolean *use_kill);
  35.  
  36. #endif /* defined R600_USE_LLVM || defined HAVE_OPENCL */
  37.  
  38. #endif /* R600_LLVM_H */
  39.