Commit Graph

10619 Commits

Author SHA1 Message Date
Sam Edwards aea53844d8 CMake: dxgsg9's USE_GENERIC_DXERR_LIBRARY should be public
The reason is that it's used in the public headers, so we
need to make sure that users of the public headers also
use the same preprocessor definition.
2018-11-08 22:56:16 -07:00
Sam Edwards 3050203e24 CMake: Update add_metalib() to support exports
This allows exporting (a stub function that forwards to) a
function that returns a value - it's particularly useful in
the graphics plugins for the "get_pipe_type_foo()" functions.

This also frees up CMake from needing to use any of the source
files in the metalibs/*/ directories.
2018-11-08 20:15:08 -07:00
Sam Edwards d43767c617 CMake: Find OpenEXR, support it in pnmimagetypes 2018-11-07 19:56:01 -07:00
Sam Edwards a6877a6def Merge branch 'master' into cmake 2018-11-03 22:55:13 -06:00
Sam Edwards 0b91b3eeb3 vrpn: Add VRPN headers to parser-inc, remove CPPPARSER workarounds 2018-11-03 22:51:32 -06:00
Sam Edwards b5bf6cd73c vision: Fix missing includes/declarations 2018-11-03 22:51:28 -06:00
Sam Edwards 9222bc6d31 CMake: Detect OpenCV/ARToolKit, build p3vision
For now, p3vision is only built if either OpenCV or
ARToolKit is available. It does contain some generic
webcam access code, so it might be worth building it
when that's available.
2018-11-03 22:51:14 -06:00
Sam Edwards 0fc4edee38 CMake: Fix missing component in pandadx9 2018-11-03 22:51:10 -06:00
Sam Edwards 15a78c55bc CMake: Detect and use HarfBuzz when available 2018-11-02 23:37:26 -06:00
Sam Edwards f701e36aa5 CMake: Detect VRPN and build support for it when present
I inadvertently rewrote FindVRPN.cmake doing this - I didn't
think to check if it already existed before overwriting.
Oh well, the new version is a bit simpler.
2018-11-02 21:08:00 -06:00
rdb 5ac3cf3fc6 Eliminate C++ DConfig; replace it with a Python compatibility shim 2018-11-02 23:27:07 +01:00
Sam Edwards 62f7aabe91 Merge branch 'master' into cmake 2018-11-01 22:33:04 -06:00
Sam Edwards 5b973ed837 CMake: Add DirectX 9 support 2018-11-01 22:33:01 -06:00
Sam Edwards a246acc640 windisplay: Undefine Configure before including d3d9.h
This is for consistency with fbbc5bb9e6 which introduced the
same `#undef Configure` in dxgsg9. This prevents dtool's own
Configure() macro from conflicting with the declaration of
D3D9's Configure function in d3d9.h.
2018-11-01 21:52:56 -06:00
rdb c4f5ed308f shader: reduce unnecessary newlines and #line in preprocessed GLSL
This is done by only writing out a #line when the first non-whitespace line is encountered; any blank lines before that are trimmed.  This cuts down the size of the preprocessed shaders for a large project with many shader includes, such as the RenderPipeline.
2018-11-01 23:25:17 +01:00
rdb f4a8e923f7 dxgsg9: fix startup freeze when VRAM is 4GiB or higher 2018-11-01 22:27:28 +01:00
rdb be464b61b3 shader: do not require whitespace around : in #extension directive 2018-11-01 22:27:28 +01:00
rdb bc22f5781b shader: supports preprocessed GLSL shaders in Shader.make()
Fixes #436
2018-11-01 22:27:15 +01:00
rdb 763049ac81 event: fix incorrect include in asyncFuture_ext.h 2018-11-01 17:05:33 +01:00
loblao 604366aaa7 CollisionEntrySorter: Check if entry has surface point
Fixes #435
2018-11-01 16:28:43 +01:00
rdb 14411f592e Remove obsolete .init files in configfiles directories
These look like they were part of some now-defunct Disney tool.
2018-11-01 16:26:07 +01:00
rdb 63484c83cb pipeline: CycleData should always inherit from MemoryBase
We need to guarantee that CData classes are aligned properly, even if DO_PIPELINING is not enabled.
2018-10-31 21:25:31 +01:00
Sam Edwards b45f6fbbed dxgsg9: Remove DirectX 9.1 "detection" code
This method of checking for pnhpast.dll was actually for
DirectX 8.1 (see a16fe56c7) and its presence in the DX9 code
is largely due to the copy-and-paste nature of how the DX9
GSG was created from the DX8 code.
2018-10-29 17:50:22 -06:00
Sam Edwards 33385facfb dxgsg9: Delete dead dxInput9.{cxx,h} files
This file isn't compiled, and I'm pretty sure never has been
compiled. The dependence on "config_wdxdisplay9.h" (which has
never existed) and absence of any commits that address its
functionality reinforce the idea that this is actually just
dead code.

This seems like an artifact copied over from the DX8 code,
that nobody cared enough to get working or delete.
2018-10-29 16:05:59 -06:00
rdb ed96a52703 cocoa: cautiously enable sRGB framebuffers on macOS
[skip ci]
2018-10-28 20:41:14 +01:00
Sam Edwards 58c065d970 Merge branch 'master' into cmake 2018-10-28 05:11:14 -06:00
rdb afc994b2fb display: fix crash when removing DisplayRegion in pipelined render
Maybe not a perfect solution; we should consider keeping the DisplayRegions around until they have gone through the entire pipeline.

Fixes #427
2018-10-28 11:48:05 +01:00
rdb e5c3ce1995 pipeline: fix missing symbols for CycleDataLockedReader 2018-10-28 11:44:24 +01:00
TLOPOOperations 35d095c2cf GSG: Fix symbol name conflict 2018-10-28 11:43:19 +01:00
rdb fb52a8e15e text: fix deadlock in TextNode::write
Fixes #431
2018-10-28 11:41:05 +01:00
Sam Edwards b8b86dc2f2 glesgsg: Only use the iOS GLES framework when "BUILD_IPHONE" is defined 2018-10-27 19:42:36 -06:00
Sam Edwards 11a75eab99 CMake: Build OpenGL ES (1&2) display modules
Also reorganizes Package.cmake a little, getting more of the
package discovery logic under the PackageConfig.cmake system.
2018-10-22 01:58:24 -06:00
Sam Edwards a585dcf9ad CMake: Streamline THREADS configuration
In particular this uses Threads::Threads (when available)
to let CMake figure out how to link against pthread/etc.
2018-10-19 17:39:36 -06:00
Sam Edwards 8dd46eb736 CMake: Redo ODE find module
This defines an ODE::ODE target; it also automatically selects
the correct `dIDESINGLE`/`dIDEDOUBLE` compile-time definition.
2018-10-18 19:27:47 -06:00
rdb df77bacf06 makepanda: compile graphicsStateGuardian.cxx separately, earlier
Since this still takes a long time to build, even with the previous change, it would be better for one CPU to chew on this in the background while the rest of the build continues.
2018-10-19 00:37:00 +02:00
rdb 175d7ff56b display: significantly decrease p3display_composite2 compile time
This applies to building with MSVC and Eigen specifically.  Apparently, fetch_specified_part is taking up most of the compile time here.  I have no idea why these changes in particular make it faster, but they just do.
2018-10-19 00:30:14 +02:00
rdb 30f1c8ba92 display: slight cleanup of graphicsPipeSelection.cxx
This seemed to halve the compile time of this file under MSVC.
2018-10-19 00:12:53 +02:00
rdb f35c9e5d79 chan: adjust _net_blend when AnimControl destructs 2018-10-18 22:03:16 +02:00
rdb 2cd5a04f3f pipeline: fix compiler error on older versions of GCC 2018-10-17 19:54:29 +02:00
rdb a05e928a75 chan: fix crash in certain cases after AnimControl destruction 2018-10-17 19:44:39 +02:00
rdb eac88fc64a chan: disable AnimControl copy ctor and assignment operators 2018-10-17 19:43:41 +02:00
rdb 775e4cecff pgraph: fix freeze in garbage_collect(), esp. when rate-limit is on 2018-10-17 19:09:36 +02:00
rdb 6488e46cc7 Fix errors when building with --override DO_PIPELINING=UNDEF 2018-10-17 17:33:27 +02:00
rdb 90c13cbd4e glgsg: fix error downloading texture with WM_repeat 2018-10-17 17:32:19 +02:00
rdb bea15cd39a pgraph: fix crash when cull_callback modifies node in some way 2018-10-17 17:29:30 +02:00
rdb 90cc8fe385 Fix building with SIMPLE_THREADS=1 2018-10-16 22:15:36 +02:00
rdb 88b0f3327d Warning fixes and cleanups when building with SIMPLE_THREADS 2018-10-16 21:32:42 +02:00
rdb 0c9c698d13 pipeline: make BlockerSimple constexpr (needed by MutexSimpleImpl) 2018-10-16 21:18:02 +02:00
rdb fbf939141b gobj: fix typo causing crash when preparing shader 2018-10-16 21:13:27 +02:00
rdb b569875bf9 windisplay: fix window size changing when switching undecorated 2018-10-16 16:31:46 +02:00