<feed xmlns='http://www.w3.org/2005/Atom'>
<title>external_mesa3d/src/mesa/program, 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>mesa/glsl: delete previously linked shaders earlier when linking</title>
<updated>2016-11-09T13:53:50+00:00</updated>
<author>
<name>Timothy Arceri</name>
<email>timothy.arceri@collabora.com</email>
</author>
<published>2016-11-01T22:49:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=bd3fde40681171d91b058e016847f4b69470ba8e'/>
<id>bd3fde40681171d91b058e016847f4b69470ba8e</id>
<content type='text'>
This moves the delete linked shaders call to
_mesa_clear_shader_program_data() which makes sure we delete them
before returning due to any validation problems.

It also reduces some code duplication.

From the OpenGL 4.5 Core spec:

   "If LinkProgram failed, any information about a previous link of
   that program object is lost. Thus, a failed link does not restore
   the old state of program.

   ...

   If one of these commands is called with a program for which
   LinkProgram failed, no error is generated unless otherwise noted.
   Implementations may return information on variables and interface
   blocks that would have been active had the program been linked
   successfully. In cases where the link failed because the program
   required too many resources, these commands may help applications
   determine why limits were exceeded."

Therefore it's expected that we shouldn't be able to query the
program that failed to link and retrieve information about a
previously successful link.

Before this change the linker was doing validation before freeing
the previously linked shaders and therefore could exit on failure
before they were freed.

This change also fixes an issue in compat profile where a program
with no shaders attached is expect to fall back to fixed function
but was instead trying to relink IR from a previous link.

Reviewed-by: Tapani Pälli &lt;tapani.palli@intel.com&gt;
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97715
Cc: "13.0" &lt;mesa-stable@lists.freedesktop.org&gt;
(cherry picked from commit d2861d682a235993844989f7742c9539c3e10245)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This moves the delete linked shaders call to
_mesa_clear_shader_program_data() which makes sure we delete them
before returning due to any validation problems.

It also reduces some code duplication.

From the OpenGL 4.5 Core spec:

   "If LinkProgram failed, any information about a previous link of
   that program object is lost. Thus, a failed link does not restore
   the old state of program.

   ...

   If one of these commands is called with a program for which
   LinkProgram failed, no error is generated unless otherwise noted.
   Implementations may return information on variables and interface
   blocks that would have been active had the program been linked
   successfully. In cases where the link failed because the program
   required too many resources, these commands may help applications
   determine why limits were exceeded."

Therefore it's expected that we shouldn't be able to query the
program that failed to link and retrieve information about a
previously successful link.

Before this change the linker was doing validation before freeing
the previously linked shaders and therefore could exit on failure
before they were freed.

This change also fixes an issue in compat profile where a program
with no shaders attached is expect to fall back to fixed function
but was instead trying to relink IR from a previous link.

Reviewed-by: Tapani Pälli &lt;tapani.palli@intel.com&gt;
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97715
Cc: "13.0" &lt;mesa-stable@lists.freedesktop.org&gt;
(cherry picked from commit d2861d682a235993844989f7742c9539c3e10245)
</pre>
</div>
</content>
</entry>
<entry>
<title>mesa/program: Add _mesa_symbol_table_replace_symbol()</title>
<updated>2016-10-27T18:12:06+00:00</updated>
<author>
<name>Samuel Iglesias Gonsálvez</name>
<email>siglesias@igalia.com</email>
</author>
<published>2016-10-20T07:04:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=95b5a69093ac6b3ea750567cc400696735ae07bc'/>
<id>95b5a69093ac6b3ea750567cc400696735ae07bc</id>
<content type='text'>
This function allows to modify an existing symbol.

v2:
- Remove namespace usage now that it was deleted.

Signed-off-by: Samuel Iglesias Gonsálvez &lt;siglesias@igalia.com&gt;
Reviewed-by: Timothy Arceri &lt;timothy.arceri@collabora.com&gt;
(cherry picked from commit dfbdb2c0b3559c46d93f10d636a88b9541304fc7)
Nominated-by: Samuel Iglesias Gonsálvez &lt;siglesias@igalia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function allows to modify an existing symbol.

