24051 Commits

Author SHA1 Message Date
rdb
50cfdebd9c pstats: Integrate Python profiler with PStats
Enabled with `pstats-python-profiler 1`, requires recent version of PStats server.

Currently, it is limited to the main thread only.  Support for other threads may be added at a later date.
2022-11-29 16:00:09 +01:00
rdb
7b9f2cd854 pstats: Support nested start/stop pairs in the server, accept 3.1
Currently, the client doesn't send nested start/stop pairs, but there is no good reason not to handle this case in the server, and in some cases it is useful to send them (I will soon make changes on master to take advantage of this).

Client version 3.1 indicates that the client may send nested start/stop pairs.
2022-11-29 15:48:02 +01:00
rdb
f54747c213 makepanda: Make error about Android architecture suggest solution 2022-11-29 14:23:32 +01:00
rdb
3468b95fa9 pstats: Show collector start/stop pair count in time-based graphs
It can be very useful to know how often a collector was invoked in a frame, not just how long it took.  This adds a number to the upper-right corner showing exactly that (but not aggregated, just for leaf collectors).
2022-11-29 13:01:55 +01:00
rdb
5247446500 pstats: Performance improvements for time-based strip charts
Remove the use of set and list, which are allocator-heavy and insertion was a bottleneck.  Since each sample occurs only once on the linked list, we can more efficiently roll our own linked list with next and prev pointers, so no allocation needed.  Instead of the set, we can just store a per-collector flag.
2022-11-29 12:51:04 +01:00
rdb
d00d4a44a0 gobj: Properly initialize Texture object on all stages
Previously, forward stages would be uninitialized, resulting in cryptic errors with ahead-of-time preparation (although arguably ahead-of-time preparation is a bug in and of itself)
2022-11-26 16:56:07 +01:00
rdb
5db4b447a6 rplight: Fix PSSM calculation failing with infinite far distance
Fixes #1397
2022-11-26 16:52:55 +01:00
rdb
37795cd596 rplight: Fix redundant get_lens() calls 2022-11-26 16:52:37 +01:00
rdb
1f9f6a618f vision: Fix use of wrong delete operator in ARToolKit code 2022-11-21 18:33:35 +01:00
rdb
09f8634433 pipeline: Minor optimizations in cycler copy constructor
When copying a dirty cycler, don't use two separate lock-grabbing calls to add to the clean set, then remove from clean set and move to dirty set

Short-cut the cdata copy loop for the common case of only 1 stage
2022-11-21 18:31:54 +01:00
rdb
8a48c3b711 pgraph: Remove recursive lock grab in Light.set_color()
Harmless, but unnecessary
2022-11-21 18:26:19 +01:00
rdb
fcfa1d2c99 gobj: Fix ShaderBuffer.prepare() not actually doing anything 2022-11-21 18:25:46 +01:00
rdb
03d411c937 dist: Workaround to disable autodiscovery in setuptools>=61.0.0
See #1394 - creates a new finalize_distribution_options entry point that makes sure that either `py_modules` or `packages` is present, otherwise setuptools  will activate its new auto-discovery system, even for custom commands that don't need setuptools' discovery system.

However, this is not a great solution, because it applies when running all setuptools commands, not just build_apps.
2022-11-19 13:14:18 +01:00
rdb
d893b21f2b assimp: Fix assert loading meshes with multiple primitive types 2022-11-19 13:12:14 +01:00
rdb
7505112f1d shader: Fix compiler warning 2022-11-19 13:05:27 +01:00
rdb
9508b040e7 Update to 1.10.13 thirdparty tools on macOS
These contain OpenCV libraries with fixed relative references on arm64

Fixes #1393
2022-11-14 10:50:30 +01:00
rdb
e92d993cea glgsg: Fix failure to unset divisor after rendering w/ instancing
This would normally be done by `disable_shader_vertex_arrays()` but it apparently isn't called between shader changes
2022-11-14 10:25:34 +01:00
rdb
75cbe98b1d Update BACKERS.md file
[skip ci]
2022-11-14 10:03:57 +01:00
rdb
ad227eb53e Add Download link to setup.cfg
[skip ci]
2022-11-14 09:55:53 +01:00
rdb
84a69e1689 makepanda: Don't re-export harfbuzz symbols from libpanda.so
Shot in the dark at fixing #1391 (but this change is a good idea anyway)
2022-11-13 11:25:45 +01:00
rdb
fe94e43bc4 pgraph: Fix issues with flattening TexMatrixAttrib
If multiple texture stages reference the same texcoord set, Panda wouldn't flatten the tex matrices even if they were the exact same

