<feed xmlns='http://www.w3.org/2005/Atom'>
<title>external_mesa3d/src/mesa/program/prog_to_nir.c, 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>glsl: add subpass image type (v2)</title>
<updated>2016-09-16T05:16:31+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2016-09-15T01:08:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=7bf76563e25222fa285cf9a19207318759588aac'/>
<id>7bf76563e25222fa285cf9a19207318759588aac</id>
<content type='text'>
SPIR-V/Vulkan have a special image type for input attachments
called the subpass type. It has different characteristics than
other images types.

The main one being it can only be an input image to fragment
shaders and loads from it are relative to the frag coord.

This adds support for it to the GLSL types. Unfortunately
we've run out of space in the sampler dim in types, so we
need to use another bit.

v2: Fixup subpass input name (Jason)

Reviewed-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SPIR-V/Vulkan have a special image type for input attachments
called the subpass type. It has different characteristics than
other images types.

The main one being it can only be an input image to fragment
shaders and loads from it are relative to the frag coord.

This adds support for it to the GLSL types. Unfortunately
we've run out of space in the sampler dim in types, so we
need to use another bit.

v2: Fixup subpass input name (Jason)

Reviewed-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>util: Move _mesa_fsl/util_last_bit into util/bitscan.h</title>
<updated>2016-08-09T19:20:46+00:00</updated>
<author>
<name>Mathias Fröhlich</name>
<email>mathias.froehlich@web.de</email>
</author>
<published>2016-08-02T06:46:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=027cbf00f248bda325521db8f56a3718898da46b'/>
<id>027cbf00f248bda325521db8f56a3718898da46b</id>
<content type='text'>
As requested with the initial creation of util/bitscan.h
now move other bitscan related functions into util.

v2: Split into two patches.

Signed-off-by: Mathias Fröhlich &lt;Mathias.Froehlich@web.de&gt;
Tested-by: Brian Paul &lt;brianp@vmware.com&gt;
Reviewed-by: Brian Paul &lt;brianp@vmware.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As requested with the initial creation of util/bitscan.h
now move other bitscan related functions into util.

v2: Split into two patches.

Signed-off-by: Mathias Fröhlich &lt;Mathias.Froehlich@web.de&gt;
Tested-by: Brian Paul &lt;brianp@vmware.com&gt;
Reviewed-by: Brian Paul &lt;brianp@vmware.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ptn: Emit mul+add for MAD</title>
<updated>2016-05-11T18:44:35+00:00</updated>
<author>
<name>Jason Ekstrand</name>
<email>jason.ekstrand@intel.com</email>
</author>
<published>2016-05-06T00:14:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=47f01e538ad575d3f2b02e747905e7ab9dd3a9bb'/>
<id>47f01e538ad575d3f2b02e747905e7ab9dd3a9bb</id>
<content type='text'>
Unlike fma() in GLSL, MAD in ARB programs is 100% splittable.  Just emit
the split version and let the optimizer fuse them later.

Shader-db results on Haswell:

   total instructions in shared programs: 7560379 -&gt; 7560300 (-0.00%)
   instructions in affected programs: 143928 -&gt; 143849 (-0.05%)
   helped: 443
   HURT: 250

Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Unlike fma() in GLSL, MAD in ARB programs is 100% splittable.  Just emit
the split version and let the optimizer fuse them later.

Shader-db results on Haswell:

   total instructions in shared programs: 7560379 -&gt; 7560300 (-0.00%)
   instructions in affected programs: 143928 -&gt; 143849 (-0.05%)
   helped: 443
   HURT: 250

Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>prog: Delete all remains of OPCODE_SNE, OPCODE_SEQ, OPCODE_SGT, and OPCODE_SLE</title>
<updated>2016-05-10T16:22:18+00:00</updated>
<author>
<name>Ian Romanick</name>
<email>ian.d.romanick@intel.com</email>
</author>
<published>2016-04-13T00:38:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=f7328f9afd13a1862259128713ea39757e175a84'/>
<id>f7328f9afd13a1862259128713ea39757e175a84</id>
<content type='text'>
There is nothing left that can generate them.  These used to be
generated by ir_to_mesa or by the assembler for various NV extensions
that have been removed.

Signed-off-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Reviewed-by: Matt Turner &lt;mattst88@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is nothing left that can generate them.  These used to be
generated by ir_to_mesa or by the assembler for various NV extensions
that have been removed.

Signed-off-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Reviewed-by: Matt Turner &lt;mattst88@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ptn: Fix all users of ptn_swizzle</title>
<updated>2016-03-31T21:59:36+00:00</updated>
<author>
<name>Ian Romanick</name>
<email>ian.d.romanick@intel.com</email>
</author>
<published>2016-03-24T22:48:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=cdea12bf035117f7cae5db0d52f3050d81c50c37'/>
<id>cdea12bf035117f7cae5db0d52f3050d81c50c37</id>
<content type='text'>
None of the callers actually wanted what it did.  In ptn_xpd, you only
ever want a vec3 swizzle.  In ptn_tex, you want a swizzle that matches
the number of required texture coordinates.

shader-db results:

G45:
total instructions in shared programs: 4011240 -&gt; 4010911 (-0.01%)
instructions in affected programs: 59232 -&gt; 58903 (-0.56%)
helped: 114
HURT: 0

total cycles in shared programs: 84314194 -&gt; 84313220 (-0.00%)
cycles in affected programs: 779150 -&gt; 778176 (-0.13%)
helped: 110
HURT: 13

Ironlake:
total instructions in shared programs: 6397262 -&gt; 6396605 (-0.01%)
instructions in affected programs: 117402 -&gt; 116745 (-0.56%)
helped: 227
HURT: 0

total cycles in shared programs: 128889798 -&gt; 128888524 (-0.00%)
cycles in affected programs: 1214644 -&gt; 1213370 (-0.10%)
helped: 179
HURT: 44

Sandy Bridge:
total instructions in shared programs: 8467391 -&gt; 8467384 (-0.00%)
instructions in affected programs: 3107 -&gt; 3100 (-0.23%)
helped: 10
HURT: 6

total cycles in shared programs: 117580120 -&gt; 117573448 (-0.01%)
cycles in affected programs: 103158 -&gt; 96486 (-6.47%)
helped: 84
HURT: 11

Ivy Bridge:
total instructions in shared programs: 7774255 -&gt; 7774258 (0.00%)
instructions in affected programs: 1677 -&gt; 1680 (0.18%)
helped: 8
HURT: 6

total cycles in shared programs: 65743828 -&gt; 65739190 (-0.01%)
cycles in affected programs: 89312 -&gt; 84674 (-5.19%)
helped: 78
HURT: 23

Haswell:
total instructions in shared programs: 7107172 -&gt; 7107150 (-0.00%)
instructions in affected programs: 2048 -&gt; 2026 (-1.07%)
helped: 16
HURT: 0

total cycles in shared programs: 64653636 -&gt; 64647486 (-0.01%)
cycles in affected programs: 86836 -&gt; 80686 (-7.08%)
helped: 85
HURT: 17

Broadwell and Skylake:
total instructions in shared programs: 8447529 -&gt; 8447507 (-0.00%)
instructions in affected programs: 2038 -&gt; 2016 (-1.08%)
helped: 16
HURT: 0

total cycles in shared programs: 66418670 -&gt; 66413416 (-0.01%)
cycles in affected programs: 90110 -&gt; 84856 (-5.83%)
helped: 83
HURT: 20

Signed-off-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Reviewed-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt;
Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
None of the callers actually wanted what it did.  In ptn_xpd, you only
ever want a vec3 swizzle.  In ptn_tex, you want a swizzle that matches
the number of required texture coordinates.

shader-db results:

G45:
total instructions in shared programs: 4011240 -&gt; 4010911 (-0.01%)
instructions in affected programs: 59232 -&gt; 58903 (-0.56%)
helped: 114
HURT: 0

