Commit Graph

10371 Commits

Author SHA1 Message Date
rdb 7c0a77af78 display: disable depth test before DisplayRegion draw callback
Having depth test disabled is the default OpenGL state, and callbacks may quite reasonably expect to see the default state.  Kivy seems to expect this, for one.
2018-11-24 22:45:41 +01:00
rdb 544ef137ee x11display: fix crash with multithreading and NVIDIA driver 2018-11-24 22:44:55 +01:00
rdb 3f91615a22 glgsg: reset color write mask before calling draw callback 2018-11-23 00:23:52 +01:00
rdb bafb0ac3db x11display: add x-init-threads var to call XInitThreads()
This is off by default, but could be used if you stumble upon a race condition issue with X11 and threading.
2018-11-23 00:22:27 +01:00
rdb 8ad0cb6b57 glgsg: add support for p3d_FragData fragment output
This is necessary for GLSL 1.30 which deprecates gl_FragData but does not yet support layout(location=) specifiers

Also fix some function pointer checks for pre-GL 3.0

Fixes #455
2018-11-22 23:55:54 +01:00
rdb 0a1b6df648 glxdisplay: grab X11 lock around various GLX calls 2018-11-22 23:14:29 +01:00
rdb 254cea63bb display: fix assertion in threaded pipeline 2018-11-22 23:13:58 +01:00
rdb d093cbbb90 grutil: apply FPS meter improvements to scene graph analyzer too
This fixes the aspect ratio scaling issue in particular.

Fixes #456
2018-11-22 23:05:59 +01:00
rdb ec4b0825e9 glgsg: restore more OpenGL state after draw callback 2018-11-20 12:41:43 +01:00
rdb 53cec96c07 Fix draw calls being listed under Primitive Setup in PStats, etc.
Previously, all draw calls would be grouped under "Primitive Setup", rather than under the appropriate bin collector.  This commit fixes that and adds a few other useful collectors as well.
2018-11-20 12:41:30 +01:00
rdb c18cdcf36e display: add support for debug markers, to help with debugging
This is useful when running Panda in a tool like apitrace, so that the different calls in a frame are ordered in a neat hierarchy.
2018-11-20 12:41:20 +01:00
rdb d902ea5ce4 display: don't render window if all its DRs are inactive
This is an optimization, which will skip begin_frame/end_frame for a buffer that isn't going to have anything rendered to it.  Affects the RenderPipeline.
2018-11-20 00:39:44 +01:00
rdb e759a1b605 display: give DisplayRegions a more recognisable name in PStats 2018-11-19 21:01:43 +01:00
rdb 8f73f95e79 display: make PStats clear collectors per-window 2018-11-19 20:02:38 +01:00
Sam Edwards c3d52eeee1 express: Fix compiler error with HAVE_TAR 2018-11-12 17:24:15 -07:00
rdb 074c5187b0 Adopt new WindowProperties(size=(x, y), ...) short-hand
This is intended as replacement for WindowProperties.size(x, y), which is deprecated since it conflicts with the `size` property.  See #444.
2018-11-12 17:53:53 +01:00
rdb d62c2bf132 Remove unfinished native COLLADA loader 2018-11-12 12:02:08 +01:00
Sam Edwards a9dfd8352e general: Distinguish local/system includes
This changes includes so that local includes are consistently
#include "localFile.h"
while system and third-party includes are consistently
#include <systemFile.h>

This commit mostly converts the former to the latter; the two
exceptions are in android_main.cxx and fmodAudioSound.h, where
the reverse was necessary.
2018-11-10 18:00:10 -07:00
Sam Edwards 37e265cb63 ode: Delete unused odeHeightFieldGeom.h file 2018-11-10 18:00:07 -07:00
rdb f629a5df1a cocoa: don't enable sRGB unless it was explicitly requested
Fixes #443
2018-11-09 18:25:07 +01:00
Sam Edwards 6c5da232a4 general: Add a couple of missing EXPCLs
Although these aren't used outside of libpanda(express), they
are used by their neighboring component libraries, which means
they should be exported so that this works correctly when the
metalibs feature is disabled.
2018-11-09 00:30:44 -07:00
rdb 6051e6f305 ShaderGenerator: normalize tangent/binormal/normal after interpolation
Also changes l_eye_normal interpolant from float4 to float3.
2018-11-08 15:53:34 +01:00
rdb dfbe728bad glgsg: fix shader point sprites when not using core-only profile 2018-11-08 15:50:44 +01:00
rdb cd2ea97b1f openal: fix issues with uncache_sound not uncaching sound:
* Previously it only looked for the resolved path, but sounds are not stored with resolved path in the cache (possibly a different bug?)
* It only uncached samples, not streams

Fixes #428
2018-11-08 15:38:20 +01:00
rdb 98e767c370 fmod: fix FmodAudioSound::get_speaker_mix() 2018-11-06 20:33:56 +01:00
rdb f43bd1a409 gobj: remove use of PY_MAJOR_VERSION in internalName.h
We should not use this symbol in the interrogated headers as it means we cannot reuse the output of interrogate with different versions of Python.
2018-11-06 19:26:25 +01:00
rdb 82459fa21b ode: remove dependency on Python.h from odeBody.h 2018-11-06 19:26:21 +01:00
rdb 49b72fb198 Move Python support code from libp3interrogatedb to generated module
This prevents libp3interrogatedb from having a dependency on the Python library.

See #387
2018-11-06 19:24:37 +01:00
Brian Lach da05ef1f5c glgsg: send fog parameters to GLSL shaders
Closes #438
2018-11-05 22:14:25 +01:00
rdb 842667fd1a physx: fix missing include
[skip ci]
2018-11-04 15:26:00 +01: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
rdb 5ac3cf3fc6 Eliminate C++ DConfig; replace it with a Python compatibility shim 2018-11-02 23:27:07 +01: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
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