Commit Graph

873 Commits

Author SHA1 Message Date
Samuliak
e9e510d2cd
add: base for pipeline caching 2024-10-14 20:00:37 +02:00
Samuliak
8b783e63dc
refactor pipeline cache 2024-10-13 09:20:45 +02:00
SamoZ256
fabaf1621d
Merge pull request #6 from SamoZ256/metal-async
Implement async shader compilation
2024-10-11 15:47:01 +02:00
Samuliak
641ef71cab
count compiled shaders properly 2024-10-10 19:38:14 +02:00
Samuliak
03bc647e1c
prepone compilation for rect geometry shaders 2024-10-10 18:53:22 +02:00
Samuliak
bdfac965e0
implement async shader compilation 2024-10-10 18:26:14 +02:00
Samuliak
bfd9059eec
remove the -g flag on debug builds 2024-10-09 16:54:02 +02:00
Samuliak
756470f1a7
remove CMake hacks 2024-10-09 16:47:15 +02:00
Samuliak
6b784ad949 log relevant settings 2024-10-02 17:28:50 +02:00
Samuliak
ebcb62a785 add: an option to turn fast math off 2024-10-02 17:18:20 +02:00
Samuliak
6ba6157bae properly implement ABGR4 decoder 2024-10-01 19:37:11 +02:00
Samuliak
2fb4d83a5f don't set verticesPerInstance twice 2024-10-01 19:07:19 +02:00
SamoZ256
6dc8f9a019
Merge pull request #5 from SamoZ256/metal-no-vertex-restride
No vertex restride
2024-10-01 18:46:21 +02:00
Samuliak
50175fce66 report manual vertex fetch draws per frame 2024-10-01 18:18:39 +02:00
Samuliak
f2096deddd remove vertex restriding code 2024-10-01 18:11:05 +02:00
Samuliak
94e8ed5a46 fetch vertices manually if needed 2024-10-01 17:38:14 +02:00
Samuliak
a3bfde80b0 remove old present pipelines 2024-09-30 19:59:30 +02:00
Samuliak
5d01c77efc rename hybrid pipeline to void vertex pipeline 2024-09-30 19:43:53 +02:00
Samuliak
c65123bbbe use logging instead of printing 2024-09-30 19:36:13 +02:00
Samuliak
778037f335 remove useless print statement 2024-09-30 19:28:09 +02:00
Samuliak
07cb8b800a set output shader uniforms 2024-09-30 16:39:26 +02:00
Samuliak
28e553eb1a cache output shaders 2024-09-30 16:28:07 +02:00
Samuliak
b088ddcfab implement output shaders 2024-09-30 14:18:00 +02:00
Samuliak
6c8cd5c445 use private storage mode when possible 2024-09-30 13:31:28 +02:00
Samo Z
8c30bc805c use RG8Unorm format if ABGR4Unorm is not available 2024-09-28 17:42:27 +02:00
Samo Z
810168be48 use alternative texture decoders for unsupported formats 2024-09-28 15:24:10 +02:00
Samuliak
f9e71e9eb2 implement ABGR4 texture decoders 2024-09-28 12:53:34 +02:00
Samuliak
ed5f72a1ca include texture decoder in pixel format info 2024-09-28 12:06:49 +02:00
Samuliak
3de2b0325b only enable metal on apple platforms by default 2024-09-28 11:51:50 +02:00
Samuliak
3cf831d46a do vertex restride on the GPU & don't over-sync 2024-09-23 16:47:22 +02:00
Samuliak
8b68df0c59 use correct texture decoders 2024-09-22 08:58:24 +02:00
Samuliak
4b548f9482 never disable accurate barriers for certain shaders 2024-09-21 14:58:31 +02:00
Samuliak
7ad57f5cc8 add the option to disable accurate barriers 2024-09-21 14:02:30 +02:00
Samuliak
a460a5d28a do vertex restride on the CPU 2024-09-21 09:28:46 +02:00
Samuliak
f03c0a2769 only set buffer offset if needed 2024-09-19 10:05:48 +02:00
Samuliak
aa81070e87 refactor pixel formats 2024-09-16 19:44:49 +02:00
Samuliak
535107e1f4 fix: invalid surface copy depth 2024-09-16 09:50:39 +02:00
Samuliak
8ac90cef7e use correct stages for buffer sync 2024-09-16 08:38:08 +02:00
Samuliak
358567ad4a make a workaround for streamout with no fbo 2024-09-14 22:06:30 +02:00
Samuliak
2961151f25 correct comment 2024-09-14 17:21:23 +02:00
Samuliak
008c11ce71 allocate special buffers only when needed 2024-09-14 17:12:02 +02:00
Samuliak
02254d4e57 set pixel format view usage for textures 2024-09-14 16:42:42 +02:00
SamoZ256
25a1d7ef6c
Merge branch 'cemu-project:main' into metal 2024-09-14 08:24:10 +02:00
Samuliak
b5954d8f5b release command buffers properly 2024-09-14 08:23:45 +02:00
SamoZ256
e5dcd93dc3
Merge pull request #4 from SamoZ256/metal-occlusion-queries
Occlusion queries
2024-09-14 07:29:57 +02:00
Samuliak
e89efed743 request soon commit instead of committing directly 2024-09-13 16:12:47 +02:00
Samuliak
934b1f8b55 handle occlusion queries with no draws 2024-09-13 15:28:51 +02:00
Samuliak
fd16488e4c improve command buffer sync 2024-09-13 11:19:56 +02:00
Samuliak
eb7c10e89f implement occlusion queries 2024-09-13 10:41:03 +02:00
Samuliak
4cce3699f3 put query object into a separate file 2024-09-12 08:05:27 +02:00