mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-09 04:38:30 +09:00
[Test] (MG_Test): catch the unit tests up with three deliberate behaviour changes
ctest -L unit had been failing 13 of its 418 cases, all of them tests left asserting what the code did before a commit that changed it on purpose: - "restore target GL version to 3.3" put the advertised target back after the experimental 4.6 run, but the two Voxy sanity tests still demanded 4.6. The extensions they really care about are all still advertised, so assert 3.3 and drop the now-meaningless AtExperimentalCTSVersion from their names. - "support rectangle textures where the emulation is exact" made every desktop-only target supported - rectangle included, stored as a plain 2D - while the texture test still expected rectangle to be rejected. - "keep declared modern GLSL versions strict" changed two things at once: a normalized legacy directive now carries a marker on its line, so the ten tests matching "#version 330 core\n" whole no longer match; and a version the application declared itself is no longer raised to 460, so the sources declaring 330/400 keep their own number and only MobileGL's own normalization is retargeted. Test expectations follow, rather than the implementation being bent back: each of the three changes is the intended behaviour and is argued for where it was made. The retry test now drives the 460 escalation from a legacy "#version 130" source, which is the only thing that is still rescued, and gained a case pinning the other half of that contract - an application-declared "#version 330" stays at 330. 418/418 unit tests pass.
This commit is contained in:
@@ -1867,11 +1867,13 @@ TEST_F(TextureTest, DirectGLESTreats2DArrayAsSupportedTextureTarget) {
|
||||
EXPECT_TRUE(IsSupportedTextureTarget(TextureTarget::Texture2DArray));
|
||||
EXPECT_TRUE(IsSupportedTextureTarget(TextureTarget::Texture3D));
|
||||
EXPECT_TRUE(IsSupportedTextureTarget(TextureTarget::Texture2D));
|
||||
// 1D and 1D-array are emulated as 2D / 2D-array (MapToBackendTextureTarget), matching
|
||||
// SPIRV-Cross's ES 1D-as-2D shader emission; only rectangle textures stay unsupported.
|
||||
// Every desktop-only target is stored on an ES one (MapToBackendTextureTarget): 1D and
|
||||
// 1D-array as 2D / 2D-array, matching SPIRV-Cross's ES 1D-as-2D shader emission, and
|
||||
// rectangle as a plain 2D - it is single-level and already clamps, so only the
|
||||
// non-normalized coordinates differ and LowerRectImagesForEssl handles those.
|
||||
EXPECT_TRUE(IsSupportedTextureTarget(TextureTarget::Texture1D));
|
||||
EXPECT_TRUE(IsSupportedTextureTarget(TextureTarget::Texture1DArray));
|
||||
EXPECT_FALSE(IsSupportedTextureTarget(TextureTarget::TextureRectangle));
|
||||
EXPECT_TRUE(IsSupportedTextureTarget(TextureTarget::TextureRectangle));
|
||||
}
|
||||
|
||||
// 2D-array textures keep their layer count constant across mip levels (GL 3.3 §3.9);
|
||||
|
||||
Reference in New Issue
Block a user