Commit Graph

12447 Commits

Author SHA1 Message Date
John Cote 0661574448
Merge remote-tracking branch 'upstream/master' 2026-01-30 20:16:19 -05:00
rdb 252c0a6f37 display: Make context current before dispatching compute shader 2026-01-29 21:09:19 +01:00
rdb 87c8aa8c90 glgsg: Robustness and issue fixing around shader binding 2026-01-29 21:01:06 +01:00
rdb dbe05e079b tinydisplay: Reimplement color blending, supporting more options
Separate blend modes/operands for rgb/alpha are now supported, and min/max blend
modes are supported too.  To avoid code bloat, the operands are now no
longer implemented as separate permutations in the table, but using a
small table and a mask.  I haven't tested performance but it shouldn't
be much worse (and this is the "general" fallback case anyway, which
should prioritize correctness) and the number of functions is significantly reduced.

A bug was fixed regarding sRGB behavior when only the blue channel is
enabled.

M_subtract and M_inv_subtract are still left unimplemented.
2026-01-29 19:22:46 +01:00
rdb b7ffef7338 pgraph: Fix ColorBlendAttrib alpha settings not hashed/compared 2026-01-29 19:20:51 +01:00
rdb 712d67414f tinydisplay: Convert Python scripts to Python 3 2026-01-28 22:54:23 +01:00
rdb 68c807bd5d glgsg: Don't query supported Cg profiles when running under EGL
Cg tries to dlopen libGL and load and call GLX functions from there,
which is not good
2026-01-28 16:51:33 +01:00
rdb df7aa557ec tinydisplay: Support DepthBiasAttrib (const offset only) 2026-01-28 16:47:05 +01:00
rdb c1a2458f8e tinydisplay: Fix assorted depth-related issues:
- M_always depth test wasn't implemented but M_none was
- framebuffer_copy_to_ram didn't work for the depth buffer
- the clear depth value was being ignored
- depth range on DisplayRegion wasn't being honored
2026-01-28 16:10:24 +01:00
rdb 300090e457 glgsg: Disable Cg support when using EGL instead of GLX
Cg is hard-wired to use GLX instead of EGL, so without hacky
monkey-patching it is not possible to use it under EGL
2026-01-28 16:10:00 +01:00
John Cote f502426644
nametag: Fix issue with chat balloon text 2026-01-27 21:48:56 -05:00
John Cote 935c9cd80a
Merge remote-tracking branch 'upstream/master' 2026-01-27 20:58:16 -05:00
rdb f2c680ca29 linmath: Fix wrong type printed in LMatrix3 repr
[skip ci]
2026-01-27 16:10:17 +01:00
rdb 8cd3812ecb glgsg: Track uploaded byte count in PStats for SSBO updates 2026-01-26 11:09:31 +01:00
rdb 1c8a5cfb48 audio: AudioLoadRequest should take Filename or MovieAudio 2026-01-26 11:08:56 +01:00
rdb c2760c88c6 putil: Fix out-of-bounds read in SparseArray uncovered by ASan 2026-01-24 20:28:07 +01:00
rdb 4b98910789 Use static storage instead of heap for forever-objects (squelches ASan) 2026-01-24 13:24:11 +01:00
rdb 49955343be grutil: Add muted/volume properties to HTMLVideoTexture 2026-01-24 13:24:11 +01:00
rdb 626e419972 x11: Fix various very minor memory leaks 2026-01-24 13:24:11 +01:00
rdb 9edbdbf6c9 glgsg: Fix mipmap level depth when uploading 3D textures 2026-01-24 10:17:10 +01:00
rdb 9afb3140c8 glgsg: Don't assume buffer clear is necessarily supported 2026-01-20 18:54:51 +01:00
Wizzerinus | Alex K. 2587247868
audio: Ability to read comments/metadata from sound files (#1656) 2026-01-16 21:16:01 +01:00
rdb f025ba5da8 glgsg: Fix compilation error, remove redundant parameter 2026-01-15 10:51:45 +01:00
rdb 576d124b5e glgsg: Support SSBO clear, assorted fixes 2026-01-15 10:29:21 +01:00
rdb 5c1a957420 gles2gsg: Add some missing OpenGL ES 3 constants 2026-01-15 10:29:21 +01:00
rdb 0b3bdae8e8 glgsg: Expose native IDs for other kinds of resources than textures
Fixes #1468
2026-01-15 10:27:23 +01:00
rdb d94b2dc5af glgsg: Fix INLINE keyword on GLSamplerContext constructor 2026-01-15 09:44:25 +01:00
Yaksh Bariya 586b92a4ab
makepanda: fix for python >= 3.13 on android
android is now a supported platform Python since Python 3.13.
Earlier logic for figuring out android is still kept to preserve
backwards compatibility with Python versions <= 3.12.

Also have added a comment where we are monkeypatching sys.platform to
"android" to remove it once minimum python requirement is removed

Found initially during Python bump for Termux (https://github.com/termux/termux-packages/pull/27739)

Also seems like Pyright too hasn't caught up with this yet. So it needs
to be made aware as well
2026-01-12 07:08:57 +05:30
rdb 5a82ac3208 Use PyObject_Vectorcall for calls to Python for better efficiency
No longer requires creating temporary tuple to hold the args.
Introduced in Python 3.8.
2026-01-07 20:10:42 +01:00
rdb 075353003d gobj: Fix some int signedness comparison warnings 2026-01-07 19:52:24 +01:00
rdb b3ac6e7896 gobj: Fix warnings due to GCC being terrible at static analysis 2026-01-07 19:51:54 +01:00
rdb 80806510c2 express: Make PTA init from Python sequence faster by using vectorcall 2026-01-07 19:49:29 +01:00
rdb 0bb8a4519a Use PyObject_CallOneArg instead of PyObject_CallFunctionObjArgs for perf 2026-01-07 19:34:49 +01:00
rdb 3c852c8d72 audio: Disable OpenAL hrtf by default, fixes macOS init crash 2026-01-02 09:50:25 +01:00
rdb 136e1279ea Implement ShaderBuffer async extract_data method
Fixes #1173
2026-01-01 01:02:40 +01:00
rdb cb03554da5 putil: Support vector_uchar to be passed to an event parameter 2025-12-31 23:01:43 +01:00
rdb c688b67e5a putil: Add missing pointerTo.h include to callbackObject.h 2025-12-31 21:26:37 +01:00
rdb a9aa25577a glgsg: Support updating SSBO data from the CPU (only UH_dynamic) 2025-12-31 21:23:25 +01:00
rdb af498ff286 gsg: Use DSA for extracting shader buffer data 2025-12-31 21:22:12 +01:00
rdb 86b1304588 display: Support extracting only subset of SSBO 2025-12-31 20:45:26 +01:00
rdb b806035c40 putil: Switch to new Python 3.13+ public long APIs for BitArray 2025-12-31 20:06:03 +01:00
rdb 3d3c2e7b7c text: Give default font a default name
This is mostly so that the texture gets a name other than "_0"
2025-12-31 20:00:09 +01:00
TRIGON69 585c58198a movies: Update FLAC decoder
- Modernized FlacAudio implementation using updated dr_flac APIs.
- Fixed Interrogate syntax error in dr_flac.h by guarding MSVC-specific __int64 types with !defined(CPPPARSER).
- Updated FlacAudioCursor to use PCM frame-based read and seek methods.
- Implemented required callbacks (cb_tell_proc) for modern dr_flac support.

Fixes #1570
Closes #1791
2025-12-29 10:57:32 +01:00
rdb 86d0376054 glgsg: Mark SSBO unbound from all binding points upon deletion
Fixes a consistency issue where the buffer might not be rebound properly
2025-12-22 22:20:57 +01:00
rdb 0e41b62743 Merge branch 'release/1.10.x' 2025-12-22 16:12:54 +01:00
rdb f123cb142d shader: Fix memory corruption with matrix array shader inputs
Fixes #1788
2025-12-22 15:59:06 +01:00
rdb 64b98ea813 GLSL: Add p3d_MetallicRoughnessTexture input mapped to M_metallic_roughness
This new M_metallic_roughness enum value is just an alias of M_selector
2025-12-22 12:43:21 +01:00
rdb 975a9fb484 egg: Add limited forward compatibility for ORM textures
Mainly intended to be able to passthrough 1.11 egg files safely
2025-12-22 12:41:34 +01:00
rdb 33888de3b5 glgsg: Do not prefer depth-stencil ms renderbuffers on macOS
Fixes #1719

Backport of fa64a52fca
2025-12-22 12:13:25 +01:00
rdb 6b3ed01756 framework: Clean up task manager on close_framework()
This prevents crashes due to the tasks it spawns continuing to run

Backport of a32030d46e
2025-12-22 12:01:13 +01:00