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

Jason Ekstrand jason at jlekstrand.net
Wed Jul 22 14:46:15 PDT 2015

*whew*, I've made it through the entire series...

On Tue, Jul 21, 2015 at 9:38 AM, Francisco Jerez <currojerez at riseup.net> wrote:
> 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.

The above are all

Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

> [PATCH 07/20] i965/fs: Import image memory offset calculation code.

As I said in the e-mail, this needs a *lot* more comments.  I'll
re-try the review once you've actually explained what it's doing.

> [PATCH 08/20] i965/fs: Import image format metadata queries.

Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

> [PATCH 09/20] i965/fs: Import image format conversion primitives.

I had some minor concerns here.

> [PATCH 10/20] i965/fs: Implement image load, store and atomic.

This looks pretty good.  However, I had some concerns about things
getting out-of-sync with state setup that I'd like to see addressed.

> [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.

Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

> [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.

I'm not particularly familiar with how mesa's uniform setup works.  Ken?

> [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.

Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

> [PATCH 17/20] i965/fs: Handle image uniforms in NIR programs.

Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

> [PATCH 18/20] i965/fs: Translate image load, store and atomic NIR intrinsics.

I had some comments on this one regarding encapsulation that I'd like
to see addressed.

> [PATCH 19/20] i965/fs: Translate memory barrier NIR intrinsics.

Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

> [PATCH 20/20] i965: Expose ARB_shader_image_load_store.

I'm going to wait until the rest of it is reviewed to add mine to that
little patch. :-)

> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

More information about the mesa-dev mailing list