[Mesa-dev] i965 implementation of the ARB_shader_image_load_store built-ins. (v4)

Francisco Jerez currojerez at riseup.net
Tue Jul 21 09:38:35 PDT 2015

Another resend of the i965 compiler-related changes for
ARB_shader_image_load_store, reworked to make use of the SIMD lowering
infrastructure introduced in a previous series [1].  For a
self-contained branch in testable form see [2].

[1] http://lists.freedesktop.org/archives/mesa-dev/2015-July/089009.html
[2] http://cgit.freedesktop.org/~currojerez/mesa/log/?h=image-load-store-lower

[PATCH 01/20] i965/fs: Define logical typed and untyped surface opcodes.
[PATCH 02/20] i965/fs: Hook up SIMD lowering to unroll surface instructions of unsupported width.
[PATCH 03/20] i965/fs: Implement lowering of logical surface instructions.
[PATCH 04/20] i965/fs: Handle zero-size allocations in fs_builder::vgrf().
[PATCH 05/20] i965/fs: Import surface message builder helper functions.
[PATCH 06/20] i965/fs: Import image access validity checks.
[PATCH 07/20] i965/fs: Import image memory offset calculation code.
[PATCH 08/20] i965/fs: Import image format metadata queries.
[PATCH 09/20] i965/fs: Import image format conversion primitives.
[PATCH 10/20] i965/fs: Implement image load, store and atomic.
[PATCH 11/20] i965/fs: Revisit NIR atomic counter intrinsic translation.
[PATCH 12/20] i965/fs: Drop unused untyped surface read and atomic emit methods.
[PATCH 13/20] i965: Teach type_size() about the size of an image uniform.
[PATCH 14/20] i965: Implement logic to set up and upload an image uniform.
[PATCH 15/20] i965/fs: Don't overwrite fs_visitor::uniforms and ::param_size during the SIMD16 run.
[PATCH 16/20] i965/fs: Execute nir_setup_uniforms, _inputs and _outputs unconditionally.
[PATCH 17/20] i965/fs: Handle image uniforms in NIR programs.
[PATCH 18/20] i965/fs: Translate image load, store and atomic NIR intrinsics.
[PATCH 19/20] i965/fs: Translate memory barrier NIR intrinsics.
[PATCH 20/20] i965: Expose ARB_shader_image_load_store.

More information about the mesa-dev mailing list