total cycles in shared programs: 84314194 -&gt; 84313220 (-0.00%)
cycles in affected programs: 779150 -&gt; 778176 (-0.13%)
helped: 110
HURT: 13

Ironlake:
total instructions in shared programs: 6397262 -&gt; 6396605 (-0.01%)
instructions in affected programs: 117402 -&gt; 116745 (-0.56%)
helped: 227
HURT: 0

total cycles in shared programs: 128889798 -&gt; 128888524 (-0.00%)
cycles in affected programs: 1214644 -&gt; 1213370 (-0.10%)
helped: 179
HURT: 44

Sandy Bridge:
total instructions in shared programs: 8467391 -&gt; 8467384 (-0.00%)
instructions in affected programs: 3107 -&gt; 3100 (-0.23%)
helped: 10
HURT: 6

total cycles in shared programs: 117580120 -&gt; 117573448 (-0.01%)
cycles in affected programs: 103158 -&gt; 96486 (-6.47%)
helped: 84
HURT: 11

Ivy Bridge:
total instructions in shared programs: 7774255 -&gt; 7774258 (0.00%)
instructions in affected programs: 1677 -&gt; 1680 (0.18%)
helped: 8
HURT: 6

total cycles in shared programs: 65743828 -&gt; 65739190 (-0.01%)
cycles in affected programs: 89312 -&gt; 84674 (-5.19%)
helped: 78
HURT: 23

Haswell:
total instructions in shared programs: 7107172 -&gt; 7107150 (-0.00%)
instructions in affected programs: 2048 -&gt; 2026 (-1.07%)
helped: 16
HURT: 0

total cycles in shared programs: 64653636 -&gt; 64647486 (-0.01%)
cycles in affected programs: 86836 -&gt; 80686 (-7.08%)
helped: 85
HURT: 17

Broadwell and Skylake:
total instructions in shared programs: 8447529 -&gt; 8447507 (-0.00%)
instructions in affected programs: 2038 -&gt; 2016 (-1.08%)
helped: 16
HURT: 0

total cycles in shared programs: 66418670 -&gt; 66413416 (-0.01%)
cycles in affected programs: 90110 -&gt; 84856 (-5.83%)
helped: 83
HURT: 20

Signed-off-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Reviewed-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt;
Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ptn: Silence unused parameter warning</title>
<updated>2016-03-31T21:59:36+00:00</updated>
<author>
<name>Ian Romanick</name>
<email>ian.d.romanick@intel.com</email>
</author>
<published>2016-03-29T00:27:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=8bb9c6ff7f2398e1a497a9b5413736f58205843c'/>
<id>8bb9c6ff7f2398e1a497a9b5413736f58205843c</id>
<content type='text'>
The KIL instruction doesn't have a destination, so ptn_kil never uses
dest.

program/prog_to_nir.c: In function ‘ptn_kil’:
program/prog_to_nir.c:547:38: warning: unused parameter ‘dest’ [-Wunused-parameter]
 ptn_kil(nir_builder *b, nir_alu_dest dest, nir_ssa_def **src)
                                      ^

Signed-off-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Reviewed-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt;
Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The KIL instruction doesn't have a destination, so ptn_kil never uses
dest.

program/prog_to_nir.c: In function ‘ptn_kil’:
program/prog_to_nir.c:547:38: warning: unused parameter ‘dest’ [-Wunused-parameter]
 ptn_kil(nir_builder *b, nir_alu_dest dest, nir_ssa_def **src)
                                      ^

Signed-off-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Reviewed-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt;
Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nir: add a bit_size parameter to nir_ssa_dest_init</title>
<updated>2016-03-17T10:54:45+00:00</updated>
<author>
<name>Connor Abbott</name>
<email>connor.w.abbott@intel.com</email>
</author>
<published>2015-11-17T12:57:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=3124ce699bb3844e793f00e00bfbea5c91744f90'/>
<id>3124ce699bb3844e793f00e00bfbea5c91744f90</id>
<content type='text'>
v2: Squash multiple commits addressing the new parameter in different
    files so we don't break the build (Iago)

