Commit Graph

11825 Commits

Author SHA1 Message Date
Derzsi Dániel d79709f004
express: Add support for bytes multifile encryption passwords (#1334) 2022-07-20 22:50:06 +02:00
pmp-p 2208cc8bff pipeline: support android no thread build
Closes #1323
2022-06-29 19:11:00 +02:00
rdb 20334cce05 Merge branch 'release/1.10.x' 2022-06-29 19:09:59 +02:00
Stephen A. Imhoff 33691d72ec bullet: Fix assertion when reconstructing BulletConvexHullShape from bam
Fixes #1251
Closes #1252
2022-06-29 17:06:19 +02:00
rdb 3fc579c7d4 tinydisplay: Implement resizeability of offscreen buffers
Fixes #1322
2022-06-29 17:03:44 +02:00
rdb 5493a0d5fc glgsg: Fix PStats GPU timing not working with newer NVIDIA drivers
Fixes #1320
2022-06-29 16:42:33 +02:00
rdb c325eabb9d glgsg: Fix texture format selection when using `T_half_float` component type 2022-06-29 15:15:02 +02:00
rdb 9ab460c900 event: Fix memory leak in debug check of `task.set_owner(...)`
Fixes #1328
2022-06-29 15:13:57 +02:00
rdb 36e34294cf display: Update docstring for `WindowProperties::set_mouse_mode()`
[skip ci]

Fixes #1307
2022-05-19 10:00:37 +02:00
rdb 29c25a541c egl: Add egl-device-index config var for selecting EGL device
Fixes #1306
2022-05-17 11:52:19 +02:00
rdb b5d615b223 mathutil: Fix broken docstrings 2022-05-17 10:10:45 +02:00
rdb 671b16eb41 express: Fix vestigial reference to WIN32_VC macro 2022-05-10 16:21:40 +02:00
rdb ecf4d19e83 Merge branch 'release/1.10.x' 2022-05-10 16:12:36 +02:00
rdb 42a19860d5 Fix errors when compiling headers with MinGW 2022-05-10 15:58:33 +02:00
rdb fbea0056f5 general: Allow compiling Panda headers on Windows without NOMINMAX 2022-05-10 15:58:33 +02:00
rdb 0538106d52 glgsg: Fix half float color buffers with GLES 3 / WebGL 2
Part of fix for #1296
2022-05-10 15:58:32 +02:00
rdb 7b5ec481f3 Merge branch 'release/1.10.x' 2022-05-05 10:44:51 +02:00
rdb d2fc682fd7 glgsg: Support floating-point FBOs in OpenGL ES 2+
See issue #1296
2022-05-05 10:41:01 +02:00
rdb d98f966693 display: Extra spam message about what window a flip is done for 2022-05-05 10:38:25 +02:00
Geraldo Nascimento 5ceaf66079 v4l: O_NONBLOCK flag should be OR'ed to O_RDWR or mmap will fail below
Closes #1299
2022-05-05 10:28:55 +02:00
rdb 1b21e604f0 Merge branch 'release/1.10.x' 2022-04-21 11:09:28 +02:00
rdb aab149e75a windisplay: Add debug prints listing display devices and monitors 2022-04-02 20:42:04 +02:00
rdb 3f901243f2 display: Add additional spam prints 2022-04-02 20:40:58 +02:00
rdb e02a9989fb android: Changes to add compatibility with pyjnius/plyer 2022-03-12 18:18:15 +01:00
rdb 98d70147bd pipeline: Fix Thread::bind_thread() assertion on Android 2022-03-12 16:48:46 +01:00
rdb 3d31f117e0 express: Fix compilation error with GCC 2022-03-09 16:23:37 +01:00
rdb 3456769703 gobj: Fix crash in PythonTexturePoolFilter 2022-03-09 16:23:37 +01:00
rdb c62d2319e0 CMake: Add --exclude-libs flags to static thirdparty libraries
Matching makepanda, this avoids symbol conflicts and may have optimization benefits.

This is a temporary hack until CMake 3.24 is released, which offers a cleaner way of doing this.
2022-03-09 16:23:37 +01:00
rdb 72f98ec30d gobj: Delete assignment operator of Geom* classes
They are unused and it would probably be a bad idea to try to use them.
2022-03-09 16:23:37 +01:00
rdb 6b9dea3e30 cleanup: Fix comparison between pointer and 0 (instead of nullptr) 2022-03-09 16:23:37 +01:00
rdb 8cdac14db3 collide: First pass at reducing memory overhead of CollisionBox
This is just the low-hanging fruit, there are a lot more gains to be realized.
2022-03-09 16:23:34 +01:00
rdb dae147ec0c Merge branch 'release/1.10.x' 2022-03-02 10:51:23 +01:00
rdb 930e5da438 texture: Fix get_ram_image_as() with 3D and multiview textures
Fixes #1277
2022-03-02 10:42:45 +01:00
rdb 46c1b887ea Fix heap alignment with SSE2 on 32-bit Windows by inheriting MemoryBase
Fixes #510
2022-03-02 09:57:44 +01:00
rdb 370b635534 dtoolbase: Fix missing __stdcall when compiling for 32-bit Windows 2022-03-02 09:57:24 +01:00
rdb a0be50c769 general: Fix assorted compiler warnings 2022-03-01 16:09:07 +01:00
rdb 21377c8de5 Use secure versions of CRT getenv etc. when compiling with MSVC 2022-03-01 16:09:07 +01:00
rdb 5cfd8db95c glxdisplay: Update panda_glxext.h 2022-03-01 16:09:07 +01:00
rdb ac3aa64d33 express: Add docstring to DatagramIterator about Datagram lifetime
Related to #1262

[skip ci]
2022-03-01 15:14:01 +01:00
rdb 583c9f1857 pipeline: Fix issues with calling convention on 32-bit Windows 2022-03-01 12:19:13 +01:00
rdb 7ccf38a948 pgraph: Remove obsolete PandaNodeChain class
Obsoleted by 6bc22d1822
2022-02-24 14:13:11 +01:00
rdb 6bc22d1822 pgraph: Rewrite inefficient prev_transform tracking mechanism
The previous system was causing a lot of lock contention when transforms are modified in the Cull thread.

The new implementation doesn't use a linked list or lock at all, but a simple atomically incrementing integer that indicates that the prev transforms have changed.  set_transform() reads this and backs up the prev transform the first time a transform is modified after reset_all_prev_transforms() is called.
2022-02-24 11:42:04 +01:00
rdb ba4173b32c pgraph: Add constexpr to CacheStats constructor 2022-02-23 23:20:53 +01:00
rdb c2d088f232 pipeline: Don't use Sleep(1) to yield on Windows
Use Sleep(0) instead.  Sleep(0) is not guaranteed to yield, which is a problem, but Sleep(1) can easily take up to 16 ms, which is really unacceptable except in very low-priority thread.  But really, you shouldn't be relying on force_yield() for anything except with the SIMPLE_THREADS model.

There is also SwitchToThread(), but in fact it is even weaker than Sleep(0).
2022-02-23 23:20:53 +01:00
rdb cb8563acac event: Update AsyncFuture to use new atomics implementation
With explicit barriers, and the non-timeout version of wait() is now significantly more efficient by using the new futexes if available
2022-02-23 23:20:49 +01:00
rdb 70c49a6416 pipeline: Add Thread::relax() for more efficient busy waiting
Equivalent to cpu_relax() or the pause instruction on x86
2022-02-23 23:20:30 +01:00
rdb 5196719f29 device: Fix XInput compile error compiling for newer Windows versions 2022-02-23 21:46:15 +01:00
rdb fd033e66f1 pstats: Add support for profiling thread context switches
Disabled by default, enable with `pstats-thread-profiling true` in Config.prc
2022-02-22 18:02:39 +01:00
rdb b4d51c24e9 event: Remove FunctionAsyncTask
To create a task from a lambda, it is more efficient to use the new AsyncTaskManager::add() short-hand which creates an AsyncTask subclass in-place.
2022-02-22 18:02:34 +01:00
rdb 7baeaf3809 event: New C++ AsyncTaskManager::add() no longer uses std::function
std::function has unnecessary overhead, better to just create an AsyncTask subclass in-place storing the closure

This obsoletes FunctionAsyncTask, it will be removed in a future commit
2022-02-22 17:02:42 +01:00