25902 Commits

Author SHA1 Message Date
rdb
cc861cdaa1 Merge branch 'release/1.10.x' 2023-08-02 08:09:26 +02:00
rdb
262bde3082 grutil: Add clear_color method to CardMaker 2023-08-02 08:08:25 +02:00
rdb
9fd39e1aef Add .idea to .gitignore 2023-08-02 07:56:24 +02:00
rdb
3c9aea1ee1 text: Fix missing epvector.h include in textAssembler.h 2023-08-02 07:51:46 +02:00
rdb
cc49825e00 pgraph: Mark all sub-classes of RenderAttrib as final 2023-07-27 08:40:52 +02:00
rdb
f0a4e61fd9 Revert "general: Add headers explaining the renamed config_*.h"
This reverts commit 47f7d3f29733bdcbc39ece033006f7f9f2d3857b.

These header files have been deprecated for years and can be safely removed now.
2023-07-26 20:02:49 +02:00
rdb
115a716a7d Implement support for custom TypedWritable subclasses in Python
Fixes #1495
2023-07-26 19:55:40 +02:00
rdb
71ee57bc92 linmath: Unroll LVecBase4 less-than operator implementation 2023-07-26 19:33:43 +02:00
rdb
f5827963a3 pgraph: Refactor RenderAttrib return_new code a little bit
- Allows the compiler to devirtualize the get_hash_impl call, in theory
- Reduces the overhead of checking the configuration variables every time in return_new
- Avoids recalculating the hash on calling get_unique
2023-07-26 19:18:22 +02:00
rdb
c6f930a379 Merge branch 'release/1.10.x' 2023-07-21 19:42:39 +02:00
rdb
52c704f79d Update BACKERS.md
[skip ci]
2023-07-21 19:42:07 +02:00
rdb
787e14fade egg2pg: Fix infinite recursion when <Collide> used with <Line>
Fixes #1515
2023-07-19 11:10:49 +02:00
rdb
07f9f9d897 (multiview) texture preparation changes:
Multiview textures are now handled as a single texture context instead of as one texture context per view. This should be marginally more efficient, but more importantly, it paves the way for implementing multiview textures as subviews of an array texture down the line, which paves the way for hardware-accelerated stereo rendering (where the left and right views get rendered simultaneously to different layers of an array texture).

The difference between a multiview texture done this way and an array texture is that the views of a multiview texture will still be treated as individual textures from the shader's point of view, only the views will be sharing the same storage on the GPU.  This can be done by using a feature offered by graphics APIs that is (serendipitously) also called "texture views", where it's possible to create multiple texture objects that point to layer ranges of a bigger array texture.

That part has not yet been done as doing this in OpenGL will be a little tricky due to texture views being an optional feature (so both paths would need to be implemented), but texture views are native in Vulkan (and D3D10+ for that matter), so doing this now allows me to implement multiview textures natively on the Vulkan end right from the start, and OpenGL can follow later if desired.

Furthermore, this commit includes:
- OpenGL: Overhaul texture creation and binding
- OpenGL: Change how reloading a texture with mipmaps works
- OpenGL: Use DSA in a couple of places
- OpenGL ES: Add support for buffer textures
- OpenGL: Remove support for bindless textures for now; this was never implemented in a very useful way, not used to my knowledge, and it is better to re-implement it later after the new shader pipeline lands
- DirectX9: All views of a texture are uploaded at the same time
- TinyDisplay: Support multiview textures natively (consecutive storage in memory)
- General: Per-page texture update tracking is working properly now for multiview textures
2023-06-13 13:51:19 +02:00
rdb
c3e9f1738e Merge branch 'release/1.10.x' 2023-06-13 13:45:51 +02:00
rdb
94ebd7c953 pstats: Fix exception when __module__ is a descriptor
This comes up when using metaclasses

Fixes #1505
2023-06-12 09:54:25 +02:00
rdb
d4d4aefbce makepackage: Force creating .dmg as HFS+ for 10.9 compatibility
Fixes #1502

[skip ci]
2023-06-08 13:47:33 +02:00
rdb
b79d8efce6 Don't use RTTI features when building with -fno-rtti
This should make it possible to use `-fno-rtti` in a C++ application even when Panda has been compiled with RTTI enabled.
2023-05-25 14:11:51 +02:00
rdb
d2e93cc185 gobj: Fix post_load_store_cache field being uninitialized on cycle
This is randomly causing textures to be downloaded, which can be a significant performance drain
2023-05-25 13:55:22 +02:00
rdb
7fb9942fc3 tinydisplay: Fix crash on window close on macOS
Fixes #1485
2023-05-16 18:14:57 +02:00
rdb
d126ec71f7 PythonUtil: Add SerialMaskedGen to __all__
Fixes #1496
2023-05-09 09:16:29 +02:00
rdb
cdc95acf81 Merge branch 'release/1.10.x' 2023-05-08 20:08:48 +02:00
rdb
6acfdb737b workflow: Update CMake builder to macOS 11 2023-05-08 20:02:07 +02:00
rdb
dee48cc201 CMake: Fix error linking OpenAL as framework 2023-05-08 20:01:22 +02:00
rdb
96b2f3a4d5 CMake: Split out Objective-C++ flags on macOS to fix crash
This now requires CMake 3.16

