<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/mesa.git/src/glsl/opt_vectorize.cpp, branch baserock/james/test</title>
<subtitle>gitlab.freedesktop.org: mesa/mesa.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mesa.git/'/>
<entry>
<title>glsl: Fixed vectorize pass vs. texture lookups.</title>
<updated>2014-08-14T16:40:33+00:00</updated>
<author>
<name>Aras Pranckevicius</name>
<email>aras@unity3d.com</email>
</author>
<published>2014-08-13T17:40:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mesa.git/commit/?id=2b837576eb47eeb25f381c534a8bbccda0ee4c89'/>
<id>2b837576eb47eeb25f381c534a8bbccda0ee4c89</id>
<content type='text'>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82574
Reviewed-by: Matt Turner &lt;mattst88@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82574
Reviewed-by: Matt Turner &lt;mattst88@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mesa: Make unreachable macro take a string argument.</title>
<updated>2014-07-01T15:55:52+00:00</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2014-06-30T02:12:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mesa.git/commit/?id=a3d10c2c304c65e37a940edbbc84f37e5cf88f33'/>
<id>a3d10c2c304c65e37a940edbbc84f37e5cf88f33</id>
<content type='text'>
To aid in debugging.

Reviewed-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To aid in debugging.

Reviewed-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glsl: Try vectorizing when seeing a repeated assignment to a channel.</title>
<updated>2014-04-11T19:39:37+00:00</updated>
<author>
<name>Kenneth Graunke</name>
<email>kenneth@whitecape.org</email>
</author>
<published>2014-04-08T23:55:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mesa.git/commit/?id=ae2a03b5736037128fb071595717f300d5b3afd5'/>
<id>ae2a03b5736037128fb071595717f300d5b3afd5</id>
<content type='text'>
When considering assignment expressions like:

    v.x += u.x;
    v.x += u.x;

the vectorizer would incorrectly keep going, attempting to find more
instructions to vectorize.  It would overwrite the saved assignment
to point at the second one, and increment channels a second time,
resulting in try_vectorize thinking the expression was a vec2 instead of
a float.

Instead, if we see a repeated assignment to a channel, just try to
vectorize everything we've found so far.  This clears the saved state
so it will start over.

Fixes Piglit's repeated-channel-assignments.vert.

Cc: "10.1" &lt;mesa-stable@lists.freedesktop.org&gt;
Signed-off-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Reviewed-by: Matt Turner &lt;mattst88@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When considering assignment expressions like:

    v.x += u.x;
    v.x += u.x;

the vectorizer would incorrectly keep going, attempting to find more
instructions to vectorize.  It would overwrite the saved assignment
to point at the second one, and increment channels a second time,
resulting in try_vectorize thinking the expression was a vec2 instead of
a float.

Instead, if we see a repeated assignment to a channel, just try to
vectorize everything we've found so far.  This clears the saved state
so it will start over.

Fixes Piglit's repeated-channel-assignments.vert.

Cc: "10.1" &lt;mesa-stable@lists.freedesktop.org&gt;
Signed-off-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
Reviewed-by: Matt Turner &lt;mattst88@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glsl: Clean up "unused parameter" warnings</title>
<updated>2014-03-28T17:57:58+00:00</updated>
<author>
<name>Ian Romanick</name>
<email>ian.d.romanick@intel.com</email>
</author>
<published>2014-03-27T21:17:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mesa.git/commit/?id=4047263cb15e89d23cb145c74fb3f303904e8f14'/>
<id>4047263cb15e89d23cb145c74fb3f303904e8f14</id>
<content type='text'>
../../src/glsl/builtin_functions.cpp:72:1: warning: unused parameter 'state' [-Wunused-parameter]

../../src/glsl/ir_clone.cpp:31:1: warning: unused parameter 'ht' [-Wunused-parameter]

../../src/glsl/ir_equals.cpp:44:1: warning: unused parameter 'ir' [-Wunused-parameter]
../../src/glsl/ir_equals.cpp:50:1: warning: unused parameter 'ignore' [-Wunused-parameter]
../../src/glsl/ir_equals.cpp:68:1: warning: unused parameter 'ignore' [-Wunused-parameter]

