From: Eric Anholt Date: Fri, 5 Jun 2020 00:00:59 +0000 (-0700) Subject: turnip: Add support for alphaToOne. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ac1ab9294abd2eb24af8e810cd93b491ac22a8a1;p=mesa.git 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: --- 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