This is a similar fix as 987f2f036b7d5b0e02a7ed8a2ff0f1029ae0d048 but for CMake
2023-05-08 20:00:39 +02:00
rdb
75abee73e2 CMake: Disable FMOD Ex on macOS
There's no version of FMOD Ex that isn't linked against libstdc++.6.dylib, which is no longer available in the SDKs
2023-05-08 19:59:50 +02:00
rdb
600fa45d6e CMake: Fix typo in CMAKE_CXX_FLAGS variable on MSVC 2023-05-08 19:59:15 +02:00
rdb
3df594a6dd dist: Add hidden import for shapely
[skip ci]
2023-05-08 19:50:21 +02:00
rdb
e582436719 dist: Fix bdist_apps regression as of 88d27aa31c1eeb7d48cc468ed23a4ed18a8922f9 2023-05-08 19:48:57 +02:00
rdb
1072e6bf1a dist: Show better error message when targeting outdated platform
This occurs if someone explicitly mentions eg. manylinux1 in their platforms list and then updates to Python 3.10
2023-05-08 18:30:25 +02:00
rdb
3f76f4aa70 dist: Strip out delvewheel patch from packaged Python code
Fixes #1492
2023-05-08 18:18:42 +02:00
rdb
4b276826b6 workflow: Update GitHub CI runner OS versions 2023-05-08 11:20:54 +02:00
rdb
c958919037 Make API documentation for Filename and VirtualFileSystem clearer
Mention specifically that Filename methods act on the physical disk whereas VirtualFileSystem methods act on the VFS

Fixes #1493

[skip ci]
2023-05-08 11:19:03 +02:00
max
cc74efa79a Fix assorted instances of leftover Python 3 syntax
Closes #1490
2023-05-05 11:08:17 +02:00
rdb
5d833c988a interrogate: Support explicit cls parameter for static methods 2023-05-05 10:55:06 +02:00
rdb
45fbfab094 pgraph: Add file_version property to BamFile (like BamReader/Writer) 2023-05-05 10:52:46 +02:00
rdb
749e297a02 putil: Add file_version property to BamWriter (mirroring BamReader) 2023-05-05 10:51:24 +02:00
rdb
86804b3ed1 putil: Fix a faulty docstring in BamReader 2023-05-05 10:48:04 +02:00
rdb
eb82dbc765 putil: Accept bytes in DatagramOutputFile::write_header() 2023-05-05 10:47:14 +02:00
rdb
87b46a61ed display: minor doc fix and code cleanup 2023-05-05 10:45:26 +02:00
rdb
f5d5340ad3 egldisplay: make pbuffers resizeable 2023-04-08 10:37:13 +02:00
rdb
21d7a83bfc egldisplay: Fix GL_INVALID_OPERATION with headless pbuffer 2023-03-29 16:33:33 +02:00
LD
53f32e440e cocoadisplay: Fix compilation errors due to missing includes 2023-03-24 17:24:05 +01:00
rdb
52dc6dbd28 cocoadisplay: Remove accidentally checked-in file
[skip ci]
2023-03-23 08:57:02 +01:00
rdb
a5fe1fa4bd tinydisplay: Add Cocoa-based backend
Adds support for tinydisplay rendering on macOS

Fixes #1285
2023-03-22 13:15:06 +01:00
rdb
545ede9d94 cocoa: Split out GL-specific code into new cocoagldisplay module
This makes it possible to create subclasses for tinydisplay and vulkandisplay without having to duplicate code
2023-03-21 23:16:36 +01:00
rdb
389b24e695 windisplay: Fix issues switching fullscreen while maximized
Fixes #1469
2023-03-13 10:53:47 +01:00
rdb
4bb6d8f6d8 interrogate: Additional string table size reductions for NDEBUG 2023-03-09 11:24:31 +01:00
rdb
05436a749f Merge branch 'release/1.10.x' 2023-03-09 11:23:19 +01:00
rdb
aed2581ce6 showbase: Clean up internal event handlers on destroy()
Fixes regression in cd6ad8285e11f780eee71cdb6b833b21b84d1d1b
2023-03-09 11:22:35 +01:00
rdb
68927cad0b interrogate: Code size reduction for generated wrappers
No need to have a separate entry in the string table for every possible class for this uncommon error message
2023-03-09 11:00:36 +01:00