22124 Commits

Author SHA1 Message Date
rdb
0561d7920f tests: add unit tests for TextEncoder 2018-10-08 23:19:29 +02:00
rdb
29b577971f dtoolutil: improve Unicode encoding/decoding, support non-BMP chars
- Support encoding and decoding four-byte UTF-8 sequences
- E_unicode supports surrogate pairs, renamed to E_utf16be for clarity
- char32_t should be used for storing a Unicode code point
2018-10-08 22:33:54 +02:00
rdb
9061fd9416 dtoolutil: fix TextEncoder methods for Python 3
The no-arguments get_text() and set_text() will now return Unicode strings in Python 3, but passing in an encoding will make them return/take bytes objects.

In Python 2, they all take regular strings, but Unicode is also accepted by the no-argument get_text() and set_text().

In the future we probably want to remove most of this interface for Python users, to whom all this is unnecessary since it duplicates functionality already in the standard library.
2018-10-08 22:14:51 +02:00
rdb
96860b88e0 dxgsg9: fix problems with window without depth buffer 2018-10-08 22:11:55 +02:00
rdb
93a3e7e699 Changes to make ColorAttrib behavior more consistent:
- T_off now actually properly disables vertex colours
- T_vertex is now the default, to preserve the previous behaviour
- ShaderGenerator behavior is now the same as in the FFP
- tests are updated to verify new behavior
- tests now properly use vertex colours, previously they accidentally only used flat colors
- With color-scale-via-lighting off and no color scale, color is no longer munged
- p3d_Color in GLSL shaders is now properly set to white instead of black with T_off mode
- In DX9 shaders will now sample white color for absent or disabled vertex color

Fixes #401
Also see #371
2018-10-08 22:09:22 +02:00
rdb
914ef2e13d tests: add various unit tests for color-related render states 2018-10-08 01:01:08 +02:00
rdb
102a256b05 tests: remove accidentally added debug image output 2018-10-07 23:03:07 +02:00
rdb
80951b3268 task: provide more properties on AsyncTask 2018-10-07 23:02:50 +02:00
rdb
a9ff8a22f0 makepanda: enable Assimp in default Confauto.prc if built 2018-10-07 23:00:17 +02:00
rdb
51414466da display: ignore material if no lights are applied
This fixes materials suddenly showing up when a color scale is applied and color-scale-via-lighting is set.

Fixes #404
2018-10-07 22:52:49 +02:00
rdb
e1af4abf11 glgsg: fix sRGB for FBOs created from non-sRGB host window
In this case _current_properties in begin_frame() will not have srgb_color set, as the current props are set by the host window
2018-10-07 21:42:23 +02:00
rdb
b0c9000000 display: fix assert when app exits before window fully opens
Possibly addressing #403
2018-10-07 21:41:02 +02:00
rdb
86c9d11a53 readme: add Android/termux build instructions 2018-10-07 20:26:24 +02:00
rdb
7d3b7036ac readme: suggest libassimp-dev and libopenexr-dev on Ubuntu 2018-10-07 20:26:13 +02:00
rdb
8cb0480222 readme: update Win build instructions to mention MSVC 2017 2018-10-07 20:25:08 +02:00
rdb
8375340582 py_panda: fix TypeError being raised instead of AttributeError
This prevented doing something like hasattr(vec3, "stuff")
2018-10-07 20:24:19 +02:00
Sam Edwards
8d14705689 interrogate: Fix typo 2018-10-07 01:36:44 -06:00
Sam Edwards
51497da8fb movies: Fix missing include 2018-10-07 01:36:43 -06:00
Sam Edwards
87d1048f79 mathutil: mersenne.h parameters should not be an enum
This makes no sense as an enum; they're constants, so
they should be static const.
2018-09-30 16:05:39 -06:00
rdb
183d66a5c2 pipeline: fix compiler warning due to PAUSE symbol redefined 2018-09-28 14:20:47 +02:00
rdb
cd9673ae9b tests: fix pytest deprecation warnings 2018-09-28 14:19:40 +02:00
rdb
fac82e6dca pgraph: fix precision issues with Color(Scale)Attrib quantization 2018-09-28 13:19:36 +02:00
rdb
c43d9b5002 tests: fix issue with double-precision TextNode tests 2018-09-27 22:23:10 +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
4c67861a28 samples: set heightfield to clamp mode in shader-terrain sample 2018-09-25 21:03:09 +02:00
rdb
cd033c27e8 grutil: add thread safety to ShaderTerrainMesh 2018-09-25 21:00:08 +02:00
rdb
a6ad608207 tests: add some unit tests for TextNode 2018-09-25 11:38:59 +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
rdb
a3a7c0cf9d parser-inc: add more POSIX system header stubs 2018-09-23 14:21:19 +02:00
rdb
77724f49dc dtoolbase: remove TypeHandle::_none symbol, no longer needed 2018-09-23 13:50:06 +02:00
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
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
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
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