[Mesa-dev] [PATCH v2 0/9] anv: Push constant 16bit storage and push UBOs

Jason Ekstrand jason at jlekstrand.net
Thu Dec 7 04:34:18 UTC 2017


This series is a combination of my push UBOs series, a patch I sent out
this last week and the patch from Jose to enable 16bit storage for push
constants.

I haven't landed UBO pushing yet because I wanted to let Jose land 16bit
storage.  In order for UBO pushing to work now that 16bit storage is
enabled, we need 16bit push constants.  The first patch is a rewrite of
assign_constant_locations to support other bit-widths than 32 and 64.  This
is followed by the patch to enable 16bit storage which is trivial once
assign_constant_locations works.  The last 7 patches are mostly the ones
Jordan reviewed already but with one more patch on top.

Chema Casanova (1):
  anv: Enable VK_KHR_16bit_storage for push_constant

Jason Ekstrand (8):
  i965/fs: Rewrite assign_constant_locations
  anv/pipeline: Translate vulkan_resource_index to a constant when
    possible
  anv/cmd_buffer: Add some helpers for working with descriptor sets
  anv/cmd_buffer: Add some stage asserts
  anv/cmd_buffer: Add support for pushing UBO ranges
  anv/device: Increase the UBO alignment requirement to 32
  i965/fs: Handle !supports_pull_constants and push UBOs properly
  anv: Enable UBO pushing

 src/intel/compiler/brw_fs.cpp                    | 307 +++++++++++++----------
 src/intel/vulkan/anv_device.c                    |  15 +-
 src/intel/vulkan/anv_nir_apply_pipeline_layout.c |  17 +-
 src/intel/vulkan/anv_pipeline.c                  |   6 +
 src/intel/vulkan/genX_cmd_buffer.c               | 191 ++++++++++----
 src/intel/vulkan/genX_pipeline.c                 |   3 +-
 6 files changed, 356 insertions(+), 183 deletions(-)

-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list