<div dir="ltr"><div dir="ltr">Hi Ilia,<div><br></div><div>I'm not entirely sure what you're asking here.</div><div><br></div><div>This patch doesn't change anything related to gl_Layer reads, it just forces the geometry shader codepath unconditionally when VS_LAYER_VIEWPORT isn't enabled in order to successfully write the gl_Layer output. If anything, this should be beneficial to those nvidia chipsets based on your description since previously the fragment shader would've had nothing to read.</div><div><br></div><div><br></div><div>Mike</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Dec 14, 2020 at 10:48 AM Ilia Mirkin <<a href="mailto:imirkin@alum.mit.edu">imirkin@alum.mit.edu</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">Hey Mike,<br>
<br>
This is in reference to your change<br>
<a href="https://cgit.freedesktop.org/mesa/mesa/commit/?id=614c77772ac2f48955537efcfefaf0609d6c03e5" rel="noreferrer" target="_blank">https://cgit.freedesktop.org/mesa/mesa/commit/?id=614c77772ac2f48955537efcfefaf0609d6c03e5</a><br>
.<br>
<br>
A fragment shader should still be able to read gl_Layer even without<br>
PIPE_CAP_TGSI_VS_LAYER_VIEWPORT. A frag shader can read gl_Layer any<br>
time ARB_fragment_layer_viewport is supported -- I forget the precise<br>
conditions for it, but basically any DX10 hardware supports that.<br>
<br>
However the VS_LAYER_VIEWPORT feature isn't supported on any NVIDIA<br>
hardware until fairly late models (GM20x+). So this will regress the<br>
majority case (single-layer) on all NVIDIA hw.<br>
<br>
Can you instead adjust the conditions to allow this for the drivers<br>
that implement layer/viewport sysvals in frag shaders? Or just<br>
implement ARB_fragment_layer_viewport in zink?<br>
<br>
Thanks,<br>
<br>
  -ilia<br>
</blockquote></div>