BZLZHH
45d506545e
[Fix] (MG_Util, DirectVulkan): tolerate storage-less attachments in component-size queries
...
GetComponentSizesForInternalFormat asserted on TextureInternalFormat::Unknown,
which framebuffer-parameter queries legitimately reach for attachments that
have no storage yet (KHR-GL33.packed_depth_stencil.validate_errors.initial_state
aborted there). Answer with all-zero sizes and keep a warning for genuinely
unhandled formats. Also include the image dimensions in the texture
vmaCreateImage failure report.
2026-07-31 16:35:03 -04:00
BZLZHH
93a3b55907
[Feat] (DirectVulkan): upload combined depth-stencil texture data
...
UploadDirtyMipLevels used to skip D24S8/D32FS8 textures outright, leaving
glTexImage-supplied depth-stencil data unuploaded (KHR-GL33
texture_repeat_mode depth24_stencil8 and texture_swizzle depth-stencil
cases all sampled zeros). De-interleave the shadow's GL wire format into a
depth plane (X8_D24 word / float) and a stencil byte plane and record one
copy per aspect, with cross-conversion when the device backs the texture
with the other depth-stencil format.
Depth32FStencil8's shadow byte size also claimed 16 bytes/texel while the
stored wire format (GL_FLOAT_32_UNSIGNED_INT_24_8_REV) is 8; that mismatch
truncated every upload of it.
Also route a multisample-texture sample-count request through the device's
supported counts (round up, GL promises at-least semantics).
2026-07-31 16:15:50 -04:00
swung0x48
870d882fef
[Fix] (MG_Backend/DirectGLES, MG_Impl/GLImpl, MG_Util): GL CTS packed_pixels + texture_swizzle readback overhaul - canonical shadow layouts for legacy sized/unsized/packed internal formats (RGB5->RGB565, RGB10/12->RGB16, RGBA2->RGBA4, RGB10_A2(UI)/RGB9_E5/R11F_G11F_B10F packed-word shadows with per-texel encode/decode incl. 5_9_9_9_REV and 10F_11F_11F_REV client types), GL_UNSIGNED_INT_10_10_10_2 pixel type mapping, conversion-first GetTexImage with CPU-shadow fallback for non-attachable formats and stale-temp-FBO detach, narrow implementation read pairs + SNORM read candidates + 2_10_10_10_REV wide-read decode with RGBA expansion, PACK image/skip and SWAP_BYTES honored on the CPU repack (never in ES), state-reset conformance (default-texture TexParameter/TexImage/TexBuffer no-ops, renderbuffer 0 unbind, vertex attrib 0 current value, ActiveTexture up to combined units, UBO binding count clamp), FramebufferTexture3D/TextureLayer slice attachments via glFramebufferTextureLayer, capability-driven FBO UNSUPPORTED for non-renderable colors, ReadPixels integer-ness mismatch error, single-value texture swizzle validation, and DirectGLES 1D/1D-array/2D-array texture emulation (2D/2D-array backend targets matching SPIRV-Cross ES 1D-as-2D shaders)
2026-07-16 22:41:54 -04:00
swung0x48
6ca48e40fe
[Feat] (MG_State, MG_Util, MG_Impl/GLImpl, MG_Backend/DirectGLES): desktop-GL single-channel client formats GL_GREEN/GL_BLUE/GL_ALPHA and _INTEGER variants - validate and readback via wide-RGBA channel extraction (GL CTS packed_pixels rgba8_format_green/blue read with them), unpack GREEN/BLUE(_INTEGER) TexImage uploads into the named channel with 0/1 defaults per table 3.3; GL_ALPHA keeps the legacy Red upload mapping (R8 storage + 000R swizzle), its readback corrected at the backend to source channel 3
2026-07-16 06:47:33 -04:00
swung0x48
e7bb46e819
[Fix] (MG_Backend/DirectGLES): support Sundial Lite shader pack
2026-06-17 10:58:12 +08:00
BZLZHH
727939af5b
[Fix] (MG_Impl, MG_State, MG_Backend, MG_Util): Do source audit by Codex.
2026-06-09 15:34:19 +08:00
swung0x48
39c5b28dfb
[Fix] (MG_Backend/DirectVulkan): fixing Photon v1.1
...
- Flatten DailyWeatherVariation interface varyings
- Correct internal-format component counts
- Preserve GL draw-buffer slot semantics in render pass creation
- relax GL_NONE / vec4-to-RGB pipeline checks
2026-05-09 09:56:45 +08:00
swung0x48
76e3950028
[Feat] (MG_Backend/DirectVulkan): GenerateMipmap WIP
2026-05-07 15:14:25 +08:00
BZLZHH
a7d8e90600
[Feat] (MG_Backend/DirectGLES|MG_Impl): Initial implementions of GetTexImage and ReadPixels.
2026-02-06 20:14:18 +08:00
BZLZHH
20fbfc2956
[Chore] (LICENSE): Switch project license to LGPLv3.
2026-01-18 09:33:33 +08:00
swung0x48
d7e1aee645
[Chore] (MG_Impl/Texture): convert base internal format to sized ones (on a best-effort basis)
2026-01-08 10:19:20 +08:00
swung0x48
7819a8e405
[Fix] (MG_Util/TextureMetrics): fix wrong size of RGB16F, RGB16I, RGB16UI
2026-01-04 16:38:18 +08:00
BZLZHH
b68d2859e8
[Feat] (MG_Util|MG_State/TextureState): Add TexturePixelDataType::HalfFloat and TexturePixelDataType::UnsignedInt248. Handle TexturePixelDataType::Float32UnsignedInt248Rev.
2026-01-01 13:17:25 +08:00
BZLZHH
3714e275ab
[Chore] (All): Update copyright year in source code files.
2026-01-01 00:42:06 +08:00
BZLZHH
e7d9da42dc
[Chore] (All): Adjust copyright declaration.
2025-12-31 21:49:54 +08:00
BZLZHH
9f4a1041ba
Merge branch 'dev' into Feat/Backend-Direct-GLES
2025-12-31 15:46:56 +08:00
BZLZHH
8ed8efe347
[Chore] (All): Add standardized source file header and update script.
2025-12-31 15:45:34 +08:00
swung0x48
b220c8baab
[Feat] (MG_Impl/Texture): Decouple texture internal format and input format
2025-12-15 14:16:36 +08:00
BZLZHH
100d5bca99
[Feat] (MG_Util/Types): Add ComponentSizes.
2025-12-14 11:15:27 +08:00
BZLZHH
fe741f892e
[Fix] (MG_Util/Metrics): Handle TextureInternalFormat::Red
2025-11-30 10:13:31 +08:00
BZLZHH
d982928a23
[Improvement] (...): Optimize code.
2025-10-31 13:29:48 +08:00
swung0x48
bd01e4f99d
[Fix] (MG_Util/TextureMetrics, MG_State/Texture): reimplement TextureMetrics, attempting to fix glTexSubImage2D
2025-10-28 10:17:56 +08:00
BZLZHH
675ee4915b
[Feat|Fix] (MG_Impl/Texture): Implement TexImage2D & related stuff.
2025-08-14 18:32:37 +08:00
BZLZHH
0b13cb5714
[Feat] (MG_State/TextureState): Implement TextureState.
2025-08-10 23:13:22 +08:00