Fixes #1392
2022-11-13 11:11:32 +01:00
rdb
0220a43ce0 shader: Fix support for #pragma include <example.glsl> in GLSL 2022-11-09 17:20:11 +01:00
rdb
11746457ff interrogate: Fix invalid syntax for make() coerce ctor with kwargs
[skip ci]
2022-11-07 18:03:41 +01:00
Erica M. ("Loonatic")
40618e104d chore: Remove extraneous print statement
There's no reason why this should be printed out by default. It can create a lot of spam in the output when utilizing this module.

Fixes #1383
2022-11-07 13:01:59 +01:00
rdb
8965741fcf tinydisplay: Don't reimplement process_events from base class
Reduces code duplication, makes it possible to inherit bug fixes from the base class, and also handles resizes more efficiently now (only when this would actually require a framebuffer reallocation).
2022-11-07 12:56:56 +01:00
rdb
0a827cf65c x11display: Time out waiting for ConfigureNotify event
Fixes #1087
2022-11-07 12:56:03 +01:00
rdb
db6ea00967 assimp: Add assimp-collapse-dummy-root-node option
This is false for now, but will be true in the future.

See #366
2022-11-03 13:18:49 +01:00
rdb
1fd2e124cf assimp: Fix unprotected debug statements 2022-11-03 13:14:07 +01:00
rdb
2044861597 assimp: Support custom object properties as tags 2022-11-02 23:02:33 +01:00
rdb
ffe2137680 assimp: Support reading additional texture maps, as well as PBR 2022-11-02 23:02:21 +01:00
rdb
286cf0d286 assimp: Improve performance of loading geometry 2022-11-02 23:02:21 +01:00
rdb
162a7b2c34 assimp: Support reading tangents and binormals 2022-11-02 23:02:21 +01:00
rdb
5a483e3899 assimp: Fix a typo in a config var description 2022-11-02 23:02:21 +01:00
rdb
6e636f5ca0 assimp: Fix issues reading external files 2022-11-02 23:02:20 +01:00
rdb
b254e5b7ba assimp: Support importing alpha mode from glTF files 2022-11-02 23:02:20 +01:00
rdb
9248182a0b assimp: Support texture transforms 2022-11-02 23:02:20 +01:00
rdb
a11f7c9c8d gobj: Add TextureStage::write() overload with indent_level param 2022-11-02 23:02:20 +01:00
rdb
356e974029 ptloader: Fix wrong initialization order issue 2022-11-02 23:02:20 +01:00
rdb
2226f8de9e assimp: Add support for texture wrapping modes 2022-11-02 19:35:10 +01:00
rdb
09a81e0d68 assimp: Fix memory corruption in load_texture_stage() 2022-11-02 19:34:39 +01:00
rdb
d8a537b59b dtoolbase: Add comment clarifying assertion in DeletedBufferChain
[skip ci]
2022-10-31 19:26:59 +01:00
rdb
587f9f7bcd makepanda: Fix issues when building on arm64 without --arch flag
Logic in various places seems to assume `OSX_ARCHS` contains `arm64` in this case
2022-10-31 19:25:47 +01:00
rdb
4cf8187df7 cocoadisplay: Fix crash with threading-model on newer macOS versions
Updates the context on the main thread instead of the draw thread now. If render_frame happens to run while the context needs updating, it will skip the frame.

Fixes #1286
2022-10-29 20:51:05 +02:00
rdb
4c6df54d6f tests: Fix failing window unit test on macOS
Fixes #804 (together with previous commit 979f194f499e76a12ba137c52b3b33f51d7d8e6c)
2022-10-29 18:47:15 +02:00
rdb
979f194f49 tests: Load either 120 or 150 GLSL shaders depending on capabilities
Addresses part of #804
2022-10-29 18:46:59 +02:00
rdb
a111bb4442 tests: skip auto-shader tests if Cg shaders are not supported
Backport of 57b0be86471f4356b912d5976e4f5b9cb9e92220
2022-10-29 18:16:58 +02:00
rdb
e0c3c8a8d9 filter: Add docstring for CommonFilters.setMSAA
[skip ci]
2022-10-25 17:51:32 +02:00
rdb
a71b417aec filter: Add "MSAA" filter to CommonFilters
This provides an easy way to enable MSAA for the offscreen color buffer only without having to enable it on the main window.

When using this filter, it is important to have framebuffer-multisample turned off in Config.prc.
2022-10-25 16:26:30 +02:00
rdb
4d2a45f124 glgsg: Fix multisample FBOs with MRT blitting aux target into color target 2022-10-25 16:25:50 +02:00
rdb
1a72311243 bullet: Fix LMatrix3<>btMatrix3x3 conversion functions 2022-10-25 12:10:44 +02:00