Mesa (master): 24 new commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Sep 3 18:18:50 UTC 2020
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=21fbffc5425e7ee2912285737ef68398bb156732
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Fri Aug 28 15:42:45 2020 -0500
anv: Set alignments on UBO/SSBO root derefs
This doesn't really do anything for us today. One day, I suppose we
could use it to do something with wide loads with non-uniform offsets.
The big reason to do this is to get better testing to make sure that NIR
doesn't blow up on the deref paths.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c7dec0548af8374328fe459d25838d50790e629e
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Thu Aug 27 16:00:26 2020 -0500
spirv: Drop the OpenCL type layout code
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=796d3fe9e0f628fd57a68dc0448ba1a182ca5725
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Thu Aug 27 15:56:38 2020 -0500
clover/nir: Use lower_vars_to_explicit for uniform and global
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1ed5a12c5161cbd06d7a4a4897432a0f7690ffa
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Mon Aug 31 20:09:42 2020 -0500
spirv: Stop counting inputs in entry_point_wrapper
nir_shader::num_inputs isn't supposed to be a count of how many input
variables we have. It's a size of the lowered input space.
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8bea5aaa149a349af55552f47dc248a327ea7929
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Tue Sep 1 10:30:17 2020 -0500
clover: Use args.size() to compute new var locations
This is better than using num_uniforms as it guarantees what we want: a
mapping from nir_variable to the args vector.
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9641f483e94a18e5eba5f6d251aa75af8660454e
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Thu Aug 27 16:00:00 2020 -0500
nir: Allow uniform in nir_lower_vars_to_explicit_types
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3719b69dfc496cdacfe857e1a42984c435eb8a6c
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Thu Aug 27 16:12:57 2020 -0500
nir: Allow var_mem_global in nir_lower_vars_to_explicit_types
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3135984ad0bde072b25e1641e2a9e154fb62a087
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Thu Aug 27 18:34:50 2020 -0500
spirv: Propagate alignments to deref chains via casts
This commit propagates the alignment information provided either through
the Alignment decoration on pointers or via the alignment mem operands
to OpLoad, OpStore, and OpCopyMemory to the NIR deref chain. It does so
by wrapping the deref in a cast. NIR should be able to clean up most
unnecessary casts only leaving us with the useful alignment information.
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=207b462e9326b4e7aab8e3c4aead7ca23147e527
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Thu Aug 27 18:33:50 2020 -0500
spirv: Add pointer helper vars to OpCopyMemory
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e7fbec0e090be3e796f7a38819fb99bbc1744787
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Mon Aug 24 11:27:31 2020 -0500
nir/opt_deref: Remove restrictive alignment information from casts
If we have a cast deref with alignment information and we can get equal
or better alignment information from something further up the deref
chain, we can strip the alignment information from the cast and allow
other optimizations to potentially eliminate the cast.
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=99bb2a4de66fa662fb4bcb29df8e2749972ee986
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Mon Aug 24 11:26:18 2020 -0500
nir/opt_deref: Don't remove casts with alignment information
Generally, if a cast has alignment information, that information is
useful and we don't want to loose it.
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=beefd37021edd707274625def137bed0df6fb65f
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Mon Aug 24 10:57:57 2020 -0500
nir/lower_io: Apply alignments from derefs when available
If the deref has no explicit alignment in the chain, we assume component
alignment which is what we currently assume for all derefs today. This
should be correct for all APIs in the sense that we can usually assume
at least component alignment. However, for some APIs such as OpenCL, we
could potentially make larger alignment assumptions. The intention is
that those will be handled via alignment-increasing casts.
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=480329cf8b319983ee96f2b57bd2648be19e5570
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Mon Aug 24 10:48:51 2020 -0500
nir: Add a helper for getting the alignment of a deref
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0654a9e82307b854824fc1092a8b79632a2703c0
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Thu Aug 27 11:59:54 2020 -0500
nir: Handle all array stride cases in nir_deref_instr_array_stride
This renames it to drop the ptr_as and makes it handle all of the stride
cases. There's a bit of a tricky bit in here around Booleans but we
currently use 32-bit for those always.
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=878a8daca6bfc856308dda7d265964d93feb05ae
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Mon Aug 24 09:51:04 2020 -0500
nir: Add alignment information to cast derefs
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a0b82c24b6d08cc3f07b4ddad16c7e1b986ad983
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Sat Aug 29 18:01:46 2020 -0500
nir/glsl: Add an explicit_alignment field to glsl_type
When creating explicit type, the alignment information is lost, thus
forcing explicit type users to recalculate the alignment using the same
size_align() function. Let's add a new field to cache this information.
Only structs, matrices, and vectors have and explicit alignment. Arrays
alignment is implicitly set to its element alignment and matrices are
required to have an alignment that matches that of its vector columns.
the concept of alignment simply doesn't apply to other types.
We make the strategic choice to not allow explicit alignments on
scalars. This is for a couple of reasons:
1. There are no cases today where we use explicit types where we want
any other alignment for scalars than natural alignment.
2. Vectors don't have a component alignment that's separate from the
explicit_alignment so it's impossible to get an explicitly aligned
scalar type which is the component of the explicitly aligned vector
type.
This choice may cause problems if we ever want to use explicitly laid
out types for things like varyings where we sometimes want vec4
alignment of scalars. We can deal with that when the time comes.
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca11b17b7b796db7077ed166ba2e33e77ec7088c
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Tue Sep 1 16:24:19 2020 -0500
compiler/types: Make booleans 32-bit for cl_size/align
OpenCL doesn't mandate a size and this is consistent with the rest of
the glsl_type system. While we're here, we also clean ::cl_size() up a
bit and use a new explicit_type_scalar_byte_size() helper.
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3be890a3a6844292177b5524bd94b6c88fb5fb6e
Author: Boris Brezillon <boris.brezillon at collabora.com>
Date: Mon Jun 29 09:29:09 2020 +0200
nir: Expose the packed attribute attached to glsl_type objects
This should help code calculating field offsets to get it right when
the structure is marked packed.
Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=42f97f8ce3a9c119ccf960c5cad399f18114e924
Author: Boris Brezillon <boris.brezillon at collabora.com>
Date: Tue Jun 30 12:03:00 2020 +0200
nir/glsl: Consider block interfaces as structs when it comes to size/align calculation
Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=be68de81abb3cf2d6944c4c5273c453a61437208
Author: Boris Brezillon <boris.brezillon at collabora.com>
Date: Fri Jun 26 10:27:16 2020 +0200
glsl: Propagate packed info in get_explicit_type_for_size_align()
Right now, when calling get_explicit_type_for_size_align() on a packed
struct, the packed attribute is lost and field offsets are wrong.
Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0c2958f882a9644d98d61c49f3b8a842ea2c48f
Author: Boris Brezillon <boris.brezillon at collabora.com>
Date: Tue Jun 23 12:51:49 2020 +0200
spirv: Propagate packed information to glsl_type
We need to parse the CPacked decoration early enough to apply it when
calculating field offsets and creating the struct type.
Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=938d6ceb8300b194a7cbaf640e2c899cbecc6c5a
Author: Boris Brezillon <boris.brezillon at collabora.com>
Date: Tue Jun 23 12:49:23 2020 +0200
spirv: Don't accept CPacked decoration on struct members
CPacked decoration is only allowed on struct definitions, not struct
members.
Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bcfeead5f31d29ae6ba3e78ce5186c0481d235b5
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Wed Sep 2 17:43:07 2020 -0500
clover: Call nir_lower_mem_constant_vars
Fixes: 26a4c8f375e "clover/nir: Use nir_var_mem_constant for..."
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9414cbc13c964b567a15637eaa7dc32899391594
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Wed Sep 2 17:38:23 2020 -0500
nir: Don't bail too early in lower_mem_constant_vars
If there were no constant variables, we would bail out entirely.
However, we may still have constant input pointers coming in from the
client.
Fixes: 4360a8a2b3fce "nir/lower_io: Add support for nir_var_mem_constant"
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6472>
More information about the mesa-commit
mailing list