Test frag shader side effects are not removed by optimizations
This commit adds a net set of tests that check fragment shader side
effects, in the form of an SSBO write, are not removed by optimizations
done when the fragment is discarded by several possible means:
* Calling "discard" for the fragment (translated to OpKill).
* Calling "demote" for the fragment (translated to
OpDemoteToHelperInvocationEXT).
* Setting SampleMask to zero.
* Setting alphaToCoverageEnable and output 0 in the alpha component.
* Making the depth bounds test fail.
* Making the depth test fail.
* Making the stencil test fail.
New tests:
dEQP-VK.rasterization.frag_side_effects.*
Components: Vulkan
VK-GL-CTS issue: 2336
Change-Id: I6de8a50f137f37538fe614088f289f4ae05d88d0