rdb
fac82e6dca
pgraph: fix precision issues with Color(Scale)Attrib quantization
2018-09-28 13:19:36 +02:00
rdb
5ae38a8a92
Fix crash loading from search path
...
Possible fix for #395
2018-09-27 22:16:56 +02:00
rdb
a099c85245
ShaderGenerator: fix broken handling of CO_undefined alpha operand
...
Fixes #394
2018-09-25 21:19:30 +02:00
rdb
cd033c27e8
grutil: add thread safety to ShaderTerrainMesh
2018-09-25 21:00:08 +02:00
rdb
1e084e0b2b
text: add thread safety to TextNode
...
This does not 100% cover all the base class TextProperties, however, so you still need to be careful not to access those from two threads at once.
2018-09-25 11:35:16 +02:00
rdb
5457d76b94
text: slight perf improvement for TextNode card/frame generation
2018-09-25 11:08:22 +02:00
rdb
3ac50a2347
movies: fix crash on simultaneous threaded audio/video load
2018-09-23 14:22:41 +02: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
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
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
cf4f8b35b6
pgui: fix deadlock in PGScrollFrame/PGSliderBar
2018-09-04 12:58:37 +02:00
rdb
217cecb77f
pgui: remove some unnecessary reentrant locking in PGItem
2018-09-04 12:02:13 +02: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
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
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
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
Sam Edwards
4695557a5d
general: Don't require BUILDING_* for static builds
2018-08-31 23:54:32 -06:00
rdb
115f8df4d5
putil: work around GCC bug causing undefined reference in debug build
2018-08-26 14:03:44 +02:00
rdb
c9372c3699
Fix a few GCC compile warnings
2018-08-26 14:02:33 +02:00
Mitchell Stokes
f663d215d5
Remove some unused variables
2018-08-19 16:55:07 +02:00
rdb
371c34d13b
linmath: allow constructing matrix from rows
...
This also enables using mat[n] wherever an LVecBase4 is accepted, as well as Mat4(*mat).
2018-08-19 16:42:36 +02:00
rdb
b1d2111037
express: add Datagram add_blob and add_blob32, et al.
...
This is for writing Python 2/3 agnostic code for writing binary data to a datagram, and reading from it using DatagramIterator.
2018-08-19 16:01:39 +02:00
rdb
74442e41f1
express: slight Datagram constructor cleanup
2018-08-19 14:21:23 +02:00
rdb
ba345d590f
express: make Datagram.get_message() return bytes in Python 3
...
This is done using a Python extension function, which also happens to make the call more efficient as this avoids an extra copy. The C++ version still returns std::string as there is still a lot of C++ code that relies on that.
Fixes #297
2018-08-19 13:40:58 +02:00
Sam Edwards
06f7da5215
express: Fix misclassified EXPCL_PANDA_ macro
2018-08-14 21:58:11 -06:00
Sam Edwards
6105953b40
general: Add forgotten include
2018-08-14 17:23:56 -06:00
rdb
72e593800f
gobj: don't recalculate proj mat on set_near/far with existing value
2018-08-12 22:06:13 +02:00
rdb
54ec575472
egg: add properties to EggData / EggNode
2018-08-12 22:05:25 +02:00
deflected
eb0f753a3c
x11display: fix loading cursor from compressed/encrypted stream
2018-08-08 21:54:58 +02:00
rdb
433f734d43
mathutil: BoundingPlane improvements
2018-08-08 21:54:52 +02:00
rdb
2556d006f7
glgsg: a few version check tweaks
2018-08-05 13:09:25 +02:00
rdb
8348f16665
glgsg: fix incorrect behavior if mat has either ambient or diffuse
...
This might have only been an issue in some drivers (not sure, spec is a bit vague here).
Apparently we need to call glMaterial *after* the color material setting has been disabled for it to stick.
Fixes #369
2018-08-05 12:54:32 +02:00
rdb
60468b0bec
ShaderGenerator: additional case where vtx_color isn't needed
...
See sample code in a comment in #370
2018-08-05 12:49:03 +02:00
rdb
b836a60adb
cull: remove unused variable declarations
2018-08-03 22:59:04 +02:00
rdb
929808b867
ShaderGenerator: fix regression with flat colors
2018-08-03 22:58:29 +02:00
rdb
8806dedb51
ShaderGenerator: avoid writing vtx_color input if unneeded
2018-08-03 22:24:48 +02:00
rdb
9ba2d7242e
gobj: get rid of enforce-attrib-lock, just DTRT instead
...
This setting causes asserts when modifying certain material flags after they are assigned to a node, in case a shader has been generated that uses the materials, which cannot efficiently detect whether the material has changed. However, we already sort of have a (inefficient, but effective) solution for this in TextureStage (see #178 ) that we could just apply here as well: changing the material attributes after such a shader has been generated could call GraphicsStateGuardianBase::mark_rehash_generated_shaders().
In the future, we should replace the material model with one that does not require shader regeneration for such seemingly trivial property changes.
Fixes #370
2018-08-03 21:55:06 +02:00
rdb
7e290b221b
Remove a few unused and obsolete C++ test files
2018-08-03 21:09:36 +02:00
rdb
668a093c26
gobj: try to fix some deadlocks modifying geometry while rendering
...
The correct locking order should be: the Geom's GeomVertexArrayData first, *then* the GeomPrimitive.
2018-08-03 20:45:29 +02:00