Mesa (master): 22 new commits
Ian Romanick
idr at kemper.freedesktop.org
Mon Nov 7 23:21:24 UTC 2011
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=be4524aeed7fb67bdc45861d299d4c5ca99c4d6c
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 18 16:50:10 2011 -0700
Delete code made dead by previous uniform related patches
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c42ca36d67939bb1cda8bb362ff8da7c0da24a1d
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 18 16:28:21 2011 -0700
mesa: Add missing check for glUniform*v count > 1 on non-array
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=719909698c67c287a393d2380278e7b7495ae018
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 18 16:01:49 2011 -0700
mesa: Rewrite the way uniforms are tracked and handled
Switch all of the code in ir_to_mesa, st_glsl_to_tgsi, glUniform*,
glGetUniform, glGetUniformLocation, and glGetActiveUniforms to use the
gl_uniform_storage structures in the gl_shader_program.
A couple of notes:
* Like most rewrite-the-world patches, this should be reviewed by
applying the patch and examining the modified functions.
* This leaves a lot of dead code around in linker.cpp and
uniform_query.cpp. This will be deleted in the next patches.
v2: Update the comment block (previously a FINISHME) in _mesa_uniform
about generating GL_INVALID_VALUE when an out-of-range sampler index
is specified.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=143d20c16a33e2f08e834b28c23dbea772591ef9
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Mon Oct 24 16:37:01 2011 -0700
i965: Move _mesa_ir_link_shader call before device-specific linking
_mesa_ir_link_shader needs to be called before cloning the IR tree so
that the var->location field for uniforms is set.
WARNING: This change breaks several integer division related piglit
tests. The tests break because _mesa_ir_link_shader lowers integer
division to an RCP followed by a MUL. The fix is to factor out more
of the code from ir_to_mesa so that _mesa_ir_link_shader does not need
to be called at all by the i965 driver. This will be the subject of
several follow-on patches.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cfab4327c380e5abd4976e937d9421aa098d0c5f
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 18 15:21:04 2011 -0700
mesa: Add log_uniform and log_program_parameters to dump data
These were both useful debugging aids while developing this code.
log_uniform will be used to keep the MESA_GLSL=uniform behavior.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7a7e4fc99888da424f324d1fc7e066673e804c2
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 18 15:07:45 2011 -0700
ir_to_mesa: Add _mesa_associate_uniform_storage
Connects all of the gl_program_parameter structures with the correct
gl_uniform_storage structures.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=70650d08fa3f4db2aea41e4ed47b271c3a3e7385
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 18 14:38:12 2011 -0700
mesa: Add _mesa_uniform_{attach,detach_all}_driver_storage functions
These functions are used to create and destroy the connections between
a uniform and the storage used by the driver to hold its value.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9516182e80d5a21ab402c9b2cbe9e6c46e5bb1d8
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 18 14:29:43 2011 -0700
mesa: Add _mesa_propagate_uniforms_to_driver_storage
This function propagates the values from the backing storage of a
gl_uniform_storage structure to the driver supplied data locations.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=07731ed1692eb5d72110b3c5b693f37e581e3809
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 18 11:54:48 2011 -0700
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 at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a21d4670ce88cd2476930f3c5f7945cc57579e8
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 18 11:53:19 2011 -0700
mesa: Add structures for "new style" uniform tracking in shader programs
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=466d5ffee4a370ba9d031c7bd685ed5d005479e9
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 18 11:24:58 2011 -0700
linker: Add helper class for parcelling out backing storage to uniforms
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=57f79de6d0c428d15665801e4247675e97eae5e7
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 18 11:09:14 2011 -0700
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 at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2f45ed393a40e914749ddb86d41e0f77b2cea3da
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Thu Oct 13 13:45:39 2011 -0700
mesa: Move most of uniforms.c to uniform_query.cpp
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=65add4327d786826d28c72ea34034df8137f65d9
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Thu Oct 13 20:18:31 2011 -0700
mesa: Refactor parameter validate for GetUniform, Uniform, and UniformMatrix
v2: Update a comment block about the different treatment of
location=-1 based on feedback from Ken.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=637a7eb9e981d7dbe3bdb0c39712a9183ea19e9c
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Thu Oct 13 13:42:56 2011 -0700
mesa: Move {split,merge}_location_offset to uniforms.h
Prepend _mesa_uniform_ to the names and rework the calling
convention. The calling convention was changed for a couple reasons.
1. Having a single variable named 'location' have completely different
meanings at different places in the function is confusing. Before
calling split_location_offset the location is the encoded value
returned by glGetUniformLocation. After calling split_location_offset
it's the index of the uniform in the gl_uniform_list::Uniforms array.
2. In a later commit the original value of 'location' is needed after
split_location_offset has been called.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ad460991cb1f4d8904b075133af414a624a27f3
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 11 17:16:18 2011 -0700
glsl: Add new structures for tracking uniforms in linked shaders
v2: Update some comments based on feedback from Eric Anholt.
v3: Remove gl_uniform_storage::dirty field. Make
gl_uniform_storage::initialized be bool, and make
gl_uniform_storage::sampler be uint8_t.
v4: Include stdbool.h after Tom Stellard noticed a build failure that
was introduced by the changes in v2. Oops.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ad41af616fed7ad0b6980f7181c9db9b95a6732
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 11 17:02:06 2011 -0700
mesa: Make get_uniform available outside compilation unit
Also rename to _mesa_get_uniform.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa7eccb8c0c590535856a54e3697982af6a630ed
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 11 16:55:54 2011 -0700
mesa: Move the link check from _mesa_get_uniform_location to _mesa_GetUniformLocationARB
There are cases where we might want to internally query the location
of a uniform in a shader that failed linking.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f6ee7bce65697ea3c6a78a000a49af901ba77c1d
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 11 16:15:47 2011 -0700
linker: Make invalidate_variable_locations available outside the compilation unit
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=68db407b20e780d3f45b90b01f1271b7bd7e7a2b
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 11 16:11:40 2011 -0700
glsl: Allow glsl_types.h to be included in C sources
Some C code will want access to the glsl_base_type and
glsl_sampler_dim enums in the near future.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=017346f4038671bd6725b857f6daeba821a8306b
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Oct 11 15:25:00 2011 -0700
mesa: Add string_to_uint_map::clear method to clear the map
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Tom Stellard <thomas.stellard at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=295e07ef51eded34ed6374823f15c0b5d13ad2d4
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 1 15:11:12 2011 -0700
mesa: Fix error generation for glClearBuffer{i ui}v with GL_DEPTH or GL_STENCIL
The spec says "Only ClearBufferiv should be used to clear
stencil buffers." and "Only ClearBufferfv should be used to clear
depth buffers." However, on the following page it also says:
"The result of ClearBuffer is undefined if no conversion between
the type of the specified value and the type of the buffer being
cleared is defined (for example, if ClearBufferiv is called for a
fixed- or floating-point buffer, or if ClearBufferfv is called
for a signed or unsigned integer buffer). *This is not an error.*"
Emphasis mine.
Fixes problems with piglit's clearbuffer-invalid-drawbuffer test.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
More information about the mesa-commit
mailing list