[Mesa-dev] [PATCH 0/6] i965/vec4: Add indirect push constant support
Jason Ekstrand
jason at jlekstrand.net
Wed Apr 6 04:11:07 UTC 2016
This little series applies on top of the bigger series to do indirect push
constants in the FS backend. This series allows us to do indirect push
constants in the vec4 backend as well. As it currently stands, it should
be behaviourly identical for the GL driver to what we had before this
series. However, the Vulkan driver needs to be able to do indirects on
push constants since push constants are a concept exposed by the API.
This series fixes 56 Vulkan CTS tests on Haswell and is needed before we
can really turn on tessellation for Vulkan on gen8+.
The last patch in the series is needed regardless as it provides the api
distinction needed to know whether to push everything or just push some of
the available uniforms.
Jason Ekstrand (6):
i965/vec4: Move can_do_writemask to vec4_instruction
i965/vec4: Use can_do_writemask in can_reswizzle
i965/vec4: Add support for SHADER_OPCODE_MOV_INDIRECT
i965/vec4: Handle MOV_INDIRECT in pack_uniform_registers
i965/vec4: Support full std140 layout for push constants
i965: Push everything if pull_param == NULL
src/mesa/drivers/dri/i965/brw_fs.cpp | 10 +++-
src/mesa/drivers/dri/i965/brw_ir_vec4.h | 1 +
src/mesa/drivers/dri/i965/brw_vec4.cpp | 55 +++++++++++++++++-
.../dri/i965/brw_vec4_dead_code_eliminate.cpp | 31 +---------
src/mesa/drivers/dri/i965/brw_vec4_generator.cpp | 67 ++++++++++++++++++++++
src/mesa/drivers/dri/i965/brw_vec4_nir.cpp | 30 ++++++++--
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 6 ++
7 files changed, 160 insertions(+), 40 deletions(-)
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list