For patches 32 - 36 and 38 - 48: Reviewed-by: Marek Olšák <marek.ol...@amd.com>
That means all patches from 25 up have been reviewed now, and only two need v3. Marek On Wed, Jun 7, 2017 at 5:14 PM, Marek Olšák <mar...@gmail.com> wrote: > For patch 37: > > Reviewed-by: Marek Olšák <marek.ol...@amd.com> > > Patches 25 - 31 and 37 (gallium interface etc.) can land now as far as > I'm concerned. > > --- > > I sent comments on patches 49, 51, 52 (two comments), 53, 56 (just the > small cleanup), 58, 60. > > With my comments applied, patches 49-51, 53-57, 59-64 are: > > Reviewed-by: Marek Olšák <marek.ol...@amd.com> > > --- > > I'd like to see v3 for patches 52 and 58. > > Thanks, > Marek > > > > On Sun, Jun 4, 2017 at 10:26 PM, Marek Olšák <mar...@gmail.com> wrote: >> For patches 25 - 31: >> >> Reviewed-by: Marek Olšák <marek.ol...@amd.com> >> >> Marek >> >> On Tue, May 30, 2017 at 10:35 PM, Samuel Pitoiset >> <samuel.pitoi...@gmail.com> wrote: >>> Hi, >>> >>> This is the v2 of ARB_bindless_texture for RadeonSI. >>> >>> Major changes since v1: >>> - fix use of 64-bit handles on 32-bit systems (ie. void *) >>> - use u_vector instead of hash_table for texture object handles >>> - fix a 64-bit vs 32-bit mismatch when setting bindless sampler uniforms >>> - remove the 'texture' parameter from create_texture_handle (gallium) >>> - add missing gallium doc >>> - fix a refcount issue with sampler view objects >>> - use u_dynarray in radeonsi >>> >>> I also have a pending series which is bindless-related: >>> https://lists.freedesktop.org/archives/mesa-dev/2017-May/156874.html >>> >>> Initial cover letter can be found here: >>> https://lists.freedesktop.org/archives/mesa-dev/2017-May/156260.html >>> >>> Note that patch 3 still has to be improved a bit, I'm working on it >>> but in the meantime, people might want to review the other patches. >>> >>> Please review! >>> Thanks. >>> >>> Samuel Pitoiset (64): >>> mapi: add GL_ARB_bindless_texture entry points >>> mesa/util: add MESA_ARCH_{X86,X86_64} macros >>> mesa: implement ARB_bindless_texture >>> mesa: add support for unsigned 64-bit vertex attributes >>> mesa: add support for glUniformHandleui64*ARB() >>> mesa: refuse to update sampler parameters when a handle is allocated >>> mesa: refuse to update tex parameters when a handle is allocated >>> mesa: refuse to change textures when a handle is allocated >>> mesa: refuse to change tex buffers when a handle is allocated >>> mesa: keep track of the current variable in add_uniform_to_shader >>> mesa: store bindless samplers as PROGRAM_UNIFORM >>> mesa: add infrastructure for bindless samplers/images bound to units >>> glsl: process uniform samplers declared bindless >>> glsl: process uniform images declared bindless >>> glsl: pass the ir_variable object to set_opaque_binding() >>> glsl: set the explicit binding value for bindless samplers/images >>> glsl: add ir_variable::contains_bindless() >>> mesa: add update_single_shader_texture_used() helper >>> mesa: add update_single_program_texture_state() helper >>> mesa: update textures for bindless samplers bound to texture units >>> mesa: pass gl_program to _mesa_associate_uniform_storage() >>> mesa: associate uniform storage to bindless samplers/images >>> mesa: handle bindless uniforms bound to texture/image units >>> mesa: fix setting uniform variables for bindless samplers/images >>> gallium: add PIPE_CAP_BINDLESS_TEXTURE >>> gallium: add ARB_bindless_texture interface >>> gallium/util: add new util_dynarray_{shrink,delete} helpers >>> ddebug: add ARB_bindless_texture support >>> trace: add ARB_bindless_texture support >>> tc: add ARB_bindless_texture support >>> tgsi/ureg: accept TGSI_FILE_{CONSTANT,INPUT} for dst registers >>> st/glsl_to_tgsi: add support for bindless samplers >>> st/glsl_to_tgsi: add support for bindless images >>> st/glsl_to_tgsi: add support for bindless pack/unpack operations >>> st/glsl_to_tgsi: teach the DCE pass about bindless samplers/images >>> st/glsl_to_tgsi: teach rename_temp_registers() about bindless samplers >>> tgsi/scan: record bindless samplers/images usage >>> st/mesa: implement ARB_bindless_texture >>> st/mesa: make update_single_texture() non-static >>> st/mesa: make convert_sampler_from_unit() non-static >>> st/mesa: add st_convert_image_from_unit() helper >>> st/mesa: add st_create_{texture,image}_handle_from_unit() helper >>> st/mesa: add infrastructure for storing bound texture/image handles >>> st/mesa: make bindless samplers/images bound to units resident >>> st/mesa: disable per-context seamless cubemap when using texture >>> handles >>> st/mesa: enable ARB_bindless_texture >>> radeonsi: add si_init_descriptor_list() helper >>> radeonsi: add si_set_sampler_view_desc() helper >>> radeonsi: add si_set_shader_image_desc() helper >>> radeonsi: add si_update_check_render_feedback() helper >>> radeonsi: add a slab allocator for bindless descriptors >>> radeonsi: implement ARB_bindless_texture >>> radeonsi: add all resident buffers to the current CS >>> radeonsi: only add descriptors in presence of resident handles >>> radeonsi: decompress DCC for resident textures/images >>> radeonsi: decompress resident textures/images before graphics/compute >>> radeonsi: isolate real framebuffer changes from the decompression >>> passes >>> radeonsi: track use of bindless samplers/images from tgsi_shader_info >>> radeonsi: only decompress resident textures/images when used >>> radeonsi: upload new descriptors when resident buffers are invalidated >>> radeonsi: invalidate buffers which are made resident if needed >>> radeonsi: add support for loading bindless samplers >>> radeonsi: add support for loading bindless images >>> radeonsi: enable ARB_bindless_texture >>> >>> docs/features.txt | 2 +- >>> docs/relnotes/17.2.0.html | 1 + >>> src/compiler/glsl/ir.h | 11 + >>> src/compiler/glsl/ir_uniform.h | 6 + >>> src/compiler/glsl/link_uniform_initializers.cpp | 42 +- >>> src/compiler/glsl/link_uniforms.cpp | 156 +++- >>> src/compiler/glsl/shader_cache.cpp | 45 + >>> src/gallium/auxiliary/tgsi/tgsi_scan.c | 39 + >>> src/gallium/auxiliary/tgsi/tgsi_scan.h | 10 + >>> src/gallium/auxiliary/tgsi/tgsi_ureg.c | 2 - >>> src/gallium/auxiliary/util/u_dynarray.h | 20 + >>> src/gallium/auxiliary/util/u_threaded_context.c | 128 +++ >>> src/gallium/auxiliary/util/u_threaded_context.h | 2 +- >>> .../auxiliary/util/u_threaded_context_calls.h | 4 + >>> src/gallium/docs/source/context.rst | 20 + >>> src/gallium/docs/source/screen.rst | 2 + >>> src/gallium/drivers/ddebug/dd_context.c | 60 ++ >>> src/gallium/drivers/etnaviv/etnaviv_screen.c | 1 + >>> src/gallium/drivers/freedreno/freedreno_screen.c | 1 + >>> src/gallium/drivers/i915/i915_screen.c | 1 + >>> src/gallium/drivers/llvmpipe/lp_screen.c | 1 + >>> src/gallium/drivers/nouveau/nv30/nv30_screen.c | 1 + >>> src/gallium/drivers/nouveau/nv50/nv50_screen.c | 1 + >>> src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 1 + >>> src/gallium/drivers/r300/r300_screen.c | 1 + >>> src/gallium/drivers/r600/r600_pipe.c | 1 + >>> src/gallium/drivers/radeon/r600_pipe_common.h | 4 + >>> src/gallium/drivers/radeonsi/si_blit.c | 151 +++- >>> src/gallium/drivers/radeonsi/si_compute.c | 2 + >>> src/gallium/drivers/radeonsi/si_compute.h | 14 + >>> src/gallium/drivers/radeonsi/si_descriptors.c | 833 +++++++++++++++-- >>> src/gallium/drivers/radeonsi/si_hw_context.c | 1 + >>> src/gallium/drivers/radeonsi/si_pipe.c | 30 + >>> src/gallium/drivers/radeonsi/si_pipe.h | 62 ++ >>> src/gallium/drivers/radeonsi/si_shader.h | 12 + >>> src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c | 43 +- >>> src/gallium/drivers/radeonsi/si_state.c | 10 +- >>> src/gallium/drivers/radeonsi/si_state.h | 9 + >>> src/gallium/drivers/softpipe/sp_screen.c | 1 + >>> src/gallium/drivers/svga/svga_screen.c | 1 + >>> src/gallium/drivers/swr/swr_screen.cpp | 1 + >>> src/gallium/drivers/trace/tr_context.c | 112 +++ >>> src/gallium/drivers/vc4/vc4_screen.c | 1 + >>> src/gallium/drivers/virgl/virgl_screen.c | 1 + >>> src/gallium/include/pipe/p_context.h | 59 ++ >>> src/gallium/include/pipe/p_defines.h | 1 + >>> src/mapi/glapi/gen/ARB_bindless_texture.xml | 100 +++ >>> src/mapi/glapi/gen/Makefile.am | 1 + >>> src/mapi/glapi/gen/apiexec.py | 3 + >>> src/mapi/glapi/gen/gl_API.xml | 4 +- >>> src/mapi/glapi/gen/gl_genexec.py | 1 + >>> src/mesa/Makefile.sources | 2 + >>> src/mesa/main/api_loopback.c | 18 + >>> src/mesa/main/api_loopback.h | 6 + >>> src/mesa/main/bufferobj.c | 4 +- >>> src/mesa/main/context.c | 3 + >>> src/mesa/main/dd.h | 19 + >>> src/mesa/main/mtypes.h | 90 ++ >>> src/mesa/main/samplerobj.c | 39 +- >>> src/mesa/main/shared.c | 6 + >>> src/mesa/main/tests/dispatch_sanity.cpp | 18 + >>> src/mesa/main/teximage.c | 25 +- >>> src/mesa/main/texobj.c | 13 + >>> src/mesa/main/texparam.c | 38 + >>> src/mesa/main/texstate.c | 52 +- >>> src/mesa/main/texturebindless.c | 998 >>> +++++++++++++++++++++ >>> src/mesa/main/texturebindless.h | 100 +++ >>> src/mesa/main/uniform_query.cpp | 215 ++++- >>> src/mesa/main/uniforms.c | 119 ++- >>> src/mesa/main/uniforms.h | 16 + >>> src/mesa/main/varray.c | 23 + >>> src/mesa/main/varray.h | 3 + >>> src/mesa/main/vtxfmt.c | 4 + >>> src/mesa/program/ir_to_mesa.cpp | 36 +- >>> src/mesa/program/ir_to_mesa.h | 4 +- >>> src/mesa/program/program.c | 8 + >>> src/mesa/state_tracker/st_atom_constbuf.c | 6 + >>> src/mesa/state_tracker/st_atom_image.c | 33 +- >>> src/mesa/state_tracker/st_atom_sampler.c | 23 +- >>> src/mesa/state_tracker/st_atom_texture.c | 15 +- >>> src/mesa/state_tracker/st_cb_texture.c | 84 ++ >>> src/mesa/state_tracker/st_context.c | 2 + >>> src/mesa/state_tracker/st_context.h | 11 + >>> src/mesa/state_tracker/st_extensions.c | 1 + >>> src/mesa/state_tracker/st_glsl_to_nir.cpp | 3 +- >>> src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 132 ++- >>> src/mesa/state_tracker/st_shader_cache.c | 3 +- >>> src/mesa/state_tracker/st_texture.c | 212 +++++ >>> src/mesa/state_tracker/st_texture.h | 28 + >>> src/mesa/vbo/vbo_attrib_tmp.h | 28 + >>> src/mesa/vbo/vbo_context.h | 2 + >>> src/mesa/vbo/vbo_exec_api.c | 15 +- >>> src/mesa/vbo/vbo_save_api.c | 3 + >>> src/util/macros.h | 9 + >>> 94 files changed, 4228 insertions(+), 257 deletions(-) >>> create mode 100644 src/mapi/glapi/gen/ARB_bindless_texture.xml >>> create mode 100644 src/mesa/main/texturebindless.c >>> create mode 100644 src/mesa/main/texturebindless.h >>> >>> -- >>> 2.13.0 >>> >>> _______________________________________________ >>> mesa-dev mailing list >>> mesa-dev@lists.freedesktop.org >>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev