Commit Graph

  • dd98c450ad [Test] (SelfTest): model the params-before-upload escape so a params-first probe regression reads as a red test swung0x48 2026-08-27 23:13:45 -04:00
  • 5dbbbbd7eb [Fix] (Espryt): allocate the packed16 probe's textures uploads-first, the order a minted backend texture performs and the one the Mali layout choice keys on swung0x48 2026-08-27 23:12:40 -04:00
  • 5d140a41ce [Fix] (Espryt): re-arm the packed16 probe on the allocation-scoped mirror the device actually has and let any mirrored level trigger the widening swung0x48 2026-08-27 23:06:31 -04:00
  • bf376b230f [CI] (Integration): rerun the buffer scenarios with the map flush disabled so the upload-ring tier keeps coverage swung0x48 2026-08-28 00:15:15 -04:00
  • 29599dcf90 [Fix] (DirectGLES): flush queued buffer ranges through a range-invalidating map first, so a partial write into a busy store is priced by the range swung0x48 2026-08-27 23:54:19 -04:00
  • 734fab9f90 [Test] (Integration): scope the SubData-after-dispatch readback case to DirectGLES, naming the DirectVulkan upload-ordering gap it exposed swung0x48 2026-08-27 23:04:52 -04:00
  • 2cd1809c29 [Fix] (Review): rebuild the packed16 probe on the CTS's three-level chains and let the POST row answer for the widening knob actually in force swung0x48 2026-08-27 21:26:19 -04:00
  • faed498476 [Test] (IntegrationTest): shield the packed16 renderbuffer clear from an inherited scissor swung0x48 2026-08-27 20:19:38 -04:00
  • 8282eecbfa [Fix] (Espryt): store RGB565/RGB5_A1/RGBA4 as 8-bit channels where a POST probe measures the Mali packed16 array-mip field-order mirror swung0x48 2026-08-27 20:16:59 -04:00
  • f4f3afb0b6 [Test] (Integration): pin that a queued SubData survives an immediate readback of a GPU-written buffer swung0x48 2026-08-27 22:19:45 -04:00
  • a28da07641 [Fix] (DirectGLES): queue app buffer updates and flush them through a staged-copy upload ring instead of stalling in glBufferSubData swung0x48 2026-08-27 22:19:44 -04:00
  • 200c21336f [Fix] (Readback): size a cube-face pack buffer by one face, and give a cube view's face its owner layer swung0x48 2026-08-27 22:05:23 -04:00
  • 2c3fc583d5 [Test] (Readback): pin the one-face pixel pack buffer and a cube view's per-face layers swung0x48 2026-08-27 21:58:51 -04:00
  • 645a12d8bc [Fix] (Readback): read the cube face a readback names, and let glGetTextureSubImage name one swung0x48 2026-08-27 21:23:22 -04:00
  • 8e6acc5528 [Test] (Readback): pin that a cube map's readback answers the face it was asked for swung0x48 2026-08-27 21:16:48 -04:00
  • 525ffe0f14 [Test] (Review): pin the inverted override mapping, the probe's controls, and that the pinned-on lane is really armed swung0x48 2026-08-27 21:06:01 -04:00
  • ad28d2b744 [Fix, Test] (Review): strip a block's member-level locations too, restore the probe's colour mask, and let the POST verdict follow the override swung0x48 2026-08-27 20:15:31 -04:00
  • eab622388f [Test] (TranslationCache): pin the two interface-block location-strip flags as L2 key material swung0x48 2026-08-27 20:07:49 -04:00
  • 75e573c923 [Fix] (SelfTest): give the located-interface-block probe its own entry-point gate instead of the storage probe's swung0x48 2026-08-27 19:56:26 -04:00
  • 0d0ef13619 [Fix] (DirectGLES): run the interface-block location strip last, where its deliberately Vulkan-invalid module reaches no validator swung0x48 2026-08-27 19:44:18 -04:00
  • 23565fcacd [Fix, Test] (DirectGLES, SelfTest, MG_Test): probe the located-interface-block defect with its controls and cover the strip in both gates swung0x48 2026-08-27 19:38:39 -04:00
  • 5dc26e3e2c [Fix] (DirectGLES, ShaderTranspiler): drop the location qualifier from inter-stage interface blocks on a driver that loses their payload swung0x48 2026-08-27 19:18:35 -04:00
  • 90564aa82e [Test] (Review): give the geometry point-size case its own capability probe swung0x48 2026-08-27 15:42:04 -04:00
  • 7520607d47 [Fix] (Review): decline a point-size program the device cannot run, bound the compile-failure source dump, and correct the pass-through rationale swung0x48 2026-08-27 15:42:04 -04:00
  • 57635a9198 [Test] (Tessellation): unit and headless-GPU coverage for capturing a patch draw's per-vertex payload swung0x48 2026-08-27 15:06:02 -04:00
  • c19d0f0b75 [Fix] (DirectVulkan): mirror gl_PointSize for capture and enable the feature its stages need swung0x48 2026-08-27 15:06:02 -04:00
  • e42e7d00f5 [Fix] (DirectGLES): request the point-size extension a tessellation or geometry stage's ESSL needs swung0x48 2026-08-27 15:06:01 -04:00
  • 62695ee3c2 [Test] (Review): pin the single-sample sample mask, the completeness-flip sampled set, and the integer multisample placeholders swung0x48 2026-08-27 13:17:56 -04:00
  • 02cc0ce83c [Fix] (Review): scope the sample mask to a multisample target, version the sampled-set memo on completeness, clamp the mask word count, give the multisample placeholder every numeric domain, unwind the fixup revert one pass at a time, and bound the validator log swung0x48 2026-08-27 13:03:51 -04:00
  • 9e52a0b23e [Test] (DirectVulkan): pin the incomplete-default-texture draw, the unbound multisample sampler, and the unwritten redeclared gl_Position swung0x48 2026-08-27 12:20:37 -04:00
  • 9dee53337f [Fix] (DirectVulkan): give an unbound multisample sampler a placeholder, clear a multisample texture through a load-op pass, and plumb glSampleMaski into the pipeline swung0x48 2026-08-27 11:54:30 -04:00
  • 28c5badf8f [Fix] (SPIR-V): keep the entry-point interface consistent when the clip fixup and the XFB position mirror inject through gl_Position swung0x48 2026-08-27 11:47:54 -04:00
  • 01116f7b41 [Fix] (DirectVulkan): treat an incomplete sampled texture as unbound in the collect path too, and stop dereferencing a declined texture sync swung0x48 2026-08-27 11:47:54 -04:00
  • 05d627ba2d [Fix] (Xfb): never issue a transform feedback capture-point bind the application did not ask for, and error-check the driver span instead of losing it silently swung0x48 2026-08-27 10:02:07 -04:00
  • ea5d52f126 [Test] (Tessellation): assert the patch-array cross-stage link outright now that the fork pin carries the guard swung0x48 2026-08-27 10:52:00 -04:00
  • 3c70b4fc0f [Fix] (Program): read an API colour index of zero as no override, matching the IO resolver and ProgramInterface swung0x48 2026-08-27 10:52:00 -04:00
  • b6d6316333 [Fix] (Blend): decline a GL_SRC1_* factor on an incapable GLES driver even when blending is off swung0x48 2026-08-27 10:51:59 -04:00
  • 3c9ab5a68f [Test] (Blend): make the dual-source scenario's capability gate skip the case, not just the helper swung0x48 2026-08-27 10:14:52 -04:00
  • 532b5e9cc5 [Fix] (Program): let two fragment outputs share a colour number when their colour index differs swung0x48 2026-08-27 10:11:25 -04:00
  • 06605ed0ea [Test] (Tessellation): include the standard headers the link test uses directly swung0x48 2026-08-27 10:02:28 -04:00
  • e1d5bdc4a5 [Fix] (Blend): decline an unsupported dual-source blend instead of throwing through the GL ABI swung0x48 2026-08-27 09:56:18 -04:00
  • 66867a41ba [Fix] (Program): count the tessellation control stage as a transform-feedback capture stage swung0x48 2026-08-27 09:56:18 -04:00
  • ebff4b21f7 [Fix] (Query): tie the two tessellation pipeline-statistics targets to the GL_ARB_tessellation_shader advertisement swung0x48 2026-08-27 09:56:10 -04:00
  • d4e7378868 [Chore] (ShaderTranspiler): pin glslang fork at d89cf443 (patch-array io-resize guard for the evaluation stage) swung0x48 2026-08-27 10:22:37 -04:00
  • 01d20e5c96 [Test] (Review): border-colour clamping, a readback across a mip gap, and blending on renderbuffer formats with no exact VkFormat swung0x48 2026-08-27 08:23:24 -04:00
  • b04c67d9a8 [Test] (Review): pin the sampler getter matrix, the shadow-readback refusals, and the proxy and by-name parameter targets swung0x48 2026-08-27 08:23:24 -04:00
  • 685d83e3ec [Fix] (Review): bound a texture readback by the image's mip count, refuse cross-format depth/stencil copies, and probe the renderbuffer's real VkFormat swung0x48 2026-08-27 08:23:16 -04:00
  • 009b140691 [Fix] (Review): clamp integer and floating-point border colours to the sampled format's representable range swung0x48 2026-08-27 08:23:16 -04:00
  • 1f44e5bc1d [Fix] (Review): convert every scalar sampler query to the type the caller asked for instead of the other type's bit pattern swung0x48 2026-08-27 08:23:16 -04:00
  • d9aebcba26 [Fix] (Review): refuse a CPU-shadow readback whose layout the pack path cannot produce, and apply the parameter-target rule to proxy and by-name spellings swung0x48 2026-08-27 08:23:16 -04:00
  • 0db666897e [Fix] (DirectGLES): key the border-colour sync memo on the authoritative representation, not just the float one swung0x48 2026-08-27 05:47:27 -04:00
  • 5f445e499f [Test] (Integration): integer border-colour sampling and clear-tex-image on a texture with no level 0 swung0x48 2026-08-27 05:12:22 -04:00
  • c52ebd5bf6 [Test] (Texture): pin the border-colour forms, the GL 4.6 conversion pair and the texparameter validation gaps swung0x48 2026-08-27 05:12:22 -04:00
  • 8e072bc793 [Fix] (DirectVulkan): answer a texture-image query from the CPU shadow when the texture has no VkImage swung0x48 2026-08-27 05:12:21 -04:00
  • 88ee75be0e [Fix] (DirectVulkan): resolve renderbuffer VkFormats through the shared texture table and police copy size-compatibility swung0x48 2026-08-27 05:11:53 -04:00
  • 0dbb4ceba8 [Fix] (DirectVulkan): resolve arbitrary and integer border colours through VK_EXT_custom_border_color, clamped to the sampled format swung0x48 2026-08-27 05:11:16 -04:00
  • a94b3e0bd5 [Fix] (DirectGLES): forward an integer border colour through glTexParameterIiv/glSamplerParameterIiv instead of flattening it to float swung0x48 2026-08-27 05:10:32 -04:00
  • 764b6e044d [Fix] (Texture): reject illegal texparameter targets and sampler enum values, invert the integer border-colour read, and report multisample sampler state as INVALID_ENUM swung0x48 2026-08-27 05:10:32 -04:00
  • c1d89de729 [Fix] (Sampler): carry GL_TEXTURE_BORDER_COLOR with its form, convert per GL 4.6 eq 2.2/2.3, and unify the name and scalar-pname error classes swung0x48 2026-08-27 05:10:26 -04:00
  • c136384f97 [CI] (TraceReplay): keep the rd12-odinlite perf fixture out of the CI matrices until its archive is published swung0x48 2026-08-27 08:23:04 -04:00
  • 1920a3d16f [Test] (Review): pin the composite's linked capture list, the capture-stage rule, and the matrix uniform forms' link check swung0x48 2026-08-27 06:00:54 -04:00
  • 11f4b4bd3b [Fix] (Review): honour a SPIR-V module's transform-feedback decorations, take the composite's capture list from the linked snapshot, and reorder every glProgramUniformMatrix* link check swung0x48 2026-08-27 05:56:45 -04:00
  • 9ef33f4274 [Fix] (Review): bound copies by the requested level, reach every cube face, keep array layer counts, and give glSpecializeShader its spec error surface swung0x48 2026-08-27 05:51:58 -04:00
  • e430e1b3be [Fix] (Texture): give glTexBuffer the sized-format check its TODO deferred and the target-taking forms their own INVALID_ENUM swung0x48 2026-08-27 04:57:16 -04:00
  • e315d9e798 [Test] (GlSpirv): unit and headless-GPU coverage for glShaderBinary, glSpecializeShader and the SPIR_V_BINARY state swung0x48 2026-08-27 04:54:18 -04:00
  • 6f299372c6 [Feat] (Program): implement GL_ARB_gl_spirv - glShaderBinary, glSpecializeShader and the SPIR_V_BINARY state, feeding the module into the ordinary compile pipeline swung0x48 2026-08-27 04:47:01 -04:00
  • be7bf21eb8 [Fix] (ShaderTranspiler): enforce the layout(binding) range rule for samplers, images and uniform/atomic-counter blocks, not only for SSBOs swung0x48 2026-08-27 04:38:57 -04:00
  • 0e4302b399 [Feat] (RenderState): implement glClipControl, glPolygonOffsetClamp and glTextureBarrier instead of stubbing them swung0x48 2026-08-27 04:24:41 -04:00
  • c9c2dcb42a [Feat] (Query): accept the ARB_pipeline_statistics_query targets and report zero counter bits for them swung0x48 2026-08-27 04:24:40 -04:00
  • 2d938971b9 [Fix] (Getter): saturate combined uniform components in 64-bit and answer the missing GL4 state tokens swung0x48 2026-08-27 04:24:39 -04:00
  • f7e23d5d83 [Fix] (DirectVulkan): generate mipmaps for cube-map-array and 1D-array targets, and stop shrinking an array's layer count down the chain swung0x48 2026-08-27 04:24:39 -04:00
  • 02fbb816e9 [Fix] (Texture): cube-map-array shape rules on glTexImage3D, GL_TEXTURE_SHARED_SIZE, and the unimplemented glCopyTexSubImage1D/3D swung0x48 2026-08-27 04:24:38 -04:00
  • 0e0882cfc6 [Test] (IntegrationTest): read cube faces back through a per-face FBO, which glGetTexImage's face token does not distinguish on DirectVulkan swung0x48 2026-08-27 05:07:38 -04:00
  • 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 swung0x48 2026-08-27 05:04:44 -04:00
  • 747864777e [Test] (IntegrationTest): pin the layered 3D and cube-map-array attachment shapes and their per-layer routing swung0x48 2026-08-27 04:37:29 -04:00
  • 6fc3504bd9 [Fix] (Framebuffer): carry the layered flag through the GL_DEPTH_STENCIL_ATTACHMENT split swung0x48 2026-08-27 04:37:28 -04:00
  • df1bcdba09 [Fix] (DirectVulkan): legal view types for layered 3D/cube attachments, and a real failure channel for the render-pass builder swung0x48 2026-08-27 04:19:06 -04:00
  • 843c61dee1 [Chore] (ShaderTranspiler): pin glslang fork at 7e255451 (GL_ARB_cull_distance registration and version-gated availability) swung0x48 2026-08-27 04:01:43 -04:00
  • c0a3f4cc50 [Docs] (Getter): restate the uniform-binding airtightness argument against the per-stage sum, not the combined limit swung0x48 2026-08-27 03:30:24 -04:00
  • 06744fde7f [Fix] (Getter): close the review findings - six-stage combined uniform blocks, bounded uniform-block bindings, honest vertex-stream count, per-format sample ceilings swung0x48 2026-08-27 03:24:34 -04:00
  • 6cc9faf772 [Feat] (Program): report the geometry and tessellation link properties glGetProgramiv had no source for swung0x48 2026-08-27 02:18:17 -04:00
  • 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 swung0x48 2026-08-27 02:18:10 -04:00
  • 07669aacd4 [Fix] (ShaderTranspiler): fan #extension implications out to both new gates and bound the mid-line #version probe to its line swung0x48 2026-08-27 03:01:27 -04:00
  • d52a3b2196 [Test] (IntegrationTest): sample-shading state reaches both backends without disturbing the draw swung0x48 2026-08-27 02:23:38 -04:00
  • 9e23016dd4 [Perf] (ShaderTranspiler): memchr the mid-line #version scan and gate it on an accepted directive swung0x48 2026-08-27 02:16:33 -04:00
  • f1354dc25e [Fix] (DirectVulkan): hash the sample-shading state into the pipeline memo key swung0x48 2026-08-27 02:15:59 -04:00
  • b7a694711a [Test] (IntegrationTest): gl_NumSamples scenario - the value must follow the draw framebuffer, not the link swung0x48 2026-08-27 02:14:13 -04:00
  • 2ae848ca19 [Fix] (ShaderTranspiler): route restored ES extension macros through glslang's custom preamble and detect a mid-line repeated #version swung0x48 2026-08-27 02:03:12 -04:00
  • acf86d1fb6 [Feat] (RenderState): implement glMinSampleShading and the GL_SAMPLE_SHADING enable on both backends swung0x48 2026-08-27 01:56:32 -04:00
  • 07a0408a28 [Fix] (ShaderTranspiler): lower gl_NumSamples onto a reserved global-UBO uniform, restore ES preamble extension macros, tolerate a repeated #version swung0x48 2026-08-27 01:47:02 -04:00
  • 8cf2e2aea9 [Fix] (Getter): answer GL_PATCH_DEFAULT_*_LEVEL from the float state in glGetBooleanv and write every component in glGetInteger64v Swung0x48 2026-08-27 03:18:15 -04:00
  • 31252cf0da [Fix] (Tessellation): bound the pass-through control-stage cache and stop baking "draw nothing" for levels GL clamps Swung0x48 2026-08-27 03:18:14 -04:00
  • 2635fe84b6 [Fix] (Tessellation): compare the default patch levels by bit pattern, so a NaN level stops re-linking the program on every draw Swung0x48 2026-08-27 03:18:13 -04:00
  • e3163233a5 [Fix] (Framebuffer): apply the glFramebufferTexture error conditions to the 2D/3D/Layer attach paths and bound a view by its own level count Swung0x48 2026-08-27 03:18:12 -04:00
  • eb9e4fdac1 [Fix] (DirectVulkan): report the index the arbitrary-restart rewrite cannot represent instead of silently drawing a different vertex Swung0x48 2026-08-27 03:18:10 -04:00
  • 90b7a689c5 [Fix] (Backend): resolve primitive restart per draw - never for a non-indexed one, and never on an index the type cannot hold Swung0x48 2026-08-27 03:18:09 -04:00
  • e69e939d1a [Fix] (ProgramLink): fail the link when a tessellation control stage declares more output vertices than GL_MAX_PATCH_VERTICES Swung0x48 2026-08-27 02:11:23 -04:00
  • b675e2a0b0 [Fix] (Drawing): refuse a draw whose program runs a geometry or tessellation stage with no vertex shader Swung0x48 2026-08-27 02:11:21 -04:00
  • 6979926a6f [Fix] (Framebuffer): the four glFramebufferTexture error conditions the DSA sibling already implemented Swung0x48 2026-08-27 02:11:20 -04:00
  • d5286e69b6 [Feat] (Tessellation): implement glPatchParameterfv and bake the default levels into both pass-through control stages Swung0x48 2026-08-27 02:11:19 -04:00