<feed xmlns='http://www.w3.org/2005/Atom'>
<title>external_mesa3d/src/compiler/nir, branch replicant-6.0</title>
<subtitle>external/mesa3d
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/'/>
<entry>
<title>Revert "nir: Turn imov/fmov of undef into undef."</title>
<updated>2016-12-16T13:01:00+00:00</updated>
<author>
<name>Timothy Arceri</name>
<email>timothy.arceri@collabora.com</email>
</author>
<published>2016-12-15T05:51:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=c682fdb77c1499fa424b943be1d242a499677144'/>
<id>c682fdb77c1499fa424b943be1d242a499677144</id>
<content type='text'>
This reverts commit 6aa730000fea84a14b49828a4bb30761d43903bf.

This was changing the size of the undef to always be 1 (the number of inputs
to imov and fmov) which is wrong, we could be moving a vec4 for example.

Acked-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Cc: "13.0" &lt;mesa-stable@lists.freedesktop.org&gt;
(cherry picked from commit a5502a721fd30fde4f5dc71421494329052f805b)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 6aa730000fea84a14b49828a4bb30761d43903bf.

This was changing the size of the undef to always be 1 (the number of inputs
to imov and fmov) which is wrong, we could be moving a vec4 for example.

Acked-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Cc: "13.0" &lt;mesa-stable@lists.freedesktop.org&gt;
(cherry picked from commit a5502a721fd30fde4f5dc71421494329052f805b)
</pre>
</div>
</content>
</entry>
<entry>
<title>nir: add conditional discard optimisation (v4)</title>
<updated>2016-11-09T23:41:48+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2016-11-02T01:22:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=fa6c02787e1c4d650b7aaa528a7c4e5e129e2906'/>
<id>fa6c02787e1c4d650b7aaa528a7c4e5e129e2906</id>
<content type='text'>
This is ported from GLSL and converts

if (cond)
	discard;

into
discard_if(cond);

This removes a block, but also is needed by radv
to workaround a bug in the LLVM backend.

v2: handle if (a) discard_if(b) (nha)
cleanup and drop pointless loop (Matt)
make sure there are no dependent phis (Eric)
v3: make sure only one instruction in the then block.
v4: remove sneaky tabs, add cursor init (Eric)

Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Cc: "13.0" &lt;mesa-stable@lists.freedesktop.org&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
(cherry picked from commit b16dff2d88302e5113598a818d2f92f8af02cd79)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is ported from GLSL and converts

if (cond)
	discard;

into
discard_if(cond);

This removes a block, but also is needed by radv
to workaround a bug in the LLVM backend.

v2: handle if (a) discard_if(b) (nha)
cleanup and drop pointless loop (Matt)
make sure there are no dependent phis (Eric)
v3: make sure only one instruction in the then block.
v4: remove sneaky tabs, add cursor init (Eric)

Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Cc: "13.0" &lt;mesa-stable@lists.freedesktop.org&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
(cherry picked from commit b16dff2d88302e5113598a818d2f92f8af02cd79)
</pre>
</div>
</content>
</entry>
<entry>
<title>nir: Flip gl_SamplePosition in nir_lower_wpos_ytransform().</title>
<updated>2016-11-09T14:00:31+00:00</updated>
<author>
<name>Francisco Jerez</name>
<email>currojerez@riseup.net</email>
</author>
<published>2016-11-01T18:56:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=2789bfdbb59c4528a248dd8c02124dd384caefe6'/>
<id>2789bfdbb59c4528a248dd8c02124dd384caefe6</id>
<content type='text'>
Assuming the hardware is set up to use a screen coordinate system
flipped vertically with respect to the GL's window coordinate system,
the SYSTEM_VALUE_SAMPLE_POS vector will also be flipped vertically
with respect to the value expected by the GL, so we need to give it
the same treatment as gl_FragCoord.  Fixes the following CTS tests on
i965:

 ES31-CTS.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position.default_framebuffer
 ES31-CTS.functional.shaders.sample_variables.sample_pos.correctness.default_framebuffer

when run with any multisample configuration, e.g. rgba8888d24s8ms4.

