25961 Commits

Author SHA1 Message Date
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
rdb
c5d6bae1c3 glgsg: Work around Panfrost driver bug with wireframe mode 2023-03-09 10:58:10 +01:00
rdb
4da2059758 dist: Add extraInitFuncs option to FreezeTool
Useful for init_libpnmimagetypes in particular
2023-02-26 11:20:00 +01:00
Disyer
108b317327 dtoolutil: Fix _MSC_VER macros that should be _WIN32 2023-02-26 11:50:41 +02:00
Erica M. ("Loonatic")
cd0eb27dc7
NotifyPanel: Rename variable that shadows builtin (#1470) 2023-02-25 11:22:47 +01:00
rdb
316b8e96eb pgraphnodes: Fix compile warning on 32-bit in SceneGraphAnalyzer 2023-02-24 23:11:55 +01:00
rdb
f3d51fd72c tests: Don't rely on png being available for TexturePool tests
Instead, use SGI image format, support for which is generally enabled in Panda
2023-02-24 23:01:40 +01:00
rdb
eee10c9feb pnmimagetypes: Recognize .bw as extension for SGI images 2023-02-24 22:41:59 +01:00
rdb
32c73763e2 Merge branch 'release/1.10.x' into incoming 2023-02-24 22:40:53 +01:00
rdb
868a4eac47 tests: Fix test_imports_panda3d for frozen/embedded panda3d package 2023-02-24 22:39:55 +01:00
rdb
4f9542c96a dist: Fix issues with deploying setuptools 2023-02-24 22:39:55 +01:00
rdb
88d27aa31c dist: Import pkg_resources lazily 2023-02-24 22:39:55 +01:00
rdb
036e5dc2db dist: Switch FreezeTool over to sysconfig
distutils is deprecated and will be removed as of Python 3.12

Its use should not be affected by #1230 since it only uses it to query the include directory, not any other paths

Addresses part of #1395
2023-02-24 22:39:51 +01:00
rdb
eeba583176 dist: Support overriding list of built-in modules
Useful when building for a platform that has a different set of built-in modules
2023-02-24 22:36:07 +01:00
rdb
7cd4ca07ed task: Check sys.platform instead of PandaSystem for emscripten tag
This seems to have been standardized in upstream cpython now
2023-02-24 22:35:21 +01:00
rdb
b3730bf707 downloader: Use built-in MD5 implemention for HTTPDigestAuthorization
This code is only compiled when OpenSSL is enabled at the moment, but this will change when webgl-port is merged
2023-02-24 22:35:21 +01:00
rdb
622eda951f dist: Implement fallback for sysconfig for FreezeTool (see #1395) 2023-02-24 22:24:41 +01:00
rdb
a5be6fa5ff pnmimagetypes: Fix compile error with some versions of png.h
Some define these as macros, which interferes with these definitions
2023-02-24 22:21:27 +01:00
rdb
79ba760319 direct: Backport assorted fixes from master 2023-02-24 22:20:01 +01:00
rdb
6cfa73d268 dist: Add hidden import for setuptools.monkey -> setuptools.msvc 2023-02-24 22:19:33 +01:00
rdb
0fdb8a244b dist: Silently ignore missing hidden imports 2023-02-24 22:19:03 +01:00
rdb
82a79acdd5 tests: Fix OverflowError in test_format_arrays on 32-bit
This is actually a bug in interrogate - it's converting an unsigned size_t via Py_ssize_t, which is not correct.  However, it's a bunch of trouble to fix that.

Cherry-picked from 84ada4d66b3e9a5012c49abab8c3c21c2c3ae2bc
2023-02-24 22:07:38 +01:00
rdb
ed4d2a2280 dist: Add support for emscripten platform to FreezeTool.py 2023-02-24 22:05:05 +01:00
rdb
126cd374e9 pipeline: Fix compile warning with pipelining disabled 2023-02-24 09:48:12 +01:00
rdb
6860c7776b tests: Fix unit test suite when building without physics or net 2023-02-23 00:20:53 +01:00
rdb
17e3f3331c directtools: Import cluster code only on demand
This prevents importing directtools modules also importing cluster code, which may fail to import with Panda builds that have net code disabled
2023-02-22 23:49:15 +01:00
rdb
86ceade7b3 tests: Skip encrypt_string test when building without OpenSSL 2023-02-22 23:31:32 +01:00
rdb
84ada4d66b tests: Fix OverflowError in test_format_arrays on 32-bit
This is actually a bug in interrogate - it's converting an unsigned size_t via Py_ssize_t, which is not correct.  However, it's a bunch of trouble to fix that.
2023-02-22 23:29:37 +01:00
rdb
2e21cf87e4 tests: Skip test_task_cancel_waiting() test if no threads enabled 2023-02-22 23:18:23 +01:00
rdb
a63bbba4c1 tests: Add HashVal md5 unit test that doesn't rely on hashlib 2023-02-22 21:55:26 +01:00
rdb
e08cba191e dist: Significant performance boost for pfreeze
This method seems to run very slow in some versions of Python, this runs much faster
2023-02-22 21:54:53 +01:00
rdb
10dd0f79bc particles: Fix regression loading .ptf files
Regression introduced in #1454
2023-02-22 20:26:51 +01:00
rdb
11c7d38ce4 tests: Remove executable permissions from test_property.py
[skip ci]
2023-02-22 18:20:39 +01:00
rdb
0a7be36be1 parser-inc: Add stub header for sys/sysctl.h for BSD (incl. macOS) 2023-02-22 17:33:49 +01:00
rdb
eefb51f510 dtoolutil: Add small_vector implementation and use it
This vector implementation does is optimized for the case of having only a small number of elements, which are stored directly on the vector object rather than being allocated from the heap.  If the capacity exceeds this small number, then a heap allocation is done.

This should improve performance in a couple of cases where vectors typically store 1 element and rarely more than that.
2023-02-22 16:48:11 +01:00
rdb
35348fd74a express: Do not rely on OpenSSL for MD5 hash support
These hashes are used in various places in the Panda codebase (for integrity checks, not for crypto), so using an internal implementation allows retaining this functionality when building Panda without OpenSSL.

Based on the following public domain implementation:
https://github.com/B-Con/crypto-algorithms
2023-02-22 16:47:14 +01:00
rdb
72d610b8ae dtoolbase: Fix compiler warnings in MemoryHook 2023-02-22 16:47:14 +01:00
rdb
4f9092d568 wxwidgets: Fix errors running Panda shell 2023-02-22 12:04:51 +01:00
rdb
37b5c9ad9e direct: More code style changes 2023-02-22 11:52:19 +01:00
rdb
9a15e9245c direct: Additional cleanup, update .pylintrc file 2023-02-22 02:44:53 +01:00
rdb
f4d394ecd8 prc: Reorder ConfigDeclaration::Word fields for better packing 2023-02-20 22:24:12 +01:00
rdb
5e24e7347c cppparser: Implement is_trivially_copyable type trait 2023-02-20 21:04:36 +01:00