Mesa (master): 63 new commits

Samuel Pitoiset hakzsam at kemper.freedesktop.org
Wed Jun 14 08:17:37 UTC 2017


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=65d1e4d1eb08dda16d9b5967b4a6a414ba775815
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Feb 27 13:15:38 2017 +0100

    radeonsi: enable ARB_bindless_texture
    
    This has only been tested on RX480.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=285ec4463b62636e792acd58aa63ea553062609f
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Mar 30 16:55:58 2017 +0200

    radeonsi: add support for loading bindless images
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=950b5ffa31c1e67679ca960704a6d5eb22e6d00d
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Mar 30 17:34:49 2017 +0200

    radeonsi: add support for loading bindless samplers
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0c2834c5b225c4913450b8277240cb7015ce9d58
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri May 19 00:04:26 2017 +0200

    radeonsi: invalidate buffers which are made resident if needed
    
    When a buffer becomes resident, check if it has been invalidated,
    if so update the descriptor and the dirty flag.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=811756dfd0779187c205f1e89c0d014d29f60866
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu May 18 23:51:26 2017 +0200

    radeonsi: upload new descriptors when resident buffers are invalidated
    
    When texture buffers are invalidated the addr in the resident
    descriptor has to be updated but we can't create a new descriptor
    because the resident handle has to be the same.
    
    Instead, use the WRITE_DATA packet which allows to update memory
    directly but graphics/compute have to be idle in case the GPU is
    reading the descriptor.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=48fe8a6210c808669bf003b62a735c6fb4bd8742
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Tue May 16 22:31:30 2017 +0200

    radeonsi: only decompress resident textures/images when used
    
    When the current bound shaders don't use any bindless textures
    or images, it's useless to decompress the resident resources.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c3a7d584095bacb129a3fbbd6ccd5eac34d1451
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Tue May 16 12:25:28 2017 +0200

    radeonsi: track use of bindless samplers/images from tgsi_shader_info
    
    This adds some new helper functions to know if the current draw
    call (or dispatch compute) is using bindless samplers/images,
    based on TGSI analysis.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1813a8635fb9775791721cf421de05803c3fcb5
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon May 15 23:50:32 2017 +0200

    radeonsi: decompress resident textures/images before graphics/compute
    
    Similar to the existing decompression code path except that it
    loops over the list of resident textures/images.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7e1a66bb5582f594bdd05a1110dc40abc3371dc
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon May 15 23:48:08 2017 +0200

    radeonsi: decompress DCC for resident textures/images
    
    Analogous to bound textures/images. We should also update the
    resident descriptors and disable COMPRESSION_EN for avoiding
    useless DCC fetches, but I postpone this optimization for a
    separate series.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a45e198e2dd4b64bddddcf2dfa3ce09a964ce897
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu May 18 22:37:25 2017 +0200

    radeonsi: only add descriptors in presence of resident handles
    
    This won't help much except for applications that use a ton
    of resident handles. Though, this will reduce the winsys
    overhead a little bit.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=333c8f65cfd6f1153a614cef482b529778d3a6a6
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Tue May 16 00:55:14 2017 +0200

    radeonsi: add all resident buffers to the current CS
    
    Resident buffers have to be added to every new command stream.
    Though, this could be slightly improved when current shaders
    don't use any bindless textures/images but usually applications
    tend to use bindless for almost every draw call, and the winsys
    thread might help when buffers are added early.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9cc328eef6e58cd16acf9262c49b851f8c3b04db
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Tue May 16 10:49:20 2017 +0200

    radeonsi: implement ARB_bindless_texture
    
    This implements the Gallium interface. Decompression of resident
    textures/images will follow in the next patches.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=77bbdcdfcd8ad354a6e556b7440ea160fa62db85
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Tue May 16 10:11:54 2017 +0200

    radeonsi: add a slab allocator for bindless descriptors
    
    For each texture/image handles, we need to allocate a new
    buffer for the bindless descriptor. But when the number of
    buffers added to the current CS becomes high, the overhead
    in the winsys (and in the kernel) is important.
    
    To reduce this bottleneck, the idea is to suballocate the
    bindless descriptors using a slab similar to the one used
    in the winsys.
    
    Currently, a buffer can hold 1024 bindless descriptors but
    this limit is arbitrary and could be changed in the future
    for some reasons. Once a slab is allocated the "base" buffer
    is added to a per-context list.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=86d7b7f01a06c6b84876ffcea907576725551a8a
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Tue May 16 01:07:09 2017 +0200

    radeonsi: add si_set_shader_image_desc() helper
    
    To share some common code between bound and bindless images.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=410b4ec06d6b639eede2e79f8cde35b6ce706143
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Tue May 16 01:53:51 2017 +0200

    radeonsi: add si_set_sampler_view_desc() helper
    
    To share some common code between bound and bindless textures.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ce04d7c1af2bf3c3b3e869131615991226d9031
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri Mar 31 16:09:24 2017 +0200

    radeonsi: add si_init_descriptor_list() helper
    
    This will be used in order to initialize resident descriptors
    for bindless textures/images.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=08ba871549e56b4c2c265e6fab9bf86367a23faa
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri Mar 31 19:28:00 2017 +0200

    st/mesa: enable ARB_bindless_texture
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b1288fad3c143698685baeedc40ee979f352e12b
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri May 19 12:47:16 2017 +0200

    st/mesa: disable per-context seamless cubemap when using texture handles
    
    The ARB_bindless_texture spec say:
    
       "If ARB_seamless_cubemap (or OpenGL 4.0, which includes it) is
        supported, the per-context seamless cubemap enable is ignored
        and treated as disabled when using texture handles."
    
       "If AMD_seamless_cubemap_per_texture is supported, the seamless
        cube map texture parameter of the underlying texture does apply
        when texture handles are used."
    
    The per-context seamless cubemap flag should only be enabled for
    bound textures/samplers.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=76b8758253fc640616bb00d47a0362353cba4ada
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon May 15 14:15:40 2017 +0200

    st/mesa: make bindless samplers/images bound to units resident
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=66a2589d00e38f0d25530ec70274cf42c35e1f9d
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri May 12 14:15:29 2017 +0200

    st/mesa: add infrastructure for storing bound texture/image handles
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b6b915afa45da8e0da3ad315f523051ae1b5d836
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Tue May 9 14:32:06 2017 +0200

    st/mesa: add st_create_{texture,image}_handle_from_unit() helper
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6f96bd731819c77d4e899adfc2321eeaace80384
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri May 12 11:53:51 2017 +0200

    st/mesa: add st_convert_image_from_unit() helper
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=32b4aa34999c756e82d69472c67dbdd01e1f4fb0
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Tue May 9 14:07:24 2017 +0200

    st/mesa: make convert_sampler_from_unit() non-static
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c1558d222cc51f0fa96198773186130a3752302
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Tue May 9 13:55:00 2017 +0200

    st/mesa: make update_single_texture() non-static
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3dd062ce2a5876d4943c1f52a8cfc2b5ab5bd464
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri Mar 31 19:27:41 2017 +0200

    st/mesa: implement ARB_bindless_texture
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6447abf3736fef95b7135580ce2e9bbea3eb5f96
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri Apr 14 00:04:05 2017 +0200

    tgsi/scan: record bindless samplers/images usage
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd1ec664f5fda63bc6af1f1aa1f36ab6b8c44048
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri May 5 10:31:27 2017 +0200

    st/glsl_to_tgsi: teach rename_temp_registers() about bindless samplers
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=77cbded9957836d573664a5c2b1d26cbf04988ad
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Mar 29 01:22:47 2017 +0200

    st/glsl_to_tgsi: teach the DCE pass about bindless samplers/images
    
    When a texture (or an image) instruction uses a bindless sampler
    (respectively a bindless image), make sure the DCE pass won't
    remove code when the resource is a temporary variable.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5d59226a7fd6d96501d573e23f10eca7d83a68e8
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Apr 13 11:35:03 2017 +0200

    st/glsl_to_tgsi: add support for bindless pack/unpack operations
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=afafcbae309f6b06f09701ffd3511fdc84a05489
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Apr 13 11:34:47 2017 +0200

    st/glsl_to_tgsi: add support for bindless images
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d2f84d541e5842cd0df3df18e672101a17f9b1a1
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Apr 19 15:57:56 2017 +0200

    st/glsl_to_tgsi: add support for bindless samplers
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=556f70b404fea6d9abfbe2632c75e809bdf7b643
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Mar 30 02:01:59 2017 +0200

    tgsi/ureg: accept TGSI_FILE_{CONSTANT,INPUT} for dst registers
    
    For example, TGSI_OPCODE_STORE for bindless images might use
    a constant buffer or a shader input.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed4fbb84d1c3251d87476500272d28c59419fa88
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Tue May 16 15:00:35 2017 +0200

    tc: add ARB_bindless_texture support
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e53e374b26ed0a94eda524ebc21a1604c5f6d923
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri Apr 14 00:54:17 2017 +0200

    trace: add ARB_bindless_texture support
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=02743d63cc201820763a0df1dd00d03d4cfeb49a
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri Mar 31 16:32:46 2017 +0200

    ddebug: add ARB_bindless_texture support
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8a68b4de080ea3e88a9dee91730d9c35d496f6e0
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Mar 29 01:34:05 2017 +0200

    gallium: add ARB_bindless_texture interface
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=973822bcee577a01f8b8281bbcd2261d18f074b3
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Feb 16 13:43:16 2017 +0100

    gallium: add PIPE_CAP_BINDLESS_TEXTURE
    
    Whether bindless texture operations are supported by the
    underlying driver.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=990c8d15ac3de8623940b32b662ef956703cc6bc
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon May 29 22:47:24 2017 +0200

    mesa: fix setting uniform variables for bindless samplers/images
    
    This fixes a 64-bit vs 32-bit mismatch when setting an array
    of bindless samplers. Also, we need to unconditionally set
    size_mul to 2 when the underlying uniform is bindless.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe9f7095e826aa8702f724e7445ff8dc539cfd7d
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu May 11 18:42:22 2017 +0200

    mesa: handle bindless uniforms bound to texture/image units
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=804e6f2b76a383f99666177343bce5000788348a
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu May 11 18:23:34 2017 +0200

    mesa: associate uniform storage to bindless samplers/images
    
    When a bindless sampler/image is bound to a texture/image unit,
    we have to overwrite the constant value by the resident handle
    directly in the constant buffer before the next draw.
    
    One solution is to keep track of a pointer to the data.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=878a6e6eed9490109f0196e6af77cfba374a5fcc
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu May 11 11:54:09 2017 +0200

    mesa: pass gl_program to _mesa_associate_uniform_storage()
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=70f2573103298b0bc6857a3d5d372ca9c1cede97
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu May 11 17:29:53 2017 +0200

    mesa: update textures for bindless samplers bound to texture units
    
    This is analogous to the existing SamplerUnits and SamplerTargets,
    but it loops over bindless samplers bound to texture units.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9eaad42c58590498a692677d1932a5a83c7b2a05
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed May 10 14:15:33 2017 +0200

    mesa: add update_single_program_texture_state() helper
    
    This will also be used for looping over bindless samplers bound
    to texture units.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf60db5a4ba3893d57e59c8a69516b6519ac0972
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed May 10 13:24:01 2017 +0200

    mesa: add update_single_shader_texture_used() helper
    
    This will also be used for looping over bindless samplers bound
    to texture units.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=064d6263c54cd9a3b0f5954538fa74b5022f22de
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu May 4 17:34:33 2017 +0200

    glsl: add ir_variable::contains_bindless()
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=31154f097519af5143dfb3ffe67b9fe731f81b6e
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu May 11 17:37:27 2017 +0200

    glsl: set the explicit binding value for bindless samplers/images
    
    This handles a situation like:
    
    layout (bindless_sampler, binding = 7) uniform sampler2D;
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e3c6fba5d69a6695d7bc431440fa1f9276e82b10
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed May 10 15:41:25 2017 +0200

    glsl: pass the ir_variable object to set_opaque_binding()
    
    In order to set the explicit binding value for bindless
    samplers/images.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a087dd7a4bd5d7e69ea2b79ca0e2004badb073d
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri May 12 11:35:43 2017 +0200

    glsl: process uniform images declared bindless
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9e756de7d19307044c9b4a08b285836fbe128589
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu May 11 17:26:49 2017 +0200

    glsl: process uniform samplers declared bindless
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=444b703a88f8a9c6487db278e8e4331e9fb87d12
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu May 11 17:29:47 2017 +0200

    mesa: add infrastructure for bindless samplers/images bound to units
    
    Yes, ARB_bindless_texture allows to do this. In other words, in
    a situation like:
    
    layout (bindless_sampler) uniform sampler2D tex;
    
    The 'tex' sampler uniform can be either set with glUniform1()
    (old-style bound samplers) or with glUniformHandleui() (resident
    handles).
    
    When glUniform1() is used, we have to somehow make the texture
    resident "under the hood". This is done by requesting a texture
    handle to the driver, making the handle resident in the current
    context and overwriting the value directly in the constant buffer.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4fe2a6ba7a3ef56b806a4e3888a47f05097e02f2
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Apr 19 15:54:32 2017 +0200

    mesa: store bindless samplers as PROGRAM_UNIFORM
    
    Old-style samplers (ie. bound samplers) are stored as
    PROGRAM_SAMPLER, while bindless ones are PROGRAM_UNIFORM.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=156bcbaca69046a97393297a0d8394eba38736b7
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Apr 19 15:37:49 2017 +0200

    mesa: keep track of the current variable in add_uniform_to_shader
    
    Bindless samplers are considered PROGRAM_UNIFORM but
    add_uniform_to_shader::visit_field() is based on glsl_type.
    
    Because only ir_variable knows if the uniform variable is
    bindless via ir_variable::bindless, store it instead of
    adding a new parameter to visit_field().
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=41257fddc8843e800e3f1c61ccf1862cf81d3333
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Mar 29 16:29:24 2017 +0200

    mesa: refuse to change tex buffers when a handle is allocated
    
    The ARB_bindless_texture spec says:
    
       "The error INVALID_OPERATION is generated by BufferData if it is
        called to modify a buffer object bound to a buffer texture while
        that texture object is referenced by one or more texture handles."
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=028a9b54c49ee8bf70ef54f2c9dd58ee660291ec
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Apr 24 14:22:24 2017 +0200

    mesa: refuse to change textures when a handle is allocated
    
    The ARB_bindless_texture spec says:
    
       "The error INVALID_OPERATION is generated by TexImage*, CopyTexImage*,
        CompressedTexImage*, TexBuffer*, TexParameter*, as well as other
        functions defined in terms of these, if the texture object to be
        modified is referenced by one or more texture or image handles."
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb9c708ee2f7d676c6428920adbca4d665fb4174
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Apr 24 14:16:15 2017 +0200

    mesa: refuse to update tex parameters when a handle is allocated
    
    The ARB_bindless_texture spec says:
    
       "The ARB_bindless_texture spec says: "The error INVALID_OPERATION
        is generated by TexImage*, CopyTexImage*, CompressedTexImage*,
        TexBuffer*, TexParameter*, as well as other functions defined in
        terms of these, if the texture object to be modified is referenced
        by one or more texture or image handles."
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=67ab372c60cd18d88468aa586ceaf2810da79200
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Feb 22 23:20:03 2017 +0100

    mesa: refuse to update sampler parameters when a handle is allocated
    
    The ARB_bindless_texture spec says:
    
       "The error INVALID_OPERATION is generated by SamplerParameter* if
        <sampler> identifies a sampler object referenced by one or more
        texture handles."
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=326a82a255c1a72376ce2b7f3d878bfff5cb9621
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri Feb 24 19:24:56 2017 +0100

    mesa: add support for glUniformHandleui64*ARB()
    
    Bindless sampler/image handles are represented using 64-bit
    unsigned integers.
    
    The ARB_bindless_texture spec says:
    
       "The error INVALID_OPERATION is generated by UniformHandleui64{v}ARB
       if the sampler or image uniform being updated has the "bound_sampler"
       or "bound_image" layout qualifier"."
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=afb141156f09e7f2f22b88eeefe8e0800c26c1d6
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Apr 3 22:03:10 2017 +0200

    mesa: add support for unsigned 64-bit vertex attributes
    
    This adds support in the VBO and array code to handle unsigned
    64-bit vertex attributes as specified by ARB_bindless_texture.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1fe7b1f9724ac38cbddcac6505d3750ef99a2eca
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Apr 3 22:06:27 2017 +0200

    mesa: implement ARB_bindless_texture
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6649b840c34016b4753e69d4513a8d09da9febb2
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Jun 12 16:51:04 2017 +0200

    mesa/util: add a hash table wrapper which support 64-bit keys
    
    Needed for bindless handles which are represented using
    64-bit unsigned integers. All hash table implementations should
    be uniformized later on.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eeb34af5be5aff36a8ccf94b5d202ef0b9d0c992
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri Jun 9 13:58:56 2017 +0200

    mesa: move some hash declarations to hash.h
    
    These will be used by the bindless hash tables to initialize
    the default deleted key value.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=30471eb7450b6a14f47f088ea3983ba86616db36
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon May 29 17:26:30 2017 +0200

    mesa/util: add new util_dynarray_delete_unordered helper
    
    This helper function will be used for managing dynamic arrays of
    resident texture/image handles.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f249b9f05ece03a7cbd591cdca0400cb619d11c
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Apr 3 21:57:34 2017 +0200

    mapi: add GL_ARB_bindless_texture entry points
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>




More information about the mesa-commit mailing list