bjorn
6f16385fa1
Improve graphics error handling;
2022-06-08 23:59:36 -07:00
bjorn
0d4d7bc0e3
Fix vertex shader draw count; Simplify upload sync;
2022-06-08 21:23:30 -07:00
bjorn
711a7df43b
CMake can compile shaders;
2022-06-07 21:19:42 -07:00
bjorn
ef19a334a9
Pass:setSampler;
...
This is an experimental take on the "default filter" system. Each
render Pass has its own "global sampler", initialized to trilinear. The
global sampler will be used by default to sample textures/materials in
shaders. You can set it to a filter mode or a full Sampler object. You
can always send your own Sampler objects to Shaders if you want
per-texture sampler settings. The global sampler is designed to be set a
small number of times per pass instead of on every draw. Basically,
just do Pass:setSampler('nearest') and draw your minecraft world.
2022-06-07 20:42:10 -07:00
bjorn
a26e732ab0
Cleanup;
2022-06-07 20:42:06 -07:00
bjorn
2b65b50ed9
Pass:setViewport; Pass:setScissor;
...
It pretends to be like a pipeline state even though it isn't.
Might be nice for nil to mean "the framebuffer size" which is the default.
2022-06-06 12:38:15 -07:00
bjorn
2ee1a8d014
Image:getPointer;
2022-06-06 07:32:01 -07:00
bjorn
d5325b87b4
Headset support;
2022-06-05 20:38:14 -07:00
bjorn
e36cc6482d
rename pass/buffer to getPass/getBuffer;
2022-06-05 18:56:03 -07:00
bjorn
a8b35074e0
Pass:send supports push constants;
2022-06-05 18:54:26 -07:00
bjorn
8effa7424f
Pass:circle;
2022-06-05 13:12:49 -07:00
bjorn
7b5c816345
More efficient resource tracking;
...
- Temporary buffers are not tracked
- Sample-only textures are not tracked, but their initial upload is synchronized.
- Default texture something something
2022-06-04 14:54:04 -07:00
bjorn
6245aaa9d9
I have made a mistake;
2022-06-04 14:49:58 -07:00
bjorn
3a43d44460
Pass tracks resources for sync purposes;
2022-06-04 14:28:23 -07:00
bjorn
ea80936af7
Pass:compute;
2022-06-04 11:54:05 -07:00
bjorn
d8583c6a9d
gpu_compute; gpu_compute_indirect;
2022-06-04 11:53:59 -07:00
bjorn
d3a1a0ec22
Pass:cube; Pass:box;
2022-06-04 11:28:35 -07:00
bjorn
3013567e73
Fix Pass:translate;
2022-06-04 11:28:31 -07:00
bjorn
e07a2691e0
Clean up plane;
2022-06-04 11:19:28 -07:00
bjorn
62f2d9a800
Organization;
2022-06-04 09:57:06 -07:00
bjorn
e652ae67af
Pass:plane;
2022-06-04 01:34:13 -07:00
bjorn
ebc6d9d3a3
Pass:line;
2022-06-04 01:33:50 -07:00
bjorn
a2668a1632
Fix canvas always trying to add depth buffer;
2022-06-04 01:33:11 -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
b2a3c59c42
Fix projection matrix;
2022-06-04 01:04:23 -07:00
bjorn
ac3801902b
Pipeline stack;
2022-05-31 21:57:55 -07:00
bjorn
a09773a5c8
gpu_sync;
2022-05-31 21:50:29 -07:00
bjorn
ec8b7f9727
Adjust;
2022-05-31 21:45:54 -07:00
bjorn
8431fc72ba
Adjust;
2022-05-31 21:41:43 -07:00
bjorn
0104fe1910
Fancy compare mode aliases;
2022-05-31 21:33:06 -07:00
bjorn
513a1876c9
Simplify vertex buffers;
...
The default buffer is always bound to slot 0 once at the beginning of
command buffers, reducing the amount of rebinding.
2022-05-31 21:20:01 -07:00
bjorn
ab04577495
Enforce maximum spirv version;
2022-05-31 20:47:47 -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
1f39ed8c51
Ensure binding numbers are less than 32;
...
We use u32 masks...
2022-05-31 20:24:43 -07:00
bjorn
99e45c22ad
Add some descriptor set limits;
2022-05-31 20:16:16 -07:00
bjorn
42a924b0ee
lovrPassDraw; Pass:points;
2022-05-30 15:36:31 -07:00
bjorn
ffb71c9c04
rm vertex colors for now;
2022-05-30 15:36:26 -07:00
bjorn
6e27648ce5
Wire up non-headset lovr.draw/lovr.mirror;
2022-05-30 15:35:07 -07:00
bjorn
8253b7361c
gpu: More vulkan functions use buffer offsets;
2022-05-30 15:26:01 -07:00
bjorn
5a776528a8
maf: Modify matrix functions to use Vulkan convention;
2022-05-30 15:22:41 -07:00
bjorn
dd043cbf07
Fix bundle allocation;
2022-05-30 15:06:57 -07:00
bjorn
2570485b20
gpu: pipeline creates render pass properly;
2022-05-30 13:32:59 -07:00
bjorn
6a531c04a8
luax_tofloat;
2022-05-30 13:32:40 -07:00
bjorn
a434203ce0
spv: ignore input variables missing location decoration;
2022-05-30 13:14:05 -07:00
bjorn
32fb5e63ac
Destroy descriptor pools properly;
2022-05-30 13:12:04 -07:00
bjorn
e59a75fce8
Pass camera functions;
2022-05-30 12:29:52 -07:00
bjorn
205767bc81
VertexFormat;
2022-05-30 12:18:42 -07:00
bjorn
541ebc1b61
Bundle allocator;
2022-05-30 12:17:17 -07:00