GL_ARB_enhanced_layouts: mind aliasing bit width
authorAndres Gomez <agomez@igalia.com>
Fri, 4 Jan 2019 12:46:27 +0000 (14:46 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 15 Mar 2019 09:23:55 +0000 (05:23 -0400)
commitaaccb16623de685be20b9716a82d3ab20ee9f437
tree71a09ef82565d81d075b4278f16c9806f6a864da
parent60a7f1b15a9ee2f6b54f0d0d43c28f61b4c048ce
GL_ARB_enhanced_layouts: mind aliasing bit width

Currently, when location aliasing was happening, we were only checking
if the underlying numerical type was the same to allow it.

From page 67 (page 71 of the PDF) of the GLSL 4.60 v.5 spec:

  " Further, when location aliasing, the aliases sharing the location
    must have the same underlying numerical type and bit
    width (floating-point or integer, 32-bit versus 64-bit, etc.)"

Additionally, we were repeating two times the same tests. For example
we would check if, with float and int, they would be allowed if float
was in the component 1 and int in component 3 two times. The test
generation has been now simplified.

Components: OpenGL

VK-GL-CTS issue: 1609

Affects:

KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_types

Change-Id: I33652ac447c0a536bebc8175f34abee45ad1cd2e
external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.hpp