Commit graph

27407 commits

Author SHA1 Message Date
Samuliak
8ff1ce68c3
metal: flip y texture coordinate 2024-04-10 19:55:56 +02:00
Samuliak
e3ab4c6349
metal: minimalize texture hardcoding 2024-04-10 17:41:45 +02:00
Samuliak
98c4ff461f
metal: don't bind resources that are already bound 2024-04-10 17:20:24 +02:00
Samuliak
4771cd1602
fix(metal): fix incorrect size in buffer to image copy 2024-04-10 17:03:55 +02:00
Samuliak
2f9fd5d69c
metal: set texture usage flags 2024-04-09 19:59:27 +02:00
Samuliak
f5830983be
metal: bind sampler to shader 2024-04-09 18:52:25 +02:00
Samuliak
1a284e4bb7
metal: translate pixel formats 2024-04-09 17:30:55 +02:00
Samuliak
efda44779f
fix(metal): fix buffer to texture copy 2024-04-09 16:31:04 +02:00
Samuliak
786cd8a708
metal: implement buffer to texture copy 2024-04-09 15:49:12 +02:00
Samuliak
0a2227d1f8
metal: bind and sample from texture 2024-04-09 15:23:44 +02:00
Samuliak
a00d9a9027
metal: translate shaders to spirv 2024-04-08 18:52:31 +02:00
Samuliak
67dab8b8d8
metal: do not release null mtl textures 2024-04-08 18:30:04 +02:00
Samuliak
40eca20e12
metal: implement buffer to buffer copy 2024-04-08 17:03:25 +02:00
Samuliak
3fa495840a
metal: configure pipeline before drawing 2024-04-08 16:47:08 +02:00
Samuliak
22ec7e72f0
metal: do not begin render pass if already active 2024-04-08 16:36:29 +02:00
Samuliak
2c38fa1a35
metal: add render pass interruption notice 2024-04-08 16:27:28 +02:00
4ea55a855a
fix: clang format 2024-04-07 14:03:32 -04:00
Samuliak
90b8671ddb
metal: bind pipeline and draw for the first time 2024-04-07 18:46:01 +02:00
Samuliak
4d700ac01c
metal: create pipeline cache at startup 2024-04-07 17:58:30 +02:00
Samuliak
58ac31e2be
metal: support buffer to buffer copy 2024-04-07 16:03:20 +02:00
Samuliak
081ad83490
metal: add basic compute pipeline 2024-04-07 15:51:11 +02:00
Samuliak
a5e7672de5
metal: blit rendering result to drawable 2024-04-07 13:08:14 +02:00
Samuliak
c8a717651c
metal: create basic graphics pipeline 2024-04-07 11:58:35 +02:00
Samuliak
bc25c8831d
metal: test buffer creation 2024-04-07 09:25:03 +02:00
Samuliak
b3e8d8d11f
metal: create buffer cache on startup 2024-04-07 09:06:15 +02:00
d33d50780e
adding swiftUI notice 2024-04-07 08:12:08 +03:30
0feb0aa7a1
metal: todo a fix for NULL images 2024-04-06 23:15:48 -04:00
32c49173ad
fix: clang format 2024-04-06 22:00:34 -04:00
c3584e6c39
metal: make metal-cpp a proper external 2024-04-06 21:55:33 -04:00
76009b05a8
temp CI fix 2024-04-06 20:52:29 -04:00
3f76e5b8d7
metal: logging 2024-04-06 20:51:23 -04:00
Samuliak
75386a5de7
metal: add missing copyright and license information 2024-04-06 20:42:17 +02:00
Samuliak
844eff564e Don't include objective C in the list of languages 2024-04-06 20:37:31 +02:00
Samuliak
897e0dfdc0 metal: use metal cpp 2024-04-06 20:33:10 +02:00
Samuliak
cc0cde9c3f Add metal-cpp to externals 2024-04-06 20:33:10 +02:00
74c1c77973
fix: check if apple before enabling objc
Some compilers either only compile to an objc v1 or don't compile it at all, while it most likely wouldn't cause issues I added this just in case we stay on objc
2024-04-06 12:22:43 -04:00
Samuliak
3c82b81899
metal: change license identifiers to GPL-2.0-or-later 2024-04-06 17:50:45 +02:00
Samuliak
e947a06441
fix: include metal renderer in ALL_LOG_CLASSES 2024-04-06 17:46:31 +02:00
Samuliak
ef8b77c9a3
metal: do not release not existing buffers 2024-04-06 17:35:12 +02:00
Samuliak
e87893ec42 metal: add basic buffer cache 2024-04-06 17:28:56 +02:00
Samuliak
19503fd643 metal: print debug messages 2024-04-06 17:28:56 +02:00
e4d2bcaaeb
Add Metal as a Logging class
Signed-off-by: Exverge <exverge@exverge.xyz>
2024-04-06 11:17:49 -04:00
Samuliak
789bc69281 metal: add info about command recorder memory leaks 2024-04-06 12:42:19 +02:00
Samuliak
863842948b metal: use texture cache to create textures render passes 2024-04-06 12:39:24 +02:00
Samuliak
88154b6c6d metal: add file copyright text to new files 2024-04-06 10:21:35 +02:00
Samuliak
c740bf21d2 metal: update license identifiers 2024-04-06 10:13:35 +02:00
Samuliak
3df0977948 Merge branch 'macOSbranch-ama25' into metal-dev
initial metal backend
2024-04-06 09:58:40 +02:00
Samuliak
82b3fcca18 metal: create texture cache in rasterizer 2024-04-06 09:55:26 +02:00
Samuliak
ea5dc91b9d metal: add basic staging buffer pool and texture cache 2024-04-06 08:55:11 +02:00
Samuliak
35b751de1b metal: add command recorder for command management 2024-04-05 17:10:21 +02:00