Cc: &lt;mesa-stable@lists.freedesktop.org&gt;
Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Reviewed-by: Anuj Phogat &lt;anuj.phogat@gmail.com&gt;
(cherry picked from commit f3d387867f74ae758b41168f23992671f7dce254)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Assuming the hardware is set up to use a screen coordinate system
flipped vertically with respect to the GL's window coordinate system,
the SYSTEM_VALUE_SAMPLE_POS vector will also be flipped vertically
with respect to the value expected by the GL, so we need to give it
the same treatment as gl_FragCoord.  Fixes the following CTS tests on
i965:

 ES31-CTS.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position.default_framebuffer
 ES31-CTS.functional.shaders.sample_variables.sample_pos.correctness.default_framebuffer

when run with any multisample configuration, e.g. rgba8888d24s8ms4.

Cc: &lt;mesa-stable@lists.freedesktop.org&gt;
Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Reviewed-by: Anuj Phogat &lt;anuj.phogat@gmail.com&gt;
(cherry picked from commit f3d387867f74ae758b41168f23992671f7dce254)
</pre>
</div>
</content>
</entry>
<entry>
<title>nir: Fix the control flow tests for nir_loop_first_block changes</title>
<updated>2016-10-06T22:48:30+00:00</updated>
<author>
<name>Jason Ekstrand</name>
<email>jason.ekstrand@intel.com</email>
</author>
<published>2016-10-06T22:46:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=325b3fd668369e2ed0af937843e80e750d0b91ed'/>
<id>325b3fd668369e2ed0af937843e80e750d0b91ed</id>
<content type='text'>
Commit 2ed17d46de045404042f13c6591895a1cf31b167 changed
nir_loop_first_cf_node and friends to return a nir_block instead of a
nir_cf_node.  This broke one of the NIR control flow tests.

Signed-off-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98128
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 2ed17d46de045404042f13c6591895a1cf31b167 changed
nir_loop_first_cf_node and friends to return a nir_block instead of a
nir_cf_node.  This broke one of the NIR control flow tests.

Signed-off-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98128
</pre>
</div>
</content>
</entry>
<entry>
<title>nir: Remove some no longer needed asserts</title>
<updated>2016-10-06T16:16:39+00:00</updated>
<author>
<name>Jason Ekstrand</name>
<email>jason.ekstrand@intel.com</email>
</author>
<published>2016-10-06T02:56:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=ae032e5ea61dac3c63d74056174939e5ec091629'/>
<id>ae032e5ea61dac3c63d74056174939e5ec091629</id>
<content type='text'>
Now that the NIR casting functions have type assertions, we have a bunch of
assertions that aren't needed anymore.

Signed-off-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Reviewed-by: Connor Abbott &lt;cwabbott0@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that the NIR casting functions have type assertions, we have a bunch of
assertions that aren't needed anymore.

Signed-off-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Reviewed-by: Connor Abbott &lt;cwabbott0@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nir: Make nir_foo_first/last_cf_node return a block instead</title>
<updated>2016-10-06T16:16:37+00:00</updated>
<author>
<name>Jason Ekstrand</name>
<email>jason.ekstrand@intel.com</email>
</author>
<published>2016-10-06T02:08:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=2ed17d46de045404042f13c6591895a1cf31b167'/>
<id>2ed17d46de045404042f13c6591895a1cf31b167</id>
<content type='text'>
One of NIR's invariants is that control flow lists always start and end
with blocks.  There's no good reason why we should return a cf_node from
these functions since we know that it's always a block.  Making it a block
lets us remove a bunch of code.

Signed-off-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Reviewed-by: Connor Abbott &lt;cwabbott0@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
One of NIR's invariants is that control flow lists always start and end
with blocks.  There's no good reason why we should return a cf_node from
these functions since we know that it's always a block.  Making it a block
lets us remove a bunch of code.

Signed-off-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Reviewed-by: Connor Abbott &lt;cwabbott0@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nir: Add asserts to the casting functions</title>
<updated>2016-10-06T16:16:24+00:00</updated>
<author>
<name>Jason Ekstrand</name>
<email>jason.ekstrand@intel.com</email>
</author>
<published>2016-10-06T01:09:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=7a3bcadf4e665ff80775f520715061f4e3d63823'/>
<id>7a3bcadf4e665ff80775f520715061f4e3d63823</id>
<content type='text'>
This makes calling nir_foo_as_bar a bit safer because we're no longer 100%
trusting in the caller to ensure that it's safe.  The caller still needs to
do the right thing but this ensures that we catch invalid casts with an
assert rather than by reading garbage data.  The one downside is that we do
use the casts a bit in nir_validate and it's not a validate_assert.

