swung0x48
|
9ef33f4274
|
[Fix] (Review): bound copies by the requested level, reach every cube face, keep array layer counts, and give glSpecializeShader its spec error surface
|
2026-08-27 05:51:58 -04:00 |
|
swung0x48
|
e430e1b3be
|
[Fix] (Texture): give glTexBuffer the sized-format check its TODO deferred and the target-taking forms their own INVALID_ENUM
|
2026-08-27 05:37:18 -04:00 |
|
swung0x48
|
e315d9e798
|
[Test] (GlSpirv): unit and headless-GPU coverage for glShaderBinary, glSpecializeShader and the SPIR_V_BINARY state
|
2026-08-27 05:37:18 -04:00 |
|
swung0x48
|
6f299372c6
|
[Feat] (Program): implement GL_ARB_gl_spirv - glShaderBinary, glSpecializeShader and the SPIR_V_BINARY state, feeding the module into the ordinary compile pipeline
|
2026-08-27 05:37:17 -04:00 |
|
swung0x48
|
be7bf21eb8
|
[Fix] (ShaderTranspiler): enforce the layout(binding) range rule for samplers, images and uniform/atomic-counter blocks, not only for SSBOs
|
2026-08-27 05:37:17 -04:00 |
|
swung0x48
|
0e4302b399
|
[Feat] (RenderState): implement glClipControl, glPolygonOffsetClamp and glTextureBarrier instead of stubbing them
|
2026-08-27 05:37:16 -04:00 |
|
swung0x48
|
c9c2dcb42a
|
[Feat] (Query): accept the ARB_pipeline_statistics_query targets and report zero counter bits for them
|
2026-08-27 05:37:15 -04:00 |
|
swung0x48
|
2d938971b9
|
[Fix] (Getter): saturate combined uniform components in 64-bit and answer the missing GL4 state tokens
|
2026-08-27 05:37:15 -04:00 |
|
swung0x48
|
f7e23d5d83
|
[Fix] (DirectVulkan): generate mipmaps for cube-map-array and 1D-array targets, and stop shrinking an array's layer count down the chain
|
2026-08-27 05:37:14 -04:00 |
|
swung0x48
|
02fbb816e9
|
[Fix] (Texture): cube-map-array shape rules on glTexImage3D, GL_TEXTURE_SHARED_SIZE, and the unimplemented glCopyTexSubImage1D/3D
|
2026-08-27 05:37:14 -04:00 |
|
swung0x48
|
0e0882cfc6
|
[Test] (IntegrationTest): read cube faces back through a per-face FBO, which glGetTexImage's face token does not distinguish on DirectVulkan
|
2026-08-27 05:07:38 -04:00 |
|
swung0x48
|
de09646d5e
|
[Fix] (DirectVulkan): one shared attachment layer count for the render pass and the clear key, and direct VkResult checks in the render-pass builder
|
2026-08-27 05:04:44 -04:00 |
|
swung0x48
|
747864777e
|
[Test] (IntegrationTest): pin the layered 3D and cube-map-array attachment shapes and their per-layer routing
|
2026-08-27 04:37:29 -04:00 |
|
swung0x48
|
6fc3504bd9
|
[Fix] (Framebuffer): carry the layered flag through the GL_DEPTH_STENCIL_ATTACHMENT split
|
2026-08-27 04:37:28 -04:00 |
|
swung0x48
|
df1bcdba09
|
[Fix] (DirectVulkan): legal view types for layered 3D/cube attachments, and a real failure channel for the render-pass builder
|
2026-08-27 04:19:06 -04:00 |
|
swung0x48
|
843c61dee1
|
[Chore] (ShaderTranspiler): pin glslang fork at 7e255451 (GL_ARB_cull_distance registration and version-gated availability)
|
2026-08-27 04:01:43 -04:00 |
|
swung0x48
|
c0a3f4cc50
|
[Docs] (Getter): restate the uniform-binding airtightness argument against the per-stage sum, not the combined limit
|
2026-08-27 03:54:17 -04:00 |
|
swung0x48
|
06744fde7f
|
[Fix] (Getter): close the review findings - six-stage combined uniform blocks, bounded uniform-block bindings, honest vertex-stream count, per-format sample ceilings
|
2026-08-27 03:54:16 -04:00 |
|
swung0x48
|
6cc9faf772
|
[Feat] (Program): report the geometry and tessellation link properties glGetProgramiv had no source for
|
2026-08-27 03:49:38 -04:00 |
|
swung0x48
|
7168f2ef77
|
[Fix] (Getter): answer the GL 4.6 limit surface honestly - tess/cull/subroutine pnames, TBuiltInResource drift, 84 UBO binding points, 64-bit GL_MAX_ELEMENT_INDEX, per-category sample truth
|
2026-08-27 03:47:16 -04:00 |
|
swung0x48
|
07669aacd4
|
[Fix] (ShaderTranspiler): fan #extension implications out to both new gates and bound the mid-line #version probe to its line
|
2026-08-27 03:35:58 -04:00 |
|
swung0x48
|
d52a3b2196
|
[Test] (IntegrationTest): sample-shading state reaches both backends without disturbing the draw
|
2026-08-27 03:35:58 -04:00 |
|
swung0x48
|
9e23016dd4
|
[Perf] (ShaderTranspiler): memchr the mid-line #version scan and gate it on an accepted directive
|
2026-08-27 03:35:57 -04:00 |
|
swung0x48
|
f1354dc25e
|
[Fix] (DirectVulkan): hash the sample-shading state into the pipeline memo key
|
2026-08-27 03:35:56 -04:00 |
|
swung0x48
|
b7a694711a
|
[Test] (IntegrationTest): gl_NumSamples scenario - the value must follow the draw framebuffer, not the link
|
2026-08-27 03:35:56 -04:00 |
|
swung0x48
|
2ae848ca19
|
[Fix] (ShaderTranspiler): route restored ES extension macros through glslang's custom preamble and detect a mid-line repeated #version
|
2026-08-27 03:35:55 -04:00 |
|
swung0x48
|
acf86d1fb6
|
[Feat] (RenderState): implement glMinSampleShading and the GL_SAMPLE_SHADING enable on both backends
|
2026-08-27 03:35:55 -04:00 |
|
swung0x48
|
07a0408a28
|
[Fix] (ShaderTranspiler): lower gl_NumSamples onto a reserved global-UBO uniform, restore ES preamble extension macros, tolerate a repeated #version
|
2026-08-27 03:35:47 -04:00 |
|
Swung0x48
|
8cf2e2aea9
|
[Fix] (Getter): answer GL_PATCH_DEFAULT_*_LEVEL from the float state in glGetBooleanv and write every component in glGetInteger64v
|
2026-08-27 03:18:15 -04:00 |
|
Swung0x48
|
31252cf0da
|
[Fix] (Tessellation): bound the pass-through control-stage cache and stop baking "draw nothing" for levels GL clamps
|
2026-08-27 03:18:14 -04:00 |
|
Swung0x48
|
2635fe84b6
|
[Fix] (Tessellation): compare the default patch levels by bit pattern, so a NaN level stops re-linking the program on every draw
|
2026-08-27 03:18:13 -04:00 |
|
Swung0x48
|
e3163233a5
|
[Fix] (Framebuffer): apply the glFramebufferTexture error conditions to the 2D/3D/Layer attach paths and bound a view by its own level count
|
2026-08-27 03:18:12 -04:00 |
|
Swung0x48
|
eb9e4fdac1
|
[Fix] (DirectVulkan): report the index the arbitrary-restart rewrite cannot represent instead of silently drawing a different vertex
|
2026-08-27 03:18:10 -04:00 |
|
Swung0x48
|
90b7a689c5
|
[Fix] (Backend): resolve primitive restart per draw - never for a non-indexed one, and never on an index the type cannot hold
|
2026-08-27 03:18:09 -04:00 |
|
Swung0x48
|
e69e939d1a
|
[Fix] (ProgramLink): fail the link when a tessellation control stage declares more output vertices than GL_MAX_PATCH_VERTICES
|
2026-08-27 02:11:23 -04:00 |
|
Swung0x48
|
b675e2a0b0
|
[Fix] (Drawing): refuse a draw whose program runs a geometry or tessellation stage with no vertex shader
|
2026-08-27 02:11:21 -04:00 |
|
Swung0x48
|
6979926a6f
|
[Fix] (Framebuffer): the four glFramebufferTexture error conditions the DSA sibling already implemented
|
2026-08-27 02:11:20 -04:00 |
|
Swung0x48
|
d5286e69b6
|
[Feat] (Tessellation): implement glPatchParameterfv and bake the default levels into both pass-through control stages
|
2026-08-27 02:11:19 -04:00 |
|
Swung0x48
|
0f2fcbc469
|
[Fix] (Backend): honour desktop GL_PRIMITIVE_RESTART with an arbitrary index instead of throwing through the C GL ABI
|
2026-08-27 02:11:18 -04:00 |
|
swung0x48
|
18fccdd796
|
[Feat] (Backend): advertise OpenGL 4.6 (target version + OpenGL44/45/46 tokens) on both backends
|
2026-08-26 23:48:36 -04:00 |
|
swung0x48
|
0d2fceab0e
|
[Docs] (DeviceBench): note session.sh leaves frequency pins active by design
|
2026-08-26 05:52:34 -04:00 |
|
swung0x48
|
82decded58
|
[Test] (TraceReplay): minecraft-1.21.4-rd12-odinlite-in-world perf fixture (campaign benchmark scene)
|
2026-08-26 05:52:33 -04:00 |
|
swung0x48
|
d04a3394de
|
[Feat] (DeviceBench): launch retry loop (signal-34 JVM flake), session.sh runner, MSYS path-conversion guards
|
2026-08-26 05:52:32 -04:00 |
|
swung0x48
|
33eabfc2ff
|
[Perf] (DirectGLES): upload the union dirty box instead of scatter rects when staging through the unpack ring (each PBO-sourced glTexSubImage is a GPU copy job on Mali; ~100 sprite rects per tick cost +6ms/frame of GPU time)
|
2026-08-26 05:52:31 -04:00 |
|
swung0x48
|
56e5d13dc9
|
[Perf] (DirectGLES): stage glTexSubImage uploads through a persistent-mapped unpack PBO ring (Mali blocks the render thread on in-flight destination textures)
|
2026-08-26 05:52:30 -04:00 |
|
swung0x48
|
34b7cc772f
|
[Fix] (Build): compile fordebug native code as RelWithDebInfo (debuggable APK was shipping an -O0 libMobileGL.so, invalidating all performance measurements on this flavor)
|
2026-08-26 02:18:47 -04:00 |
|
swung0x48
|
c1d6a3c908
|
[Feat] (TraceReplay): benchmark mode with per-frame timing for device fixtures
|
2026-08-26 02:17:35 -04:00 |
|
swung0x48
|
386bd7e461
|
[Feat] (DeviceBench): scripted in-game FPS benchmark harness (FCLFPS logcat sampling, MTK ppm frequency pinning, thermal gate, GPU busy telemetry)
|
2026-08-26 01:51:04 -04:00 |
|
swung0x48
|
12df061e0b
|
[Test] (SelfTest): model the vertex-input-location and layered-blit defects in the fake driver and pin both probes' controls
|
2026-08-25 05:57:58 -04:00 |
|
swung0x48
|
d83a48da5c
|
[Fix] (SelfTest): read the probe-saved texture bindings off the same unit the restore puts them back on
|
2026-08-25 05:40:08 -04:00 |
|