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. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev