bjorn
18413114ad
Fix depthClamp;
2022-08-24 03:09:09 -07:00
bjorn
1c48578e95
Fix automipmap synchronization;
2022-08-23 18:49:11 -07:00
bjorn
f310a7ad04
gpu_bind_bundles;
...
Now you can bind multiple bundles at once.
2022-08-08 20:36:22 -07:00
bjorn
2ebb4bb415
Improve OpenXR layout transitions a bit;
2022-08-06 23:25:49 -07:00
bjorn
8aa1cf91b2
Submit depth buffer to OpenXR;
2022-08-06 22:52:18 -07:00
bjorn
642388709b
Shader helper improvements;
2022-08-06 13:06:42 -07:00
bjorn
ed59eeb11c
gpu: don't use VkPipelineCacheHeaderVersionOne;
...
Doesn't exist in NDK...
2022-08-05 23:41:25 -07:00
bjorn
a23f0351cc
WIP OpenXR layout transitions;
2022-08-05 18:36:51 -07:00
bjorn
acd87a5e5c
lovr.graphics.present;
...
It's nice to have an explicit action for presentation.
2022-08-04 00:06:54 -07:00
bjorn
89312c1c4b
Add on-disk shader cache;
...
Set t.graphics.shadercache to true (the default) and lovr will
read/write a shader cache file from/to disk.
2022-08-02 22:06:44 -07:00
bjorn
4ee092e81b
Make Pass a regular object;
...
It uses newPass instead of getPass. Temporary objects had lifetime
issues that were nearly impossible to solve. And normal objects are
easier to understand because they behave like all other LÖVR objects.
However, Pass commands are not retained from frame to frame. Pass
objects must be re-recorded before every submit, and must be reset
before being recorded again.
Pass objects now provide a natural place for render-pass-related info
like clears and texture handles. They also allow more information to be
precomputed which should reduce overhead a bit.
It is now possible to request a stencil buffer and antialiasing on the
window and headset textures, via conf.lua.
lovr.graphics.setBackground should instead set the clear color on the
window pass. Though we're still going to try to do spherical harmonics
in some capacity.
There are still major issues with OpenXR that are going to be ironed
out, and the desktop driver hasn't been converted over to the new
headset Pass system yet. So lovr.headset integration is a bit WIP.
2022-08-02 22:06:44 -07:00
bjorn
92201b87a1
Rename timer tally type to time;
2022-07-17 13:17:33 -07:00
bjorn
c2dd7281cc
mv stage tally -> shader tally;
2022-07-17 11:38:55 -07:00
bjorn
5d3e1f93cd
Add d32fs8;
2022-07-17 11:03:00 -07:00
bjorn
32346796ef
Tally/Readback cleanup;
2022-07-17 09:50:15 -07:00
bjorn
e2bfff1b0a
Tally/Readback fixes;
2022-07-14 19:23:02 -07:00
bjorn
3bfd9ca0e1
gpu: improve wait functions;
...
- gpu_finished -> gpu_is_complete
- add gpu_wait_tick -> can wait for specific tick to finish (fence)
- gpu_wait -> gpu_wait_idle
2022-07-14 00:04:38 -07:00
bjorn
c54a587590
gpu: fix read scratchpad destruction;
2022-07-14 00:04:21 -07:00
bjorn
ae87abc7bb
gpu: fix allocator;
2022-07-11 19:53:53 -07:00
bjorn
cfa5613db4
gpu: render pass cache uses correct resolve layout;
2022-07-10 17:06:43 -07:00
bjorn
f23ae4009f
gpu: Fix render pass cache eviction;
2022-07-10 17:06:20 -07:00
bjorn
a44ab9bcfa
Fix presentation sequence issue;
...
Fixes crash on error inside lovr.draw.
2022-07-05 21:58:54 -07:00
bjorn
d06e0c8b09
gpu: tally waits for query results;
2022-06-30 17:34:30 -07:00
bjorn
0417e9095d
gpu: add timestampPeriod limit;
2022-06-30 17:34:30 -07:00
bjorn
c327eb103f
Tally;
2022-06-30 17:34:29 -07:00
bjorn
24fd9e0c04
gpu: properly cast device to uintptr_t;
2022-06-26 00:46:11 -07:00
bjorn
7def390f9c
OpenXR/CMake fixes;
2022-06-20 15:51:24 -07:00
bjorn
af8c061c50
Default buffer can be used for colors;
2022-06-18 23:31:51 -07:00
bjorn
70e0f5c5cf
Synchronization;
2022-06-11 22:55:43 -07:00
bjorn
d9b5237851
Sync cleanup;
2022-06-11 19:07:46 -07:00
bjorn
2896dc0bfa
gpu: indirect draws accept optional stride;
2022-06-09 23:31:46 -07:00
bjorn
988393bb7f
gpu: properly expunge render passes and framebuffers;
2022-06-09 20:05:04 -07:00
bjorn
451e8a53ed
Discard attachments more;
2022-06-09 19:26:53 -07:00
bjorn
ac9bc5112b
Fix typo;
2022-06-09 00:09:47 -07:00
bjorn
efe57133d0
Validation errors are logs not errors;
2022-06-09 00:01:51 -07:00
bjorn
6f16385fa1
Improve graphics error handling;
2022-06-08 23:59:36 -07:00
bjorn
d5325b87b4
Headset support;
2022-06-05 20:38:14 -07:00
bjorn
d8583c6a9d
gpu_compute; gpu_compute_indirect;
2022-06-04 11:53:59 -07:00
bjorn
2c2eada1f0
Fix pipeline creating the wrong render pass;
2022-06-04 01:31:16 -07:00
bjorn
d9bf19da33
Fix texture memory allocation;
2022-06-04 01:30:51 -07:00
bjorn
a09773a5c8
gpu_sync;
2022-05-31 21:50:29 -07:00
bjorn
a2cc4f3495
Cap vertex attribute/buffer limits;
2022-05-31 20:40:50 -07:00
bjorn
ec0da8e91f
Correctly recycle scratchpad buffers;
2022-05-31 20:37:24 -07:00
bjorn
99e45c22ad
Add some descriptor set limits;
2022-05-31 20:16:16 -07:00
bjorn
8253b7361c
gpu: More vulkan functions use buffer offsets;
2022-05-30 15:26:01 -07:00
bjorn
2570485b20
gpu: pipeline creates render pass properly;
2022-05-30 13:32:59 -07:00
bjorn
32fb5e63ac
Destroy descriptor pools properly;
2022-05-30 13:12:04 -07:00
bjorn
25bb64b18c
gpu: viewport/binding fixes;
2022-05-29 23:58:18 -07:00
bjorn
082ddc0e1b
gpu: add drawing functions;
2022-05-29 21:36:40 -07:00
bjorn
0c8f1b6400
gpu: add binding functions;
2022-05-29 21:36:29 -07:00