Commit graph

12 commits

Author SHA1 Message Date
Joshua Ashton
9a26fa583a rendervulkan: Up layer count to 6 and document the layers we have 2022-01-11 00:09:33 +00:00
Joshua Ashton
89b145dbca rendervulkan: Replace flBorderAlpha with nBorderMask of layers
Allows us to fit more layers in push constants. We never use anything other than 0/1 anyway.
2022-01-11 00:09:33 +00:00
Georg Lehmann
7c94fc3437 rendervulkan: Compact descriptor set bindings. 2022-01-05 05:02:10 +00:00
Joshua Ashton
0252f44ffe rendervulkan: Handle base layer opacity 2021-12-13 23:47:29 -08:00
Joshua Ashton
4ee56a1e75 rendervulkan: Do not premultiply color
The surface should already have premultiplied alpha.

Gets us to how we look with planes.
2021-11-22 21:48:58 -08:00
Joshua Ashton
23430084e2 rendervulkan: Blend in linear space
We must blend in linear space, not SRGB space or we get these horrible browns.

Gets us closer to how this looks with planes.
2021-11-22 21:48:58 -08:00
Joshua Ashton
dbdf1095f8 rendervulkan: Add --composite-debug
Adds a --composite-debug flag for displaying frame markers on alternating corners of the screen or rotating in a localized square when compositing.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-11-22 21:40:10 -08:00
Joshua Ashton
b46cc14025 rendervulkan: Use textureLod()
May as well.
2021-09-15 10:58:38 -07:00
Joshua Ashton
5a1f28d8bc rendervulkan: Use push constants for composite data
We can just bung this in here and avoid needing to deal with a buffer.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-09-12 18:21:44 -07:00
Joshua Ashton
3e1ebd7241 rendervulkan: Replace border color with CLAMP_TO_EDGE + bounds check
We can't use normal border colors if we are doing linear filtering as we will sample slightly outside on the edges and blend to the border color.

Replace this with a way to push an arbitrary layer alpha and return that in the OOB case, and when sampling, clamp to edge.

This also may be more efficient to avoid sampling OOB a lot of the time in some cases.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-09-12 18:21:44 -07:00
Joshua Ashton
00622fff62 rendervulkan: Implement NV12 compositing
Dependent on latest Mesa for my commit to support unnormalized ycbcr:

855cb78d46
2021-06-29 16:34:07 -07:00
Joshua Ashton
e818aec744 Move to combined samplers and rewrite composite shader in GLSL
Cleans up the composite shader significantly as well as it uses
arrays of descriptors/samplers now.

This all gets unrolled as the loop is spec-constant sized.
2021-05-01 16:50:51 -07:00