Commit Graph

4031 Commits

Author SHA1 Message Date
bjorn 5c0b9e51ed Pass:setShader clears/resets bindings; 2022-05-23 22:32:36 -07:00
bjorn d9e8b81b72 Default buffer/texture/sampler; 2022-05-23 22:32:12 -07:00
bjorn 6dce0be2da pipeline lookup; 2022-05-23 21:44:42 -07:00
bjorn e054218713 gpu_bundle; gpu_bundle_pool; layouts; 2022-05-23 21:40:57 -07:00
bjorn a0db01959d Shader:clone; 2022-05-22 15:10:07 -07:00
bjorn a64fd216ea newShader; 2022-05-22 15:09:09 -07:00
bjorn de30337374 core/spv; 2022-05-22 15:02:42 -07:00
bjorn 355b2bf85b Switch to glslang fork;
The reason is that the glslang C API doesn't support the extra
overloads that let you provide multiple strings or the lengths for
strings.  In our case our shader blobs are not null terminated, so
sending them to glslang would overrun the buffer.  I forked glslang
and modified the C API to support a length parameter.
2022-05-22 14:58:07 -07:00
bjorn 4f568ed84d s/setColorMask/setColorWrite; Pass:setColor; 2022-05-11 17:30:08 -07:00
bjorn 070e4f304d lovr.graphics.get/setBackground; 2022-05-11 15:38:05 -07:00
bjorn 970a84a514 Surface, swapchain, window texture, vsync; 2022-05-11 15:28:04 -07:00
bjorn f7b4ec725f Render passes; 2022-05-11 12:51:13 -07:00
bjorn 24f09ea608 lovr.graphics.submit works; 2022-05-11 12:50:49 -07:00
bjorn bfa0d94f2d Pass pipeline API; 2022-05-11 12:50:26 -07:00
bjorn bd970a5ec8 gpu_pipeline; 2022-05-11 12:49:05 -07:00
bjorn 3ff13edfb6 util: Add BREAK; 2022-05-11 12:47:12 -07:00
bjorn e820e40e08 Move window opening to lovr.system; 2022-05-09 12:43:19 -07:00
bjorn 91c48e57d5 macOS: implement virtual memory functions; 2022-05-09 12:41:21 -07:00
bjorn d9e5ba8b9f Slightly broken compileShader/newShader; 2022-05-09 11:47:06 -07:00
bjorn 9ae285afa7 Add glslang; 2022-05-09 11:45:15 -07:00
bjorn 88296a7c16 gpu_layout;
Stores a declaration of a group of shader resources.
2022-05-07 16:08:49 -07:00
bjorn 22edbe4f64 BC1 is rgb; 2022-05-06 17:27:16 -07:00
bjorn 5d078461a2 Rename copy texture usage to transfer; 2022-05-06 17:26:59 -07:00
bjorn 1fde5a36d0 Transform stack; 2022-05-06 17:26:38 -07:00
bjorn fa8be29dfa Use unique subdirectories for plugins in CMake; 2022-05-06 11:11:59 -07:00
Samuel Gosselin 255f4e4a34 fixup: keep coding style consistent. 2022-05-06 10:55:29 -07:00
Samuel Gosselin 02c67d090d fixup: gracefully handle XR_ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB and return |false| instead. 2022-05-06 10:55:29 -07:00
Samuel Gosselin 425a2ca343 Add support for setting the display refresh-rate.
OpenXR provides APIs to enumerate the supported refresh-rates, and
selecting a new refresh-rate. This patch adds two new APIs to the
lovr.headset module:

  - lovr.headset.getDisplayFrequencies():
	Returns a table containing the supported refresh-rates on
	success; nil otherwise.
  - lovr.headset.setDisplayFrequency(refreshRate:number):
	Returns true on success, false otherwise.

Only the OpenXR backend has support for this feature and it is
gated by the "refreshRate" feature flag, similarly to what the
"getDisplayFrequency()" API does.
2022-05-06 10:55:29 -07:00
Ryan Pavlik 307d33b327 Allow XR_KHR_android_create_instance to be optional.
It's essentially replaced by KHR_loader_init_android,
and will eventually not be provided by new/updated runtimes
2022-05-06 09:28:15 -07:00
bjorn 7ac9f357d8 Sampler API; 2022-05-01 15:48:41 -07:00
bjorn 22e15513f9 Sampler; 2022-05-01 15:47:17 -07:00
bjorn 203a60c63a rm model samplers; 2022-05-01 15:41:34 -07:00
bjorn f13bfabb5d Fix texture allocator block sizes; 2022-05-01 15:41:03 -07:00
bjorn 211e3ef0f8 Compile fixes; 2022-05-01 15:18:56 -07:00
bjorn 77a32333e0 lovr.graphics.pass; 2022-04-30 18:56:38 -07:00
bjorn ebe77e5924 Sketch out Texture uploads; 2022-04-30 18:49:46 -07:00
bjorn b7aa3f29a4 gpu: add texture transfer functions; 2022-04-30 15:58:19 -07:00
bjorn dbc4f08fa5 You can write quats to buffers now; 2022-04-30 15:58:09 -07:00
bjorn 0316378f74 Fix renderView precedence; 2022-04-30 09:13:21 -07:00
bjorn 445f813524 Ignore srgb flag for formats that don't support it; 2022-04-30 09:13:16 -07:00
bjorn 0772d8b4de newTexture; 2022-04-30 03:06:14 -07:00
bjorn e80d254dc6 Texture API;
Except newTexture because it's hard or something
2022-04-29 20:56:23 -07:00
bjorn c60116ad61 rm Color; 2022-04-29 20:55:54 -07:00
bjorn 4be958195d Start Texture; 2022-04-29 20:38:34 -07:00
bjorn e53ddfa03b isFormatSupported; 2022-04-29 17:16:16 -07:00
bjorn bc6b98123b gpu_texture; 2022-04-29 15:09:01 -07:00
bjorn 48e2509a3c lovr.graphics.wait; 2022-04-28 22:37:03 -07:00
bjorn 7aee0a4656 Add Pass; Buffer transfers; lovr.graphics.submit; Bugfixes; 2022-04-28 22:30:31 -07:00
bjorn 874c35120b mv getBuffer buffer; 2022-04-28 20:57:36 -07:00
bjorn d76936c48d gpu: add ticks and streams; 2022-04-28 20:57:36 -07:00