History log of /external/mesa3d/src/glsl/link_uniforms.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ff996cafce511dd8a6c4e066e409c23e147a670c 15-Aug-2012 Stéphane Marchesin <marcheu@chromium.org> glsl/linker: Avoid buffer over-run in parcel_out_uniform_storage::visit_field

When too may uniforms are used, the error will be caught in
check_resources (src/glsl/linker.cpp).

NOTE: This is a candidate for the 8.0 branch.

Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Benoit Jacob <bjacob@mozilla.com>
/external/mesa3d/src/glsl/link_uniforms.cpp
e45f1b11c081a7b965bf58539d2dbcc231d543f4 25-Jul-2012 Eric Anholt <eric@anholt.net> glsl: Align GL_UNIFORM_BLOCK_DATA_SIZE according to std140 rules.

Fixes piglit GL_ARB_uniform_buffer_object/data-size test.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/link_uniforms.cpp
300315fe69ba275dda8a4786783c2bdd007d0758 23-Jul-2012 Eric Anholt <eric@anholt.net> glsl: Fix glGetActiveUniformsiv(GL_UNIFORM_BLOCK_INDEX).

Previously, we were returning the index into the UniformBlocks of one of the
linked shaders, when it's supposed to be the program global index.

Fixes piglit getactiveuniformsiv-uniform_block_index.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/link_uniforms.cpp
71ba6de342b88dcf8ed3aa347da157b7724230e7 21-Jul-2012 Eric Anholt <eric@anholt.net> glsl: Fix a reference to UniformBlocks during uniform linking.

When converting var->location from pointing at the program's UniformBlocks to
pointing at the linked shader's UniformBlocks, I missed this change. It
usually worked out in the end because the two lists happen to be the same in
many testcases.

Fixes a valgrind complaint on
oglconform ubo-compile.cpp advanced.std140.2stage

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/link_uniforms.cpp
bbd1d6124d8d59d7b3f8585505ce3c01aa062e28 22-Jun-2012 Eric Anholt <eric@anholt.net> glsl: Assign array and matrix stride values according to std140 layout.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glsl/link_uniforms.cpp
8ab5842a6d992956ee365c0e0232c6e6b907863e 02-May-2012 Eric Anholt <eric@anholt.net> glsl: Assign locations for uniforms in UBOs using the std140 rules.

Fixes piglit layout-std140.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glsl/link_uniforms.cpp
a74507dc94f6383f2a81850866fceec108c2ab34 01-May-2012 Eric Anholt <eric@anholt.net> glsl: Propagate uniform block information into gl_uniform_storage.

Now we can actually return information on uniforms in uniform blocks
in the new queries.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glsl/link_uniforms.cpp
093b20666d73f8fc410dc7bf168ab7197756b1f5 01-May-2012 Eric Anholt <eric@anholt.net> glsl: Set the uniform_block index for the linked shader variables.

At this point in the linking, we've totally lost track of the struct
gl_uniform_buffer that this pointed to in the original unlinked
shader, so we do a nasty n^2 walk to find it the new one based on the
variable name.

Note that these point into the shader's list of gl_uniform_buffers,
not the linked program's.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glsl/link_uniforms.cpp
f609cf782ab5e90ddf045dc4b0da8cebf99be0d1 27-Apr-2012 Eric Anholt <eric@anholt.net> glsl: Merge the lists of uniform blocks into the linked shader program.

This attempts error-checking, but the layout isn't done yet.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glsl/link_uniforms.cpp
b610881317a7775a7ffe5f032099d8b2dc45eff0 10-Apr-2012 Ian Romanick <ian.d.romanick@intel.com> glsl: Initialize samplers to 0, propagate sampler values to the gl_program

The spec requires that samplers be initialized to 0. Since this
differs from the 1-to-1 mapping of samplers to texture units assumed
by ARB assembly shaders (and the gl_program structure), be sure to
propagate this date from the gl_shader_program to the gl_program.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
CC: Vadim Girlin <vadimgirlin@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49088
/external/mesa3d/src/glsl/link_uniforms.cpp
a2e623054b5d8eafebc7499efe93e4bceae16ead 06-Apr-2012 Ian Romanick <ian.d.romanick@intel.com> glsl: Set initial values for uniforms in the linker

v2: Fix handling of arrays-of-structure. Thanks to Eric Anholt for
pointing this out.

v3: Minor comment change based on feedback from Ken.

Fixes piglit glsl-1.20/execution/uniform-initializer/fs-structure-array
and glsl-1.20/execution/uniform-initializer/vs-structure-array.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/link_uniforms.cpp
4123d0b32138a0fbdbc7f61380d041704ba0ad43 31-Mar-2012 Vinson Lee <vlee@freedesktop.org> linker: Fix memory leak in count_uniform_size::visit_field.

Fixes a Coverity resource leak defect.

