URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=08f0d96b7208925d857594ba32c4d2846aba28fe
Author: Connor Abbott <[email protected]>
Date: Mon Oct 10 20:23:04 2022 +0200
tu: VK_EXT_extended_dynamic_state3 is finished
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=85d0205db137ad833bb2b117e67e847cf3b2665b
Author: Connor Abbott <[email protected]>
Date: Fri Sep 30 18:42:14 2022 +0200
tu: Implement extendedDynamicState3ColorWriteMask
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6f759c74a20eeb5a9dc0ada3be5b70b92d5f02cf
Author: Connor Abbott <[email protected]>
Date: Fri Sep 30 18:19:18 2022 +0200
tu: Implement extendedDynamicState3ColorBlendEquation
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=536ff112388950cf9e729a0e3ae3d8c9bdd563a2
Author: Connor Abbott <[email protected]>
Date: Wed Oct 5 18:42:52 2022 +0200
tu: Make tu_pipeline::dynamic_state_mask 64-bit
We're running out.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=aab81d660af063aa7fbf22399a9897be9ab78652
Author: Connor Abbott <[email protected]>
Date: Wed Oct 5 18:27:02 2022 +0200
freedreno: Make BIT() 64-bit
In turnip we were using this a lot with the dynamic state enum, and
we're running out of space there because we're needing to add more and
more dynamic states that don't correspond to draw states. Make it
64-bit-safe so we don't need to rewrite everything in turnip. In the
case where the thing being operated on is 32-bit the compiler can
usually optimize it away, as can be seen with the release build size
before and after:
before:
text data bss dec hex filename
5404913 293592 22744 5721249 574ca1
/home/cwabbott/build/mesa-release/lib64/libvulkan_freedreno.so
text data bss dec hex filename
13981320 498550 205000 14684870 e012c6
/home/cwabbott/build/mesa-release/lib64/dri/msm_dri.so
after:
text data bss dec hex filename
5404969 293592 22744 5721305 574cd9
/home/cwabbott/build/mesa-release/lib64/libvulkan_freedreno.so
text data bss dec hex filename
13981320 498550 205000 14684870 e012c6
/home/cwabbott/build/mesa-release/lib64/dri/msm_dri.so
In the end the only changes is an additional ~50 bytes of text in
turnip.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c8c7154c2ecb6d8439cc941985bded3759b8334b
Author: Connor Abbott <[email protected]>
Date: Fri Sep 30 17:41:49 2022 +0200
tu: Implement extendedDynamicState3ColorBlendEnable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f3b3af34685c714cb911f70f8e24f60a88253b95
Author: Connor Abbott <[email protected]>
Date: Fri Sep 30 17:31:02 2022 +0200
tu: Remove blend dependency on attachment format
This matches freedreno, still passes all the tests, and will make
dynamic blend easier because we can compute more up-front.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=84726da2f4400568bfd13e9ea29fdfa88cd70572
Author: Connor Abbott <[email protected]>
Date: Fri Sep 30 16:21:11 2022 +0200
tu: Implement extendedDynamicState3SampleLocationsEnable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d99e5ffee71886be6255f13ab973b409b891db55
Author: Connor Abbott <[email protected]>
Date: Fri Sep 30 15:53:42 2022 +0200
tu: Clamp sample locations
This was missed in the initial implementation and fixes extreme sample
locations like (1.0, 1.0).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e63c8b3bf1b18cf10a6142cf46bc61b2c680e869
Author: Connor Abbott <[email protected]>
Date: Fri Sep 30 14:33:15 2022 +0200
tu: Implement extendedDynamicState3ProvokingVertexMode
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1af2471bd75b166d21baafa047d8ad63cdc49a23
Author: Connor Abbott <[email protected]>
Date: Fri Sep 30 14:18:05 2022 +0200
tu: Implement extendedDynamicState3LineRasterizationMode
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=92dd505f7cf8b90899eab59c83c550a470a2d6fb
Author: Connor Abbott <[email protected]>
Date: Fri Sep 30 14:07:17 2022 +0200
tu: Impement extendedDynamicState3RasterizationStream
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b829989854e79c65dce631ec5603b7708fff64a
Author: Connor Abbott <[email protected]>
Date: Fri Sep 30 12:48:34 2022 +0200
tu: Rename RASTERIZER_DISCARD state to PC_RASTER_CNTL
It also contains the rasterization stream.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=68b02ff200cc9cd37afb48efc57825bfdee60fda
Author: Connor Abbott <[email protected]>
Date: Fri Sep 30 12:42:27 2022 +0200
tu: Implement extendedDynamicState3DepthClipNegativeOneToOne
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2a19b8d696549da1d52dc51ae6a7af3e7164e07c
Author: Connor Abbott <[email protected]>
Date: Fri Sep 30 11:53:25 2022 +0200
tu: Implement extendedDynamicState3AlphaToOneEnable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=87bdddf8f14eba9cb7c1a139d09e173da12937c7
Author: Connor Abbott <[email protected]>
Date: Fri Sep 30 11:48:34 2022 +0200
tu: Implement extendedDynamicState3AlphaToCoverageEnable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e362c82c88fe16c3806d9c414f9ed1c86b42ec5
Author: Connor Abbott <[email protected]>
Date: Thu Sep 29 18:59:02 2022 +0200
tu: Implement extendedDynamicState3RasterizationSamples
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=01055198dc2376b5c32f3e00203f71b26a91cc47
Author: Connor Abbott <[email protected]>
Date: Thu Sep 29 18:55:56 2022 +0200
tu: Set default sample mask to all 1's
This avoids a dependency on the sample count in the blend state, and
seems to work. Otherwise, we'd need to make blend dynamic if samples is
dynamic and record whether the sample mask was NULL, which is a lot more
complicated.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e61583f6f13bfc840b5f42ddcc023778f84e22fa
Author: Connor Abbott <[email protected]>
Date: Thu Sep 29 18:14:38 2022 +0200
tu: Split up tu6_update_msaa()
Most of the time we will only be updating either the number of samples
or whether it should be disabled, not both, and we don't need to compare
both. With pipelines we were comparing both, but with dynamic
rasterization samples we want to only update disable when binding the
pipeline and only update samples when calling
vkCmdSetRasterizationSamplesEXT(). Stop optimizing the uncommon case
where both are changed when binding a pipeline, and split it into 2
parts while sharing the common part that records and emits the state
packet.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ac051c556d0035c98ad07f44aa89f7438f9e414d
Author: Connor Abbott <[email protected]>
Date: Thu Sep 29 17:58:59 2022 +0200
tu: Don't use rasterizationSamples when enabling sample shading
From the spec language, it seems like this change wasn't strictly
required and is just an optimization for when minSampleShading would
be small enough to allow one sample per pixel. However
rasterizationSamples will soon possibly be dynamic, and I don't think we
should keep this around.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f062a644057e94efbf9c39d02da933579b12c800
Author: Connor Abbott <[email protected]>
Date: Thu Sep 29 17:58:12 2022 +0200
tu: Implement extendedDynamicState3SampleMask
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=80befbf844f00a84a776e0eb80a39d305c1d14ed
Author: Connor Abbott <[email protected]>
Date: Thu Sep 29 17:25:06 2022 +0200
tu: Implement extendedDynamicState3LogicOpEnable
This is a little tricky because now we always have to store the
translated logicOp in the pipeline, regardless of whether it's enabled
or not, because the enable/disable may now be dynamic even if the
logicOp is not.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=99caf95eba25308287d0af5df7092d0fc936e81b
Author: Connor Abbott <[email protected]>
Date: Thu Sep 29 16:21:26 2022 +0200
tu: Implement extendedDynamicState3Depth*Enable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e09559bd643d76206d82a97c0cc6d311b8cace1
Author: Connor Abbott <[email protected]>
Date: Thu Sep 29 14:04:54 2022 +0200
tu: Implement extendedDynamicState3TessellationDomainOrigin
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=55bbf56a179cbf520f0336811c1c719b99fb4b59
Author: Connor Abbott <[email protected]>
Date: Thu Sep 29 13:43:46 2022 +0200
tu: Implement extendedDynamicState3PolygonMode
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d20256eba371949533ce790954228f3c1f6b51b6
Author: Connor Abbott <[email protected]>
Date: Wed Sep 28 18:12:17 2022 +0200
tu: Combine GRAS_SU_CNTL drawstate with rast draw state
Emit GRAS_SU_CNTL, GRAS_CL_CNTL, the polygon mode, and the VRS registers
in one draw state. We're running out of draw states, and this saves a
draw state while preparing us for the rest of the rasterization state to
be dynamic.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=009df9f7780e639cc797ed27812a24f74508e222
Author: Connor Abbott <[email protected]>
Date: Thu Sep 29 12:51:40 2022 +0200
tu: VK_EXT_extended_dynamic_state3 boilerplate
Enable the extension but don't enable anything yet.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4466f9aa02dec99c6879e5e357788843c3b573e5
Author: Connor Abbott <[email protected]>
Date: Mon Oct 10 22:19:39 2022 +0200
tu: tu: Clear patchControlPoints dirty state with static patchControlPoints
Noticed by inspection after the previous issue.
Fixes: 68f3c38c801 ("tu: Implement extendedDynamicState2PatchControlPoints")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f7896685fe212eb676313f1aad8e9f423edd5ff
Author: Connor Abbott <[email protected]>
Date: Fri Oct 21 13:59:20 2022 +0200
tu: Ignore line stipple dynamic state
At least in the current Vulkan spec there is no validation language
saying that it isn't valid to set this state if stippled lines aren't
supported, so it seems we have to just ignore it. Ignore it if the user
specifies a dynamic line stipple state and don't emit warnings if they
call CmdSetLineStippleEXT because zink will do this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9061f5f57d95d27e1ed4c0667fd48c085eea602f
Author: Connor Abbott <[email protected]>
Date: Mon Oct 10 22:05:00 2022 +0200
tu: Clear viewport dirty state with static viewports
Vulkan allows the user to set extraneous dynamic state which then gets
ignored if a pipeline with static state is bound. We weren't
implementing this correctly for viewports because we weren't clearing
the dirty bit, but it was happening to work until changes for dynamic
depth negative-one-to-one broke
dEQP-VK.pipeline.*.depth.depth_clip_control.d32_sfloat_less_viewport_before_static.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18912>