Signed-off-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Reviewed-by: Connor Abbott &lt;cwabbott0@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes calling nir_foo_as_bar a bit safer because we're no longer 100%
trusting in the caller to ensure that it's safe.  The caller still needs to
do the right thing but this ensures that we catch invalid casts with an
assert rather than by reading garbage data.  The one downside is that we do
use the casts a bit in nir_validate and it's not a validate_assert.

Signed-off-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Reviewed-by: Connor Abbott &lt;cwabbott0@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nir: Delete open coded type printing.</title>
<updated>2016-10-06T09:13:36+00:00</updated>
<author>
<name>Kenneth Graunke</name>
<email>kenneth@whitecape.org</email>
</author>
<published>2016-10-05T18:58:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=f7659e02c320fa9aac82e094e01786d2a5eb91e3'/>
<id>f7659e02c320fa9aac82e094e01786d2a5eb91e3</id>
<content type='text'>
glsl_print_type() prints arrays of arrays incorrectly.  For example,
a type with name float[3][7] would be printed as float[7][3].  (This
is an array of length 3 containing arrays of 7 floats.)  cdecl says
that the type name is correct.

glsl_print_type() doesn't really do anything above and beyond printing
type-&gt;name, and glsl_print_struct() wasn't used at all.  So, drop them.

Signed-off-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Reviewed-by: Timothy Arceri &lt;timothy.arceri@collabora.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
glsl_print_type() prints arrays of arrays incorrectly.  For example,
a type with name float[3][7] would be printed as float[7][3].  (This
is an array of length 3 containing arrays of 7 floats.)  cdecl says
that the type name is correct.

glsl_print_type() doesn't really do anything above and beyond printing
type-&gt;name, and glsl_print_struct() wasn't used at all.  So, drop them.

Signed-off-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Reviewed-by: Timothy Arceri &lt;timothy.arceri@collabora.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nir: Use the correct infos structure for copying atomic sources</title>
<updated>2016-10-05T20:04:54+00:00</updated>
<author>
<name>Jason Ekstrand</name>
<email>jason.ekstrand@intel.com</email>
</author>
<published>2016-10-05T19:12:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=28ab2570c8994993acf199e6c728c0f316bf253a'/>
<id>28ab2570c8994993acf199e6c728c0f316bf253a</id>
<content type='text'>
Signed-off-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Reviewed-by: Connor Abbott &lt;cwabbott0@gmail.com&gt;
Tested-by: Mark Janes &lt;mark.a.janes@intel.com&gt;
Cc: "12.0" &lt;mesa-dev@lists.freedestkop.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Reviewed-by: Connor Abbott &lt;cwabbott0@gmail.com&gt;
Tested-by: Mark Janes &lt;mark.a.janes@intel.com&gt;
Cc: "12.0" &lt;mesa-dev@lists.freedestkop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nir/intrinsics: Add more atomic_counter ops</title>
<updated>2016-10-04T23:53:32+00:00</updated>
<author>
<name>Ian Romanick</name>
<email>ian.d.romanick@intel.com</email>
</author>
<published>2016-06-30T01:00:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=7cd0b3084cb5e1ee69431d462eedc2e3e7eb8203'/>
<id>7cd0b3084cb5e1ee69431d462eedc2e3e7eb8203</id>
<content type='text'>
v2: Delete some stray debug code notice by Iago.

v3: Massive rebase on new ir_function_signature::intrinsic_id mechanism.

Signed-off-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Reviewed-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt; [v1]
Acked-by: Ilia Mirkin &lt;imirkin@alum.mit.edu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
v2: Delete some stray debug code notice by Iago.

v3: Massive rebase on new ir_function_signature::intrinsic_id mechanism.

Signed-off-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Reviewed-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt; [v1]
Acked-by: Ilia Mirkin &lt;imirkin@alum.mit.edu&gt;
</pre>
</div>
</content>
</entry>
</feed>
