Allow coarse derivatives to be calced by fine func
authorBoris Zanin <boris.zanin@mobica.com>
Tue, 27 Nov 2018 11:54:43 +0000 (12:54 +0100)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Mon, 14 Jan 2019 11:57:03 +0000 (06:57 -0500)
OpDPdxCoarse (OpDPdyCoarse) are allowed to be calculated by same
formulas as OpDPdxFine (OpDPdyFine).  Also due to OpFwidthCoarse
is described as sum of OpDPdxCoarse, OpDPdyCoarse allow it to be
calculated by OpFwidthFine.

Components: vulkan

VK-GL-CTS issue: 1452

Affects: dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_*.opdpdxcoarse

Change-Id: Ib91d813626e579309d3d9176d52b0954efa920d4

external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp

index 94e7d7e..a0a6799 100644 (file)
@@ -10318,9 +10318,9 @@ tcu::TestCaseGroup* createDerivativeTests (tcu::TestContext& testCtx)
                { "OpDPdxFine"          ,       float16InputX   ,       compareDerivative<R, N, 1, getFDxFine           >       },
                { "OpDPdyFine"          ,       float16InputY   ,       compareDerivative<R, N, 1, getFDyFine           >       },
                { "OpFwidthFine"        ,       float16InputW   ,       compareDerivative<R, N, 1, getFWidthFine        >       },
-               { "OpDPdxCoarse"        ,       float16InputX   ,       compareDerivative<R, N, 2, getFDxCoarse >       },
-               { "OpDPdyCoarse"        ,       float16InputY   ,       compareDerivative<R, N, 2, getFDyCoarse >       },
-               { "OpFwidthCoarse"      ,       float16InputW   ,       compareDerivative<R, N, 4, getFWidthCoarse      >       },
+               { "OpDPdxCoarse"        ,       float16InputX   ,       compareDerivative<R, N, 3, getFDx                       >       },
+               { "OpDPdyCoarse"        ,       float16InputY   ,       compareDerivative<R, N, 3, getFDy                       >       },
+               { "OpFwidthCoarse"      ,       float16InputW   ,       compareDerivative<R, N, 5, getFWidth            >       },
                { "OpDPdx"                      ,       float16InputX   ,       compareDerivative<R, N, 3, getFDx                       >       },
                { "OpDPdy"                      ,       float16InputY   ,       compareDerivative<R, N, 3, getFDy                       >       },
                { "OpFwidth"            ,       float16InputW   ,       compareDerivative<R, N, 5, getFWidth            >       },