Commit Graph

3266 Commits

Author SHA1 Message Date
Josip Miskovic 75591fde42 Support for trimesh shape colliders 2020-09-24 20:58:28 +02:00
bjorn 61abb6f02b More strict compute shader test;
Some hardware supports ARB_compute_shader but not 4.3, causing
shader compilation failures because currently we switch to GLSL 430
if compute shaders are detected.

Instead, just detect GL 4.3 instead of looking for the compute shader
extension.  This means that compute shaders will sometimes be
unavailable even when they're supported.

It would be possible to improve this by modifying the way shaders
are compiled.  Maybe the highest supported GLSL version should be used,
but this makes shader authoring somewhat more difficult.
2020-09-24 05:29:35 -07:00
bjorn 48a347ad01 mat4_fromQuat; mat4_getFov; getViewPose/Angles fixes; 2020-09-24 04:59:53 -07:00
bjorn 9f302c2314 Set default OpenVR far plane to 100.; 2020-09-22 01:33:05 -07:00
bjorn 2c979b1d9d Fix backwards type errors; 2020-09-21 17:32:53 -07:00
bjorn d28d96008c Windows: Thread:wait no longer destroys thread; 2020-09-19 17:42:55 -07:00
bjorn 92ef5ee02d Fix lovrInstanceID on non-singlepass setups; 2020-09-19 17:33:49 -07:00
bjorn 9b0812c4f9 Disable timer queries on GLES;
They aren't compatible with multiview.
2020-09-19 17:25:54 -07:00
bjorn 2e65d71a74 Prevent mapped buffers from being discarded;
We never try to do this anyway, and the unmapping code in discard
doesn't flush contents so it's better for people to unmap the
buffer themselves before calling discard.
2020-09-19 17:21:37 -07:00
bjorn 61e9c746a8 Buffer sync fix;
It appears that GL_MAP_UNSYNCHRONIZED_BIT interferes with
GL_MAP_INVALIDATE_BUFFER_BIT's ability to discard buffer
contents.  Removing the unsynchronized bit fixes visual
glitches on Intel HD GPUs.
2020-09-19 17:19:34 -07:00
bjorn c7ca7eaa38 Add compute dispatch limit; 2020-09-18 15:19:34 -07:00
bjorn 4f730a89a7 android: fix t.graphics.debug; 2020-09-16 20:40:39 -07:00
bjorn ef88f5549b vrapi: Fix getViewPose; 2020-09-16 20:37:11 -07:00
bjorn 99cb04f55b Clean up JNI references/arrays in lovrPlatformGetBundlePath; 2020-09-16 19:39:27 -07:00
bjorn 8f581df33c Properly cleanup local KeyEvent JNI references; 2020-09-16 19:36:32 -07:00
Bjorn 2646348278
Merge pull request #284 from jmiskovic/fix-android-home-key
Fix definition of HOME key on Android
2020-09-08 13:56:07 -06:00
Josip Miskovic 62c4235448 Fix definition of HOME key on Android
There are two HOME keys defined in keycodes.h, the previously used
doesn't work and is labeled with the following comment: "This key
is handled by the framework and is never delivered to applications."
2020-09-08 17:23:17 +02:00
bjorn 98918c5de5 OpenXR: rm visibility mask;
Haven't found a runtime that supports it yet.
2020-08-31 16:32:18 -06:00
bjorn 74546f357c OpenXR: Use multiple canvases instead of a single one;
To avoid constant framebuffer completeness checks.
2020-08-31 16:31:17 -06:00
bjorn 77083d06af Update nogame; 2020-08-30 21:48:47 -06:00
bjorn d1317d227c Reorganize Tuprules;
A little more declarative, less duplication.

Misc changes:

