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 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
