<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hi,<br>
</p>
<div class="moz-cite-prefix">On 14/03/18 21:32, Jason Ekstrand
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAOFGe96nXD7hxXFMcM1oTPNifCjqS1BO=RicOm7rvjsc6D4pHQ@mail.gmail.com">
<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>
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>
<br>
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"
cite="mid:CAOFGe96nXD7hxXFMcM1oTPNifCjqS1BO=RicOm7rvjsc6D4pHQ@mail.gmail.com">
<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="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
mesa-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>