Mesa (master): 26 new commits

Samuel Iglesias Gonsálvez samuelig at kemper.freedesktop.org
Tue Jul 14 06:00:49 UTC 2015


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea633db65ffa684ea5237b8cb5bd96fbc1a7769a
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Wed Jul 8 17:30:44 2015 +0200

    glsl: Lower shader storage buffer object loads to GLSL IR instrinsics
    
    Extend the existing lower_ubo_reference pass to also detect SSBO loads
    and lower them to __intrinsic_load_ssbo intrinsics.
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1966ea57728a1c05300982ddd83de989e363613c
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Wed Jul 8 17:03:06 2015 +0200

    glsl: Lower shader storage buffer object writes to GLSL IR instrinsics
    
    Extend the existing lower_ubo_reference pass to also detect SSBO writes
    and lower them to __intrinsic_store_ssbo intrinsics.
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2a66ee6fc1fa1e64f2d9a22271187d4462d9e042
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Fri Apr 24 11:17:15 2015 +0200

    glsl: Don't do copy propagation on buffer variables
    
    Since the backing storage for these is shared we cannot ensure that
    the value won't change by writes from other threads. Normally SSBO
    accesses are not guaranteed to be syncronized with other threads,
    except when memoryBarrier is used. So, we might be able to optimize
    some SSBO accesses, but for now we always take the safe path and emit
    the SSBO access.
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5dfea83ee6bf85fb3962679d043eb06b33bfd4c1
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Fri Apr 24 11:15:48 2015 +0200

    glsl: Don't do constant variable on buffer variables
    
    Since the backing storage for these is shared we cannot ensure that
    the value won't change by writes from other threads. Normally SSBO
    accesses are not guaranteed to be syncronized with other threads,
    except when memoryBarrier is used. So, we might be able to optimize
    some SSBO accesses, but for now we always take the safe path and emit
    the SSBO access.
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b1111d985714816fad20c99b4e6ea762df17b46
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Fri Apr 24 11:14:17 2015 +0200

    glsl: Don't do constant propagation on buffer variables
    
    Since the backing storage for these is shared we cannot ensure that
    the value won't change by writes from other threads. Normally SSBO
    accesses are not guaranteed to be syncronized with other threads,
    except when memoryBarrier is used. So, we might be able to optimize
    some SSBO accesses, but for now we always take the safe path and emit
    the SSBO access.
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5360ff30c4de966422fde6a574e3959c81bf5037
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Mon Apr 6 10:19:50 2015 +0200

    glsl: Do not kill dead assignments to buffer variables or SSBO declarations.
    
    If we kill dead assignments we lose the buffer writes.
    
    Also, we never kill UBO declarations even if they are never referenced
    by the shader, they are always considered active. Although the spec
    does not seem say this specifically for SSBOs, it is probably implied
    since SSBOs are pretty much the same as UBOs, only that you can write
    to them.
    
    v2:
    - Fix the comment (Jordan)
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3ad92589f29466383c0218aa4a73bff52019c4be
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Mon Apr 6 09:37:58 2015 +0200

    glsl: Don't do tree grafting on buffer variables
    
    Otherwise we can lose writes into the buffers backing the variables.
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=173ed05a6d9e851b2b7b2f9f2d8993e5da115c40
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Mar 19 11:42:33 2015 +0100

    mesa: Implement _mesa_BindBufferRange for target GL_SHADER_STORAGE_BUFFER
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8a1d58bd6129d61ec4efb79cc6f2b61ac777b85b
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Mar 19 11:37:43 2015 +0100

    mesa: Implement _mesa_BindBufferBase for target GL_SHADER_STORAGE_BUFFER
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b0d0a2bf2d147c6024ff1a4b1eaaad955e7d297
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Mar 19 11:21:52 2015 +0100

    mesa: Implement _mesa_BindBuffersRange for target GL_SHADER_STORAGE_BUFFER
    
    v2:
    - Fix error message (Jordan)
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0aa83f3e90a5ca547593631bc1557412e5305bdd
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Mar 19 10:47:17 2015 +0100

    mesa: Implement _mesa_BindBuffersBase for target GL_SHADER_STORAGE_BUFFER
    
    v2:
    - Add space before const (Jordan)
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e72f5ef50211c3ce31abaab4ed1bf82df2884157
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Mar 19 10:31:23 2015 +0100

    mesa: Implement _mesa_DeleteBuffers for target GL_SHADER_STORAGE_BUFFER
    
    v2:
    - Remove the extra spaces (Jordan)
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=98a1a2c7302526d649a727d63400407727d7aad9
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Mar 19 11:50:51 2015 +0100

    mesa: Initialize and free shader storage buffers
    
    v2:
    - Fix indention, used tabs instead of whitespaces. (Jordan)
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2747d566f187cdab5d6bdc508e460a76e5cbd6c4
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Thu Mar 19 10:22:00 2015 +0100

    glsl: fix error messages in invalid declarations of shader storage blocks
    
    Due to GL_ARB_shader_storage_buffer_object extension, shader storage blocks
    have the same limitations as uniform blocks.
    
    This patch fixes the corresponding error messages.
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f651dbf7924938a8aa2c9c940ae3ed1366d6198
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Wed Mar 18 10:52:53 2015 +0100

    glsl: buffer variables cannot be defined outside interface blocks
    
    Section 4.3.7 "Buffer Variables", GLSL 4.30 spec:
    
    "Buffer variables may only be declared inside interface blocks
    (section 4.3.9 “Interface Blocks”), which are then referred to as
    shader storage blocks. It is a compile-time error to declare buffer
    variables at global scope (outside a block)."
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=20b2907db7b93656cbafe1d24302498e5817dbe2
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Wed Mar 18 10:25:10 2015 +0100

    glsl: shader buffer variables cannot have initializers
    
    Section 4.3.7 "Buffer Variables" of the GLSL 4.30 spec:
    
        "Buffer variables cannot have initializers."
    
    v2:
    - Rewrite error message (Jordan)
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa0a86c057ac9bff9b208f93db75c5ce5bd7136f
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Wed Mar 18 09:02:51 2015 +0100

    glsl: enable binding layout qualifier usage for shader storage buffer objects
    
    See GLSL 4.30 spec, section 4.4.5 "Uniform and Shader Storage Block
    Layout Qualifiers".
    
    v2:
    - Add whitespace in an error message. Delete period '.' at the end of that
    error message (Jordan).
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c717604dc4b5119fa9091241535c3efd1370438c
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Thu May 14 12:37:07 2015 +0200

    mesa: add MaxShaderStorageBlocks to struct gl_program_constants
    
    v2:
    - Set MaxShaderStorageBlocks to 8.
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd50906e0334d7ad0102e5733a152d55d672776b
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Mar 19 10:15:30 2015 +0100

    mesa: Add shader storage buffer support to struct gl_context
    
    This includes the array of bindings, the current buffer bound to the
    GL_SHADER_STORAGE_BUFFER target and a set of general limits and default
    values for shader storage buffers.
    
    v2:
    - Use spec values for the new defined constants (Jordan)
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=df89ed1591c9d1c55e79fe8effb976c21b172a7d
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Mon Mar 23 11:19:12 2015 +0100

    glsl: Identify active uniform blocks that are buffer blocks as such.
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a78a589efc5440443439d474e45fa1ef8b79178c
Author: Kristian Høgsberg <krh at bitplanet.net>
Date:   Wed May 13 11:17:23 2015 +0200

    glsl: link buffer variables and shader storage buffer interface blocks
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=84fc5fece006f2bd95287496e32482ac08bfd399
Author: Kristian Høgsberg <krh at bitplanet.net>
Date:   Wed May 13 10:53:46 2015 +0200

    glsl: Implement parser support for 'buffer' qualifier
    
    This is used to identify shader storage buffer interface blocks where
    buffer variables are declared.
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b09598d63b8b6069b230fbe8283c75cf86f711a
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Mon May 18 15:47:18 2015 +0200

    nir: add nir_var_shader_storage
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1146696f75ea0f2b49e6379c2a62602dfeb51190
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Fri Jun 5 09:11:53 2015 +0200

    mesa: rename is_in_uniform_block to is_in_buffer_block
    
    Since this now checks if a variable is inside a uniform or a shader
    storage block.
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=18feaa8f36b311c443fd56666507ec1768fb9582
Author: Kristian Høgsberg <krh at bitplanet.net>
Date:   Wed May 13 10:41:55 2015 +0200

    glsl: Add ir_var_shader_storage
    
    This will be used to identify buffer variables inside shader storage
    buffer objects, which are very similar to uniforms except for a few
    differences, most important of which is that they are writable.
    
    Since buffer variables are so similar to uniforms, we will almost always
    want them to go through the same paths as uniforms.
    
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3095ee9b8bd4154cc63b6332c21b16954555e241
Author: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
Date:   Tue Mar 17 12:17:27 2015 +0100

    mesa: define ARB_shader_storage_buffer_object extension
    
    Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
    Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>




More information about the mesa-commit mailing list