../../src/glsl/ir_print_visitor.cpp:149:6: warning: unused parameter 'ir' [-Wunused-parameter]
../../src/glsl/ir_print_visitor.cpp:556:1: warning: unused parameter 'ir' [-Wunused-parameter]
../../src/glsl/ir_print_visitor.cpp:562:1: warning: unused parameter 'ir' [-Wunused-parameter]

../../src/glsl/link_uniforms.cpp:213:1: warning: unused parameter 'record_type' [-Wunused-parameter]

../../src/glsl/loop_analysis.cpp:225:1: warning: unused parameter 'ir' [-Wunused-parameter]

../../src/glsl/loop_unroll.cpp:73:30: warning: unused parameter 'ir' [-Wunused-parameter]
../../src/glsl/loop_unroll.cpp:79:30: warning: unused parameter 'ir' [-Wunused-parameter]
../../src/glsl/loop_unroll.cpp:85:30: warning: unused parameter 'ir' [-Wunused-parameter]

../../src/glsl/opt_copy_propagation_elements.cpp:189:1: warning: unused parameter 'ir' [-Wunused-parameter]

../../src/glsl/opt_cse.cpp:402:1: warning: unused parameter 'ir' [-Wunused-parameter]

../../src/glsl/opt_dead_code_local.cpp:117:30: warning: unused parameter 'ir' [-Wunused-parameter]

../../src/glsl/opt_redundant_jumps.cpp:53:1: warning: unused parameter 'ir' [-Wunused-parameter]

../../src/glsl/opt_vectorize.cpp:301:1: warning: unused parameter 'ir' [-Wunused-parameter]

Signed-off-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
../../src/glsl/builtin_functions.cpp:72:1: warning: unused parameter 'state' [-Wunused-parameter]

../../src/glsl/ir_clone.cpp:31:1: warning: unused parameter 'ht' [-Wunused-parameter]

../../src/glsl/ir_equals.cpp:44:1: warning: unused parameter 'ir' [-Wunused-parameter]
../../src/glsl/ir_equals.cpp:50:1: warning: unused parameter 'ignore' [-Wunused-parameter]
../../src/glsl/ir_equals.cpp:68:1: warning: unused parameter 'ignore' [-Wunused-parameter]

../../src/glsl/ir_print_visitor.cpp:149:6: warning: unused parameter 'ir' [-Wunused-parameter]
../../src/glsl/ir_print_visitor.cpp:556:1: warning: unused parameter 'ir' [-Wunused-parameter]
../../src/glsl/ir_print_visitor.cpp:562:1: warning: unused parameter 'ir' [-Wunused-parameter]

../../src/glsl/link_uniforms.cpp:213:1: warning: unused parameter 'record_type' [-Wunused-parameter]

../../src/glsl/loop_analysis.cpp:225:1: warning: unused parameter 'ir' [-Wunused-parameter]

../../src/glsl/loop_unroll.cpp:73:30: warning: unused parameter 'ir' [-Wunused-parameter]
../../src/glsl/loop_unroll.cpp:79:30: warning: unused parameter 'ir' [-Wunused-parameter]
../../src/glsl/loop_unroll.cpp:85:30: warning: unused parameter 'ir' [-Wunused-parameter]

../../src/glsl/opt_copy_propagation_elements.cpp:189:1: warning: unused parameter 'ir' [-Wunused-parameter]

../../src/glsl/opt_cse.cpp:402:1: warning: unused parameter 'ir' [-Wunused-parameter]

../../src/glsl/opt_dead_code_local.cpp:117:30: warning: unused parameter 'ir' [-Wunused-parameter]

../../src/glsl/opt_redundant_jumps.cpp:53:1: warning: unused parameter 'ir' [-Wunused-parameter]

../../src/glsl/opt_vectorize.cpp:301:1: warning: unused parameter 'ir' [-Wunused-parameter]

