<div dir="ltr"><div>Why can we not use tbuffer loads?</div><div><br></div><div>Marek<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 25, 2019 at 7:18 AM Nicolai Hähnle <<a href="mailto:nhaehnle@gmail.com">nhaehnle@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi all,<br>
<br>
the following patches contain code to implement all vertex fetches<br>
using plain, non-format loads plus explicit shader arithmetic for<br>
format conversion.<br>
<br>
This allows us to remove the software workaround for unaligned vertex<br>
buffers on SI, because we can just load individual bytes on the GPU.<br>
CI+ will still use short/dword loads even in the unaligned case.<br>
<br>
The format conversion code was tested by running with<br>
radeonsi_vs_fetch_always_opencode=true on both Verde and Vega.<br>
<br>
Please review!<br>
<br>
Thanks,<br>
Nicolai<br>
--<br>
src/amd/common/ac_llvm_build.c | 313 +++++++++++++++++<br>
src/amd/common/ac_llvm_build.h | 30 ++<br>
.../drivers/radeonsi/si_debug_options.h | 1 +<br>
src/gallium/drivers/radeonsi/si_get.c | 2 +-<br>
src/gallium/drivers/radeonsi/si_pipe.h | 1 +<br>
src/gallium/drivers/radeonsi/si_shader.c | 249 +++++--------<br>
src/gallium/drivers/radeonsi/si_shader.h | 46 +--<br>
src/gallium/drivers/radeonsi/si_state.c | 233 +++++++-----<br>
src/gallium/drivers/radeonsi/si_state.h | 19 +<br>
.../drivers/radeonsi/si_state_shaders.c | 37 +-<br>
10 files changed, 645 insertions(+), 286 deletions(-)<br>
<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a></blockquote></div>