From ac1ab9294abd2eb24af8e810cd93b491ac22a8a1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 4 Jun 2020 17:00:59 -0700 Subject: [PATCH] turnip: Add support for alphaToOne. Comparing a blob trace using the feature to one not, the difference was pretty obvious and in the spot you'd expect compared to alphaToCoverage. The SP_ reg didn't have a corresponding bit set, though it also has an alphaToCoverage. Part-of: --- src/freedreno/registers/a6xx.xml | 1 + src/freedreno/vulkan/tu_device.c | 2 +- src/freedreno/vulkan/tu_pipeline.c | 5 ++--- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/freedreno/registers/a6xx.xml b/src/freedreno/registers/a6xx.xml index 0a0eec3ea07..515b1043aae 100644 --- a/src/freedreno/registers/a6xx.xml +++ b/src/freedreno/registers/a6xx.xml @@ -2294,6 +2294,7 @@ to upconvert to 32b float internally? + diff --git a/src/freedreno/vulkan/tu_device.c b/src/freedreno/vulkan/tu_device.c index dfadb66d5e2..6e0b787beba 100644 --- a/src/freedreno/vulkan/tu_device.c +++ b/src/freedreno/vulkan/tu_device.c @@ -598,7 +598,7 @@ tu_GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, .depthBounds = false, .wideLines = false, .largePoints = false, - .alphaToOne = false, + .alphaToOne = true, .multiViewport = false, .samplerAnisotropy = true, .textureCompressionETC2 = true, diff --git a/src/freedreno/vulkan/tu_pipeline.c b/src/freedreno/vulkan/tu_pipeline.c index 6a6fd2728aa..158297d9d17 100644 --- a/src/freedreno/vulkan/tu_pipeline.c +++ b/src/freedreno/vulkan/tu_pipeline.c @@ -2058,8 +2058,6 @@ tu6_emit_blend_control(struct tu_cs *cs, bool dual_src_blend, const VkPipelineMultisampleStateCreateInfo *msaa_info) { - assert(!msaa_info->alphaToOneEnable); - const uint32_t sample_mask = msaa_info->pSampleMask ? (*msaa_info->pSampleMask & 0xffff) : ((1 << msaa_info->rasterizationSamples) - 1); @@ -2076,7 +2074,8 @@ tu6_emit_blend_control(struct tu_cs *cs, .independent_blend = true, .sample_mask = sample_mask, .dual_color_in_enable = dual_src_blend, - .alpha_to_coverage = msaa_info->alphaToCoverageEnable)); + .alpha_to_coverage = msaa_info->alphaToCoverageEnable, + .alpha_to_one = msaa_info->alphaToOneEnable)); } void -- 2.30.2