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