On 30.04.19 21:20, Marek Olšák wrote:
Why can we not use tbuffer loads?
tbuffer_load_format has the exact same limitations as
buffer_load_format. They both use the same hardware path, the only
difference is that tbuffer_load_format gets the format information from
the instruction, while buffer_load_format gets it from the resource
descriptor.
Therefore, in all cases where we *can* use tbuffer_load_format, we may
as well use buffer_load_format (because we can just initialize the
descriptor for that vertex input / vertex element correctly).
The benefit that tbuffer_load_format could potentially give us in the
future is that when multiple vertex elements reference the same vertex
buffer, we could put a single buffer descriptor into the descriptor
table (or into USER_SGPRs) instead of having one buffer descriptor for
every element.
Cheers,
Nicolai
Marek
On Thu, Apr 25, 2019 at 7:18 AM Nicolai Hähnle <nhaeh...@gmail.com
<mailto:nhaeh...@gmail.com>> wrote:
Hi all,
the following patches contain code to implement all vertex fetches
using plain, non-format loads plus explicit shader arithmetic for
format conversion.
This allows us to remove the software workaround for unaligned vertex
buffers on SI, because we can just load individual bytes on the GPU.
CI+ will still use short/dword loads even in the unaligned case.
The format conversion code was tested by running with
radeonsi_vs_fetch_always_opencode=true on both Verde and Vega.
Please review!
Thanks,
Nicolai
--
src/amd/common/ac_llvm_build.c | 313 +++++++++++++++++
src/amd/common/ac_llvm_build.h | 30 ++
.../drivers/radeonsi/si_debug_options.h | 1 +
src/gallium/drivers/radeonsi/si_get.c | 2 +-
src/gallium/drivers/radeonsi/si_pipe.h | 1 +
src/gallium/drivers/radeonsi/si_shader.c | 249 +++++--------
src/gallium/drivers/radeonsi/si_shader.h | 46 +--
src/gallium/drivers/radeonsi/si_state.c | 233 +++++++-----
src/gallium/drivers/radeonsi/si_state.h | 19 +
.../drivers/radeonsi/si_state_shaders.c | 37 +-
10 files changed, 645 insertions(+), 286 deletions(-)
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org <mailto:mesa-dev@lists.freedesktop.org>
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev