22989 Commits

Author SHA1 Message Date
rdb
78425b245e pgraph: fix shadow buffer leak when light passed via shader input
This is an extension of the fix in 9a40febdb9ce40a0936d164a2ed3d72ddf7dcc8a, but that only applied when the light was passed to the shader via LightAttrib, and not via shader inputs.

ParamNodePath is not the ideal place to put this, but it's convenient (and probably more efficient than putting it into ShaderAttrib).
2019-02-19 21:53:31 +01:00
rdb
2574d85049 Merge branch 'release/1.10.x' 2019-02-19 21:38:08 +01:00
rdb
1f9b4690e6 pgraph: fix writing to SequenceNode frame_rate property 2019-02-19 21:29:21 +01:00
rdb
8ba6a0d844 assimp: don't reuse Importer object when loading multiple models
This works around a crash in v4.1.0 when loading multiple .ply files in sequence.  (I have not reproduced the crash with the latest Assimp master.)
2019-02-19 21:23:37 +01:00
rdb
bf846cd461 makepanda: fall back to libassimpd.so if libassimp.so not found 2019-02-19 21:22:04 +01:00
rdb
6a008ae724 x11display: fix threaded crash when using get_keyboard_map() 2019-02-19 21:21:22 +01:00
rdb
9d42e25539 pgraph: make ParamNodePath::get_value() return a copy
See #554.
2019-02-19 20:12:06 +01:00
rdb
2c91fdda1b interrogate: support in-place ops on properties (eg. light.color *= 2) 2019-02-19 13:46:38 +01:00
rdb
c37a33baef interrogate: don't export bindings for global operators
linmath exports a global __mul__, which isn't really useful.
2019-02-19 13:45:37 +01:00
rdb
d5a4dcfd1d Clarify framebuffer-software/hardware comment in Config.prc
[skip ci]
2019-02-19 11:50:59 +01:00
rdb
5e9c478b1a Raise version number to 1.10.2 on release/1.10.x branch
[skip ci]
2019-02-18 12:50:28 +01:00
rdb
ba3a826bff gobj: fix crash reading unaligned float4 column in GeomVertexReader
Observed when calling flatten_strong() on model with vertex colors loaded via Assimp.
2019-02-17 13:02:56 +01:00
rdb
9bf37051ac collide: fix _collider_sort not copied in CollisionNode copy ctor
See #554
2019-02-17 10:56:02 +01:00
rdb
6d927aaa52 Merge tag 'v1.10.1' 2019-02-14 23:21:57 +01:00
rdb
db8221a03d pgraph: remove pointless lock grab from RenderAttrib destructor 2019-02-14 23:19:51 +01:00
rdb
87e0ff29eb readme: update version number of thirdparty packages downloads
[skip ci]
v1.10.1
2019-02-14 22:56:49 +01:00
rdb
c41c2219c4 makewheel: add long description to METADATA file 2019-02-14 22:41:59 +01:00
rdb
20f0a69c75 pipeline: use decimal representation for unique thread ID on FreeBSD
This matches the behaviour on Linux.
2019-02-14 22:40:46 +01:00
rdb
f97ba9000b pipeline: don't use uninitialized value for main thread unique id
See #554
2019-02-14 22:39:56 +01:00
rdb
ff2fbe60ef pipeline: revert change causing shutdown crash with DEBUG_THREADS
We actually need to leak this lock, because we need to call this at static destruction time, and we can't guarantee static destruction order.

This reverts commit afed80e83a5c033f03497bcf38353794e662eedf.
2019-02-14 21:43:21 +01:00
rdb
b75982a610 interval: fix QuatInterval not normalizing the start quaternion 2019-02-14 19:18:14 +01:00
rdb
2807d1d166 samples: fix read from negative GeomVertexData row in fractal-plants 2019-02-13 15:42:20 +01:00
rdb
55ac585745 makewheel: exclude libdrm.so.2 which causes GLX context failure 2019-02-12 19:04:38 +01:00
rdb
094458a8df xfile: fix read from uninitialized memory (see #554) 2019-02-12 15:40:31 +01:00
rdb
6640e5698d EventManager: various microoptimizations to Python event handling 2019-02-12 14:30:04 +01:00
Brian Lach
95f3e30d37 ShaderAttrib: add set_shader_inputs() for C++ users
Closes #521
2019-02-12 01:16:15 +01:00
rdb
80bb5c09fe Merge branch 'release/1.10.x' 2019-02-12 01:13:56 +01:00
rdb
e1b86287ef readme: update FreeBSD package list 2019-02-12 00:32:48 +01:00
rdb
18b7350400 egg: update prebuilt parser.cxx and parser.h 2019-02-12 00:31:13 +01:00
rdb
35d28cdd0d doc: update release notes for 1.10.1 2019-02-12 00:29:30 +01:00
rdb
4d0970c072 pgraph: StencilAttrib.make() takes default write_mask argument 2019-02-11 23:48:00 +01:00
rdb
5310945f4c py_panda: fix use of macro that was removed in Python 3.8 2019-02-11 23:36:30 +01:00
rdb
3024e6daeb direct: fix various syntax warnings in Python 3.8 2019-02-11 23:35:56 +01:00
rdb
d93fb702eb makepanda: fix various syntax warnings in Python 3.8 2019-02-11 18:58:22 +01:00
rdb
11b5f09819 general: replace remaining references to ConditionVarFull. 2019-02-11 16:23:16 +01:00
rdb
afed80e83a pipeline: use constant-initi static MutexImpl for global debug lock 2019-02-11 16:23:16 +01:00
rdb
3df3b27a4e prc: prefer global-scope static MutexImpl over local one
MutexImpl guarantees nowadays to be initialized at constant init time, so this is safer on Windows, where we can't rely on magic statics.
2019-02-11 16:23:16 +01:00
rdb
b466e77fe3 dtoolbase: make TypeRegistry lock statically initialized
This is possible now that all MutexImpl have a constexpr constructor.
2019-02-11 16:23:16 +01:00
rdb
fb5191e812 pipeline: unify ConditionVarFull and ConditionVar
See #550.  Now that we use the Vista API for condition variables, the only place where the distinction is still relevant is Windows XP, and it's just not worth it for that one corner case.
2019-02-11 16:23:10 +01:00
rdb
ab569916b1 Disable WinXP mutex emulation when _WIN32_WINNT >= 0x0600 2019-02-11 14:52:21 +01:00
rdb
f741c9476f display: fix lighting being disabled when only AmbientLight is on 2019-02-10 16:19:45 +01:00
tc
33d11dba27 ParticlePanel: fixed an issue that prevented saving with Python 3
Since in Python 3 `str == bytes` no longer holds true, I modified
the source to write a text file, which it actually is, instead of a
binary file.

Closes #553
Fixes #543
2019-02-08 15:46:52 +01:00
rdb
3875cc8259 device: add proper mapping for 8bitdo N30 Pro Controller on Linux 2019-02-07 22:28:04 +01:00
tc
96bb90b5e9 cocoa: guarantee 24bit depth when Config.prc has depth-bits set to 1
Checks if the value of Config.prc for `depth-bits` is `1` and sets it
manually to 24.
This prevents getting a 16 bit depth buffer on macos
Intended to address #501

Closes #551
2019-02-07 22:26:54 +01:00
rdb
89392f0e2d dtoolbase: new mutex and condition variable impl on Windows
This uses SRWLock on Vista and above, and uses a hand-rolled implementation on Windows XP that uses Events (and a spinlock, if this is a multi-core system).

Since SRWLocks aren't recursive, ReMutexWin32Impl has been added to implement recursive mutices, using old-fashioned critical sections.

MutexImpl now has a constexpr constructor on all implementations.
2019-02-07 00:20:59 +01:00
rdb
7e0952e367 parser-inc: add synchapi.h and winnt.h headers 2019-02-07 00:20:59 +01:00
rdb
3f1bd1744b tests: add threaded unit tests for Mutex and ConditionVar 2019-02-07 00:19:15 +01:00
rdb
c4f52bfdfe pipeline: don't require holding lock for ConditionVar.notify()
As far as I know, none of the implementations strictly require this, and this may cause the waiting thread to wake up only for it to immediately have to wait for the lock again.

This change brings our implementation closer to C++11 std::condition_variable semantics.
2019-02-06 23:00:12 +01:00
rdb
36dd8889e7 Merge branch 'release/1.10.x' 2019-02-06 22:52:19 +01:00
rdb
666568a513 prc: fix recursive use of non-recursive mutex 2019-02-06 22:10:39 +01:00