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
bjorn
25bb64b18c
gpu: viewport/binding fixes;
2022-05-29 23:58:18 -07:00
bjorn
7e0e5222da
mat4_cofactor;
2022-05-29 23:48:17 -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
bjorn
ff77a30f01
Default shaders;
2022-05-27 20:47:20 -07:00
bjorn
03a53bcae2
Fix Buffer copy range calculation;
2022-05-26 00:11:02 -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
885e335f8c
Image dimension accessors take mip level;
2022-05-25 23:51:51 -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
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
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
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
bjorn
6ee2b901f7
Fix to buffer constructor;
2022-04-28 20:26:47 -07:00
bjorn
c285d0cdf9
Buffer:getFormat uses string keys;
2022-04-28 20:19:11 -07:00
bjorn
a97193caac
Buffer stride can not be smaller than the size of a single item;
2022-04-28 15:39:45 -07:00
bjorn
a8b7bc75a8
Adjust;
2022-04-27 00:35:09 -07:00
bjorn
9e5510b9a7
Adjust;
2022-04-27 00:32:01 -07:00
bjorn
e8c809a870
Temporary buffers;
2022-04-27 00:28:39 -07:00
bjorn
43f56c223c
Tell Vulkan about the engine name and version;
2022-04-27 00:21:04 -07:00
bjorn
d8701df780
Add f16 conversion to util;
2022-04-27 00:19:44 -07:00
bjorn
65b0f95ca9
Add lovrUnreachable macro;
2022-04-27 00:05:14 -07:00
bjorn
d2110af83a
Fixup;
2022-04-26 22:51:24 -07:00
bjorn
39418b8393
Add temp frame allocator;
2022-04-26 22:44:44 -07:00
bjorn
d45ded089c
os_win32: add virtual memory functions;
2022-04-26 22:44:06 -07:00
bjorn
a3438274b5
Add non-scratchpad Buffers;
...
This includes the memory allocator and the morgue.
You can't actually write any data to the buffer yet, since we don't have
commands or temp buffers. Temp buffers (scratchpads) are coming soon.
2022-04-26 15:32:54 -07:00
bjorn
50ebed697e
Update some features and limits;
...
- rm dynamicIndexing and nonUniformIndexing, for now (arrays aren't well
supported)
- rename compressed texture features
- move clip/cull distance to limit instead of feature (limit can be 0)
2022-04-26 15:31:51 -07:00
bjorn
3ae0ff568f
Rework device info;
2022-04-22 13:28:59 -07:00
bjorn
be1cedc922
Always enable fullIndexBufferRange feature;
2022-04-22 01:07:07 -07:00
bjorn
557f18ab3c
Add gpu_webgpu;
...
Send help
2022-04-21 17:58:26 -07:00
bjorn
9a54102387
Image rework: KTX1 and KTX2 loaders;
2022-04-21 17:39:59 -07:00
bjorn
f37c1824da
lovr.graphics.getDevice/getFeatures/getLimits;
2022-04-21 17:39:59 -07:00
bjorn
40e9a4ab73
core/gpu;
2022-04-21 17:39:59 -07:00
bjorn
f0827de864
Re-add ASTC loader;
2022-04-21 17:39:59 -07:00
bjorn
f2e95e147a
Re-add STB loader;
2022-04-21 17:39:59 -07:00
bjorn
0c4d3cb8da
WIP new Image implementation and DDS loader;
...
- Image supports loading files with multiple layers
- Image supports semantic flags like srgb, premultiplied, etc.
- Image:getPixel and :setPixel support more formats
- DDS loader supports BC4-BC7, DXT2/DXT4, uncompressed formats, etc.
2022-04-21 17:39:59 -07:00
bjorn
cf2f63f147
Add missing include;
2022-04-21 17:39:59 -07:00
bjorn
60cabcff3e
rm unused variables in headset bindings;
2022-04-21 17:39:59 -07:00
bjorn
e05c2cd593
renderTo no longer uses removed graphics functions;
2022-04-21 17:39:59 -07:00
bjorn
d9ec003e79
Start Image rework;
2022-04-21 17:39:59 -07:00
bjorn
37221afbc6
rm graphics module;
2022-04-21 17:39:58 -07:00
bjorn
a2cb611b6c
Fix mipmaps with nearest filtering;
2022-04-14 16:16:22 -07:00
bjorn
85ee89d36f
Fix weirdness with vec2 scale arguments;
2022-04-06 10:10:27 -07:00
bjorn
cd0e458af9
lovr.filesystem.write/append returns success instead of size;
...
We don't have a good way of returning filesystem error messages yet,
but it's still useful to return a boolean instead of a number to
detect failure of zero byte writes. Exposing the number of bytes
written is kind of weird since it's not very actionable.
2022-03-30 22:45:09 -07:00
bjorn
42e618fa00
World:getContacts;
2022-03-30 22:32:20 -07:00
bjorn
8fcdfd2bb4
Minor physics cleanup;
2022-03-30 22:05:10 -07:00