v3dv: fix alpha-to-one for single sample setup
authorIago Toral Quiroga <itoral@igalia.com>
Wed, 11 Jan 2023 08:08:11 +0000 (09:08 +0100)
committerEric Engestrom <eric@engestrom.ch>
Wed, 11 Jan 2023 17:44:23 +0000 (17:44 +0000)
In Vulkan this is expected to work with single sample scenarios too.

Fixes new test in CTS main:
dEQP-VK.pipeline.monolithic.multisample.alpha_to_one.samples_1

cc: mesa-stable

Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20634>
(cherry picked from commit 09782e5e6d5cc0a44b907544f55bdaebbb4feb84)

.pick_status.json
src/broadcom/vulkan/v3dv_pipeline.c

index 614ba84..23f634c 100644 (file)
@@ -49,7 +49,7 @@
         "description": "v3dv: fix alpha-to-one for single sample setup",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null
     },
index a78f209..b19fd93 100644 (file)
@@ -1085,8 +1085,9 @@ pipeline_populate_v3d_fs_key(struct v3d_fs_key *key,
          key->sample_coverage =
             p_stage->pipeline->sample_mask != (1 << V3D_MAX_SAMPLES) - 1;
          key->sample_alpha_to_coverage = ms_info->alphaToCoverageEnable;
-         key->sample_alpha_to_one = ms_info->alphaToOneEnable;
       }
+
+      key->sample_alpha_to_one = ms_info->alphaToOneEnable;
    }
 
    /* This is intended for V3D versions before 4.1, otherwise we just use the
@@ -1904,8 +1905,9 @@ pipeline_populate_graphics_key(struct v3dv_pipeline *pipeline,
          key->sample_coverage =
             pipeline->sample_mask != (1 << V3D_MAX_SAMPLES) - 1;
          key->sample_alpha_to_coverage = ms_info->alphaToCoverageEnable;
-         key->sample_alpha_to_one = ms_info->alphaToOneEnable;
       }
+
+      key->sample_alpha_to_one = ms_info->alphaToOneEnable;
    }
 
    const struct v3dv_render_pass *pass =