Commit Graph

156 Commits

Author SHA1 Message Date
bjorn cb121d3d36 Material fixes; Pass cleanup; 2022-06-17 17:43:26 -07:00
bjorn 86b2c934e8 Materials, mostly; 2022-06-16 23:49:09 -07:00
bjorn 7de6bdf242 Shaders; Rework vertex formats; 2022-06-15 20:46:43 -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 3d83d0fcfe Pass:multimesh;
IT'S ALIVE
2022-06-09 23:38:33 -07:00
bjorn fc616f92c2 Pass:mesh; Pass:setMeshMode; 2022-06-09 23:05:32 -07:00
bjorn 3009e1d45c Rename transfers to uploads; 2022-06-09 22:44:23 -07:00
bjorn ab2c52bc05 Fix attachment cache; 2022-06-09 20:05:31 -07:00
bjorn 1cc8cf9f4a Update glslang to accept array of shader strings; 2022-06-09 17:44:46 -07:00
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 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 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 d5325b87b4 Headset support; 2022-06-05 20:38:14 -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 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 d3a1a0ec22 Pass:cube; Pass:box; 2022-06-04 11:28:35 -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 ac3801902b Pipeline stack; 2022-05-31 21:57:55 -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 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 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 dd043cbf07 Fix bundle allocation; 2022-05-30 15:06:57 -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
bjorn ff77a30f01 Default shaders; 2022-05-27 20:47:20 -07:00
bjorn 6440bc68f3 Pass:mipmap; 2022-05-26 00:07:10 -07:00
bjorn af0e388e91 Pass:copy; Pass:blit; 2022-05-25 23:52:24 -07:00
bjorn 6771ff64b5 Pass:clear; 2022-05-25 19:45:01 -07:00
bjorn a5f37f7d7d better lovrBufferIsTemporary; 2022-05-25 19:23:01 -07:00
bjorn 73f13ef3c7 Initialize buffer data properly; 2022-05-24 22:30:59 -07:00
bjorn 99ecd04e27 Pass:send; 2022-05-23 23:10:11 -07:00
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