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