v2:
- Remove namespace usage now that it was deleted.

Signed-off-by: Samuel Iglesias Gonsálvez &lt;siglesias@igalia.com&gt;
Reviewed-by: Timothy Arceri &lt;timothy.arceri@collabora.com&gt;
(cherry picked from commit dfbdb2c0b3559c46d93f10d636a88b9541304fc7)
Nominated-by: Samuel Iglesias Gonsálvez &lt;siglesias@igalia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glsl/mesa: remove unused namespace support from the symbol table</title>
<updated>2016-10-27T18:11:47+00:00</updated>
<author>
<name>Timothy Arceri</name>
<email>timothy.arceri@collabora.com</email>
</author>
<published>2016-10-21T05:50:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=ea37a0603773467a567fbdf933104410ad8c3916'/>
<id>ea37a0603773467a567fbdf933104410ad8c3916</id>
<content type='text'>
Namespace support seems to have been unused for a very long time.

Previously the hash table entry was never removed and the symbol name
wasn't freed until the symbol table was destroyed.

In theory this could reduced the number of times we need to copy a string
as duplicate names are reused. However in practice there is likely only a
limited number of symbols that are the same and this is likely to cause
other less than optimal behaviour such as the hash_table continuously
growing.

Along with dropping namespace support this change removes entries from
the hash table as they become unused.

Reviewed-by: Samuel Iglesias Gonsálvez &lt;siglesias@igalia.com&gt;
(cherry picked from commit 6dbe8a1b9fd750b4c1bb600a0bb43129d95e6eca)
Nominated-by: Samuel Iglesias Gonsálvez &lt;siglesias@igalia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Namespace support seems to have been unused for a very long time.

Previously the hash table entry was never removed and the symbol name
wasn't freed until the symbol table was destroyed.

In theory this could reduced the number of times we need to copy a string
as duplicate names are reused. However in practice there is likely only a
limited number of symbols that are the same and this is likely to cause
other less than optimal behaviour such as the hash_table continuously
growing.

Along with dropping namespace support this change removes entries from
the hash table as they become unused.

Reviewed-by: Samuel Iglesias Gonsálvez &lt;siglesias@igalia.com&gt;
(cherry picked from commit 6dbe8a1b9fd750b4c1bb600a0bb43129d95e6eca)
Nominated-by: Samuel Iglesias Gonsálvez &lt;siglesias@igalia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mesa: remove gl_shader_compiler_options::EmitNoNoise</title>
<updated>2016-10-19T17:26:30+00:00</updated>
<author>
<name>Marek Olšák</name>
<email>marek.olsak@amd.com</email>
</author>
<published>2016-10-16T22:54:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=c64da9d4997692bd25253dfc19e34d6fa335a58b'/>
<id>c64da9d4997692bd25253dfc19e34d6fa335a58b</id>
<content type='text'>
it's always true

Reviewed-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Reviewed-by: Nicolai Hähnle &lt;nicolai.haehnle@amd.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
it's always true

Reviewed-by: Ian Romanick &lt;ian.d.romanick@intel.com&gt;
Reviewed-by: Nicolai Hähnle &lt;nicolai.haehnle@amd.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mesa: remove the UsesDFdy flag</title>
<updated>2016-10-06T05:03:46+00:00</updated>
<author>
<name>Timothy Arceri</name>
<email>timothy.arceri@collabora.com</email>
</author>
<published>2016-10-05T04:28:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=201f940d2e49d6ead5dfd6921b33bf6afefa4c68'/>
<id>201f940d2e49d6ead5dfd6921b33bf6afefa4c68</id>
<content type='text'>
Seems the last user of this was removed in 08bc74e69.

Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Seems the last user of this was removed in 08bc74e69.

