<div dir="ltr"><div>Reverting the st/mesa commit would be fine.</div><div><br></div><div>Marek<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 29, 2019 at 3:20 PM 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">On Mon, Apr 29, 2019 at 3:06 PM Viktor Jaegerskuepper<br>
<<a href="mailto:viktor_jaegerskuepper@freenet.de" target="_blank">viktor_jaegerskuepper@freenet.de</a>> wrote:<br>
><br>
> Hi Ilia,<br>
><br>
> Ilia Mirkin:<br>
> > If you can reproduce the issue<br>
> > at will, could I recommend you try undoing this hunk:<br>
> ><br>
> > @@ -1192,7 +1192,6 @@ try_pbo_upload_common(struct gl_context *ctx,<br>
> >        return false;<br>
> ><br>
> >     cso_save_state(cso, (CSO_BIT_FRAGMENT_SAMPLER_VIEWS |<br>
> > -                        CSO_BIT_FRAGMENT_SAMPLERS |<br>
> >                          CSO_BIT_VERTEX_ELEMENTS |<br>
> >                          CSO_BIT_AUX_VERTEX_BUFFER_SLOT |<br>
> >                          CSO_BIT_FRAMEBUFFER |<br>
> ><br>
> > and seeing if that helps? Knowing whether it helps, or doesn't help,<br>
> > would likely be useful for the investigation.<br>
><br>
> It didn't help.<br>
<br>
OK. That's actually good -- indicates it's not just a straight-up<br>
state management bug in the driver.<br>
<br>
><br>
> > Also, can you check whether the piglit<br>
> ><br>
> > bin/arb_texture_buffer_object-subdata-sync -fbo -auto<br>
> ><br>
> > passes or fails both before and after this change?<br>
><br>
> It passes both times, i.e. I get:<br>
><br>
> PIGLIT: {"result": "pass" }<br>
><br>
> Although you didn't write it explicitly, I assumed that I had to build<br>
> piglit (and waffle) from source (current git master branch). I have<br>
> never compiled or used piglit before, so if my result doesn't make sense<br>
> or some information is missing, please tell me because I might have done<br>
> a mistake.<br>
<br>
Sounds like you did it right. This was a piglit that I used to<br>
reproduce some issues in nouveau which had to be fixed before this<br>
change could be pushed. Sounds like r600 isn't sensitive to precisely<br>
the same conditions. There are a bunch of pbo piglits too -- try those<br>
out, see if they fail after the change.<br>
<br>
Marek/Nicolai/Dave - could one of you take a look? As I recall, you<br>
guys comprise the current r600 texturing expertise.<br>
<br>
This change was to remove explicit setting of samplers in the PBO<br>
upload path in st/mesa, where it sets up the PBO as a texbuffer and<br>
then uses TXF to read from it. In theory, a sampler should not be<br>
necessary, and other paths in mesa already don't set one. This path<br>
was a left-over from the original PBO upload logic introduced by nha,<br>
I believe, where I had requested that it keep setting the samplers<br>
anyways, since it would break nouveau otherwise, and I didn't (at the<br>
time) know why.<br>
<br>
A hardware quirk on NVIDIA Tesla and Fermi era GPUs caused the texture<br>
lookup mode we used (separate texture view/sampler) to have to have a<br>
valid sampler bound at slot 0 no matter what, even though it was not<br>
really used (except for an SRGB setting, I believe, which we keep<br>
always-on in all samplers). Perhaps the DX10 r600/r700 GPUs had<br>
something similar?<br>
<br>
My fix on nv50 is here: de49e065077fcf26462f1859beafabf5e7a33757.<br>
<br>
Reverting the change to st/mesa would also be fine -- it's not a big<br>
deal -- however there are other ways for these conditions to occur, so<br>
it would not be a complete fix for the underlying problem.<br>
<br>
Cheers,<br>
<br>
  -ilia<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>