Implement constant buffer based on constant cache.
authorRuiling Song <ruiling.song@intel.com>
Wed, 4 Sep 2013 06:24:54 +0000 (14:24 +0800)
committerZhigang Gong <zhigang.gong@linux.intel.com>
Wed, 4 Sep 2013 06:49:27 +0000 (14:49 +0800)
commit1c24edd11d10a9e7f84f7f6f83f20ba8c69221c8
treee2655adea0eb446802be0a9659bf2feda7937b50
parentdec13b1e7f2c5a03968c80ae3a19073e9807b9e1
Implement constant buffer based on constant cache.

Currently, simply allocate enough graphics memory as constant memory space.
And bind it to bti 2. Constant cache read are backed by dword scatter read.
Different from other data port messages, the address need to be dword aligned,
and the addresses are in units of dword.

The constant address space data are placed in order: first global constant,
then the constant buffer kernel argument.

v2: change function & variable naming, to make clear 'curbe' and 'constant buffer'

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
16 files changed:
backend/src/backend/context.cpp
backend/src/backend/gen_insn_selection.cpp
backend/src/backend/gen_reg_allocation.cpp
backend/src/backend/program.h
backend/src/ir/profile.cpp
backend/src/ir/profile.hpp
backend/src/llvm/llvm_gen_backend.cpp
src/cl_command_queue.c
src/cl_command_queue.h
src/cl_command_queue_gen7.c
src/cl_driver.h
src/cl_driver_defs.c
src/cl_gt_device.h
src/cl_kernel.c
src/intel/intel_driver.c
src/intel/intel_gpgpu.c