v3: Fix tgsi (Samuel)

v4: Fix nir_clone.c (Samuel)

v5: Fix vc4 and freedreno (Iago)

v6 (Sam)
- Fix build errors in nir_lower_indirect_derefs
- Use helper to get type size from nir_alu_type.

Signed-off-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt;
Signed-off-by: Samuel Iglesias Gonsalvez &lt;siglesias@igalia.com&gt;
Tested-by: Rob Clark &lt;robdclark@gmail.com&gt;
Reviewed-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Reviewed-by: Samuel Iglesias Gonsálvez &lt;siglesias@igalia.com&gt;
Reviewed-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
v2: Squash multiple commits addressing the new parameter in different
    files so we don't break the build (Iago)

v3: Fix tgsi (Samuel)

v4: Fix nir_clone.c (Samuel)

v5: Fix vc4 and freedreno (Iago)

v6 (Sam)
- Fix build errors in nir_lower_indirect_derefs
- Use helper to get type size from nir_alu_type.

Signed-off-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt;
Signed-off-by: Samuel Iglesias Gonsalvez &lt;siglesias@igalia.com&gt;
Tested-by: Rob Clark &lt;robdclark@gmail.com&gt;
Reviewed-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Reviewed-by: Samuel Iglesias Gonsálvez &lt;siglesias@igalia.com&gt;
Reviewed-by: Iago Toral Quiroga &lt;itoral@igalia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>program: Remove NV_fragment_program Abs support.</title>
<updated>2016-03-01T19:41:29+00:00</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2016-02-27T22:04:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=fe2d2c7ad8793fbcc4761cf5b51270c296eb811c'/>
<id>fe2d2c7ad8793fbcc4761cf5b51270c296eb811c</id>
<content type='text'>
Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Reviewed-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Acked-by: Brian Paul &lt;brianp@vmware.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Reviewed-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Acked-by: Brian Paul &lt;brianp@vmware.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>program: Remove OPCODE_TXP_NV.</title>
<updated>2016-03-01T19:41:29+00:00</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2016-02-27T21:53:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=624d06708d12c3f6941128cd55e43305e12445f3'/>
<id>624d06708d12c3f6941128cd55e43305e12445f3</id>
<content type='text'>
Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Reviewed-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Acked-by: Brian Paul &lt;brianp@vmware.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Reviewed-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Acked-by: Brian Paul &lt;brianp@vmware.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nir: Separate texture from sampler in nir_tex_instr</title>
<updated>2016-02-09T23:00:17+00:00</updated>
<author>
<name>Jason Ekstrand</name>
<email>jason.ekstrand@intel.com</email>
</author>
<published>2015-11-03T01:58:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=5ec456375e4fdd0b6c7d797f99191044e19ead74'/>
<id>5ec456375e4fdd0b6c7d797f99191044e19ead74</id>
<content type='text'>
This commit adds the capability to NIR to support separate textures and
samplers.  As it currently stands, glsl_to_nir only sets the texture deref
and leaves the sampler deref alone as it did before and nir_lower_samplers
assumes this.  Backends can still assume that they are combined and only
look at only at the texture index.  Or, if they wish, they can assume that
they are separate because nir_lower_samplers, tgsi_to_nir, and prog_to_nir
all set both texture and sampler index whenever a sampler is required (the
two indices are the same in this case).

Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds the capability to NIR to support separate textures and
samplers.  As it currently stands, glsl_to_nir only sets the texture deref
and leaves the sampler deref alone as it did before and nir_lower_samplers
assumes this.  Backends can still assume that they are combined and only
look at only at the texture index.  Or, if they wish, they can assume that
they are separate because nir_lower_samplers, tgsi_to_nir, and prog_to_nir
all set both texture and sampler index whenever a sampler is required (the
two indices are the same in this case).

Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
