Commit Graph

11365 Commits

Author SHA1 Message Date
rdb e9c7d345df display: Move GraphicsPipe::_detected_display_zoom to class member 2020-12-28 16:31:23 +01:00
rdb b38e9d552a Merge branch 'release/1.10.x' 2020-12-28 16:26:48 +01:00
rdb 90fb31ac21 ffmpeg: Fix crash cleaning up audio/video context 2020-12-28 16:23:04 +01:00
rdb 21aa31f8c0 gobj: Fix build error on Windows 2020-12-28 12:07:17 +01:00
rdb 2b0a6b995a display: Add a way to query system DPI scaling
See #426
2020-12-26 16:25:51 +01:00
rdb 2156e6deb2 Merge branch 'release/1.10.x' 2020-12-26 14:00:29 +01:00
rdb 55d43a1d57 device: Fix macOS crash when unplugging device in threaded pipeline
Fixes #1082
2020-12-26 12:46:45 +01:00
rdb a3010a43a5 Merge branch 'release/1.10.x' 2020-12-24 15:31:52 +01:00
rdb 35b7ef0dcb shader: Add additional mode-based texture inputs to GLSL shaders
This adds the following inputs:
  p3d_Texture[] (as alternative to p3d_Texture0, etc.)
  p3d_TextureFF[]
  p3d_TextureModulate[]
  p3d_TextureAdd[]
  p3d_TextureNormal[]
  p3d_TextureHeight[]
  p3d_TextureSelector[]
  p3d_TextureGloss[]
  p3d_TextureEmission[]
2020-12-23 18:20:43 +01:00
rdb 05876317cf Add TextureStage::M_emission mode
This is similar to M_glow, except that the emission factor is in the RGB channels.
2020-12-23 17:33:59 +01:00
rdb 8dd3301c43 text: Fix issue with TextNode::set_text() called from non-App stage
Because TextEncoder is not pipeline-cycled, text_changed() should propagate text changes up to stage 0.

See #1070; this caused the frame rate meter to show 0.0 fps most of the frames.
2020-12-21 16:53:05 +01:00
rdb 3786dc2aea CMake: Fix detection and use of SSE2 compiler flag on MSVC
This is one half of the fix for #1072
2020-12-20 18:35:17 +01:00
rdb e08282003b putil: Give SimpleHashMap a type handle to enable memory usage tracking
Previously SimpleHashMap were entirely absent from the PStats memory statistics.
2020-12-20 01:02:23 +01:00
rdb dee8df9427 Merge branch 'release/1.10.x' 2020-12-20 01:02:08 +01:00
rdb ac021e94d6 putil: Ensure SimpleHashMap::_deleted_chain/_table are always initialized
Good to be on the safe side.
2020-12-20 00:59:55 +01:00
rdb f7ab42da56 putil: Fix memory leak in SimpleHashMap
Fixes #1077
2020-12-20 00:23:04 +01:00
rdb b5c857c73f pgraphnodes: Backport ShaderGenerator stub to 1.10.x
Needed if interrogate is being run with the __aarch64__ definition in a multi-arch build
2020-12-19 23:50:07 +01:00
rdb 10bb4a33d3 ShaderGenerator: remove unnecessary member, define all stub methods 2020-12-19 11:15:00 +01:00
rdb f65fd44c08 pgraphnodes: Add missing ShaderGenerator stub symbols 2020-12-19 02:56:41 +01:00
rdb 7ae72cd880 pgraphnodes: Fix ShaderGenerator includes 2020-12-19 02:00:59 +01:00
rdb 1c974092e4 express: Fix compile error with certain macOS SDKs 2020-12-19 01:00:07 +01:00
rdb abe3c2bf0b CMake: Mark all system macOS frameworks as advanced variables
It should be extremely unusual to want to change these, and they are just cluttering up the CMake GUI.
2020-12-19 00:33:22 +01:00
rdb 113dd6a357 CMake: Don't try to build FMOD Ex audio module for arm64 2020-12-19 00:26:22 +01:00
rdb 617a759fd2 pgraphnodes: Add exposed methods to ShaderGenerator stub
Since HAVE_CG is now dependent on __aarch64__, it otherwise relies on interrogate having been run with the same architecture flags.
2020-12-19 00:26:13 +01:00
rdb a5ae292c3e Merge branch 'release/1.10.x' 2020-12-18 12:56:31 +01:00
rdb 6f35cb0235 device: Silently ignore invalid evdev keycodes generated by some drivers
Fixes #1066
2020-12-15 12:33:22 +01:00
rdb fa8c8e71b5 gobj: Assert instead of crash if primitive references out-of-bounds vert 2020-12-14 16:54:20 +01:00
rdb 79714392cb gobj: Enable slightly more efficient GeomVertexReader/Writer ctor
This allows moving an existing PT(GeomVertexData) into the object, preventing an extra refcount increase.
2020-12-14 11:16:25 +01:00
rdb 902ada10b8 gobj: Slight optimization for GeomTristrips::append_unused_vertices() 2020-12-14 11:11:46 +01:00
rdb 454179a276 collide: Fix typo in STDFLOAT_DOUBLE case 2020-12-14 11:00:49 +01:00
rdb a11e21e4f4 audio: Fix sound resuming after reactivation if stop() was called while inactive
Backport of fix for #559
2020-12-12 19:50:48 +01:00
rdb e5eb5f8ed2 audio: Fix stop() not working for looped sound while sound is inactive
Fixes #559

