GBE: Implement new constant solution for ocl2

Graphics / Beignet - Ruiling Song [intel.com] - 8 November 2016 06:38 UTC

Different from ocl 1.2, which gather all constant into one surface. ocl2 only gather program global/constant into one surface. But keep other constant passed through kernel argument in separate buffer.

295b1cb GBE: Implement new constant solution for ocl2
backend/src/CMakeLists.txt | 2 +
backend/src/backend/gen_insn_selection.cpp | 15 +++--
backend/src/backend/program.cpp | 51 +++++++++++++++-
backend/src/backend/program.h | 6 ++
backend/src/backend/program.hpp | 4 ++
backend/src/gbe_bin_interpreter.cpp | 3 +
backend/src/ir/profile.cpp | 4 +-
backend/src/ir/profile.hpp | 5 +-
backend/src/ir/reloc.cpp | 87 +++++++++++++++++++++++++++
backend/src/ir/reloc.hpp | 90 ++++++++++++++++++++++++++++
backend/src/ir/unit.hpp | 8 ++-
backend/src/llvm/llvm_gen_backend.cpp | 87 ++++++++++++++++-----------
kernels/compiler_program_global.cl | 68 +++++++++++++++++++++
src/cl_command_queue.c | 3 +-
src/cl_command_queue_gen7.c | 20 ++++++-
src/cl_gbe_loader.cpp | 10 ++++
src/cl_gbe_loader.h | 2 +
src/cl_program.c | 51 ++++++++++++++++
src/cl_program.h | 2 +
utests/CMakeLists.txt | 1 +
utests/compiler_program_global.cpp | 80 +++++++++++++++++++++++++
21 files changed, 550 insertions(+), 49 deletions(-)

Upstream: cgit.freedesktop.org


  • Share