<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
On 15/03/18 15:39, Jason Ekstrand wrote:<br>
<blockquote type="cite"
cite="mid:CAOFGe94e5wkCXrWkWFHAs9aiavJ+bPQmNPm3qV7=WY901W0F6g@mail.gmail.com">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">On Thu, Mar 15, 2018 at 1:12 AM,
Alejandro Piñeiro <span dir="ltr"><<a
href="mailto:apinheiro@igalia.com" target="_blank"
moz-do-not-send="true">apinheiro@igalia.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<p>Hi,<br>
</p>
<span class="">
<div class="m_-4940576761448368096moz-cite-prefix">On
14/03/18 21:32, Jason Ekstrand wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>
<div>All,<br>
<br>
</div>
Connor and I along with several others have
been discussing for a while changing the way
NIR dereferences work. In particular,
adding a new nir_deref_instr type where the
first one in the chain takes a variable and
is followed by a series of instructions
which take another deref instruction and do
an array or structure dereference on it.<br>
<br>
</div>
Much of the motivation for this is some of the
upcoming SPIR-V stuff where we have more real
pointers and deref chains don't really work
anymore. It will also allow for things such
as CSE of common derefs which could make
analysis easier. This is similar to what LLVM
does and it's working very well for them.<br>
<br>
</div>
The reason for this e-mail is that this is going
to be a flag-day change. We've been talking
about it for a while but this is going to be a
major and fairly painful change in the short
term so no one has actually done it. It's time
we finally just suck it up and make it happen.
While we will try to make the change as
incrementally and reviewably as possible but
there is a real limit as to what is possible
here. My plan is to start cracking away at this
on Monday and hopefully have something working
for i965/anv by the end of the week or maybe
some time the week after. If anyone has
something to say in opposition, please speak up
now and not after I've spent a week straight
frantically hacking on NIR.<br>
<br>
</div>
<div>I would like everyone to be respectful of the
fact that this will be a major change and very
painful to rebase. If you've got outstanding
NIR, GLSL, or SPIR-V work that is likely to
conflict with this, please try to land it before
Monday so that we can avoid rebase conflicts. <br>
</div>
</div>
</blockquote>
<br>
</span> As part of the ongoing work for ARB_gl_spirv
support we cover NIR, SPIR-V (specially spirv-to-nir)
from that list. Unfourtunately, I don't think that it
would be possible to land it before Monday, and we would
need to deal with the rebase problems.<br>
<br>
In hindsight, I think that we approached slightly wrong
how we were sending to review the sub-patches of the
development series (btw, right now, without cleaning it
is ~100 patches). Our plan was sending patchsets
somewhat auto-contained. So a general spirv/nir change
would be justified for something we need for the
ARB_gl_spirv nir-based linker we are writing on the same
patchset. That would mean more meaningful patchsets, but
also that somewhat mixed patchsets, and that one
patchset is somewhat blocking the following one. Taking
into account how long the first patchset is taking
(something I assume that was caused by the GL 4.6 and
anv 1.1 CTS effort), that means that several spirv/nir
patches were not sent to review. Probably we should have
send beforehand, even if out of context, some "pure"
spirv, spirv/nir patchsets, to at least checking if they
were going in the good direction.<br>
</div>
</blockquote>
<div><br>
</div>
<div>I'm hoping that this change will not conflict as badly
as I made it sound. If you're doing stuff that's actively
touching derefs, then there may be a problem. If not,
then there's a decent chance it won't conflict or if it
does that it won't be bad.<br>
</div>
</div>
</div>
</div>
</blockquote>
<br>
Ah, good to know. Just skimming, we only have one patch using
derefs, so even if we need to update it, it shouldn't be a big deal.<br>
<br>
Thanks for the update.<br>
<br>
<blockquote type="cite"
cite="mid:CAOFGe94e5wkCXrWkWFHAs9aiavJ+bPQmNPm3qV7=WY901W0F6g@mail.gmail.com">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> In any case, as Im
saying, this is all in hindsight reflection.<br>
<br>
Thanks for the warning, we will aware that next week
(and likely following ones) it would be complicated, and
we would try several rebases during the week, instead of
the usual per-week rebase we are doing right now.<br>
<br>
<blockquote type="cite"><span class="">
<div dir="ltr">
<div> If you have interest in reviewing this,
please try to be responsive so that we can get
it reviewed and landed before it becomes too
painful. I'll try to send out some preview
patches as I go so that the data structures
themselves can get some review before the rest
of the changes have been made.<br>
</div>
<div><br>
I'm also asking for help from Rob, Bas, and Eric
if there are changes needed in any of their
drivers. I suspect the impact on back-end
drivers will be low because most of them don't
use derefs directly, but it would be good of
people were on hand to help catch bugs if
nothing else.<br>
<br>
</div>
<div>Thanks,<br>
<br>
</div>
<div>--Jason Ekstrand<br>
</div>
<div><br>
</div>
</div>
<br>
<fieldset
class="m_-4940576761448368096mimeAttachmentHeader"></fieldset>
<br>
</span>
<pre>______________________________<wbr>_________________
mesa-dev mailing list
<a class="m_-4940576761448368096moz-txt-link-abbreviated" href="mailto:mesa-dev@lists.freedesktop.org" target="_blank" moz-do-not-send="true">mesa-dev@lists.freedesktop.org</a>
<a class="m_-4940576761448368096moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank" moz-do-not-send="true">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a>
</pre>
</blockquote>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
<br>
</body>
</html>