mesa/src/panfrost/vulkan
Alyssa Rosenzweig 22538b89b3 panfrost: Handle non-dithered clear colours
In b9c095cc2c ("panfrost: Rewrite the clear colour packing code"),
packing of clear colours was corrected to use the tilebuffer's
fractional bits, fixing dithering of the clear colour with formats like
RGB565. Unfortunately, that commit did so unconditionally. If the
framebuffer is dithered, but dithering is disabled at the time of
the clear, we would incorrectly dither the clear.

This is a regression, as the old (broken) code passed the relevant CTS
test. What's the catch? Depending on dither state, there are two
formulas to pack tilebuffer colours. We need to handle both. Fixes
KHR-GLES31.core.draw_buffers_indexed.color_masks.

Fixes: b9c095cc2c ("panfrost: Rewrite the clear colour packing code")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12460>
2021-08-18 23:32:40 +00:00
..
meson.build panfrost: Fork pan_pool for Gallium and Vulkan 2021-07-05 05:43:49 +00:00
panvk_cmd_buffer.c panfrost: Handle non-dithered clear colours 2021-08-18 23:32:40 +00:00
panvk_cs.c panfrost: Use _PU for non-dithered formats 2021-08-11 18:15:52 +00:00
panvk_cs.h panvk: A pipeline might not be bound when the render pass is ended 2021-07-27 15:18:34 +02:00
panvk_descriptor_set.c panvk: Don't try to update samplers if they are immutable 2021-07-27 15:18:34 +02:00
panvk_device.c panfrost: Fix leak of render node fd 2021-08-16 16:08:10 +00:00
panvk_formats.c
panvk_image.c
panvk_mempool.c panvk: Support returning BOs allocated by panvk_pool to a 'free BO' pool 2021-07-05 05:43:49 +00:00
panvk_mempool.h panvk: Support returning BOs allocated by panvk_pool to a 'free BO' pool 2021-07-05 05:43:49 +00:00
panvk_meta.c panfrost: Use _PU for non-dithered formats 2021-08-11 18:15:52 +00:00
panvk_pass.c
panvk_pipeline.c panfrost: Leverage Bifrost's 2*src blend factor 2021-08-11 18:15:52 +00:00
panvk_pipeline_cache.c
panvk_private.h panfrost: Fix leak of render node fd 2021-08-16 16:08:10 +00:00
panvk_query.c
panvk_shader.c vulkan: add vk_spec_info_to_nir_spirv util method 2021-07-29 03:28:52 +00:00
panvk_sync.c
panvk_util.c
panvk_varyings.c panfrost: Start splitting the panfrost pool logic 2021-07-05 05:43:49 +00:00
panvk_varyings.h
panvk_wsi.c
panvk_wsi_display.c
panvk_wsi_wayland.c