[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