Reviewed-by: Kenneth Graunke &lt;kenneth@whitecape.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mesa/st: support lowering multi-planar YUV</title>
<updated>2016-09-26T19:29:17+00:00</updated>
<author>
<name>Rob Clark</name>
<email>robdclark@gmail.com</email>
</author>
<published>2016-08-31T21:44:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=ecd6fce2611e88ff8468a354cff8eda39f260a31'/>
<id>ecd6fce2611e88ff8468a354cff8eda39f260a31</id>
<content type='text'>
Support multi-planar YUV for external EGLImage's (currently just in the
dma-buf import path) by lowering to multiple texture fetch's for each
plane and CSC in shader.

There was some discussion of alternative approaches for tracking the
additional UV or U/V planes:

  https://lists.freedesktop.org/archives/mesa-dev/2016-September/127832.html

They all seemed worse than pipe_resource::next

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Support multi-planar YUV for external EGLImage's (currently just in the
dma-buf import path) by lowering to multiple texture fetch's for each
plane and CSC in shader.

There was some discussion of alternative approaches for tracking the
additional UV or U/V planes:

  https://lists.freedesktop.org/archives/mesa-dev/2016-September/127832.html

They all seemed worse than pipe_resource::next

Signed-off-by: Rob Clark &lt;robdclark@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<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>mesa/glsl: Move string_to_uint_map into the util folder</title>
<updated>2016-09-12T00:48:35+00:00</updated>
<author>
<name>Thomas Helland</name>
<email>thomashelland90@gmail.com</email>
</author>
<published>2016-08-16T20:10:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=08c5b10ae904231d887f9b6c37694c0e03939a28'/>
<id>08c5b10ae904231d887f9b6c37694c0e03939a28</id>
<content type='text'>
This clears the last bits of the usecases of the hash table
located in mesa/program, allowing us to remove it.

V2: Rebase on top of changes to Makefile.sources

Signed-off-by: Thomas Helland &lt;thomashelland90@gmail.com&gt;
Reviewed-by: Timothy Arceri &lt;timothy.arceri@collabora.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This clears the last bits of the usecases of the hash table
located in mesa/program, allowing us to remove it.

V2: Rebase on top of changes to Makefile.sources

Signed-off-by: Thomas Helland &lt;thomashelland90@gmail.com&gt;
Reviewed-by: Timothy Arceri &lt;timothy.arceri@collabora.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mesa: Convert symbol table to the util hash table</title>
<updated>2016-09-12T00:48:35+00:00</updated>
<author>
<name>Thomas Helland</name>
<email>thomashelland90@gmail.com</email>
</author>
<published>2016-08-16T20:10:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=ec453979db90e30243851b2dc8024e3d9aeceb62'/>
<id>ec453979db90e30243851b2dc8024e3d9aeceb62</id>
<content type='text'>
Signed-off-by: Thomas Helland &lt;thomashelland90@gmail.com&gt;
Reviewed-by: Timothy Arceri &lt;timothy.arceri@collabora.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Thomas Helland &lt;thomashelland90@gmail.com&gt;
Reviewed-by: Timothy Arceri &lt;timothy.arceri@collabora.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mesa: Convert string_to_uint_map to the util hash table</title>
<updated>2016-09-12T00:48:35+00:00</updated>
<author>
<name>Thomas Helland</name>
<email>thomashelland90@gmail.com</email>
</author>
<published>2016-08-18T19:51:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/external_mesa3d/commit/?id=eef2be6822c3409f8418c77f2278ea84492282f2'/>
<id>eef2be6822c3409f8418c77f2278ea84492282f2</id>
<content type='text'>
And remove the now unused hash_table_replace.

V2: Actually do the equivalent thing, and don't leak memory

V3: fix minor typo in comment (Timothy Arceri)

Signed-off-by: Thomas Helland &lt;thomashelland90@gmail.com&gt;
Reviewed-by: Timothy Arceri &lt;timothy.arceri@collabora.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And remove the now unused hash_table_replace.

V2: Actually do the equivalent thing, and don't leak memory

V3: fix minor typo in comment (Timothy Arceri)

Signed-off-by: Thomas Helland &lt;thomashelland90@gmail.com&gt;
Reviewed-by: Timothy Arceri &lt;timothy.arceri@collabora.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
