James Jones [Fri, 23 Apr 2021 19:46:25 +0000 (12:46 -0700)]
gbm: Rename backend description list to builtin_backends
This just makes it clearer the array isn't a global
list of all backends in use.
Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902>
James Jones [Thu, 24 Jun 2021 21:03:38 +0000 (14:03 -0700)]
gbm: Add backend ABI-check test
This is based on the wayland EGL library ABI test
framework. The helper macros were copied from
there and expanded to support more than one
struct/type, and to additionally check member
type compatibility by default.
Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902>
James Jones [Thu, 17 Oct 2019 05:16:53 +0000 (22:16 -0700)]
gbm: Version the GBM backend interface
Define a version number for the interface GBM uses
to offload work to its backends/drivers. Store the
version in the backend interface structs provided
to the loader by backends, as well as in the core
interface struct provided to backends by the GBM
loader code to backends.
The backend can create structures of any version
it supports, which can be greater or less than the
interface version specified by GBM in the core
interface structure. Hence, GBM will need to take
care to check the backend version before accessing
any members added to structs defined in
gbm_backend_abi.h after this change.
Similarly, the backend may need to check the
interface version supported by the GBM library
before passing back data in any structure members
that require the GBM library to interact with
them for correct operation. For example, if for
some reason a structure defined in
gbm_backend_abi.h gained a field which was a
pointer to memory allocated by the backend and
freed by GBM, the backend should avoid allocating
this memory if the GBM library did not specify an
interface version new enough to indicate that it
was aware of the new structure member.
Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902>
James Jones [Thu, 3 Jun 2021 22:36:10 +0000 (15:36 -0700)]
gbm: Move majority of gbmint.h to gbm_backend_abi.h
The content of gbm_backend_abi.h are nearly an
identical copy of the old gbmint.h. Only minimal
modifications have been made to ease history
tracking. Subsequent changes will further
formalize the ABI structures in gbm_backend_abi.h
Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902>
James Jones [Thu, 3 Jun 2021 22:24:43 +0000 (15:24 -0700)]
gbm: Add gbm_core struct to export code to backends
The GBM core/loader code defines one helper
function used by both itself and the built-in DRI
backend. Presumably, external backend authors
would want to use such functions as well, so
package them into a single struct that will be
passed explicitly to externally loaded backends in
subsequent changes.
Another option considered was to simply export
the gbm_format_canonicalize() function directly,
optionally renaming it to better indicate it is
intended only for "internal" use first. However,
even with a rename, this would expose it to
potential use by applications as well, which is
not ideal, as it is not intended to be part of
the application-facing GBM ABI.
Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902>
James Jones [Sat, 14 Dec 2019 00:32:57 +0000 (16:32 -0800)]
gbm: Give gbm_device a reference to its backend
This will be used for looking up the backend
again at destruction time to perform any backend-
agnostic cleanup. To facilitate that, also
dispatch device destruction to the backend manager
code.
Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902>
James Jones [Thu, 3 Jun 2021 21:20:03 +0000 (14:20 -0700)]
gbm: Give getenv backend override its own function
Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902>
James Jones [Sat, 14 Dec 2019 00:20:02 +0000 (16:20 -0800)]
gbm: Consolidate env var and default backend loops
Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902>
James Jones [Sat, 14 Dec 2019 00:14:41 +0000 (16:14 -0800)]
gbm: Create device directly in find_backend
Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902>
James Jones [Fri, 13 Dec 2019 23:54:53 +0000 (15:54 -0800)]
gbm: Inline load_backend function content
It was a functional no-op with the currently
available backends (Only DRI), and its implied
intended functionality is implemented elsewhere
in subsequent patches.
Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902>
James Jones [Wed, 2 Jun 2021 00:35:27 +0000 (17:35 -0700)]
gbm: Remove stat and refcount fields from gbm_device
These were unused.
Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9902>
Mike Blumenkrantz [Mon, 5 Jul 2021 14:28:13 +0000 (10:28 -0400)]
util/vbuf: check 3-component 16bit int formats for translation
some drivers don't support these
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11716>
Mike Blumenkrantz [Mon, 5 Jul 2021 22:01:16 +0000 (18:01 -0400)]
lavapipe: handle null vertex buffers more gracefully
this should propagate down to be handled correctly in llvmpipe
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11723>
luc [Mon, 21 Jun 2021 23:41:44 +0000 (07:41 +0800)]
panfrost: Only clear existing color buffers
in case that only one cbuf allocated but all clear bits set,
the driver will crash due to null pointer dereference.
Signed-off-by: luc <onion0709@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11515>
Icecream95 [Thu, 17 Jun 2021 11:26:28 +0000 (23:26 +1200)]
Revert "panfrost: Fix crc_valid condition"
This "fix" is no longer needed now we write CRC data correctly for
partial writes.
This reverts commit
a78487f795e81c8fc27c2d1054f58dd35eda8c3a.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11446>
Icecream95 [Thu, 17 Jun 2021 11:31:20 +0000 (23:31 +1200)]
panfrost: Set bound dimensions to framebuffer size
Otherwise CRC calculation will miss the pixels outside the extent
bounds but still in a tile that is rendered.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11446>
Dave Airlie [Tue, 6 Jul 2021 04:07:15 +0000 (14:07 +1000)]
ac: fix win32 build
Fixes:
e2e9dd44f422 ("ac/surface: Handle non-retiled displayable DCC correctly for modifiers.")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11725>
Alyssa Rosenzweig [Tue, 6 Jul 2021 03:17:33 +0000 (23:17 -0400)]
asahi: Use XML for interpolation packet
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Tue, 6 Jul 2021 01:53:09 +0000 (21:53 -0400)]
asahi: Enable primitive restart
Passes dEQP-GLES3.functional.primitive_restart.* except for a flake.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Tue, 6 Jul 2021 00:14:58 +0000 (20:14 -0400)]
asahi: Set data_valid for the depth buffer
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Tue, 6 Jul 2021 00:14:22 +0000 (20:14 -0400)]
asahi: Identify attachment length field
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Mon, 5 Jul 2021 23:56:22 +0000 (19:56 -0400)]
asahi: Use GenXML for main bind fragment
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Mon, 5 Jul 2021 23:50:13 +0000 (19:50 -0400)]
asahi: Extend IOGPU header to contain encoder
Let's squash together all the resulting zeroes. Trying to discern some structure out of this.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Mon, 5 Jul 2021 23:45:41 +0000 (19:45 -0400)]
asahi: Move IOGPU header to XML
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Mon, 5 Jul 2021 23:38:47 +0000 (19:38 -0400)]
asahi: Identify "command buffer" size field in map
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Mon, 5 Jul 2021 23:37:15 +0000 (19:37 -0400)]
asahi: Parametrize software "command buffer" size
Will vary depending on # of attachments.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Mon, 5 Jul 2021 23:27:45 +0000 (19:27 -0400)]
asahi: Sync attachment magic with asahi demo
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Mon, 5 Jul 2021 23:26:20 +0000 (19:26 -0400)]
asahi: Add XML for the attachment structure
We need a lot more control over these magic structures to get Z/S attachments working correctly. This is an early start.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Mon, 5 Jul 2021 21:32:34 +0000 (17:32 -0400)]
asahi: Skip over holes in the vbufs
Fixes dEQP-GLES2.functional.vertex_arrays.multiple_attributes.stride.3_float2_17_float2_17_float2_0
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Mon, 5 Jul 2021 21:01:44 +0000 (17:01 -0400)]
asahi: Comment on an embedded data structure
This file makes me sad :'(
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Mon, 5 Jul 2021 20:48:20 +0000 (16:48 -0400)]
asahi: Flush for accesses to Z/S buffer
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Mon, 5 Jul 2021 20:01:13 +0000 (16:01 -0400)]
asahi: Implement the stencil test
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Mon, 5 Jul 2021 20:00:45 +0000 (16:00 -0400)]
asahi: Prepack rasterizer faces
A bit more efficient and will allow easy implementation of the stencil test.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Alyssa Rosenzweig [Tue, 6 Jul 2021 13:41:15 +0000 (09:41 -0400)]
asahi: Fix meson dependency on packing in compiler
Closes: #5030
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Fixes:
6a657b17b9b ("agx: Remap fragment shader varyings explicitly")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11730>
Mike Blumenkrantz [Wed, 30 Jun 2021 14:01:58 +0000 (10:01 -0400)]
radv: implement VK_EXT_multi_draw
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11532>
Mike Blumenkrantz [Wed, 19 May 2021 14:32:29 +0000 (10:32 -0400)]
radv: add a gfx10 bug workaround for NOT_EOP
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11532>
Mike Blumenkrantz [Wed, 19 May 2021 14:25:11 +0000 (10:25 -0400)]
radv: split indexed draw cases based on whether drawid is used
fewer conditionals in the draw loop = less overhead
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11532>
Mike Blumenkrantz [Tue, 22 Jun 2021 17:05:17 +0000 (13:05 -0400)]
radv: determine if hardware can emit NOT_EOP before emitting
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11532>
Mike Blumenkrantz [Wed, 27 Jan 2021 22:33:15 +0000 (17:33 -0500)]
radv: emit drawid for multidraws
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11532>
Mike Blumenkrantz [Tue, 30 Mar 2021 20:17:09 +0000 (16:17 -0400)]
radv: emit NOT_EOP for multi indexed draws
this is never emitted currently because drawCount is always 1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11532>
Mike Blumenkrantz [Tue, 30 Mar 2021 20:24:01 +0000 (16:24 -0400)]
radv: use multidraw iteration for direct draws
there's still no arrays of draw info being passed, but this takes care of
all the work for it
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11532>
Rhys Perry [Tue, 29 Jun 2021 17:54:45 +0000 (18:54 +0100)]
radv: use null vertex descriptor if num_records=0
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11642>
Rhys Perry [Tue, 29 Jun 2021 15:30:00 +0000 (16:30 +0100)]
radv: adjust num_records when offset>stride
If an attribute's offset is larger than the stride, the compiler will
increase the vertex index and use offset%stride instead as the offset.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5007
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11642>
Rhys Perry [Tue, 29 Jun 2021 15:18:55 +0000 (16:18 +0100)]
radv: don't ever convert num_records to bytes if it's zero
If num_records==0, this conversion doesn't work. We should just keep it at
zero.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5007
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11642>
Dave Airlie [Mon, 5 Jul 2021 07:13:48 +0000 (17:13 +1000)]
crocus: enable threaded context support
Reviewed-by: Zoltán Böszörményi <zboszor@pr.hu>
Tested-by: Matti Hämäläinen <ccr@tnsp.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11710>
Dave Airlie [Mon, 5 Jul 2021 05:59:42 +0000 (15:59 +1000)]
crocus: add unsync transfer pool
Reviewed-by: Zoltán Böszörményi <zboszor@pr.hu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11710>
Dave Airlie [Mon, 5 Jul 2021 05:50:08 +0000 (15:50 +1000)]
crocus/tc: init/deinit threaded resource
Reviewed-by: Zoltán Böszörményi <zboszor@pr.hu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11710>
Dave Airlie [Mon, 5 Jul 2021 05:46:54 +0000 (15:46 +1000)]
crocus: use threaded context base classes
should be a pretty non-functional change
Reviewed-by: Zoltán Böszörményi <zboszor@pr.hu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11710>
Dave Airlie [Tue, 6 Jul 2021 03:21:58 +0000 (13:21 +1000)]
crocus: support rebinding streamout target buffers
Reviewed-by: Zoltán Böszörményi <zboszor@pr.hu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11710>
Bas Nieuwenhuizen [Sun, 2 May 2021 01:51:29 +0000 (03:51 +0200)]
ac/surface: Handle non-retiled displayable DCC correctly for modifiers.
There is some hardware with num_render_backends == 1, but the number
of render backends in GB_ADDR_CFG > 1. Turns out this can be turned
off by making them rb unaligned which is valid with only 1 render
backend.
Fixes:
0833dd7d124 ("amd/common: Add support for modifiers.")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10575>
Mike Blumenkrantz [Mon, 5 Jul 2021 22:25:33 +0000 (18:25 -0400)]
features: mark off EXT_vertex_input_dynamic_state for lavapipe
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11724>
Mike Blumenkrantz [Mon, 5 Jul 2021 21:51:15 +0000 (17:51 -0400)]
features: add VK_EXT_multi_draw
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11722>
Mike Blumenkrantz [Mon, 5 Jul 2021 21:44:03 +0000 (17:44 -0400)]
features: fix ARB_shader_group_vote -> GL_ARB_shader_group_vote
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11721>
Mike Blumenkrantz [Mon, 5 Jul 2021 21:43:53 +0000 (17:43 -0400)]
features: mark off some zink features
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11720>
Mike Blumenkrantz [Mon, 5 Jul 2021 21:29:04 +0000 (17:29 -0400)]
features: mark off line rasterization for lavapipe
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11719>
Mike Blumenkrantz [Mon, 5 Jul 2021 15:22:35 +0000 (11:22 -0400)]
relnotes: add some line feature updates for lavapipe
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11715>
Alyssa Rosenzweig [Mon, 5 Jul 2021 17:01:33 +0000 (13:01 -0400)]
asahi: Handle nonzero first_level
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Mon, 5 Jul 2021 16:57:44 +0000 (12:57 -0400)]
asahi: Wire in u_blitter
Fixes dEQP-GLES3.functional.fbo.color.repeated_clear.blit.tex2d.rgba8
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Mon, 5 Jul 2021 16:56:23 +0000 (12:56 -0400)]
asahi: Track more Gallium state
Needed to feed u_blitter.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Mon, 5 Jul 2021 16:23:09 +0000 (12:23 -0400)]
asahi: Set vertex texture/sampler counts
Fixes
dEQP-GLES2.functional.shaders.texture_functions.vertex.texture2d
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Mon, 5 Jul 2021 16:21:06 +0000 (12:21 -0400)]
asahi: Identify vertex texture/sampler counts
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Mon, 5 Jul 2021 16:09:05 +0000 (12:09 -0400)]
asahi: Identify texture/sampler count fields
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Mon, 5 Jul 2021 16:00:55 +0000 (12:00 -0400)]
asahi: Fail on LOD clamps/bias
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Mon, 5 Jul 2021 03:27:01 +0000 (23:27 -0400)]
agx: Handle txl
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Mon, 5 Jul 2021 03:26:07 +0000 (23:26 -0400)]
agx: Legalize LOD sources to be 16-bit only
I'm not convinced this is /right/ but it's a step.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Mon, 5 Jul 2021 03:25:36 +0000 (23:25 -0400)]
agx: Fix lod_mode shift
Was zero before so didn't notice the bug.
Fixes:
9f555388342 ("agx: Pack texture ops")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Mon, 5 Jul 2021 03:24:52 +0000 (23:24 -0400)]
agx: Pack LOD descriptors
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Mon, 5 Jul 2021 03:24:37 +0000 (23:24 -0400)]
agx: Fix LOD_MIN enum
Fixes:
2470a080d29 ("agx: Stub NIR backend compiler")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 4 Jul 2021 22:44:34 +0000 (18:44 -0400)]
agx: Fix 32-bit bitwise shifts
Fixes dEQP-GLES2.functional.shaders.functions.qualifiers.const_int_fragment
Fixes:
e50bae00f48 ("agx: Add 32-bit bitwise shifts")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 4 Jul 2021 22:33:26 +0000 (18:33 -0400)]
asahi: Add ASAHI_MESA_DEBUG=no16 option
A lot of dEQP failures go away with 32-bit forced...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 4 Jul 2021 22:25:36 +0000 (18:25 -0400)]
asahi: Generalize varying linking
Handles matrices now. Fixes
dEQP-GLES2.functional.shaders.matrix.add.dynamic_mediump_mat4_float_fragment
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 4 Jul 2021 22:10:33 +0000 (18:10 -0400)]
asahi: Remove spurious varying assignment
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 4 Jul 2021 20:24:24 +0000 (16:24 -0400)]
asahi: Remove spurious assignment
Doesn't seem necessary.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sat, 26 Jun 2021 16:05:52 +0000 (12:05 -0400)]
asahi: Implement colour buffer reloads
Gets glmark2 -bdesktop working.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 4 Jul 2021 20:20:58 +0000 (16:20 -0400)]
asahi: Set fragment key for non-U8NORM render targets
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 4 Jul 2021 20:20:36 +0000 (16:20 -0400)]
asahi: Add internal (renderable) formats to the table
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sat, 26 Jun 2021 19:23:34 +0000 (15:23 -0400)]
asahi: Save zsbuf ptr
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sat, 26 Jun 2021 19:23:17 +0000 (15:23 -0400)]
asahi: Add zsbuf to batch
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sat, 26 Jun 2021 19:23:03 +0000 (15:23 -0400)]
asahi: Handle Z16_UNORM textures
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sat, 26 Jun 2021 18:05:02 +0000 (14:05 -0400)]
asahi: Always flush when setting framebuffer state
We don't have batch tracking yet.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sat, 26 Jun 2021 16:05:21 +0000 (12:05 -0400)]
asahi: Guard for overflow when packing
I'm not convinced this is right.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Tue, 22 Jun 2021 02:10:27 +0000 (22:10 -0400)]
asahi: Fix random *2
Accidentally committed at some point.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 13 Jun 2021 15:28:59 +0000 (11:28 -0400)]
asahi: Wire in tgsi_to_nir
Gets GALLIUM_HUD working.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sat, 26 Jun 2021 15:10:37 +0000 (11:10 -0400)]
agx: Track logical control flow graph
Logic lifted from the Bifrost compiler, which was a copypaste of the Midgard
compiler, which was based on a faulty understanding of the v3d compiler,
which...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 23 May 2021 18:25:25 +0000 (14:25 -0400)]
agx: Lift agx_block_add_successor from Panfrost
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sat, 19 Jun 2021 18:33:12 +0000 (14:33 -0400)]
agx: Count write registers, not components
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sat, 19 Jun 2021 17:56:28 +0000 (13:56 -0400)]
agx: Mark sources that kill
Trivially computed during liveness analysis (already a byproduct!) and required
for efficient register allocation.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sat, 19 Jun 2021 17:48:03 +0000 (13:48 -0400)]
agx: Add liveness analysis pass
Based on the Panfrost one, scalarized and with some silly things fixed.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sat, 19 Jun 2021 17:47:52 +0000 (13:47 -0400)]
agx: Add agx_exit_block helper
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sat, 19 Jun 2021 17:23:25 +0000 (13:23 -0400)]
agx: Pull out agx_write_components
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 13 Jun 2021 00:57:36 +0000 (20:57 -0400)]
asahi: Unify varying linking code with vertex shaders
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 13 Jun 2021 00:47:45 +0000 (20:47 -0400)]
agx: Remap fragment shader varyings explicitly
Needed to handle fragcoord.z correctly, for example. Step 1, at least.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 13 Jun 2021 00:46:51 +0000 (20:46 -0400)]
agx: Rename agx_pack to agx_pack_binary
Conflicts with GenXML.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 6 Jun 2021 18:05:20 +0000 (14:05 -0400)]
agx: Implement ld_vary_flat
Not clear what any of this is for but let's be nice and match the blob.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 6 Jun 2021 18:03:54 +0000 (14:03 -0400)]
agx: Implement nir_intrinsic_load_frag_coord
Depends on matching ABI.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 6 Jun 2021 17:28:02 +0000 (13:28 -0400)]
agx: Rename remap_varyings -> remap_varyings_vs
Want to do the same for fragment shaders.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 6 Jun 2021 17:22:50 +0000 (13:22 -0400)]
asahi: Identify varying descriptor fields
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 16 May 2021 18:14:49 +0000 (14:14 -0400)]
agx: Add ld_vary_flat opcode
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sun, 16 May 2021 18:13:04 +0000 (14:13 -0400)]
agx: Update ld_vary encoding mask
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>
Alyssa Rosenzweig [Sat, 5 Jun 2021 20:20:11 +0000 (16:20 -0400)]
agx: Add perspective bit to ld_var
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11718>