Sample mask calculation path was executed even when sample
was -1, causing a large number to be used for a shift. Now
a sample mask of zero is chosen instead.
VK-GL-CTS Issue: 3329
Affects:
dEQP-GLES31.functional.texture.multisample.*.sample_mask_and_alpha_to_coverage
Components: OpenGL ES
Change-Id: Ie5600ead5a5b0228a3ed255d7e4cc49a314a7ba6
}
else
{
- const std::vector<deUint32> bitmask = genSetNthBitSampleMask(sample);
+ const std::vector<deUint32> bitmask = sample < 0 ? std::vector<deUint32>(m_effectiveSampleMaskWordCount, 0) : genSetNthBitSampleMask(sample);
DE_ASSERT((int)bitmask.size() <= m_effectiveSampleMaskWordCount);
m_testCtx.getLog() << tcu::TestLog::Message << "Setting sample mask to 0b" << sampleMaskToString(bitmask, m_samples) << tcu::TestLog::EndMessage;