NOTE: This is a candidate for the 8.0 branch.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/link_uniforms.cpp
8292b7419d0405e94a5ea270ba710d20f0eb071f 10-Feb-2012 Kenneth Graunke <kenneth@whitecape.org> ralloc: Make rewrite_tail increase "start" by the new text's length.

Both callers of rewrite_tail immediately compute the new total string
length by adding the (known) length of the existing string plus the
length of the newly appended text. Unfortunately, callers generally
won't know the length of the new text, as it's printf-formatted.

Since ralloc already computes this length, it makes sense to add it in
and save the caller the effort. This simplifies both existing callers,
but more importantly, will allow for cheap-appending in the next commit.

v2: The link_uniforms code needs both the old and new length.
Apply the obvious fix (which sadly makes it less of a cleanup).

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> [v1]
Acked-by: José Fonseca <jfonseca@vmware.com> [v1]
/external/mesa3d/src/glsl/link_uniforms.cpp
aad3a46ff453d33cb3df909903d261f67b452d31 12-Jan-2012 Eric Anholt <eric@anholt.net> glsl: Fix leak of linked uniform names at relink/free of the shader_program.

NOTE: This is a candidate for the 8.0 branch.
/external/mesa3d/src/glsl/link_uniforms.cpp
6c0df75803e1944f82a1468dcca47d23de82ea6b 15-Nov-2011 Ian Romanick <ian.d.romanick@intel.com> linker: Calculate used samplers and shadow samplers in the linker

It used to be done in ir_to_mesa, and that was kind of a bad place.

I didn't change st_glsl_to_tgsi because there is some strange stuff
happening in the code that generates glDrawPixels shaders. It looked
like this would break horribly if I touched anything.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/link_uniforms.cpp
6a992c3288b6f7a5d94172c9ad1908e71e58233e 15-Nov-2011 Ian Romanick <ian.d.romanick@intel.com> linker: Calculate the sampler to texture target mapping during linking

Track the calculated data in gl_shader_program instead of the
individual assembly shaders.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/link_uniforms.cpp
141d961d847111b2596f9c3094d5ebf1639c8c24 30-Dec-2011 Alexander von Gluck <kallisti5@unixzen.com> glsl: fix usage of potentially undefined data_end union

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/glsl/link_uniforms.cpp
151867b422d07b9e5845e95c2ebc30567809edc5 21-Nov-2011 Ian Romanick <ian.d.romanick@intel.com> linker: Remove erroneous multiply by 4 in uniform usage calculation

The old count_uniform_size::num_shader_uniforms was actually
calculating the number of components used. Multiplying by 4 when
setting gl_shader::num_uniform_components caused us to count 4x as
many uniform components as were actually used.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42930
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42966
Acked-by: Marek Olšák <maraeo@gmail.com>
Tested-by: Vinson Lee <vlee@vmware.com>
Tested-by: Pavel Ondračka <pavel.ondracka@email.cz>
Reviewed-and-tested-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/link_uniforms.cpp
6ac895a664b25eb6252f33d5cfb0e9dd33190490 08-Nov-2011 Ian Romanick <ian.d.romanick@intel.com> linker: Count the number of uniform components used by a shader during linking

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/link_uniforms.cpp
812aa8839388042609f65ed00ae4fbfdb60a11d6 08-Nov-2011 Ian Romanick <ian.d.romanick@intel.com> linker: Count the number of samplers used by a shader during linking

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/link_uniforms.cpp
07731ed1692eb5d72110b3c5b693f37e581e3809 18-Oct-2011 Ian Romanick <ian.d.romanick@intel.com> linker: Track uniform locations to new tracking structures

This is just the infrastructure and the code. It's not used yet.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Tom Stellard <thomas.stellard@amd.com>
/external/mesa3d/src/glsl/link_uniforms.cpp
466d5ffee4a370ba9d031c7bd685ed5d005479e9 18-Oct-2011 Ian Romanick <ian.d.romanick@intel.com> linker: Add helper class for parcelling out backing storage to uniforms

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Tom Stellard <thomas.stellard@amd.com>
/external/mesa3d/src/glsl/link_uniforms.cpp
57f79de6d0c428d15665801e4247675e97eae5e7 18-Oct-2011 Ian Romanick <ian.d.romanick@intel.com> linker: Add helper class for determining uniform usage

v2: Remane class count_uniform_size based on feedback from Eric:

"Maybe just "count_uniform_size"? "usage" makes me think "way it's
dereferenced" or something."

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Tom Stellard <thomas.stellard@amd.com>
/external/mesa3d/src/glsl/link_uniforms.cpp
747e59c7590bd11a4964c6ca12c5ff0dbb6282f2 25-Oct-2011 Ian Romanick <ian.d.romanick@intel.com> linker: Add uniform_field_visitor class to process leaf fields of a uniform

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/link_uniforms.cpp