Add tests for VK_EXT_blend_operation_advanced
authorSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Fri, 28 Jun 2019 07:20:39 +0000 (09:20 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 18 Oct 2019 09:23:18 +0000 (05:23 -0400)
commitccf4ee41fbd6adc537a5770be0402c8917f7f198
tree64ff0827e2b6709215dcc73ba33baa1344d3f9f1
parent74866cf0099e7be6d5329b863ff6bae1b8cdf56c
Add tests for VK_EXT_blend_operation_advanced

There at three types of tests:

* Ops: they check that all the defined operations work
for a different set of source and destination colors, iterating over
(non)premultiplied colors and uncorrelate/disjoint/conjoint alpha
values.  The tests run on different number of color attachment as well.

* Independent: it checks that color attachments with different depth
operations do not affect the others.

* Coherent: it checks if (non)coherent blend operations work as
expected. It creates two pipelines with 2 different advanced blend ops,
first draw clears the pixel with a specified destination color and do
the blending; the second draw reuses the result of the first one as
destination color and do blending on top. In the case of noncoherent
blending, it adds a memory dependency between both advanced blend
operations.

Added tests:

   dEQP-VK.pipeline.blend_operation_advanced.*

Components: Vulkan
VK-GL-CTS issue: 1673

Change-Id: I4417e6a22e0c2882849f8bf59233c266c60e45c6
AndroidGen.mk
android/cts/master/vk-master.txt
external/vulkancts/modules/vulkan/pipeline/CMakeLists.txt
external/vulkancts/modules/vulkan/pipeline/vktPipelineBlendOperationAdvancedTests.cpp [new file with mode: 0644]
external/vulkancts/modules/vulkan/pipeline/vktPipelineBlendOperationAdvancedTests.hpp [new file with mode: 0644]
external/vulkancts/modules/vulkan/pipeline/vktPipelineTests.cpp
external/vulkancts/mustpass/master/vk-default-no-waivers.txt
external/vulkancts/mustpass/master/vk-default.txt