diff options
author | Jose Maria Casanova Crespo <[email protected]> | 2018-02-01 00:05:11 +0100 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2018-02-28 21:37:40 -0800 |
commit | 8dd8be0323bbc207631a39f43cff7b898af4a55a (patch) | |
tree | 9a4557a72e74a0f4af51cd6ed0a4cae4ff55a89f /Makefile.am | |
parent | 2dd94f462b0069fc3a20c9a93a9cfe97dd079837 (diff) |
i965/fs: Support 16-bit do_read_vector with VK_KHR_relaxed_block_layout
16-bit load_ubo/ssbo operations that call do_untyped_read_vector don't
guarantee that offsets are multiple of 4-bytes as required by untyped_read
message. This happens for example in the case of f16mat3x3 when then
VK_KHR_relaxed_block_layout is enabled.
Vectors reads when we have non-constant offsets are implemented with
multiple byte_scattered_read messages that not require 32-bit aligned offsets.
Now for all constant offsets we can use the untyped_read_surface message.
In the case of constant offsets not aligned to 32-bits, we calculate a
start offset 32-bit aligned and use the shuffle_32bit_load_result_to_16bit_data
function and the first_component parameter to skip the copy of the unneeded
component.
v2: (Jason Ekstrand)
Use untyped_read_surface messages always we have constant offsets.
v3: (Jason Ekstrand)
Simplify loop for reads with non constant offsets.
Use end - start to calculate the number of 32-bit components to read with
constant offsets.
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'Makefile.am')
0 files changed, 0 insertions, 0 deletions