Mesa (master): 49 new commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Aug 25 15:20:32 UTC 2020
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3cda33360e7daada224b66eabbe0d497fcabf9af
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 20:01:38 2020 -0400
panfrost: Drop mali_shader_meta
Now completely replaced by XML versions.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3d7ce1341670285b849844abd4bc55122e79da82
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 19:59:22 2020 -0400
pan/decode: Use unpacks for state descriptor
This is a win in terms of line of decoder code, but it's a regression in
terms of verbosity. That will be fixed when we teach the decode
autogeneration about defaults and non-canonical fields.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b377c2e591db4cf641bf24977829075cc64cbc2
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 19:27:40 2020 -0400
panfrost: Use pack for fragment shaders
The heart of the series! Build up all the structures separately and
combine with an OPAQUE pack. Groups state naturally and eliminates the
memcpy. And a nice cleanup too.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c86b51a7fa7495a36de900410f53862cbd0dabcc
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 18:06:24 2020 -0400
panfrost: Use opaque pack for vertex shaders
Not much difference but eliminates a reference to shader_meta (and
avoids a memcpy but who cares).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=100b15cdc827feb5b9339502af9a3b10cc31a059
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 18:11:57 2020 -0400
panfrost: Add optional opaque packs to GenXML
These special OPAQUE packs use packed structs in the struct template,
instead of struct templates. The use case is packing nested structs
out-of-band, to fit into the CSO model.
A more conventional GenXML solution would be an overlapping uint, but
this breaks our assumptions about struct packing which are otherwise
correct, so this seemed less intrusive than risk disrupting the main
pack routines.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a7b2317d0a06c0c4c7f0fb2d7ab0c72f68ce6383
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 16:27:17 2020 -0400
panfrost: Use pack for Bifrost test state
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b3b2a6697900191ed86057373253c6bea9a83bc
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 16:22:10 2020 -0400
panfrost: Use pack for blit shaders
This is quite a bit cleaner, I think, and validates the XML in
preparation for moving over the main driver.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a36ac2b9b058228e3c0a4180536838924c504985
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 16:21:40 2020 -0400
panfrost: Inherit default values from structs
Nesting can be useful sometimes.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=754d54382952802b2c32b07add110d80c8261c94
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 15:54:10 2020 -0400
panfrost: XMLify the rest of shader_meta
This contains a bit of everything, so just XML for this commit. The rest
of the series will be slowly moving over to this representation.
The one noteworthy addition is the rename of "No MSAA" to
"Single-sampled lines". This came about due to a buggy branch that
forgot to set this bit. Ths worked, with the caveat of the following
tests failing with a single-sampled framebuffer:
dEQP-GLES2.functional.rasterization.interpolation.basic.line_loop_wide
dEQP-GLES2.functional.rasterization.interpolation.basic.line_strip_wide
dEQP-GLES2.functional.rasterization.interpolation.basic.lines_wide
dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop_wide
dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide
dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide
dEQP-GLES2.functional.rasterization.primitives.line_loop
dEQP-GLES2.functional.rasterization.primitives.line_loop_wide
dEQP-GLES2.functional.rasterization.primitives.line_strip
dEQP-GLES2.functional.rasterization.primitives.line_strip_wide
dEQP-GLES2.functional.rasterization.primitives.lines
dEQP-GLES2.functional.rasterization.primitives.lines_wide
That is, this bit controls the behaviour of line rasterization with
multisampling. This is required to implement the divergent behaviours
described in the OpenGL ES 3.2 specification sections 13.6.1 ("Basic
Line Segment Rasterization") and 13.6.4 ("Line Multisample
Rasterization"), where setting this bit corresponds to the former
(single-sampled) behaviour.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=80f1d611c5ddca6a719e0a470d3967a3d20ebcda
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 14:35:35 2020 -0400
panfrost: Use preuploaded shader descriptors
For non-fragment shaders, we can just use the preuploaded BO as-is and
do no packing/copying at draw-time. Fragment shaders are still a bit of
an edge case, in having rasterizer/zsa/blend state in the same
descriptor, but now we can specialize that path further for
fragment-only.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1e4c49e0b5db350528e9fbc730803338ad4995fb
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 14:16:18 2020 -0400
panfrost: Upload shader descriptors at CSO create
Now that we've fixed all the implicit state dependencies, these don't
change after the variant is created.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c14482cdf134a9dcae6807671106bbc54e5aadb
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 13:42:55 2020 -0400
panfrost: Allocate a state uploader
We'd like to uploader some descriptors at CSO time.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=da677a438f2a9e6c2412e9962b53068716001d9e
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Mon Aug 24 16:51:12 2020 -0400
panfrost: Ensure shader-db state is zero-initialized
Otherwise the next commit will invoke undefined behaviour.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0a6af9d7b73ee3bf32ba471406810dfc6cfd435
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 13:22:11 2020 -0400
panfrost: Simplify shaderless packing
Let's keep all the shader descriptor stuff together.
Note that the packing here can be constant folded entirely in any
reasonable compiler.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=55d9c25b5a9001b314c73921d7b21051c0c6505e
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 13:14:09 2020 -0400
panfrost: Prepack fragment properties/preload
This isn't as clean as vertex shaders, since some of this state is only
known at draw-time (e.g. some reasons we might disable early-Z). But we
can still pack as much as we can ahead-of-time and then OR together
what's left at draw-time.
Thank you to Kristian for this one crazy trick (blob developers hate
it! er...)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a29fb64c168b1659d28de495407d594d3200c5fe
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 12:34:24 2020 -0400
panfrost: Pack vertex properties when compiling
They only depend on shader properties so we can do all this work at CSO
create time, reducing draw-time overhead.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5393d734a85da28a7466ae840d205bbb172de4b9
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 10:42:59 2020 -0400
panfrost: Derive UBO count from shader_info
Rather than checking against the bound constant buffers. Like
with num_textures, this eliminates a dependency of the shader descriptor
on the context, which matters especially for vertex/compute shaders.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=661b46958d770a101462bb47840b485d6a183111
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 10:34:06 2020 -0400
panfrost: XMLify beginning of shader descriptor
We have just enough abstracted now to pack this ahead-of-time, during
the CSO create, instead of at draw-time. But it's only a start.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3bb61e21f8bf290773897778fbf391775ba706b9
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 10:03:15 2020 -0400
panfrost: Derive texture/sampler_count from shader
This avoids a dependency of the shader descriptor on the texture/sampler
state, which simplifies state management. It also fixes pandecode
warnings where textures/samplers are specified but not referenced.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d353b15beecd30dd0a4f162041afcd652bbc69a4
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 09:36:14 2020 -0400
panfrost: Quiet pandecode error
The smallest job descriptor is smaller than 256, and with the
tighter packing, pandecode can sometimes error nowadays.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a0857e9d9ebf01334a0aca731bb622cb445e670e
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 09:22:34 2020 -0400
panfrost: Support SHADERLESS mode everywhere
Now that the missing bits on SFBD are identified, and we have a
reasonable way to pack the properties for Bifrost, we can probably do
this everywhere to generalize the optimization and drop the quirk.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c9858fb941ce7e903f608e537b3657c946f86980
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 09:12:54 2020 -0400
panfrost: Identify additional SFBD flags
These are analogues to the flags we have in the blend structure on
T760+, which enables us to fix shaderless and sRGB operation on T720.
Closes #2771
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Fixes: a64599a303e ("panfrost: Pass the sampler view format when creating a tex descriptor")
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a95ed2ecf4883bb637dc865aeb28ff393480ecc
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Thu Aug 20 20:42:32 2020 -0400
panfrost: XMLify Bifrost preload
There's a lot of code here since the meaning of this field changes
depending on shader state. The good news is that our careful handling
allows preload registers to be decoded now, which pandecode could not
previously do. Likewise, the cmdstream code to emit this is now much
more obvious.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1574866233ad20958f96c76feec18346642ca9ab
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Thu Aug 20 19:31:00 2020 -0400
panfrost: Group SFBD code tighter
Allows us to drop the redundant check by reordering, and will match the
conventions we'll use once the whole structure is XMLified.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=518537d1c8c8958db97bc08bf28182cc9e43921b
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Thu Aug 20 16:46:04 2020 -0400
panfrost: Drop redundant NULL check
ctx->blend is already dereferenced by this point anyway.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=acf77cbb3980a9918b2dd476efbcacadeebc6a88
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Thu Aug 20 16:41:41 2020 -0400
panfrost: XMLify bifrost1
It's so poorly understood there's not much to do in this commit, sadly.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b7d4f1940ca1609c511902c33f49a3fa8069328
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Thu Aug 20 16:25:14 2020 -0400
panfrost: Remove midgard1 bitfield
It is now entirely XML, including for decoding. Woo!
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0268e8481e3793e8078723afd3b7dee89e6d8f09
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Thu Aug 20 15:57:59 2020 -0400
panfrost: Simplify bind_blend_state
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=96a9153036801249114b7a23716bda141240c341
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Thu Aug 20 15:52:32 2020 -0400
panfrost: Fold work_count packing for blend shaders
It's annoying this is needed at all, but that's life for you.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=41aad9aff9d72b5ea4228b58872407ea22d2dca9
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Thu Aug 20 08:11:04 2020 -0400
panfrost: Use pack for shaderless
We'll need a more aggressive refactor for this soon, I think.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=19ded1e1212b859c5af67613dc66ce10e2c74ee1
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Thu Aug 20 08:06:39 2020 -0400
panfrost: Use packs for fragment properties
A bit more complicated, since there are dependencies on other state (for
early-z and discard handling). We separate this cleanly to help defer
packing later.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d47541285965b4f255d1e8c686d38f6e4b96fd0e
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Wed Aug 19 16:40:22 2020 -0400
panfrost: Pack compute Midgard properties
Now that we have XML for it.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=87c59514e95fa8a7d066b1003fe22c3fdd1c04a4
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Wed Aug 19 16:32:26 2020 -0400
panfrost: XMLify Midgard properties
In a long journey to a full XML representation of mali_shader_meta,
let's start with the fourth word, containing some shader properties.
This is a translation from panfrost-job.h, with the exception of
widening the uniform buffer count field [1]
The other noteworthy change is combining the unknown 0x20 flag with the
WRITES_Z flag to form a 2-bit depth source. This papers over the fact
that the blob zeroes this field for non-fragment shaders. Given the
proximity, this is a reasonable guess and avoids an ugly "is_fragment"
bit.
[1] Justified by the increased limit advertised by the Vulkan blob
(maxDescriptorSetUniformBuffers on
https://vulkan.gpuinfo.org/displayreport.php?id=5602#limits). Not
actually supported in Panfrost right now.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=68503f3dd5c952aaf8bf8b007a0394d127642404
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Wed Aug 19 15:53:23 2020 -0400
panfrost: Group SFBD state together
By proximity with the other fields.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=58ae50f1b186212e58a426c34fbef8aafe7bf7e5
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Wed Aug 19 15:50:25 2020 -0400
panfrost: Clean up blend shader errata handling
The cases of SFBD blend shaders (which work normally) and MFBD blend
shaders (which need a bizarre errata workaround) are distinct. Let's
seperate them to make each a bit clearer.
Since this field is repurposed on Bifrost, this should fix bugs there
too (although blend shaders on Bifrost are currently todo).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8073e27d02b2263bc48a1bb1fd4b2eae3f03e8d6
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Wed Aug 19 10:34:05 2020 -0400
panfrost: Rename shader emit functions
Now they handle everything in one go, so there's no init to speak of.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a2df304edbe7976c5cd7c522e06dc66b8b08b6e
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Wed Aug 19 10:25:32 2020 -0400
panfrost: Specialize compute vs frag shader init
In exchange for a bit of code duplication, we can streamline both
routines. A huge amount of the descriptor is unused for non-fragment
shaders, and even some of the parts that are used appear to have varying
meanings. Given we want to emit the descriptors atomically, this seems
like a reasonable tradeoff.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f83217bc8c1561cb8e5d3941ebce9e9a61ee769
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Wed Aug 19 10:13:59 2020 -0400
panfrost: Bake the initial tag into the shader pointer
No need to do this at draw-time.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=606f05b9ab3c54acd1a7a0a6d8ad805e9d2bf7fc
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Wed Aug 19 09:52:02 2020 -0400
panfrost: Clamp shader->uniform_count
Rather than passing the clamp out-of-band to be done at draw-time, just
handle it together in pan_assemble.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e45142113c8fa12db8f8847f8dee22fff54b9c6d
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Wed Aug 19 09:48:40 2020 -0400
panfrost: Size UBO#0 accurately
We explicitly calculated its size as (sysvals + uniforms). We don't need
to check the shader metadata for that.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5689a5713520477b39502b68204ffc88501678d
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Wed Aug 19 09:27:42 2020 -0400
panfrost: Combine frag_shader_meta_init functions
In order to pack a given structure atomically, we need to group state
together. Since this all affects shader_meta, we'll move it closer
together in the code. This unfortunately creates a "monster" function,
but it's still less code and better organized overall.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf6d548787091cc31f80e8e2e1c0d6995cca5afc
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Tue Aug 18 18:15:45 2020 -0400
panfrost: XMLify blend equation
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6beac11868c3656d37e383238ec007d0bcead0fa
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Tue Aug 18 17:51:22 2020 -0400
panfrost: Honour load_dest/opaque flags
Let's split them out and work out the metadata at CSO time.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=919818a8a0056bbd539566e930563218e2e30fd9
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Tue Aug 18 17:50:39 2020 -0400
panfrost: Simplify make_fixed_blend_mode prototype
blend_rt is a bitfield so in practice it will be quite small, let's save
the indirection.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=94c9f87df1a56864db1e2e64038ca8f9dec1825f
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Tue Aug 18 17:06:01 2020 -0400
panfrost: XMLify blend flags
Shared between Midgard/Bifrost. We get printing this way!
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bbec4ff9464abc0e4eb8f496d0bb473e5307af43
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Tue Aug 18 16:50:38 2020 -0400
panfrost: Separate shader/blend descriptor emits
They are different logic data structures, so let's not introduce a false
dependency.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cfef6de429d40785a306ef2a2db7092c4ce0388a
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Tue Aug 18 16:43:38 2020 -0400
panfrost: Hoist blend finalize calls
To prepare for a split.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6fd62215fabf55688ec84d29efb102d8dc2be5a9
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 20:22:33 2020 -0400
panfrost: Decode nested structs correctly
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Fixes: 75cc5b8c292 ("panfrost: Adopt gen_pack_header.py via v3d")
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aac5a559cc281f0a375cdf81d4b1441d165ee6f4
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Fri Aug 21 09:31:43 2020 -0400
pan/decode: Drop legacy 32-bit job support
We already dropped support for this a long time ago, this is a vestigial
artefact that we missed.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6440>
More information about the mesa-commit
mailing list