23098 Commits

Author SHA1 Message Date
rdb
2d7e80a89e express: add full range of WeakPointerTo ctors and assign ops
Matches PointerTo constructors/assignment operators, supporting conversion between related pointer types.

Fixes #367
2018-07-30 17:26:02 +02:00
rdb
f12bc29d6d tests: do not attempt to run GLSL tests without buffer tex support 2018-07-26 22:58:15 +02:00
rdb
0cb763a10a ShaderGenerator: always use generic attr on Linux
48808fe269eac07b725dead80e2b18c838b53abb disabled this on Linux, but I believe this was an accidental change.
2018-07-26 22:58:15 +02:00
rdb
02b32a5814 glgsg: support vertices-float64 in core profile shaders
Requires OpenGL 4.1 or GL_ARB_vertex_attrib_64bit extension.
2018-07-26 22:58:15 +02:00
rdb
0f4168a304 text: use 64-bit coords in TextAssembler if vertices-float64 set 2018-07-26 22:58:07 +02:00
rdb
d081b4d420 mathutil: override plane.normalize() to be meaningful for planes
Now it only divides by the length of the normal, rather than also adding in the square of the w component.
2018-07-26 22:08:37 +02:00
rdb
c634c455fd framework: add zero-argument version of open_framework() 2018-07-26 22:08:37 +02:00
rdb
ecfeae8a27 shader: support double-precision vertex columns in GLSL 2018-07-26 22:07:20 +02:00
rdb
7fe72c47f3 glgsg: update copy of glext.h 2018-07-23 09:02:12 +02:00
rdb
1a6d329fde gobj: support T_unsigned_int_24_8 in TexturePeeker 2018-07-23 08:32:58 +02:00
rdb
71e18eb960 tests: add test for setting near distance to infinitiy 2018-07-17 23:23:48 +02:00
rdb
f45fa747d1 x11display: fix BadWindow if get_pointer called after win close 2018-07-17 23:01:44 +02:00
rdb
bbb15631c6 mathutil: support infinite near/far in LFrustum
I don't know if anyone is using LFrustum, but just in case, it's good to support this corner case.
2018-07-17 23:00:57 +02:00
rdb
cf240d95c1 gobj: support infinite near distance in PerspectiveLens
Useful when rendering with near/far planes flipped around.
2018-07-17 22:59:54 +02:00
rdb
eafab53729 tests: fix depth buffer test failure 2018-07-17 22:59:38 +02:00
rdb
359ce3e9ef glgsg: fix error with glObjectLabel and SSBO 2018-07-17 22:59:23 +02:00
rdb
b5194d9ff2 glgsg: pad SSBOs to 16 byte boundary (required by some drivers) 2018-07-17 22:59:15 +02:00
rdb
06539f5c66 glsl: support passing uint variables to shader 2018-07-17 22:32:34 +02:00
rdb
911a549386 collide: add tube-into-tube collision test 2018-07-17 22:30:06 +02:00
rdb
71b4b807f8 collide: add line-into-box test, improve segment/ray into box 2018-07-17 22:24:35 +02:00
rdb
684a58e7e9 parser-inc: add timespec 2018-07-17 22:21:44 +02:00
rdb
57578ee58f direct: add MetaInterval underscore aliases (fixes override bug)
These methods are supposed to override the underlying C methods, which do have underscore aliases, so it is important that the Python class defines these underscore aliases as well.
2018-07-17 22:20:35 +02:00
rdb
6cd59807dd Remove useless test_display.cxx file 2018-07-17 19:38:10 +02:00
rdb
799f0b4f78 glgsg: work around driver bug extracting buffer texture data
Some drivers would report the wrong internal format.  But it's silly that we query the internal format anyway, since buffer textures have a fixed sized internal format.
2018-07-17 17:04:50 +02:00
Mitchell Stokes
e4cf73378c Merge remote-tracking branch 'origin/master' into deploy-ng 2018-07-15 14:38:05 -07:00
Mitchell Stokes
c33ae8a95f Merge branch 'master' into deploy-ng 2018-07-15 12:42:51 -07:00
Mitchell Stokes
0fd1250142 deploy-ng: Fix execute permission bits for tarball installers created on Windows 2018-07-15 12:07:22 -07:00
Mitchell Stokes
f3e87a0d01 deploy-ng: Create zip installers without first creating a temporary directory 2018-07-15 12:07:22 -07:00
rdb
61084a3f4e pgraph: work around C++11 bug in something or other (see #355) 2018-07-12 14:24:40 +02:00
rdb
10fe8659c6 gobj: work around a deadlock in GeomCacheManager::flush() 2018-07-12 14:22:27 +02:00
rdb
c434e08a9c tests: add various depth buffer rendering tests 2018-07-12 14:20:31 +02:00
rdb
e41eeaae23 glgsg: if 32-bit unorm depth is not available, fallback to float
This prevents falling back to 24-bit depth if 32-bit depth is requested.
2018-07-12 14:17:02 +02:00
rdb
828233a8f2 glgsg: support gl-depth-zero-to-one to get same NDC Z range as D3D 2018-07-12 14:13:32 +02:00
rdb
16daf08e42 glgsg: fix some GCC warning messages 2018-07-11 13:33:50 +02:00
rdb
ff3d005230 x11display: fix Xlib thread safety problems 2018-07-11 13:33:21 +02:00
rdb
55146b9f82 dxgsg9: fix compilation error with WeakPointerTo comparison 2018-07-09 17:09:11 +02:00
rdb
fbce833aae pgui: reduce unnecessary locking in PGItem
A deadlock has been observed if the lock is held while traversing the scene graph, so the need for locking in cull_callback is now reduced.
2018-07-09 16:13:01 +02:00
rdb
e673937384 parser-inc: add <memory> include to unordered_map/set for allocator 2018-07-09 16:02:06 +02:00
rdb
7c8426a79f tests: fix int overflow error with GLSL shader test on some drivers 2018-07-08 22:28:52 +02:00
rdb
abe20fc489 fmod: return NullAudioSound if file does not exist
This matches the OpenAL behaviour, and is needed to fix the unit tests on macOS.
2018-07-08 21:49:37 +02:00
rdb
c6ed4e1836 general: don't cast to regular pointer when returning a PointerTo
This is inefficient because it induces an unnecessary ref()/unref() pair when we just need to move the pointer out of the function.  Thanks to 23128e4695d2e8581551be161f20cf7d53ca87b5, we can now move between related pointer types, making the .p() hack unnecessary.
2018-07-08 21:40:58 +02:00
rdb
23128e4695 express: support casting between compatible PointerTo types
This makes it possible to implicitly convert a PT of a derived type to a (C)PT of a base type, without needing to first convert it to a regular pointer.  This also applies to moves, which are now more efficient due to the lack of need for ref/unref pair even if the pointer type is not exactly the same.
2018-07-08 21:33:49 +02:00
rdb
409231d214 express: make WeakPointerTo cast operators explicit
This prevents accidentally (and unsafely) decaying a WeakPointerTo to a regular pointer.
2018-07-08 21:25:08 +02:00
rdb
fb82a1c557 express: enable WeakPointerToBase comparison operators on Win32
I'm not sure why they were ifdeffed out, but they should certainly be available so that it is possible to compare WeakPointerTo in a thread-safe manner.
2018-07-08 21:22:25 +02:00
rdb
269d154aea chan: fix thread-unsafe access of WeakPointerTo 2018-07-08 21:15:40 +02:00
rdb
eda47c7f3b bullet: support Plane class in BulletPlaneShape 2018-07-08 21:13:13 +02:00
rdb
cf451bde23 tests: add some fuzz to bullet plane shape testing
Needed to unbreak the test suite on macOS.
2018-07-08 21:11:36 +02:00
rdb
835a895c51 windisplay: don't adjust in_window during get_pointer
This restores the old behaviour from before 29a08932ea92bcf0e953994c524cafc1717930b5, which makes in_window true during pointer capture (ie. click-and-drag) even if the cursor leaves the window.

X11 behaviour is already not to adjust in_window.

Fixes #363
2018-07-07 22:55:45 +02:00
Tohka
0c1fa6a765 nsis: Correct building on NSIS 3.0
LVM_GETITEMCOUNT and LVM_GETITEMTEXT are already defined post NSIS 3.0.
2018-07-07 22:54:53 +02:00
Brian Lach
fd227f6492 bullet: allow creation of BulletCapsuleShape from CollisionTube 2018-07-06 13:31:00 -04:00