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
|
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
|
cdba7bed2e
|
[Test, Bench] (ShaderTranspiler): pin L1 backend-agnosticism and measure the whole-front-end hit
|
2026-08-20 12:00:01 -04:00 |
|
Swung0x48
|
1eeeb44d94
|
[Perf] (ProgramState): serve a whole linked program from translation cache L1, skipping the link entirely
|
2026-08-20 12:00:01 -04:00 |
|
swung0x48
|
fa2e15c27e
|
[Fix, Test] (GLImpl): answer GL_IMAGE_FORMAT_COMPATIBILITY_TYPE from glGetTexParameterfv
|
2026-08-20 11:56:24 -04:00 |
|
Swung0x48
|
14744f117c
|
[Refactor] (ProgramInterface): build the program-resource model from the reflection snapshot, retiring GetReflection
|
2026-08-20 11:47:57 -04:00 |
|
Swung0x48
|
8329ab4264
|
[Refactor] (ProgramState): answer the GL query surface from an owned reflection snapshot, not the live TProgram
|
2026-08-20 11:43:42 -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
|
93f1106ba4
|
[Fix] (ShaderTranspiler): key translation cache L1 on the front-end environment only, not backend identity
|
2026-08-20 11:30:31 -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 |
|
swung0x48
|
6159166d38
|
[Fix, Test] (GLImpl, ShaderTranspiler): reconcile the atomic-counter limits glGetIntegerv and glslang advertise
|
2026-08-20 11:20:21 -04:00 |
|
swung0x48
|
c6d1b29407
|
[Merge] (CTS): land the GL43 copy_image and clear_tex_image fixes
|
2026-08-20 11:16:59 -04:00 |
|
Swung0x48
|
5fecfa42f6
|
[Bench] (ShaderTranspiler): bracket the translation-cache win with a CTS-sized and a heavy stage
|
2026-08-20 11:11:37 -04:00 |
|
Swung0x48
|
d48e5d0053
|
[Fix] (ShaderTranspiler): leak the translation caches so no worker inserts into a destroyed one at exit
|
2026-08-20 11:09:01 -04:00 |
|
swung0x48
|
0995dfea35
|
[Test] (MG_IntegrationTest): force the iterationRP repairs on when the pinned ICD is lavapipe
|
2026-08-20 11:06:48 -04:00 |
|
Swung0x48
|
7a0182b58f
|
[Bench] (ShaderTranspiler): measure the translation cache on a repeated-compile loop
|
2026-08-20 10:59:46 -04:00 |
|
Swung0x48
|
0f523db14d
|
[Test] (ShaderTranspiler): cover both translation-cache key inventories, eviction and the concurrent path
|
2026-08-20 10:59:46 -04:00 |
|
Swung0x48
|
442cec1a15
|
[Perf] (DirectGLES): memoize the SPIR-V to ESSL transpile per stage (translation cache L2)
|
2026-08-20 10:51:05 -04:00 |
|
Swung0x48
|
246a438138
|
[Perf] (ShaderTranspiler): memoize a linked program's sanitized SPIR-V (translation cache L1)
|
2026-08-20 10:51:05 -04:00 |
|
swung0x48
|
042c61fb75
|
[Fix, Test] (TextureUtil, GLImpl): accept GL_STENCIL_INDEX as a stencil-only texture internal format
|
2026-08-20 10:49:57 -04:00 |
|
swung0x48
|
a8bebe1a3c
|
[Fix, Test] (GLImpl, GLState): refuse a compressed texture in glClearTexImage/glClearTexSubImage
|
2026-08-20 10:44:52 -04:00 |
|
swung0x48
|
85cd6913b3
|
[Fix] (DirectGLES): sync a texture whose mip chain only defines the upper levels
|
2026-08-20 10:38:52 -04:00 |
|
swung0x48
|
afebf38e90
|
[Fix, Test] (GLImpl): require only the requested level to exist in glGetTexImage
|
2026-08-20 10:38:29 -04:00 |
|
swung0x48
|
898c39f1de
|
[Fix] (DirectGLES, DirectVulkan): decline a null copy-image endpoint and settle a renderbuffer on its attachment layout
|
2026-08-20 10:23:03 -04:00 |
|