swung0x48
|
e5846569ca
|
[Refactor] (ShaderTranspiler): bump the vendored glslang for the uniform-location snapshot and the atomic-counter offset check
|
2026-08-21 13:51:21 -04:00 |
|
swung0x48
|
194c2f189b
|
[Merge] (ShaderTranspiler): land the macro-spelled storage-block binding repair
|
2026-08-21 12:16:52 -04:00 |
|
swung0x48
|
7de7cfc6eb
|
[Fix, Test] (ShaderTranspiler): read a storage block's macro-spelled binding as declared, not as absent
|
2026-08-21 12:09:03 -04:00 |
|
swung0x48
|
03e69fc9ef
|
[Merge] (ShaderTranspiler): land the single-implementation subroutine lowering and the imageSize select ladder
|
2026-08-21 11:59:49 -04:00 |
|
swung0x48
|
ee74c8ea3a
|
[Merge] (DirectGLES): land the post-relink rebind repair
|
2026-08-21 11:59:49 -04:00 |
|
swung0x48
|
54bbe805e5
|
[Merge] (GLState): land the GL block and uniform enumeration repair
|
2026-08-21 11:59:49 -04:00 |
|
swung0x48
|
6e2a3b3496
|
[Fix, Test] (GLState): stop enumerating buffer variables as GL uniforms
|
2026-08-21 11:55:29 -04:00 |
|
swung0x48
|
f5a0779385
|
[Fix, Test] (GLState): keep the atomic-counter and storage blocks out of the GL uniform-block list
|
2026-08-21 11:54:45 -04:00 |
|
swung0x48
|
86fdc68efa
|
[Fix, Test] (ShaderTranspiler): let the image-array select ladder carry an imageSize query, not just a read
|
2026-08-21 11:49:30 -04:00 |
|
swung0x48
|
1185265e22
|
[Fix, Test] (DirectGLES): re-bind the driver program after a relink so a stage the relink added reaches the draw
|
2026-08-21 11:47:03 -04:00 |
|
swung0x48
|
77c05b151a
|
[Fix, Test] (ShaderTranspiler): lower a single-implementation GLSL subroutine to a forwarding call
|
2026-08-21 11:45:49 -04:00 |
|
swung0x48
|
fdbe0b3117
|
[Fix, Test] (DirectGLES, DirectVulkan, GLImpl, GLState): ask the last link, not the live attach list, what stages a program has
|
2026-08-21 08:01:48 -04:00 |
|
swung0x48
|
9c9739e1c3
|
[Merge] (DirectGLES, GLState, GLImpl, ShaderTranspiler): land GL43 wave6 and wave7
|
2026-08-21 07:15:13 -04:00 |
|
swung0x48
|
87548ae78a
|
[Merge] (DirectGLES, GLState, GLImpl, ShaderTranspiler): land GL43 wave6 and wave7 with the image-uniform naming repair
|
2026-08-21 07:11:00 -04:00 |
|
swung0x48
|
2a902ff58c
|
[Fix, Test] (ShaderTranspiler): bound the whole loop nest a fragment-output index marks for unrolling
|
2026-08-21 07:04:19 -04:00 |
|
swung0x48
|
a79eadd724
|
[Fix, Test] (ShaderTranspiler): bound the whole loop nest a resource-array index marks for unrolling
|
2026-08-21 07:04:19 -04:00 |
|
swung0x48
|
518e9c7796
|
[Fix, Test] (DirectGLES): read an image array subscript unsigned literal as the element index it is
|
2026-08-21 06:57:59 -04:00 |
|
swung0x48
|
a4c11f2603
|
[Fix, Test] (DirectGLES): arm the image-format widening for a baked format on every driver
|
2026-08-21 06:54:39 -04:00 |
|
swung0x48
|
37a656dedc
|
[Fix, Test] (DirectGLES): name a repaired image uniform after its repair, not after its stage
|
2026-08-21 06:51:12 -04:00 |
|
swung0x48
|
3cc6b88767
|
[Fix, Test] (GLState): keep named-block members out of the GL uniform location pool
|
2026-08-21 06:36:47 -04:00 |
|
swung0x48
|
b32c35a113
|
[Fix, Test] (GLImpl): ask the stage, not GL_NONE, whether a geometry shader is active
|
2026-08-21 06:20:54 -04:00 |
|
swung0x48
|
8587b83be3
|
[Fix, Test] (ShaderTranspiler, DirectGLES): make every emitted image-array subscript a compile-time constant
|
2026-08-21 06:11:04 -04:00 |
|
swung0x48
|
0cef345d61
|
[Fix, Test] (GLState): give an atomic counter array its packed stride of four
|
2026-08-21 06:10:47 -04:00 |
|
swung0x48
|
31367de628
|
[Test] (MG_IntegrationTest): cover a storage block's default binding where another resource competes for it
|
2026-08-21 05:27:45 -04:00 |
|
swung0x48
|
bc4b62026a
|
[Docs] (ShaderTranspiler): record the byte-exact fp64 block-layout evidence and its one misleading artifact
|
2026-08-21 05:24:49 -04:00 |
|
swung0x48
|
50da7de737
|
[Fix, Test] (DirectGLES, ShaderTranspiler): synthesize the pass-through tessellation control stage ES requires
|
2026-08-21 05:23:57 -04:00 |
|
swung0x48
|
d9def5c1bb
|
[Fix, Test] (GLImpl, GLState): give a storage block with no binding qualifier GL's default binding of zero
|
2026-08-21 05:13:58 -04:00 |
|
swung0x48
|
21a4c8aa95
|
[Fix, Test] (ShaderTranspiler, DirectGLES): widen the offset and gradients of a 1D sampler lookup for ESSL
|
2026-08-21 04:57:52 -04:00 |
|
swung0x48
|
6317066add
|
[Fix, Test] (DirectGLES): reach an image array's non-consecutive units by widening the array over their span
|
2026-08-21 04:38:59 -04:00 |
|
swung0x48
|
02b59bef80
|
[Fix, Test] (DirectGLES): give every repaired image uniform a per-stage name so no linker can merge two stages' qualifiers
|
2026-08-21 04:28:44 -04:00 |
|
swung0x48
|
668f3e90c9
|
[Fix] (DirectGLES, ShaderTranspiler): widen the formats SPIRV-Cross refuses to print even where GL_NV_image_formats exists
|
2026-08-21 04:13:01 -04:00 |
|
swung0x48
|
07d6277f87
|
[Test] (MG_IntegrationTest): cover GL's missing-channel semantics for a non-core image format
|
2026-08-21 03:54:16 -04:00 |
|
swung0x48
|
b164692387
|
[Test] (ShaderTranspiler): retarget the bake-decline pin at the formats no core carrier rescues
|
2026-08-21 03:48:59 -04:00 |
|
swung0x48
|
80ea44573e
|
[Test] (ShaderTranspiler): pin the ESSL a widened image module emits, on both SPIRV-Cross failure modes
|
2026-08-21 03:34:27 -04:00 |
|
swung0x48
|
2a7d6f2e16
|
[Perf] (DirectGLES, ShaderTranspiler): fold the image-widening gate into the shared SPIR-V probe
|
2026-08-21 03:24:09 -04:00 |
|
swung0x48
|
3a12f6d4f3
|
[Fix, Test] (DirectGLES, ShaderTranspiler): emulate the 17 exactly-carriable non-core image formats by channel widening
|
2026-08-21 03:21:09 -04:00 |
|
swung0x48
|
36b9d26b9d
|
[Fix] (DirectVulkan): match the 2_10_10_10 storage image view format to the texture's own
|
2026-08-21 02:54:47 -04:00 |
|
swung0x48
|
4b41f01b68
|
[Merge] (DirectGLES, GLState, ShaderTranspiler): land GL43 wave5 with its two new passes inside the L2 boundary
|
2026-08-21 00:43:39 -04:00 |
|
swung0x48
|
e81e938bb8
|
[Docs] (GLImpl): name the right copy_image conformance case in the 1D-array bounds note
|
2026-08-21 00:28:22 -04:00 |
|
swung0x48
|
5fa849674e
|
[Fix] (DirectVulkan): gate the GL_DOUBLE vertex narrowing on the same fp64 flag the shader demotion uses
|
2026-08-21 00:28:03 -04:00 |
|
swung0x48
|
aed10f65a6
|
[Fix, Test] (GLImpl, MG_IntegrationTest): enforce the tessellation draw-mode rules and waive the XFB mode match for it
|
2026-08-21 00:23:15 -04:00 |
|
swung0x48
|
a687fc4577
|
[Fix] (ProgramState): stop the uniform-location grow path minting locations past GL_MAX_UNIFORM_LOCATIONS
|
2026-08-21 00:19:28 -04:00 |
|
swung0x48
|
ef66aea73b
|
[Fix, Test] (GLImpl, DirectGLES, DirectVulkan): address a 1D array's copy-image layers on Z, not Y
|
2026-08-21 00:15:01 -04:00 |
|
swung0x48
|
c129cdec2d
|
[Fix, Test] (ShaderTranspiler, ProgramState): reject an out-of-range atomic-counter offset at compile
|
2026-08-21 00:10:53 -04:00 |
|
swung0x48
|
7a7340ebe2
|
[Fix, Test] (GLImpl, ProgramState): answer the classic uniform queries for atomic counters at GL level
|
2026-08-21 00:07:07 -04:00 |
|
swung0x48
|
325ba07776
|
[Fix, Test] (ShaderTranspiler): route every sub-array of an array-of-arrays uniform to its own UBO offset
|
2026-08-21 00:02:30 -04:00 |
|
swung0x48
|
7aa91e8024
|
[Fix, Test] (DirectGLES, DirectVulkan): narrow GL_DOUBLE vertex arrays to float32 instead of dropping them
|
2026-08-20 23:54:49 -04:00 |
|
swung0x48
|
1b5a39473e
|
[Fix, Test] (ShaderTranspiler, DirectGLES): flatten the atomic-counter block's declared offsets for ESSL
|
2026-08-20 23:39:26 -04:00 |
|
swung0x48
|
0e5f591cfa
|
[Docs] (ShaderTranspiler): name the conformance cases fp64 block demotion costs
|
2026-08-20 23:26:18 -04:00 |
|
swung0x48
|
79336c5ccc
|
[Fix, Test] (DirectGLES): re-issue the indexed binding of a storage buffer whose store was regrown
|
2026-08-20 23:16:08 -04:00 |
|
swung0x48
|
be45dbcf54
|
[Test] (MG_IntegrationTest): pin a non-constant index into an array of storage blocks
|
2026-08-20 23:15:48 -04:00 |
|
swung0x48
|
f7dfa01c18
|
[Fix, Test] (ShaderTranspiler, DirectGLES): make every array-of-storage-blocks index a constant for ESSL
|
2026-08-20 23:08:38 -04:00 |
|
swung0x48
|
50efa4410a
|
[Test] (MG_IntegrationTest): dispatch an imageAtomicAdd against the two 1D image targets
|
2026-08-20 22:55:51 -04:00 |
|
swung0x48
|
bea3086b41
|
[Diagnostic, Test] (DirectGLES): name the image-uniform split as a cause when the backend link fails
|
2026-08-20 22:53:25 -04:00 |
|
swung0x48
|
8ae93c837d
|
[Fix, Test] (DirectGLES): order the split image pair's store before its load with memoryBarrierImage
|
2026-08-20 22:49:05 -04:00 |
|
swung0x48
|
4154f2e941
|
[Fix, Test] (ShaderTranspiler, DirectGLES): widen a non-arrayed 1D storage image's atomic coordinate
|
2026-08-20 22:46:32 -04:00 |
|
swung0x48
|
cd07d42a47
|
[Fix, Test] (RenderState, DirectGLES, MG_IntegrationTest): tell a deliberately empty scissor box apart from one that was never written
|
2026-08-20 22:27:14 -04:00 |
|
swung0x48
|
ae0373eb48
|
[Merge] (DirectGLES, ShaderTranspiler): land GL43 wave4 with the interface-block rename inside the L2 boundary
|
2026-08-20 21:13:55 -04:00 |
|
swung0x48
|
7480bf4490
|
[Perf] (CTS-Harness): add a --cpu-mask switch and pin glcts to the big cluster by default
|
2026-08-20 21:03:54 -04:00 |
|
swung0x48
|
54b206d90c
|
[Test, Bench] (ShaderTranspiler): pin the parse-verdict memo and measure the deferred parse
|
2026-08-20 18:53:57 -04:00 |
|
swung0x48
|
5daf7bf093
|
[Perf] (ShaderTranspiler, ProgramState): memoize the glslang parse verdict so a repeated compile skips the parse
|
2026-08-20 18:53:57 -04:00 |
|
swung0x48
|
a8228ca287
|
[Merge] (ShaderTranspiler, GLState, DirectGLES): land dev GL43 wave2/wave3 under the translation cache
|
2026-08-20 18:03:06 -04:00 |
|
swung0x48
|
8b827bd2ce
|
[Fix, Test] (TextureFormatProcessor, DirectGLES, MG_IntegrationTest): give every unrenderable signed-normalized colour attachment an exact float substitute
|
2026-08-20 17:17:31 -04:00 |
|
swung0x48
|
6aa161fee7
|
[Fix, Test] (DirectGLES, ShaderTranspiler, MG_IntegrationTest): spell an interface block declared in both directions once per producing stage
|
2026-08-20 16:56:58 -04:00 |
|
swung0x48
|
48a70fea81
|
[Fix, Test] (DirectGLES, PixelStoreProcessor, MG_IntegrationTest): read a packed level's stored words instead of trusting the shadow
|
2026-08-20 16:15:52 -04:00 |
|
swung0x48
|
6ea4f32635
|
[Fix, Test] (TextureFormatProcessor): store the desktop-only low-bit formats without a driver requantization
|
2026-08-20 16:04:38 -04:00 |
|
swung0x48
|
dc1fffb041
|
[Fix, Test] (GLImpl): bound glCopyImageSubData's region against both images
|
2026-08-20 16:02:08 -04:00 |
|
swung0x48
|
d24d5b5ccd
|
[Fix, Test] (BackendLoader, DirectGLES, DirectVulkan, GLImpl): answer the layer and viewport-index provoking-vertex conventions from the backend
|
2026-08-20 15:40:25 -04:00 |
|
swung0x48
|
51883cf1a3
|
[Fix, Test] (GLState): deliver the GL_MIN_MAP_BUFFER_ALIGNMENT that glGetIntegerv advertises
|
2026-08-20 15:35:02 -04:00 |
|
swung0x48
|
6dfadeb7d2
|
[Fix, Test] (BackendLoader): drain and gate every capability probe whose pname is not ES core
|
2026-08-20 15:30:11 -04:00 |
|
swung0x48
|
4fc3531d0d
|
[Fix, Test] (BackendLoader, DirectVulkan, ShaderTranspiler): report GL_MAX_CLIP_DISTANCES from the backend's real clip-distance capability
|
2026-08-20 15:25:29 -04:00 |
|
swung0x48
|
9bde0e500f
|
[Merge] (CTS): land the GL43 wave-3 fixes and the DirectVulkan texture-shape repairs
|
2026-08-20 14:17:20 -04:00 |
|
swung0x48
|
3477d87b50
|
[Fix] (DirectVulkan): back a 1D array with its layers in arrayLayers, not in the image height
|
2026-08-20 14:14:21 -04:00 |
|
swung0x48
|
c2a081fa75
|
[Fix] (GLState, DirectVulkan): bust the texture-sync skip when a re-spec moved only the shape
|
2026-08-20 14:02:05 -04:00 |
|
swung0x48
|
685fd750c9
|
[Test] (MG_Test): expect buffer-texture level queries to answer, not to error
|
2026-08-20 13:50:45 -04:00 |
|
swung0x48
|
02c9b8a32d
|
[Fix, Test] (GLImpl, DirectVulkan, MG_IntegrationTest): record glVertexAttribLFormat's state and drop the array at draw
|
2026-08-20 13:44:44 -04:00 |
|
swung0x48
|
26f02567d7
|
[Fix, Test] (GLState, GLImpl): reserve an inactive uniform's explicit location and pin the link to GL_MAX_UNIFORM_LOCATIONS
|
2026-08-20 13:39:38 -04:00 |
|
swung0x48
|
a3dbe234d7
|
[Fix, Test] (GLImpl, MG_IntegrationTest): answer glGetTexLevelParameter for buffer textures instead of erroring
|
2026-08-20 13:27:50 -04:00 |
|
swung0x48
|
de8e7a4606
|
[Fix, Test] (ShaderTranspiler): parse layout literals in every GLSL base and key array-of-arrays uniforms per element
|
2026-08-20 13:24:04 -04:00 |
|
swung0x48
|
31a5da6190
|
[Test] (BackendLoader, DirectGLES): cover the per-stage storage block limits and the mg_IndirectParams injection gate
|
2026-08-20 13:16:29 -04:00 |
|
swung0x48
|
8899f065f4
|
[Fix] (DirectGLES): gate the mg_IndirectParams vertex-stage injection on the driver having a vertex storage block
|
2026-08-20 13:16:29 -04:00 |
|
swung0x48
|
a991f63899
|
[Fix] (GLImpl): answer the per-stage GL_MAX_*_SHADER_STORAGE_BLOCKS queries from the backend instead of a fixed 16
|
2026-08-20 13:16:29 -04:00 |
|
swung0x48
|
3ff9cfe5c2
|
[Fix] (BackendLoader, DirectGLES, DirectVulkan): derive the per-stage shader storage block limits from the backend
|
2026-08-20 13:16:29 -04:00 |
|
swung0x48
|
6359fba455
|
[Test] (MG_Test): compile the compute-limit probe against the captured env, not the null-env fallback
|
2026-08-20 13:09:38 -04:00 |
|
swung0x48
|
872876961d
|
[Fix] (GLState): pin the storage-binding ceiling's min/max to Int so no platform can widen either argument
|
2026-08-20 13:08:22 -04:00 |
|
swung0x48
|
e2923a239f
|
[Fix, Test] (ShaderTranspiler): size a non-final unsized storage-block member so the members after it stop aliasing it
|
2026-08-20 13:05:50 -04:00 |
|
swung0x48
|
1740a8a41a
|
[Feat, Test] (GLImpl, GLState): implement glBeginConditionalRender and discard the commands GL 4.6 10.9 names
|
2026-08-20 12:59:22 -04:00 |
|
swung0x48
|
6b1d89f279
|
[Fix, Test] (DirectGLES, MG_IntegrationTest): re-sync image-unit bindings when a draw's image texture was re-specified
|
2026-08-20 12:52:13 -04:00 |
|
swung0x48
|
01fbe0b4b0
|
[Fix, Test] (GLState, ShaderTranspiler): reject a storage-block binding at or past GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS
|
2026-08-20 12:45:56 -04:00 |
|
swung0x48
|
cb155c5b94
|
[Fix, Test] (GLImpl, ShaderTranspiler): reconcile the compute work-group limits glGetIntegeri_v and glslang advertise
|
2026-08-20 12:41:01 -04:00 |
|
swung0x48
|
04a06438c5
|
[Fix] (GLState): count an image-uniform array once however reflection spelled it
|
2026-08-20 12:16:57 -04:00 |
|
swung0x48
|
db00774224
|
[Fix] (DirectGLES): report the image formats GLSL ES cannot spell instead of losing the program silently
|
2026-08-20 12:16:56 -04:00 |
|
swung0x48
|
f378c1a064
|
[Fix, Test] (DirectGLES): read 1D-array and cube-map-array levels back layer by layer in glGetTexImage
|
2026-08-20 12:16:55 -04:00 |
|
swung0x48
|
421ccd08c6
|
[Fix, Test] (DirectGLES): make both halves of a split read+write image coherent
|
2026-08-20 12:04:43 -04:00 |
|
swung0x48
|
039af520bf
|
[Fix, Test] (GLState): fail the link when a stage exceeds GL_MAX_*_IMAGE_UNIFORMS
|
2026-08-20 12:02:22 -04:00 |
|
swung0x48
|
fa2e15c27e
|
[Fix, Test] (GLImpl): answer GL_IMAGE_FORMAT_COMPATIBILITY_TYPE from glGetTexParameterfv
|
2026-08-20 11:56:24 -04:00 |
|
swung0x48
|
ee98c453ed
|
[Fix, Test] (GLImpl): enforce GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS on the bind and indexed-query paths
|
2026-08-20 11:39:28 -04:00 |
|
swung0x48
|
f88322ce84
|
[Feat, Test] (DirectGLES, ShaderTranspiler): bind atomic counter buffers end-to-end on the ES backend
|
2026-08-20 11:36:52 -04:00 |
|
swung0x48
|
31b5b563d6
|
[Fix, Test] (GLState): fail the link when two atomic counters share a binding and an offset
|
2026-08-20 11:27:13 -04:00 |
|
swung0x48
|
a9fb7ef0af
|
[Fix, Test] (GLImpl, GLState): answer GL_ACTIVE_ATOMIC_COUNTER_BUFFERS and implement glGetActiveAtomicCounterBufferiv
|
2026-08-20 11:23:33 -04:00 |
|