Also fixes #1031 for FMOD
2020-12-12 18:45:45 +01:00
rdb 9f09857397 collide: Error checking for CollisionPolygon::setup/verify_points() 2020-12-12 17:28:41 +01:00
rdb eaf509a226 pgraph: Make PandaNode::r_copy_subgraph no longer virtual (unused) 2020-12-12 17:28:21 +01:00
rdb a1b2d5b8dc Make use of new function call methods in Python 3.9 2020-12-12 17:28:21 +01:00
rdb ab5730831c audio: Add some properties to AudioSound 2020-12-12 17:28:21 +01:00
rdb 2b29c757d9 pgraph: Optimization for GeomNode::add_for_draw() 2020-12-12 17:28:21 +01:00
rdb 251d73a47b ShaderGenerator: very slight optimization setting ShaderAttrib flags 2020-12-12 14:15:27 +01:00
rdb ac4faf3d74 text: Make TextNode pipeline-cycled
Fixes #1070

Note that text property changes are not pipeline-cycled at the moment.
2020-12-12 14:05:48 +01:00
rdb 54a4a6abfc Merge branch 'release/1.10.x' 2020-12-12 14:02:04 +01:00
rdb 761c54f63d pgui: Workaround for DirectEntry flickering issues w/ pipelining
See #1070.  This is a temporary solution (one which isn't complete- it doesn't properly handle state changes).
2020-12-12 13:57:49 +01:00
Daniel 4f63ef635d panda: Remove PyEval_InitThreads calls when compiling against Python 3.9+
Cherry-pick from #1053
2020-12-12 00:16:58 +01:00
rdb c8a35641c1 pgraphnodes: Remove unused variable 2020-12-10 17:37:05 +01:00
rdb ed397b3ab8 Merge branch 'release/1.10.x' 2020-12-09 17:59:37 +01:00
rdb bf59e880c6 bullet: Fix compilation error with Bullet 2.90+ 2020-12-09 16:25:29 +01:00
rdb 8e2c0dff4a pgraph: Hack fix for copying model with LightAttrib on root
When a LightAttrib is set on the root of a model and the light is contained within that model, creating a copy (like the one Loader makes automatically) causes the LightAttrib to still point to the original light, not to the newly copied light.

This works around it only for the case when the LightAttrib is set on the root, and only for the case of NodePath::copy_to() (it turns out there are edge cases when doing it in PandaNode::copy_subgraph() that would be hard to explain).

See Moguri/blend2bam#44
2020-12-09 15:51:36 +01:00
rdb 9525ddbfef pgraph: LightAttrib::get_on_light(n) should call check_sorted() 2020-12-09 15:48:10 +01:00
rdb 615502aef6 pgraphnodes: Support hardware instancing for LODNode
LODNode will now correctly calculate LOD for individual instances.

It turns out implementing it for FadeLODNode is hard (wrt. tracking state for individual instances) so I have not bothered with supporting it - FadeLODNode instead calculates a single switch level for all instances based on the centroid of the visible instances.
2020-11-26 16:47:35 +01:00
rdb e13756f43e pgraph: Support hardware instancing in BillboardEffect and CompassEffect 2020-11-26 16:47:11 +01:00
Daniel 54cb519dc9 panda: Remove PyEval_InitThreads calls when compiling against Python 3.9+
Closes #1053
2020-11-23 10:56:09 +01:00