26013 Commits

Author SHA1 Message Date
rdb
1cb2554c48 tests: Test that tools run when testing wheels
Intended to catch issues like #1504
2023-08-02 16:36:04 +02:00
rdb
8cbf93162a cppparser: Backport enum scope fix to 1.10
From bc039a0476b31fa624ce548629b7e05cccd2d570
2023-08-02 12:40:37 +02:00
Aidan Noll
4097dc2e28 downloader: Fix issues with error codes with LibreSSL on Windows
Closes #1503

Co-authored-by: rdb <git@rdb.name>
2023-08-02 12:40:01 +02:00
rdb
e3f73f37f6 doc: Adding coding style guide
Closes #279

Co-authored-by: Sam Edwards <CFSworks@gmail.com>

[skip ci]
2023-08-02 11:40:13 +02:00
rdb
c34f2bbc64 Switch to UPPER_CASE convention for enum classes as per PEP-8
Old names are still kept around for compatibility reasons, but deprecated - fortunately there are not that many cases of enum classes yet
2023-08-02 11:16:54 +02:00
rdb
bc039a0476 cppparser: Allow referencing enumerant within enum scope 2023-08-02 11:06:32 +02:00
WMOkiishi
f7f3179a89 Move test code from across direct to proper test modules
Closes #1480
2023-08-02 08:37:51 +02:00
WMOkiishi
d1f4212acd direct: Utilize the built-in sorted function
Closes #1479
2023-08-02 08:37:51 +02:00
Max Rodriguez
70cdbae247 framework: Create aspect2d child nodes & update on win resize
Closes #1510
Fixes #1508
2023-08-02 08:21:40 +02:00
WMOkiishi
ea84547805 general: Mark many constructors as explicit
Closes #1514
Fixes #1431
2023-08-02 08:18:43 +02:00
Max Rodriguez
b6c427f2b4 putil: Deprecated MouseData alias for PointerData
Co-authored-by: rdb <git@rdb.name>

Closes #1513
2023-08-02 08:13:02 +02:00
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