anv: enable EDS3 AlphaToCoverageEnable & RasterizationSamples

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10647
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27803>
This commit is contained in:
Lionel Landwerlin
2024-02-26 11:16:53 +02:00
committed by Marge Bot
parent ada806baa3
commit 9926aedc96
2 changed files with 10 additions and 4 deletions

View File

@@ -825,9 +825,9 @@ get_features(const struct anv_physical_device *pdevice,
.extendedDynamicState3SampleLocationsEnable = true,
.extendedDynamicState3SampleMask = true,
.extendedDynamicState3ConservativeRasterizationMode = true,
.extendedDynamicState3AlphaToCoverageEnable = true,
.extendedDynamicState3RasterizationSamples = true,
.extendedDynamicState3RasterizationSamples = false,
.extendedDynamicState3AlphaToCoverageEnable = false,
.extendedDynamicState3ExtraPrimitiveOverestimationSize = false,
.extendedDynamicState3ViewportWScalingEnable = false,
.extendedDynamicState3ViewportSwizzle = false,

View File

@@ -655,14 +655,20 @@ populate_wm_prog_key(struct anv_pipeline_stage *stage,
*
* It's also required for the fragment output interface.
*/
key->alpha_to_coverage =
ms->alpha_to_coverage_enable ? BRW_ALWAYS : BRW_NEVER;
key->multisample_fbo =
BITSET_TEST(dynamic, MESA_VK_DYNAMIC_MS_RASTERIZATION_SAMPLES) ?
BRW_SOMETIMES :
ms->rasterization_samples > 1 ? BRW_ALWAYS : BRW_NEVER;
key->persample_interp =
BITSET_TEST(dynamic, MESA_VK_DYNAMIC_MS_RASTERIZATION_SAMPLES) ?
BRW_SOMETIMES :
(ms->sample_shading_enable &&
(ms->min_sample_shading * ms->rasterization_samples) > 1) ?
BRW_ALWAYS : BRW_NEVER;
key->alpha_to_coverage =
BITSET_TEST(dynamic, MESA_VK_DYNAMIC_MS_ALPHA_TO_COVERAGE_ENABLE) ?
BRW_SOMETIMES :
(ms->alpha_to_coverage_enable ? BRW_ALWAYS : BRW_NEVER);
/* TODO: We should make this dynamic */
if (device->physical->instance->sample_mask_out_opengl_behaviour)