swung0x48
7f2ca68615
[Test] (IntegrationTest): take the shader-compiler and viewport quirks from the environment instead of internal symbols
...
Android links this module against the SHIPPING libMobileGL.so on purpose, so the
on-device run validates the real artifact - and that library is -fvisibility=hidden.
Six symbols the scenarios reached for were therefore undefined and the executable
could not be linked at all: MG_Config::Features, SetAsyncShaderCompileSuspended,
ShaderCompilePool::Get/GetThreadCount/SetMaxConcurrency and
AsyncShaderCompileEnabled. All six are gone rather than exported.
CompilerThreadScope now restores the pool with glMaxShaderCompilerThreadsKHR
(0xFFFFFFFF), which MaxShaderCompilerThreadsKHR_State defines as exactly the two
steps it used to perform by hand, and AsyncAndSyncProgramsRenderIdenticalFrames
picks its two modes with the same entry point - a zero count compiles inline, a
nonzero one lifts that - so the switching is now itself under test.
ExtensionStringMatchesTheConfiguration stops deriving its expectation from
AsyncShaderCompileEnabled(), the very function the backends gate the extension
string on: it was asserting the implementation against itself and would have passed
however wrong both halves were. The expectation is now MOBILEGL_ASYNC_SHADER_COMPILE
as the process inherited it, and the case skips where that is unset because the
built-in default is a value only the implementation knows.
Both-mode coverage in one ctest run is preserved by registration rather than by
in-process forcing, and is wider than before. New entries, each APPENDING to the
common/Vulkan environment so the EGL-vendor and ICD pinning is not lost - a ctest
ENVIRONMENT property replaces the job environment rather than adding to it:
DirectGLES./DirectVulkan.AsyncOn. run all of AsyncCompileScenario with
MOBILEGL_ASYNC_SHADER_COMPILE=1; .AsyncOff. run the extension case with =0, which
asserts the withdrawn side that nothing covered before;
.OptimisticShaderStatus. run the Iris-shaped case with
MOBILEGL_ASYNC_OPTIMISTIC_SHADER_STATUS=1 (its own entries because the quirk is not
neutral for the rest of the scenario); DirectGLES.NoViewportArrayEmulation. runs the
emulation control with MOBILEGL_FORCE_VIEWPORT_ARRAY_EMULATION=0. Run from a device
shell with nothing set, the ambient configuration runs and the rest skip cleanly.
1836 -> 1853 ctest entries, all green.
2026-08-25 04:52:14 -04:00
swung0x48
b12ef4d717
[Test] (DirectVulkan): ask each unbound-descriptor case only for the limit its own resource kind needs
2026-08-25 03:44:36 -04:00
swung0x48
724755d9df
[Test] (DirectVulkan): pin the image-uniform numeric domain the unbound placeholder is chosen from
2026-08-25 03:44:36 -04:00
swung0x48
59f7059bf4
[Fix, Test] (DirectVulkan): keep the draw when a program declares an image-backed resource the application left unbound
2026-08-24 05:31:15 -04:00
swung0x48
4446c861be
[Fix, Test] (DirectVulkan): keep the draw when a program declares a storage block the application left unbound
2026-08-24 04:57:05 -04:00
swung0x48
602da1d131
[Merge] (GLImpl, DirectGLES, DirectVulkan): complete direct state access and the compressed-texture family
2026-08-22 22:47:08 -04:00
swung0x48
06bbaf32b1
[Merge] (GLImpl, DirectGLES, DirectVulkan): take the extension advertisements under the DSA completion
2026-08-22 22:42:47 -04:00
swung0x48
9bcf0a15a0
[Docs] (DirectGLES, DirectVulkan): correct what advertising cube map arrays actually unlocks
2026-08-22 22:03:26 -04:00
swung0x48
26e5a946ac
[Test] (GLImpl): pin the DSA name rule on the compressed 3D by-name entry point
2026-08-22 21:56:51 -04:00
swung0x48
dc543fa905
[Feat, Test] (DirectGLES, DirectVulkan, SelfTest): advertise the implemented extensions that were never named
2026-08-22 21:54:17 -04:00
swung0x48
f559d68728
[Feat, Test] (GLImpl): store and patch compressed 3D texture images, and wire the 1D/3D named entry points
2026-08-22 21:49:33 -04:00
swung0x48
48968a663f
[Fix, Test] (GLImpl, Util): let a buffer clear take a GL_INT pattern into a normalized format
2026-08-22 21:49:26 -04:00
swung0x48
0fdcb5d6c4
[Feat] (DirectGLES, DirectVulkan): advertise GL_ARB_sync and GL_ARB_shader_atomic_counters
2026-08-22 21:45:13 -04:00
swung0x48
6b25e7a7e3
[Fix] (GLState): report the storage flags glBufferData implies
2026-08-22 21:45:13 -04:00
swung0x48
50d260c840
[Fix] (GLImpl): reject memory-barrier bits the spec does not define
2026-08-22 21:45:13 -04:00
swung0x48
6a8bf4c03c
[Fix, Test] (DirectVulkan): resolve a lowered atomic-counter block from the atomic-counter binding points
2026-08-22 21:45:13 -04:00
swung0x48
01098e9dd7
[Fix] (GLImpl): raise the errors ARB_sync specifies for ClientWaitSync, WaitSync and GetSynciv
2026-08-22 21:45:12 -04:00
swung0x48
82244e9048
[Merge] (GLState, GLImpl, DirectGLES, DirectVulkan, ShaderTranspiler): land texture views, the 4.3 version claim and the extension unlocks
2026-08-22 14:28:37 -04:00
swung0x48
7bd2f08313
[Fix] (DirectGLES): stop advertising GL_ARB_texture_view, whose functional half fails on a host driver that has EXT_texture_view
2026-08-22 13:40:35 -04:00
swung0x48
121b99f8c3
[Fix, Test] (DirectVulkan, GLImpl): size a 1D-array texture's mip chain and layered attachment by the axis that carries its layers
2026-08-22 12:52:10 -04:00
swung0x48
e8d79344d6
[Fix] (DirectVulkan): resolve a cube-map-array sampler to the cube-map-array texture target
2026-08-22 12:47:13 -04:00
swung0x48
88be35c9ba
[Fix, Test] (Util): widen a three-channel 16-bit texture to its same-width four-channel sibling
2026-08-22 12:41:18 -04:00
swung0x48
60808b6cf2
[Feat] (DirectGLES, DirectVulkan): advertise base-vertex draws, instanced arrays, KHR_debug and the 4.1-4.3 version tokens
2026-08-22 12:41:18 -04:00
swung0x48
eb2f14e55a
[Fix, Test] (GLImpl): validate count, instancecount, drawcount, type and range on the base-vertex draw family
2026-08-22 12:41:18 -04:00
swung0x48
0eb5d54bb8
[Fix, Test] (GLState, ShaderTranspiler): report GL's default binding of zero for an unqualified uniform block
2026-08-22 12:41:18 -04:00
swung0x48
6a2e9dc791
Merge branch 'target-gl43' of /mnt/c/Users/geekerwan/AndroidStudioProjects/FoldCraftLauncher/MobileGL into gl43-claim
2026-08-22 11:42:58 -04:00
swung0x48
d5aceebd7b
Merge branch 'dev' of /mnt/c/Users/geekerwan/AndroidStudioProjects/FoldCraftLauncher/MobileGL into gl43-claim
2026-08-22 11:42:50 -04:00
swung0x48
473d9951b7
[Fix, Test] (DirectVulkan, GLState): apply a texture view level and layer window at every subresource boundary
2026-08-22 11:17:09 -04:00
swung0x48
13783e3aec
[Feat] (DirectGLES, DirectVulkan): raise the advertised OpenGL target version to 4.3
2026-08-22 10:53:45 -04:00
swung0x48
6bb844b1c1
[Feature, Test] (GLImpl): give KHR_debug a real group stack and object labels
2026-08-22 10:42:49 -04:00
swung0x48
6162603072
[Feature, Fix, Test] (GLState, GLImpl, DirectVulkan, DirectGLES): implement glTextureView over shared texture storage
2026-08-22 10:41:52 -04:00
swung0x48
666f150202
[Fix] (SelfTest): stop optional-capability failures from declaring the whole backend unsupported, and log the POST report in chunks
2026-08-22 09:08:13 -04:00
swung0x48
2f62970dd5
[Refactor] (SelfTest): give every POST capability row a PASS/WARN/FAIL verdict and keep INFO for identity
2026-08-22 08:59:03 -04:00
swung0x48
dcb568d445
[Feature, Test] (SelfTest): probe the four remaining known driver bugs from the POST
2026-08-22 08:45:05 -04:00
swung0x48
a5f36c8f8d
[Feature, Test] (SelfTest): add a Known Driver Bugs POST section and probe the geometry write-after-emit drop
2026-08-22 07:49:17 -04:00
swung0x48
1ebe9d11c5
[Fix, Test] (GLState, DirectGLES): stop calling a multisample texture filter-incomplete so it still binds
2026-08-22 07:18:11 -04:00
swung0x48
a8bb63950d
[Fix, Test] (ShaderTranspiler): relocate a late length constant so an offset atomic-counter block still flattens
2026-08-22 07:18:11 -04:00
swung0x48
7d68a17774
[Fix, Test] (DirectGLES): give a split buffer image its own view so the sampler still sees whole texels
2026-08-22 06:16:52 -04:00
swung0x48
415645ccdd
[Merge] (ShaderTranspiler, DirectGLES): land the normalized-format carriers and the buffer-image split
2026-08-22 04:47:39 -04:00
swung0x48
e6d03eb2a1
[Merge] (DirectGLES): take the image-alias rename under the format carriers
2026-08-22 04:44:41 -04:00
swung0x48
5e29e7d266
[Feat, Test] (ShaderTranspiler, DirectGLES): split a non-core buffer image by its subscript instead of losing the stage
2026-08-22 04:30:06 -04:00
swung0x48
7eac33d17b
[Feat, Fix, Test] (ShaderTranspiler, DirectGLES): carry the seven normalized image formats as their own codes in rgba16ui
2026-08-22 04:17:46 -04:00
Swung0x48
8f19ce6fa7
[Fix, Test] (DirectGLES): rename an image SPIRV-Cross already qualified so two stages cannot merge it
2026-08-22 03:46:35 -04:00
swung0x48
d0f7fb99db
[Feat, Test] (ShaderTranspiler, DirectGLES): carry rgb10_a2ui storage images in rgba16ui and split its packed upload
2026-08-22 03:21:48 -04:00
swung0x48
d4247db6c3
[Fix, Test] (ShaderTranspiler, GLImpl, ProgramState, DirectVulkan): keep fp64 where the backend consumes it natively
2026-08-22 00:57:06 -04:00
swung0x48
e4f41e0fd3
[Merge] (ShaderTranspiler, DirectGLES): land the fp64 block layout, colour-index and readonly-writeonly repairs
2026-08-21 22:24:38 -04:00
swung0x48
9cf340cbef
[Merge] (DirectGLES, ShaderTranspiler): take the viewport routing and image repairs under the fp64 and qualifier fixes
2026-08-21 22:21:17 -04:00
swung0x48
348a30a816
[Fix, Test] (ShaderTranspiler): keep a storage block with doubles at the byte layout it was bound with
2026-08-21 22:15:05 -04:00
swung0x48
b5e0ada97e
[Merge] (DirectGLES, ShaderTranspiler, Config): land the viewport-array routing emulation
2026-08-21 22:13:50 -04:00
swung0x48
cb27ac7761
[Merge] (DirectGLES): take the image-widening repairs under the viewport routing
2026-08-21 22:10:53 -04:00