Commit Graph

10563 Commits

Author SHA1 Message Date
Sam Edwards 2c0b079dc9 CMake: Disable C++ exceptions everywhere that doesn't request them 2018-10-15 23:52:36 -06:00
Sam Edwards f9eb327a11 CMake: Add missing dependency from p3display on PKG::X11 2018-10-15 17:10:28 -06:00
Sam Edwards e28d8353f4 Merge branch 'master' into cmake 2018-10-14 16:20:13 -06:00
Sam Edwards 2d80d6d063 general: Add missing includes and remove deprecated type
Credit for missing includes to @treamology in Git commit
16cfac4829

CGTableCount removed; modern macOS seems to call this
a uint32_t instead. I can find no reference to CGTableCount
in any documentation, and the (very old) source code I dig
up just typedefs it anyway.
2018-10-14 15:50:06 -06:00
Sam Edwards b3f1b7d40b Merge branch 'cmake' of https://github.com/treamology/panda3d into cmake
# Conflicts:
#	.travis.yml
#	direct/src/showbase/CMakeLists.txt
#	dtool/dtool_config.h.in
#	dtool/src/prc/CMakeLists.txt
#	panda/src/cocoadisplay/CMakeLists.txt
#	panda/src/express/CMakeLists.txt
#	panda/src/osxdisplay/CMakeLists.txt
2018-10-14 02:26:56 -06:00
Sam Edwards ea1b50a522 Merge branch 'master' into cmake 2018-10-13 16:15:35 -06:00
Sam Edwards 602ea6ebf4 general: Fix a couple more compiler warnings
- express: Fix a warning when compiling for debug

- dtoolutil: Give TextEncoder a virtual destructor
2018-10-13 16:14:34 -06:00
Sam Edwards 84ed19e8a7 display: Add two missing includes
(lightAttrib.h and materialAttrib.h)
2018-10-12 21:49:49 -06:00
Sam Edwards 6f62396373 general: Resolve a few compiler warnings
- display: GraphicsWindowProc should have a virtual destructor,
           as it's meant to be subclassed.

- express: set_matrix_view helper should always fail an assert
           when 'size' is wrong, even on release builds.

- express: Fix filename capitalization on some #includes.
           They're normally Windows-only, where case doesn't
           matter, but it's better to be consistent.

- gobj: Fix typo.

- particlesystem: Remove BaseParticle::_last_position.
                  Last position is tracked by PhysicsObject now.

- windisplay: Heed warnings about casting bool to (PVOID).
              Also, per MSDN docs, SPI_SETMOUSETRAILS uses the
              uiParam argument and ignores pvParam, so pass the
              _saved_mouse_trails value in that way.
2018-10-12 15:37:40 -06:00
Sam Edwards 90d3b29767 CMake: Sort direct/dtool/panda/pandatool subdirectories
This forces us to make sure the inter-target dependencies work
in an order-independent way.
2018-10-10 20:16:32 -06:00
Sam Edwards e89621b88d CMake: "Flatten" metalibs more
By "flatten" I mean that component libraries aren't referenced by
genex anymore; instead, their include directories and libraries
are copied out of their interfaces and into the interface of
the metalib.

This prepares for exporting our targets, by making sure that the
component libraries don't have to be installed for CMake to be
able to export metalibs.
2018-10-10 20:16:32 -06:00
rdb 7bd8cbdeb6 windisplay: allow changing undecorated/fixed_size after window open
Fixes #405
2018-10-08 23:20:04 +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
Sam Edwards 149303f04c CMake: Clean up stray ${X11_LIBRARIES} direct reference 2018-10-08 12:57:07 -06:00
rdb 80951b3268 task: provide more properties on AsyncTask 2018-10-07 23:02:50 +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
Sam Edwards 02412d0e7d Merge branch 'master' into cmake 2018-10-07 01:58:41 -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 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 e917c54433 Merge branch 'master' into cmake 2018-09-22 15:55: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 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 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
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
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 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