[Mesa-dev] [PATCH v2 00/18] nir/vtn/compiler: first batch of compute support
Karol Herbst
kherbst at redhat.com
Thu Mar 8 15:25:46 UTC 2018
first series here:
https://lists.freedesktop.org/archives/mesa-dev/2018-February/187275.html
change summery since v1:
* removed 64 bit shift patch
* reworked new intrinsics
* fixed some int8/uint8 issues
* add handling for CL types
* add support for lowering loading kernel args in nir_lower_io
The biggest addition to the last series is the code for lowering load_vars of
kernel arguments. For this we have to calculate the size and alignment of types
correctly according to C rules. With that it is possible to lower a load_var
into a load_kernel_param with the correct offset as its source.
Rob still wants to rework his pointer support patch afaik.
One of the biggest problems we currently have is handling of pointers into
Function Memory to load struct members.
Karol Herbst (9):
compiler: int8/uint8 support
vtn: handle SpvExecutionModelKernel
nir: add load/store_global intrinsics
nir/vtn: implement BuiltInGlobalSize
glsl: add packed for struct types
glsl: add glsl_base_get_byte_size
RFC glsl: add cl_size and cl_alignment
nir: add load_kernel_param
RFC nir/lower_io: lower kernel entry param load_vars to
load_kernel_param
Rob Clark (9):
nir/vtn: Use imov where we might have 8 bit types
nir: kernel entrypoints can have arguments
nir/vtn: implement SpvOpCopyMemorySized
nir/vtn: handle WorkGroupSize for kernels
nir/vtn: add OpLifetime*
nir/vtn: add OpConvertPtrToU
nir/vtn: print extension name in fail msg
nir: use load_local_group_size
RFC: nir/vtn: "raw" pointer support
src/compiler/builtin_type_macros.h | 10 +
src/compiler/glsl/ast_to_hir.cpp | 2 +
src/compiler/glsl/ir_clone.cpp | 2 +
src/compiler/glsl/link_uniform_initializers.cpp | 2 +
src/compiler/glsl_types.cpp | 98 +++++++++-
src/compiler/glsl_types.h | 60 +++++-
src/compiler/nir/nir.h | 5 +-
src/compiler/nir/nir_intrinsics.h | 10 +-
src/compiler/nir/nir_lower_io.c | 39 +++-
src/compiler/nir/nir_lower_system_values.c | 31 ++-
src/compiler/nir_types.cpp | 29 ++-
src/compiler/nir_types.h | 35 +---
src/compiler/shader_enums.c | 1 +
src/compiler/shader_enums.h | 2 +
src/compiler/spirv/spirv_to_nir.c | 128 +++++++++---
src/compiler/spirv/vtn_alu.c | 1 +
src/compiler/spirv/vtn_private.h | 28 ++-
src/compiler/spirv/vtn_variables.c | 249 +++++++++++++++++++++---
src/intel/compiler/brw_fs.cpp | 3 +
src/intel/compiler/brw_shader.cpp | 4 +
src/intel/compiler/brw_vec4_visitor.cpp | 2 +
src/mesa/program/ir_to_mesa.cpp | 4 +
src/mesa/state_tracker/st_glsl_types.cpp | 2 +
23 files changed, 650 insertions(+), 97 deletions(-)
--
2.14.3
More information about the mesa-dev
mailing list