- Added link time optimization
- Added -Os to link stage
- Use separate Android SDK and NDK paths
2020-08-30 21:12:39 -06:00
bjorn 28144c8143 OpenXR Android stuff; 2020-08-29 19:45:52 -06:00
bjorn 5d659d0ac2 os_android: Add missing lovrPlatformSetSwapInterval; 2020-08-29 16:59:26 -06:00
bjorn aeda63b96a openvr: s/actionData/action; 2020-08-29 15:29:45 -06:00
bjorn 161a14adc9 Reorganize keynums;
This is slightly easier on the eyes.
2020-08-29 15:27:16 -06:00
bjorn ee8848d4f0 OpenXR: Lazily create hand trackers;
Works around some behavior observed with Ultraleap API layer.
2020-08-28 20:58:58 -06:00
bjorn cc02175241 OpenXR hand tracking; 2020-08-28 17:05:42 -06:00
bjorn 2e5bc6adac Fix OpenVR getSkeleton; 2020-08-28 17:05:42 -06:00
bjorn 17616b8415 OpenXR: load extensions; 2020-08-28 17:05:42 -06:00
bjorn 5bf597284d tup: Update WebXR flags; 2020-08-28 12:58:05 -06:00
bjorn 3cec939297 config/default: Add CONFIG_PICO=n;
To prevent pico from accidentally building.
2020-08-28 12:55:23 -06:00
bjorn b8598dfe64 Optimize Curve:render;
No longer does dynamic memory allocation and sets the initial table
size properly to avoid reallocs.
2020-08-28 03:57:39 -06:00
bjorn 37522bd8a3 OpenXR: MSAA; 2020-08-26 13:42:42 -06:00
bjorn 17e250c415 OpenXR: Cleanup/warnings; 2020-08-26 13:42:42 -06:00
bjorn aa52fc9ca4 OpenXR: Session fixes; getMirrorTexture; Frame submission; 2020-08-26 13:42:42 -06:00
bjorn 420ab91575 OpenXR: Fix clipFar; 2020-08-26 13:42:42 -06:00
bjorn 833fabb733 OpenXR: Add identity pose to reference spaces; 2020-08-26 13:42:42 -06:00
bjorn 93d82a8d14 OpenXR: Call xrGetOpenGLGraphicsRequirementsKHR; 2020-08-26 13:42:42 -06:00
bjorn beb281a43d Pass instance to xrResultToString; 2020-08-26 13:42:42 -06:00
bjorn 7617da0ec1 Move headset initialization to lovr.headset.init;
OpenXR basically has a hard requirement that a graphics API is available
before its session can be created.  Currently the graphics module isn't
always around when headset initialization takes place.  Polling the
graphics availability in update/renderTo has some consequences for calls
made to the headset module in lovr.load or during the first few frames.

So instead we're going to delay headset initialization to a special
function that is called after modules are required.  It can also be
called manually if the window creation is delayed.
2020-08-26 13:42:42 -06:00
bjorn 6c2679e00f Fix model loading edge case; 2020-08-26 04:41:15 -06:00
bjorn 2ced7c2c16 OpenXR: More robust graphics plugin; 2020-08-24 03:09:26 -06:00
bjorn 244e6cdd75 OpenXR focus events; 2020-08-24 02:10:12 -06:00
bjorn 0b94fe336e Reorganize OpenXR graphics extension stuff; 2020-08-24 02:04:06 -06:00
bjorn 5ab8dffd8d Fix OpenXR axis actions;
2D axes can't be used as 2D actions and instead need to be represented
as two 1D axes.  Also fixup oculus touch / valve index action paths.
2020-08-23 16:11:20 -06:00
bjorn 9f769470e6 Fix OpenXR OpenGL swapchain type; 2020-08-23 16:10:57 -06:00
bjorn ba3d10dd60 OpenXR: Make action names snake case;
Capital letters are not valid for action names.
2020-08-23 15:33:02 -06:00
bjorn 0439c932ce openxr: Move actions into resources; 2020-08-22 15:40:52 -06:00
bjorn 3cb291c866 rm leap motion driver;
Planning on using the new Ultraleap OpenXR API layer.  It's possible
that this will be added back if that doesn't work out.
2020-08-22 14:05:40 -06:00
bjorn 19cf537726 Clean up tracking driver initialization; 2020-08-22 13:42:52 -06:00