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
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