<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 21, 2019, 12:08 AM Ilia Mirkin <<a href="mailto:imirkin@alum.mit.edu">imirkin@alum.mit.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I don't think that's right... this is used in e.g.<br>
<br>
   case TGSI_OPCODE_RESQ:<br>
      if (tgsi_is_bindless_image_file(fullinst->Src[0].Register.File))<br>
         info->uses_bindless_images = true;<br>
      break;<br>
<br>
And if you call RESQ with a src0 that is not IMAGE or BUFFER, then<br>
that's a bindless reference.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">No it's not. TEMP, CONST, IN, and OUT are bindless references. CONSTBUF isn't.</div><div dir="auto"><br></div><div dir="auto">Marek</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I think the problem is that this is interacting poorly with the load<br>
constbuf stuff -- probably needs a bit of subtlety there.<br>
<br>
  -ilia<br>
<br>
On Thu, Feb 21, 2019 at 12:03 AM Marek Olšák <<a href="mailto:maraeo@gmail.com" target="_blank" rel="noreferrer">maraeo@gmail.com</a>> wrote:<br>
><br>
> From: Marek Olšák <<a href="mailto:marek.olsak@amd.com" target="_blank" rel="noreferrer">marek.olsak@amd.com</a>><br>
><br>
> This might have decreased performance for radeonsi/tgsi, because most<br>
> most shaders claimed they used bindless.<br>
><br>
> Cc: 18.3 19.0 <<a href="mailto:mesa-stable@lists.freedesktop.org" target="_blank" rel="noreferrer">mesa-stable@lists.freedesktop.org</a>><br>
> ---<br>
>  src/gallium/auxiliary/tgsi/tgsi_scan.h | 4 +++-<br>
>  1 file changed, 3 insertions(+), 1 deletion(-)<br>
><br>
> diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.h b/src/gallium/auxiliary/tgsi/tgsi_scan.h<br>
> index 580c73a2814..51d85af4fcb 100644<br>
> --- a/src/gallium/auxiliary/tgsi/tgsi_scan.h<br>
> +++ b/src/gallium/auxiliary/tgsi/tgsi_scan.h<br>
> @@ -214,18 +214,20 @@ tgsi_scan_arrays(const struct tgsi_token *tokens,<br>
>  void<br>
>  tgsi_scan_tess_ctrl(const struct tgsi_token *tokens,<br>
>                      const struct tgsi_shader_info *info,<br>
>                      struct tgsi_tessctrl_info *out);<br>
><br>
>  static inline bool<br>
>  tgsi_is_bindless_image_file(unsigned file)<br>
>  {<br>
>     return file != TGSI_FILE_IMAGE &&<br>
>            file != TGSI_FILE_MEMORY &&<br>
> -          file != TGSI_FILE_BUFFER;<br>
> +          file != TGSI_FILE_BUFFER &&<br>
> +          file != TGSI_FILE_CONSTBUF &&<br>
> +          file != TGSI_FILE_HW_ATOMIC;<br>
>  }<br>
><br>
>  #ifdef __cplusplus<br>
>  } // extern "C"<br>
>  #endif<br>
><br>
>  #endif /* TGSI_SCAN_H */<br>
> --<br>
> 2.17.1<br>
><br>
> _______________________________________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank" rel="noreferrer">mesa-dev@lists.freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div></div></div>