Signed-off-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glsl: Don't vectorize horizontal expressions.</title>
<updated>2014-02-28T18:37:52+00:00</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2014-02-23T00:35:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mesa.git/commit/?id=4bd7f1d044eee17587d6523322303a61aeb8d660'/>
<id>4bd7f1d044eee17587d6523322303a61aeb8d660</id>
<content type='text'>
Cc: "10.1" &lt;mesa-stable@lists.freedesktop.org&gt;
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75224
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cc: "10.1" &lt;mesa-stable@lists.freedesktop.org&gt;
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75224
</pre>
</div>
</content>
</entry>
<entry>
<title>glsl: Do not vectorize vector array dereferences.</title>
<updated>2014-02-12T00:05:55+00:00</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2014-02-10T20:09:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mesa.git/commit/?id=025d99ce3cea21c9ecea77b95655c0c838b2fa3c'/>
<id>025d99ce3cea21c9ecea77b95655c0c838b2fa3c</id>
<content type='text'>
Array dereferences must have scalar indices, so we cannot vectorize
them.

Cc: "10.1" &lt;mesa-stable@lists.freedesktop.org&gt;
Reported-by: Andrew Guertin &lt;lists@dolphinling.net&gt;
Tested-by: Andrew Guertin &lt;lists@dolphinling.net&gt;
Reviewed-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Array dereferences must have scalar indices, so we cannot vectorize
them.

Cc: "10.1" &lt;mesa-stable@lists.freedesktop.org&gt;
Reported-by: Andrew Guertin &lt;lists@dolphinling.net&gt;
Tested-by: Andrew Guertin &lt;lists@dolphinling.net&gt;
Reviewed-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glsl: Expand non-expr &amp; non-swizzle scalar rvalues in vectorizing.</title>
<updated>2014-01-31T18:21:50+00:00</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2014-01-28T22:44:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mesa.git/commit/?id=606544214e0e45d1d93de16b4ac4851d8d71eb87'/>
<id>606544214e0e45d1d93de16b4ac4851d8d71eb87</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>glsl: Avoid combining statements from different basic blocks.</title>
<updated>2014-01-28T05:15:35+00:00</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2014-01-27T18:49:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mesa.git/commit/?id=37f1903e007e30892ce39e6e2493c9e88dacf7cc'/>
<id>37f1903e007e30892ce39e6e2493c9e88dacf7cc</id>
<content type='text'>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74113
Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74113
Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glsl: Set proper swizzle when a channel is missing in vectorizing.</title>
<updated>2014-01-28T05:15:35+00:00</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2014-01-24T23:17:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mesa.git/commit/?id=8e2b8bd0e613d1e24860d9572fc16893ad11a2da'/>
<id>8e2b8bd0e613d1e24860d9572fc16893ad11a2da</id>
<content type='text'>
Previously, for example if the x channel was missing from a series of
assignments we were attempting to vectorize, the wrong swizzle mask
would be applied.

   a.y = b.y;
   a.z = b.z;
   a.w = b.w;

would be incorrectly transformed into

   a.yzw = b.xyz;

Fixes two transform feedback tests in the ES3 conformance suite.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73978
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73954
Reviewed-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, for example if the x channel was missing from a series of
assignments we were attempting to vectorize, the wrong swizzle mask
would be applied.

   a.y = b.y;
   a.z = b.z;
   a.w = b.w;

would be incorrectly transformed into

   a.yzw = b.xyz;

Fixes two transform feedback tests in the ES3 conformance suite.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73978
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73954
Reviewed-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glsl: Vectorize multiple scalar assignments</title>
<updated>2014-01-21T22:20:44+00:00</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2013-12-21T19:28:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mesa.git/commit/?id=4bd6e0d7c69b304be88996a6c2b96ce7d996e627'/>
<id>4bd6e0d7c69b304be88996a6c2b96ce7d996e627</id>
<content type='text'>
Reduces vertex shader instruction counts in DOTA2 by 6.42%, L4D2 by
4.61%, and CS:GO by 5.71%.

total instructions in shared programs: 1500153 -&gt; 1498191 (-0.13%)
instructions in affected programs:     59919 -&gt; 57957 (-3.27%)

Reviewed-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reduces vertex shader instruction counts in DOTA2 by 6.42%, L4D2 by
4.61%, and CS:GO by 5.71%.

total instructions in shared programs: 1500153 -&gt; 1498191 (-0.13%)
instructions in affected programs:     59919 -&gt; 57957 (-3.27%)

Reviewed-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
