[Mesa-dev] [PATCH 00/26] nir: Miscelaneous things needed for SPIR-V and Vulkan

Jason Ekstrand jason at jlekstrand.net
Fri Mar 25 23:12:14 UTC 2016


This patch series adds a bunch of random things that are used by the SPIR-V
front-end and by our Vulkan driver.  It's in no particular order (other
than ensuring that it builds) and most of the newly added things don't have
a consumer outside our Vulkan driver.  With this series and the one for
reworking uniforms in the i965 backend, we are down to an almost zero delta
between master and the vulkan branch as far as existing folders are
concerned.

Jason Ekstrand (26):
  nir/Makefile: Fix alphabetization
  nir: Add a descriptor_set field to nir_variable
  nir/intrinsics: Add a vulkan_resource_index intrinsic
  nir: Add a variable_foreach_safe helper
  nir/types: Add a wrapper for count_attribute_slots
  nir: Add a helper for getting an attribute slot mask for a variable
  nir: Add a pass for gathering various bits of shader info
  nir/builder: Add a helper for building fdot instructions
  nir/builder: Add a helper for storing to variable derefs
  nir/builder: Add a helper for creating undefs
  glsl/shader_enums: Add an enum for Vulkan InstanceIndex
  glsl/shader_enums: Add the other two compute builtins
  nir/lower_system_values: Add support for several computed values
  nir/sweep: Sweep function parameters
  nir: Add more modulus opcodes
  i965: Implement the new imod and irem opcodes
  i965/fs: Move the code for load/store_shared to emit_cs_intrinsic
  nir/algebraic: Add lowering for ldexp
  nir: Add an opcode for stomping a 32-bit value to 16-bit precision
  i965: Add an implemnetation of nir_op_fquantize2f16
  i965/nir: Provide a default LOD for buffer textures
  nir: Add a helper for getting the unique function in a shader
  nir/lower_out_to_temp: Steal the output's constant initializer
  nir/lower_out_to_temp: Add an "entrypoint" parameter
  nir: Add a helper for getting the current block from a cursor
  nir/dead_variables: Configurably work with any variable mode

 src/compiler/Makefile.sources                      |   7 +-
 src/compiler/nir/Makefile.sources                  |   7 +-
 src/compiler/nir/glsl_to_nir.cpp                   |   3 +-
 src/compiler/nir/nir.h                             |  80 +++++++-
 src/compiler/nir/nir_builder.h                     |  47 +++++
 src/compiler/nir/nir_gather_info.c                 | 126 ++++++++++++
 src/compiler/nir/nir_intrinsics.h                  |  20 ++
 .../nir/nir_lower_outputs_to_temporaries.c         |   7 +-
 src/compiler/nir/nir_lower_system_values.c         |  74 ++++++-
 src/compiler/nir/nir_opcodes.py                    |  17 +-
 src/compiler/nir/nir_opt_algebraic.py              |  28 +++
 src/compiler/nir/nir_print.c                       |   2 +
 src/compiler/nir/nir_remove_dead_variables.c       |  33 +++-
 src/compiler/nir/nir_sweep.c                       |   2 +
 src/compiler/nir_types.cpp                         |   7 +
 src/compiler/nir_types.h                           |   3 +
 src/compiler/shader_enums.c                        |   3 +
 src/compiler/shader_enums.h                        |   9 +
 src/gallium/drivers/freedreno/ir3/ir3_nir.c        |   2 +-
 src/gallium/drivers/vc4/vc4_program.c              |   2 +-
 src/mesa/drivers/dri/i965/brw_fs_nir.cpp           | 216 +++++++++++++--------
 src/mesa/drivers/dri/i965/brw_nir.c                |   2 +-
 src/mesa/drivers/dri/i965/brw_vec4_nir.cpp         |  61 ++++++
 23 files changed, 655 insertions(+), 103 deletions(-)
 create mode 100644 src/compiler/nir/nir_gather_info.c

-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list