[Mesa-dev] [PATCH v2 0/8] anv: VK_KHR_16bit_storage enabling SSBO/UBO/PushConstant
Chema Casanova
jmcasanova at igalia.com
Wed Feb 28 19:14:21 UTC 2018
On 28/02/18 18:02, Jason Ekstrand wrote:
> I think all the interesting patches are reviewed now. All the boring
> "turn stuff on" patches are
>
> Reviewed-by: Jason Ekstrand <jason at jlekstrand.net
> <mailto:jason at jlekstrand.net>>
Thanks a lot for the quick review of the series. One step less to enable
the VK_KHR_16bit_storage features completely.
Chema
> On Tue, Feb 27, 2018 at 5:27 AM, Jose Maria Casanova Crespo
> <jmcasanova at igalia.com <mailto:jmcasanova at igalia.com>> wrote:
>
> This v2 series includes several fixes to allow enabling the
> VK_KHR_16bit_storage
> features in ANV that have already landed but are currently disabled.
>
> Main differences with V1 [1] are:
>
> * Now UBO/SSBO padding for buffers size not multiple of 4 [1/8]
> is done
> in isl and the calculus to get the original buffer size before
> padding is done in the backend.
> * Now load_ubo/ssbo [3/8] at constant offsets use
> untyped_surface_read
> in all cases. A new patch [2/8] enables the
> shuffle_32bit_load_result_to_16bit_data to skip components.
> * vtn_type_block_size [6/8] has been simplified using
> glsl_get_bit_size.
>
> Patches 2 and 3 and the re-enablement of features 5 and 8 are the
> ones with
> pending review.
>
> The series includes the following fixes:
>
> * [1] Fixes issues in UBO/SSBO support when buffer size is not
> multiple
> of 4. Patch adds a padding so the size will always include the
> last DWord
> completelly. For unsized SSBO arrays there are some bits
> arithmetic to
> allow recalculating the original size without the padding to
> calculate the
> number of elements correctly.
> * [2-4] Fixes the behaviour when VK_KHR_relaxed_block_layout is
> enabled, when
> we can not guarantee that the surface read/write offsets are
> multiple of 4.
> * [5] Enables VK_KHR_16bit_storage for SSBO and UBO.
> * [6-8] Enables 16-bit push constants removing/changing asserts
> that don't
> apply anymore to 16-bit case and a fix in the calculus os the
> size to be
> read.
>
> To catch this issues several new tests were developed and they will
> be included
> upstream to VK-GL-CTS.
>
> This new version of this fixup series creates some conflicts in the
> re-submitted
> V5 series with the 16-bit Input/Output support that is still pending
> of review.
> An updated version including both series has been force-pushed at [2]
>
> [1]
> https://lists.freedesktop.org/archives/mesa-dev/2018-February/186544.html
> <https://lists.freedesktop.org/archives/mesa-dev/2018-February/186544.html>
> [2] https://github.com/Igalia/mesa/tree/wip/VK_KHR_16bit_storage-rc5
> <https://github.com/Igalia/mesa/tree/wip/VK_KHR_16bit_storage-rc5>
>
> Cc: Jason Ekstrand <jason.ekstrand at intel.com
> <mailto:jason.ekstrand at intel.com>>
>
> Jose Maria Casanova Crespo (8):
> isl/i965/fs: SSBO/UBO buffers need size padding if not multiple of
> 32-bit
> i965/fs: shuffle_32bit_load_result_to_16bit_data now skips components
> i965/fs: Support 16-bit do_read_vector with
> VK_KHR_relaxed_block_layout
> i965/fs: Support 16-bit store_ssbo with VK_KHR_relaxed_block_layout
> anv: Enable VK_KHR_16bit_storage for SSBO and UBO
> spirv: Calculate properly 16-bit vector sizes
> spirv/i965/anv: Relax push constant offset assertions being 32-bit
> aligned
> anv: Enable VK_KHR_16bit_storage for PushConstant
>
> src/compiler/spirv/vtn_variables.c | 9 +-
> src/intel/compiler/brw_fs.cpp | 2 +-
> src/intel/compiler/brw_fs.h | 3 +-
> src/intel/compiler/brw_fs_nir.cpp | 124
> ++++++++++++++++++------
> src/intel/isl/isl_surface_state.c | 22 ++++-
> src/intel/vulkan/anv_device.c | 18 +++-
> src/intel/vulkan/anv_extensions.py | 2 +-
> src/intel/vulkan/anv_nir_lower_push_constants.c | 2 -
> 8 files changed, 137 insertions(+), 45 deletions(-)
>
> --
> 2.14.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org <mailto:mesa-dev at lists.freedesktop.org>
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>
>
>
More information about the mesa-dev
mailing list