Extracted some patches from my previous compute series and reworked most of them quite significantly.
Most notable changes: * adding a MESA_SHADER_KERNEL to indicate a compute kernel * split physical ptrs from kernel execution model (they don't require each other) * validate bit_size of system values * handle ContractionOff for compute kernels Karol Herbst (11): mesa: add MESA_SHADER_KERNEL vtn: handle SpvExecutionModelKernel nir/spirv: improve parsing of the memory model nir: rename global/local to private/function memory nir/spirv: handle SpvStorageClassCrossWorkgroup nir: replace more nir_load_system_value calls with builder functions nir/validate: allow to check against a bitmask of bit_sizes nir: add legal bit_sizes to intrinsics nir: add bit_size parameter to system values with multiple allowed bit sizes nir: add support for address bit sized system values nir/spirv: handle ContractionOff execution mode Rob Clark (1): nir/vtn: add caps for some cl related capabilities src/amd/common/ac_nir_to_llvm.c | 10 ++-- src/amd/vulkan/radv_meta_buffer.c | 8 +-- src/amd/vulkan/radv_meta_bufimage.c | 28 +++++----- src/amd/vulkan/radv_meta_clear.c | 4 +- src/amd/vulkan/radv_meta_fast_clear.c | 4 +- src/amd/vulkan/radv_meta_resolve_cs.c | 4 +- src/amd/vulkan/radv_query.c | 12 ++-- src/amd/vulkan/radv_shader.c | 8 +-- src/compiler/glsl/glsl_to_nir.cpp | 10 ++-- src/compiler/nir/nir.c | 10 +++- src/compiler/nir/nir.h | 20 +++++-- src/compiler/nir/nir_builder_opcodes_h.py | 14 ++++- src/compiler/nir/nir_clone.c | 1 + src/compiler/nir/nir_intrinsics.py | 37 ++++++------ src/compiler/nir/nir_intrinsics_c.py | 6 +- src/compiler/nir/nir_linking_helpers.c | 2 +- src/compiler/nir/nir_lower_clip.c | 2 +- .../nir/nir_lower_constant_initializers.c | 6 +- .../nir/nir_lower_global_vars_to_local.c | 6 +- .../nir/nir_lower_io_to_temporaries.c | 2 +- src/compiler/nir/nir_lower_locals_to_regs.c | 4 +- src/compiler/nir/nir_lower_system_values.c | 47 +++++++++------- src/compiler/nir/nir_lower_vars_to_ssa.c | 8 +-- src/compiler/nir/nir_opt_copy_prop_vars.c | 8 +-- src/compiler/nir/nir_opt_dead_write_vars.c | 4 +- src/compiler/nir/nir_opt_find_array_copies.c | 4 +- src/compiler/nir/nir_opt_large_constants.c | 14 ++--- src/compiler/nir/nir_print.c | 13 ++--- src/compiler/nir/nir_remove_dead_variables.c | 6 +- src/compiler/nir/nir_serialize.c | 2 + src/compiler/nir/nir_split_vars.c | 30 +++++----- src/compiler/nir/nir_validate.c | 42 ++++++++------ src/compiler/nir/tests/vars_tests.cpp | 18 +++--- src/compiler/shader_enums.c | 5 +- src/compiler/shader_enums.h | 18 ++++++ src/compiler/shader_info.h | 3 + src/compiler/spirv/spirv_info.h | 1 + src/compiler/spirv/spirv_info_c.py | 1 + src/compiler/spirv/spirv_to_nir.c | 56 ++++++++++++++++--- src/compiler/spirv/vtn_alu.c | 4 +- src/compiler/spirv/vtn_cfg.c | 4 +- src/compiler/spirv/vtn_private.h | 9 ++- src/compiler/spirv/vtn_variables.c | 18 ++++-- src/freedreno/ir3/ir3_compiler_nir.c | 3 +- src/freedreno/ir3/ir3_nir.c | 2 +- src/gallium/auxiliary/nir/tgsi_to_nir.c | 5 +- src/gallium/drivers/freedreno/a6xx/fd6_emit.c | 1 + src/gallium/drivers/freedreno/a6xx/fd6_emit.h | 1 + .../drivers/freedreno/a6xx/fd6_program.c | 1 + .../drivers/freedreno/freedreno_util.h | 1 + .../drivers/freedreno/ir3/ir3_cmdline.c | 1 + .../drivers/freedreno/ir3/ir3_gallium.c | 2 +- src/gallium/drivers/radeonsi/si_shader_nir.c | 4 +- src/gallium/drivers/v3d/v3d_program.c | 2 +- src/gallium/drivers/vc4/vc4_nir_lower_blend.c | 4 +- src/gallium/drivers/vc4/vc4_program.c | 4 +- src/intel/compiler/brw_nir.c | 13 ++--- src/intel/vulkan/anv_pipeline.c | 4 +- src/mesa/main/glspirv.c | 2 +- src/mesa/main/shaderobj.h | 6 ++ src/mesa/state_tracker/st_glsl_to_nir.cpp | 4 +- 61 files changed, 356 insertions(+), 217 deletions(-) -- 2.19.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev