Commit Graph

733 Commits

Author SHA1 Message Date
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
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
Samuliak
a328c5e753 use uchar for index type 2024-09-11 12:43:15 +02:00
Samuliak
e7f8f0ee4c simplify uniform names 2024-09-11 12:28:35 +02:00
Samuliak
950f04d444 support instancing for mesh shaders 2024-09-11 12:22:45 +02:00
Samuliak
395cd1cd11 handle rasterization kill for mesh shaders 2024-09-11 10:55:10 +02:00
Exzap
ba54d1540c Fix "Receive untested updates" option not being synced to config 2024-09-08 17:21:20 +02:00
Samuliak
e8f726ecd7 use lcr 2024-09-07 13:42:31 +02:00
Samuliak
84049814f2 make binary archives device and os version specific 2024-09-07 13:23:38 +02:00
Samuliak
cf5602466c optimize rasterization kill 2024-09-07 11:05:13 +02:00
Samuliak
3dc233fb56 support rasterization kill 2024-09-07 11:00:10 +02:00
Samuliak
548ffb6b57 add: todo notices 2024-09-06 19:15:56 +02:00
Samuliak
6a3bdd49e9 refactor pixel format support 2024-09-06 17:38:19 +02:00
Samuliak
4251f3fe55 check for invalid color formats 2024-09-06 17:16:47 +02:00
Samuliak
cd72ad80d2 include color format data types in ps hash 2024-09-05 14:34:39 +02:00
Samo Z
8a74445a96 don't compile fragment shaders just-in-time 2024-09-04 19:05:07 +02:00
Samuliak
b13ba58aad correct the object shader hash 2024-09-04 07:36:40 +02:00
Samuliak
2ee92e53e9 use the correct fetch shader 2024-09-03 14:26:04 +02:00
Samuliak
953975f5ec don't jit compile vertex shaders 2024-09-03 13:59:52 +02:00
Joshua de Reeper
b06990607d
nsysnet: Avoid crash on NULL timeout in select (#1324) 2024-09-02 16:20:16 +02:00
Samuliak
c4eb195797 make all textures be at least 1x1x1 2024-09-02 08:25:36 +02:00
Samuliak
45737e82d9 disable shader write usage on textures 2024-09-02 08:10:40 +02:00
Samuliak
491ac694ab fix: object shader error when used with rect primitive 2024-09-01 18:58:48 +02:00
Samo Z
5d07d115a6 emulate unsupported shadow sampler types 2024-09-01 14:36:39 +02:00
Samuliak
f9f6260580 monitor clears 2024-08-31 10:34:42 +02:00
Samuliak
5eb30262a0 skip unnecessary draws 2024-08-31 08:40:58 +02:00
Samuliak
a9a4d7b4f8 disable depth write if active FBO doesn't have a depth attachment 2024-08-30 16:53:00 +02:00
Samuliak
cda4799b54 disable writes for color attachments which are not in the active FBO 2024-08-30 16:44:26 +02:00
Samuliak
9c29acc635 synchronize buffer copying correctly 2024-08-30 15:27:55 +02:00
Samuliak
1412d1e70a enable triangle fan support 2024-08-30 11:02:09 +02:00
SamoZ256
41ee2e75ae
Merge branch 'main' into metal 2024-08-30 08:59:37 +02:00
Samuliak
2f822d07c7 support game pad view in a separate window 2024-08-30 08:57:50 +02:00
Samuliak
1cfb841b5f do buffer cache uploading on the GPU 2024-08-29 19:06:01 +02:00
Samuliak
2403cf948a always use blit commands for buffer copies on non-apple GPUs 2024-08-29 17:44:20 +02:00
Samuliak
a4ff855585 do buffer copying in a void vertex function 2024-08-29 15:32:32 +02:00
Samuliak
ccd72bfe45 implement gather sampling 2024-08-29 14:03:48 +02:00
Samuliak
074f9f6f3e align buffer stride after setting to min stride 2024-08-29 09:28:38 +02:00
Samuliak
7a28985454 properly implement 0 stride vertex buffers 2024-08-29 09:23:34 +02:00
Samuliak
b011d756ee adjust texture swizzle 2024-08-29 08:47:22 +02:00
Samuliak
64610c161f limit buffer allocation size 2024-08-28 20:14:56 +02:00
Samuliak
bbed00751f hack: don't attempt to compile shaders with errors 2024-08-28 20:09:45 +02:00
Samuliak
a6c8d83436 release unused buffers 2024-08-28 16:42:55 +02:00
Samuliak
35740c5c8e always do texture copies on gpu 2024-08-28 15:26:42 +02:00
Samuliak
be76dadb90 do surface copy properly 2024-08-28 13:43:06 +02:00
Samuliak
1b44269d70 simplify flush 2024-08-28 13:24:01 +02:00
Samuliak
163eeea102 use texture views for surface copies 2024-08-28 13:19:51 +02:00
Samuliak
366be049a4 fix: validation errors 2024-08-28 11:51:31 +02:00
squidbus
9a53b19403
CI+build: Improve macOS builds (#1310) 2024-08-28 11:06:49 +02:00
Samuliak
0e61471c5e skip draws when pipeline is invalid 2024-08-27 16:01:50 +02:00
Samuliak
4572f906a3 fix: infinite command buffer wait 2024-08-27 16:01:27 +02:00
Samuliak
b7a1adec91 clip mode 2024-08-27 14:39:52 +02:00
Samuliak
3439b3259e uncomment drc swap buffer 2024-08-27 08:18:17 +02:00
Samuliak
cd8b74ba32 fix: buffer allocator leaks 2024-08-26 18:31:22 +02:00
Samo Z
b7f88d093a implement buffer locking system 2024-08-26 12:22:33 +02:00
Exzap
1234e2c118
Preparations for 2.1 (#1306) 2024-08-26 11:43:38 +02:00
Samo Z
6c8947d0e5 fix: temporary buffer allocator 2024-08-26 08:07:49 +02:00
Samo Z
a693bf564f fix: issues on Intel Macs 2024-08-25 20:32:46 +02:00
Samuliak
96d6168c50 add: additional debug info 2024-08-25 10:15:10 +02:00
Samuliak
c905399f1f fix: ImGui issues 2024-08-25 10:09:18 +02:00
bl
dc9d99b03b
nn_fp: Implement GetMyComment and UpdateCommentAsync (#1173) 2024-08-24 21:03:03 +02:00
Samuliak
b105a383aa add: basic debug overlay 2024-08-24 17:48:02 +02:00
Samuliak
6bf3406793 implement IsPadWindowActive 2024-08-24 17:30:56 +02:00
Samuliak
c4a26d4c70 report total vram correctly 2024-08-24 17:06:50 +02:00
Samuliak
7499c3fbe7 add: ImGui support 2024-08-24 17:03:49 +02:00
Exzap
573c98b2f8 GfxPack: Workaround for invisible detail panel
Fixes #1307
There is probably a better way to calculate the maximum width. But this suffices for now as a workaround
2024-08-23 19:26:33 +02:00
Samuliak
d4a1074425 rework the present system 2024-08-23 10:52:20 +02:00
Samuliak
6bb191212b simplify texture readback 2024-08-23 09:41:00 +02:00
Samuliak
28aef858f2 fix: texture readback 2024-08-23 09:00:00 +02:00
Samuliak
8e87b9676a fix: missing lod parameter 2024-08-22 18:20:26 +02:00
Samuliak
c05b2d0b48 don't stringify shader source & move vertex buffer bindings by 1 2024-08-22 15:02:49 +02:00
Samuliak
67a64c9fe9 rework the binding system 2024-08-22 13:58:50 +02:00
Samuliak
3d0055af6a end render pass if attachment is being read 2024-08-21 15:53:40 +02:00
Samuliak
4f7288d937 fix: rect mesh shader errors 2024-08-21 14:51:36 +02:00
Samuliak
339af5c4c5 support formats with X components 2024-08-21 13:49:15 +02:00
Samuliak
a832bc225e support rect primitive emulation 2024-08-21 12:12:45 +02:00
Samuliak
7500a54b38 fix: geometry shaders 2024-08-21 08:17:41 +02:00
Samuliak
76cf3de80b disable vertex buffer restride for object shaders 2024-08-20 20:27:41 +02:00
Samuliak
97f441ecf1 draw with geometry shaders 2024-08-20 20:14:02 +02:00
Samuliak
2f4ceb33e0 patch object and mesh shaders 2024-08-20 18:59:25 +02:00
Samuliak
9679c6b7e8 set primitive count in mesh shaders 2024-08-20 17:33:55 +02:00
Samuliak
46269c0069 fix: mesh shader errors 2024-08-20 09:52:54 +02:00
Samuliak
b10bcd422e emit mesh shaders 2024-08-20 09:20:22 +02:00
Samuliak
6b1360415b emit object shaders 2024-08-20 08:22:24 +02:00
Samuliak
ca256eb764 check for pixel format support 2024-08-19 16:40:36 +02:00
Samuliak
69a36246fb do GPU texture loading on non-apple GPUs 2024-08-19 16:14:06 +02:00
Samuliak
b59dbfc9c3 hack: increase xfb ring buffer size 2024-08-19 16:02:36 +02:00
Samuliak
e2f66b8aa3 fix: streamout 2024-08-19 13:07:30 +02:00
Samuliak
9aa72e6295 report vram usage 2024-08-18 20:03:37 +02:00
Samuliak
9bb7479d16 use more efficient cpu cache mode when possible 2024-08-18 17:40:41 +02:00
Samuliak
be0a69a5e2 do texture load on GPU if no unified memory 2024-08-18 14:49:25 +02:00
Samuliak
485a652c85 use managed storage mode when dedicated memory 2024-08-18 14:37:39 +02:00
Samuliak
269e072139 move buffer allocators to separate file & fix: high memory usage 2024-08-18 11:32:24 +02:00