rdb
d6b7abedfe
prc: fix some race conditions querying bool and searchpath vars
...
This is not perfect, and we need to more thoroughly address thread safety in the PRC system, but it will nonetheless address a lot of the race condition issues when querying these variables from two threads at the same time.
2018-09-23 13:44:38 +02:00
rdb
aacafe7be3
dtoolutil: give DSearchPath a defaulted move constructor
2018-09-23 13:03:47 +02:00
Sam Edwards
e917c54433
Merge branch 'master' into cmake
2018-09-22 15:55:59 -06:00
Sam Edwards
cfb32fad84
CMake: Detect OpenGL (and SpeedTree) the proper way
2018-09-22 15:55:03 -06:00
Sam Edwards
bd187643f3
CMake: Look for packages by CONFIG first
...
This requires a macro to override find_package,
as the default behavior in CMake is to fall back
from MODULE onto CONFIG.
Note that Bullet is given a specific override
not to look for a CONFIG, since Bullet tends to
use weird paths in its CONFIG script.
2018-09-21 19:22:59 -06:00
Sam Edwards
b64e850539
egg(2pg): Fix missing EXPCL_PANDA_EGG(2PG)
2018-09-21 18:26:13 -06:00
Younguk Kim
ba9ea8ea27
chan: add missing export macro
2018-09-21 19:49:21 -04:00
Sam Edwards
968ca123d4
CMake: Use packages by imported target where available
...
This is preferable because imported targets generally include
all of the relevant information specific to the particular
installation of each package, and without needing to hunt down
a bunch of variables to do it.
To do this, package_option() (which is starting to grow in scope
a little beyond just providing the package option, come to think
of it) is given a new IMPORTED_AS option, which tells the package
configuration system to look for one or more imported targets and
link against them instead.
2018-09-21 16:24:48 -06:00
Sam Edwards
1520d712d4
CMake: Remove target_use_packages
...
Instead, let's use a PKG::PKGNAME interface library, which simplifies
the linking and also allows us to use imported libraries from
find_package in the future.
2018-09-21 10:17:05 -06:00
Sam Edwards
cf26888672
CMake: Stop using include_directories()
...
Setting this directly on the target is cleaner,
and in most cases, the INTERFACE_INCLUDE_DIRECTORIES
mechanism takes care of it for us.
2018-09-18 18:17:43 -06:00
rdb
0af1b9c988
makewheel: update manylinux1 platform check for latest image
...
[skip ci]
2018-09-17 16:39:09 +02:00
rdb
822f89fadb
dgui: accept arg in setText, setImage, setGeom, also add clearers
...
This enables the "setters" to behave in a way that people expect setters to behave. Since `setText(None)` now does not behave expectedly, a `clearText()` has also been added to remove the text.
Closes #385
2018-09-13 21:14:04 +02:00
rdb
8b3cc74cad
interrogate: write out OS-generic filenames in #include directives
...
Fixes #386
2018-09-13 21:14:04 +02:00
rdb
3417b9df09
egg: work around compiler bug in Visual Studio 2017
...
Fixes #379
2018-09-13 21:14:04 +02:00
rdb
ecb2b6f546
movies: forbid automatic coercion from string to MovieAudio
...
This was causing issues in the unit test when calling audiomgr.get_sound() with string.
2018-09-13 21:14:05 +02:00
rdb
47496068d3
Show materials with only base color applied properly
2018-09-09 20:56:37 +02:00
rdb
b183e99692
gobj: fix bug printing Material base color
2018-09-09 20:23:48 +02:00
jspam
a333353af6
Make Loader.loadSound() accept a MovieAudio instance as soundPath
...
This functionality seems to have inadvertently been removed by
refactoring commit 23bf9ea5.
Closes #383
2018-09-09 20:22:51 +02:00
rdb
cb9e65720a
interrogate: do not use MOVE in generated code, but use std::move
2018-09-09 13:48:50 +02:00
Sam Edwards
193cf71233
CMake: Pass Python extension files to Interrogate with relative paths
...
This makes sure absolute paths don't show up in #include,
since Interrogate doesn't (currently) use the proper representation
for this. (See #386 )
2018-09-07 00:34:02 -06:00
Sam Edwards
9f55b9e77e
CMake: Don't Interrogate with deprecated -longlong on Windows
2018-09-07 00:33:52 -06:00
Sam Edwards
e501d20927
CMake: Don't compile Interrogate runtime code into interrogatedb
...
This should obviate the need for pystub as well.
Note that it's currently a little bit hacky; the source will
have to be moved to make the CMake dependencies work better.
2018-09-06 23:57:53 -06:00
Sam Edwards
27ac068908
CMake: Clean up p3express's strange dependencies on dtool
2018-09-05 22:22:00 -06:00
Sam Edwards
0c889db928
CMake: Don't conflict with find_package internal variables
2018-09-05 19:19:36 -06:00
rdb
1a94e65b17
tests: fix mutex test on win32 where mutexes are always reentrant
2018-09-04 23:01:41 +02:00
rdb
11ecd3af87
putil: make ButtonHandle::none() constexpr
2018-09-04 12:58:48 +02:00
rdb
809f9b04f6
Fix problems with spinlock mutex/cvar implementation
...
This reimplements the spinlock on top of std::atomic_flag, which is guaranteed to be lockless. It also inserts the PAUSE (REP NOP) instruction which is strongly recommended to be placed in busy-wait loops by Intel.
This also includes a recursive spinlock implementation.
The spinlock implementation is disabled by default, but can be enabled by adding the --override MUTEX_SPINLOCK=1 flag to makepanda.
2018-09-04 12:58:48 +02:00
rdb
171ba35f26
tests: add some simple smoke tests for Mutex and ReMutex
2018-09-04 12:58:48 +02:00
rdb
cf4f8b35b6
pgui: fix deadlock in PGScrollFrame/PGSliderBar
2018-09-04 12:58:37 +02:00
rdb
670047b4b0
dtoolbase: enable use of std::atomic_flag, also on macOS
2018-09-04 12:02:13 +02:00
rdb
217cecb77f
pgui: remove some unnecessary reentrant locking in PGItem
2018-09-04 12:02:13 +02:00
Sam Edwards
1970751c8a
CMake: Do something sensible with static Python modules
...
These *do* make sense and there are Panda3D users that use
this kind of configuration, so we should try to be accommodating.
2018-09-03 21:04:40 -06:00
Sam Edwards
77018c5383
CMake: Name Python targets more distinctively
...
Python targets are now prefixed with "panda3d." in
e.g. "panda3d.core"
2018-09-03 21:01:54 -06:00
Sam Edwards
601a82dafc
travis: Hackfix for BUILD_METALIBS=OFF tests
2018-09-03 16:45:43 -06:00
Sam Edwards
e13a4d6539
pstatclient: Never pass nullptr to memcpy
...
Even though the only time this happened was when the size was 0,
it's still undefined to pass memcpy a nullptr.
2018-09-03 16:10:40 -06:00
Sam Edwards
23f46d8a84
CMake: Build p3bullet
2018-09-02 16:14:01 -06:00
Sam Edwards
e48b78bc50
CMake: Handle datagram_ext.h
2018-09-02 16:07:41 -06:00
Sam Edwards
208ecd6708
Merge branch 'master' into cmake
2018-09-02 16:06:41 -06:00
Sam Edwards
5f72e9c763
bullet: Fix misplaced INLINE getter
2018-09-02 16:04:33 -06:00
Sam Edwards
8c09477e37
bullet: Add missing includes and declarations for non-composite build
2018-09-02 16:04:25 -06:00
rdb
b168fa6a85
tests: fix erroneous test_texture_clear_unsigned_byte test
2018-09-02 21:04:40 +02:00
rdb
927016711f
travis: use verbose flag to pytest
2018-09-02 20:59:40 +02:00
rdb
17bf50f1e8
audio: get_sound and uncache_sound should take Filename, not string
2018-09-02 20:55:58 +02:00
rdb
845ec7a990
cull: don't munge_points_to_quads if shader handles point size
2018-09-02 20:55:18 +02:00
rdb
b1f32e3f84
shader: reserve SL_SPIR_V ShaderLanguage value (as on vulkan branch)
2018-09-02 12:00:30 +02:00
rdb
eb62d7f223
tests: add unit tests for clearing and then peeking texture
2018-09-02 12:00:10 +02:00
rdb
9dec2aafb5
Fix static init ordering crashes in static build of pview
...
Fixes #381
2018-09-02 10:59:46 +02:00
rdb
3495537bf9
gobj: support clearing half-float textures
...
Fixes #374
2018-09-02 10:58:02 +02:00
rdb
c670cd45d9
gobj: handle infinity and NaN when peeking half float values
2018-09-02 10:56:20 +02:00
rdb
c4fe1ed883
gobj: slight refactor of Texture::do_get_clear_data()
2018-09-02 10:54:07 +02:00