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
Samuliak
265785772a
rework buffer allocator
2024-08-18 11:13:49 +02:00
Samuliak
07989d828c
fix: performance regression
2024-08-17 19:54:55 +02:00
Samuliak
b8e9bb355c
fix: GPU hangs (hack)
2024-08-17 19:05:00 +02:00
Samuliak
83a08b2247
fix: some Metal validation errors
2024-08-17 17:51:37 +02:00
Samuliak
502d5b8b2f
include debug information
2024-08-16 16:38:01 +02:00
Samuliak
0d0152d6e0
fix: present
2024-08-16 15:33:49 +02:00
Exzap
958137a301
vpad: Keep second channel empty if no extra GamePad is configured
2024-08-15 18:27:08 +02:00
Samuliak
d79d7fea63
implement sampler cache
2024-08-15 11:44:06 +02:00
Samuliak
9982ac7acb
remove more unnecessary rebinds
2024-08-15 10:58:33 +02:00
Samuliak
9a215e064f
don't bind textures and buffers which are already bound
2024-08-15 10:15:05 +02:00
Exzap
2843da4479
padscore: Invoke sampling callbacks every 5ms
...
This fixes high input latency in games like Pokemon Rumble U which update input via the sampling callbacks
2024-08-15 05:00:09 +02:00
Exzap
b0bab273e2
padscore: Simulate queue behaviour for KPADRead
2024-08-15 02:16:24 +02:00
Samuliak
ed7354fa1b
reset depth bias
2024-08-14 21:23:18 +02:00
Samuliak
be98734358
fix: incorrect roundEven implementation
2024-08-14 20:58:47 +02:00
Samuliak
0bb99aaa75
set depth bias
2024-08-14 20:28:28 +02:00
Samuliak
c4688e1ad1
stringify utility shader source
2024-08-14 16:21:43 +02:00
Samuliak
d48de5b56f
fix: buffer cache crash on shutdown
2024-08-14 15:37:06 +02:00
SamoZ256
52062bd285
Merge branch 'main' into metal
2024-08-14 15:17:35 +02:00
Samuliak
3c1a7479c2
save pipelines to a binary archive
2024-08-14 15:16:10 +02:00
Samuliak
53efb9e5b2
prepare for shader cache
2024-08-14 11:57:01 +02:00
Samuliak
13834ca9cb
correct comment
2024-08-14 07:59:22 +02:00
Samuliak
bba2bbcefb
use buffer allocator for restrided vertex buffers
2024-08-13 19:00:39 +02:00
Samuliak
27925a4fd9
do vertex buffer restride in a void vertex function
2024-08-13 18:28:10 +02:00
Samuliak
5e9537c777
fix: render pass mess
2024-08-13 16:40:25 +02:00
Skyth (Asilkan)
c49296acdc
Add support for iterating directories in graphics pack content folders. ( #1288 )
2024-08-13 15:53:04 +02:00
Samuliak
4b7c01ee2a
fix: 3D texture copies & fix: present filter
2024-08-13 11:44:49 +02:00
Samuliak
3f52f3acfe
fix: cubemap sampling
2024-08-13 07:30:33 +02:00
Exzap
e551f8f524
Fix clang compile error
2024-08-13 05:57:55 +02:00
Exzap
f52970c822
Vulkan: Allow RGBA16F texture format with SRGB bit
2024-08-13 04:47:43 +02:00
Exzap
e02cc42d67
COS: Implement PPC va_list, va_arg and update related functions
2024-08-13 01:00:56 +02:00
Samuliak
0c73ff8452
use multiple command buffers per frame
2024-08-12 14:27:28 +02:00
Samuliak
34d8076ab6
fix: srgb
2024-08-12 11:36:12 +02:00
Samuliak
5e748cdb48
support surface copy parameters
2024-08-12 11:14:55 +02:00
SamoZ256
8496fc1574
Merge branch 'main' into metal
2024-08-12 10:40:53 +02:00
Samuliak
7fb3e1bd1e
support cubemap arrays
2024-08-12 10:27:52 +02:00
Samuliak
5bc9913bf4
implement surface copy
2024-08-11 20:31:19 +02:00
Samuliak
8316cee59a
prepare for surface copy
2024-08-11 20:09:48 +02:00
Samuliak
eb573fcaca
fix: color write mask and unpackHalf2x16
2024-08-11 18:32:50 +02:00
Samuliak
c6ab45a098
fix: vertex buffer leaks
2024-08-11 14:17:40 +02:00
Samuliak
caba20da4b
apply gamma correction
2024-08-11 13:47:06 +02:00
Samuliak
6d34d24322
fix: missing color attachments & bind some other state
2024-08-11 13:35:26 +02:00
Samuliak
a38ddb5fc2
fix: shadows
2024-08-08 19:25:12 +02:00
Exzap
598298cb3d
Vulkan: Fix stencil front mask
2024-08-08 16:07:45 +02:00
Samuliak
5c246d55bd
implement transform feedback
2024-08-08 13:52:48 +02:00
Samuliak
e0791c3bf4
set stencil reference value
2024-08-08 11:58:18 +02:00
Samuliak
a50ce997df
fix: writing to depth from a fragment shader
2024-08-07 21:14:31 +02:00
Samuliak
1bcdade83e
set stencil state
2024-08-07 20:59:05 +02:00
Samuliak
d3249dc324
implement texture readback
2024-08-07 18:20:09 +02:00
Exzap
bf2208145b
Enable async shader compile by default
2024-08-07 16:35:15 +02:00
Samuliak
e2ec602c43
specialize fragment shader output types & fix: shader errors
2024-08-07 13:25:38 +02:00
Samuliak
d7e9aff230
implement triangle fan reindexing
2024-08-07 11:44:16 +02:00
Exzap
d81eb952a4
nsyshid: Silence some logging in release builds
2024-08-06 22:58:23 +02:00
Samuliak
ac651eba77
implement vertex stride workaround
2024-08-06 20:42:38 +02:00
Samuliak
82dcbd98a6
prepare for vertex stride workaround
2024-08-06 19:08:22 +02:00
Samuliak
99ff282720
implement more primitive types & warn about vertex stride
2024-08-06 16:29:06 +02:00
Samuliak
5fc45407db
fix: texture swizzle
2024-08-06 13:42:06 +02:00
Samuliak
0a7f30c6a4
implement texture swizzle
2024-08-06 10:23:57 +02:00
Samuliak
d64e64e5ef
fix: texture updates and buffer bindings
2024-08-06 06:43:22 +02:00
Samuliak
f11526a244
fix: texture bindings
2024-08-05 08:54:11 +02:00
Samuliak
5030a2e84a
implement color buffer clear
2024-08-04 15:09:49 +02:00
Exzap
1575866eca
Vulkan: Add R32_X8_FLOAT format
2024-08-04 14:47:51 +02:00
Samuliak
763d57d921
implement texture copy and clear
2024-08-04 13:30:34 +02:00
Samuliak
ce6d4cacd1
implement sampler states
2024-08-03 19:58:40 +02:00
Samuliak
d2edc41680
fix: present issues
2024-08-03 16:15:22 +02:00
Samuliak
fa53af54db
fix: memory leaks
2024-08-03 15:26:57 +02:00
Samuliak
fe3b84b4a7
fix: buffer allocator
2024-08-03 15:01:52 +02:00
Samuliak
406a85672d
implement depth stencil cache & fix: textureSize
2024-08-03 10:01:57 +02:00
Samuliak
d7411e27f7
implement render pipeline cache
2024-08-03 09:33:32 +02:00
Samuliak
c6f66167a5
fix: viewport
2024-08-03 08:36:34 +02:00
Samuliak
db709c3495
fix: present issue
2024-08-03 08:24:39 +02:00
Samuliak
4022755a33
implement proper bit cast in shaders
2024-08-02 20:25:37 +02:00
Samuliak
4173675f03
implement depth state & texture clears
2024-08-02 19:42:34 +02:00
Samuliak
a2d15858ad
fix: shader errors
2024-08-02 17:48:25 +02:00
Samuliak
e4abb305ac
implement blending
2024-08-01 20:45:24 +02:00
Samuliak
d4564c18f2
fix: viewport and scissor
2024-08-01 17:55:16 +02:00
Samuliak
1fbd6ad376
set viewport and scissor
2024-07-31 20:50:24 +02:00
Samuliak
be8a560496
optimize index buffers
2024-07-30 19:27:52 +02:00
Samuliak
0cb83d4668
fix: support buffer data & fix: depth
2024-07-29 20:04:41 +02:00
Samuliak
f01130022a
rework command encoder system
2024-07-29 19:00:13 +02:00
SamoZ256
89a2c23dd7
Merge branch 'cemu-project:main' into metal
2024-07-29 15:13:39 +02:00
Samuliak
8800de0229
update CMakeLists.txt
2024-07-29 15:12:42 +02:00
Joshua de Reeper
517e68fe57
nsyshid: Tidyups and Fixes ( #1275 )
2024-07-28 18:50:20 +02:00
Samuliak
7ae29a74cd
present
2024-07-28 18:43:47 +02:00
Samuliak
35eea12950
bind default sampler
2024-07-28 16:32:37 +02:00
Samuliak
7ea18d8a5f
bind resources to shaders
2024-07-28 07:36:32 +02:00
Samuliak
cb525b22ff
implement vertex descriptors & draw
2024-07-27 21:26:26 +02:00
Samuliak
e5395277a7
implement render passes
2024-07-27 19:14:00 +02:00
Samuliak
4c78c6afbb
implement texture decoding
2024-07-27 15:20:51 +02:00
Samuliak
4976ff3084
fix: sampling & capture boundaries
2024-07-27 11:36:51 +02:00
Exzap
c73fa3761c
Fix compatibility with GCC
2024-07-27 04:45:36 +02:00
Samuliak
af3ce80b7c
fix: shader errors and shader crashes
2024-07-26 18:56:30 +02:00
Samuliak
aac9b123a5
improve shadergen & create shaders
2024-07-26 15:43:15 +02:00
Samuliak
69597166f3
start the shader decompiler
2024-07-26 11:42:18 +02:00
Samuliak
46981d7b03
implement pixel formats and texture copy
2024-07-26 08:51:27 +02:00
Exzap
5328e9eb10
CPU: Fix overflow bit calculation in SUBFO instruction
...
Since rD can overlap with rA or rB the result needs to be stored in a temporary
2024-07-26 06:03:00 +02:00
Exzap
47f1dcf996
debugger: Add symbol support to PPC stack traces
...
Also moved the declaration to precompiled.h instead of redefining it wherever it is used
2024-07-26 06:03:00 +02:00
Exzap
252429933f
debugger: Slightly optimize symbol list updates
2024-07-26 06:03:00 +02:00
Exzap
026d547dcc
Use HTTP 1.1 in Nintendo API requests
2024-07-26 06:03:00 +02:00
Exzap
f1685eab66
h264: Use asynchronous decoding when possible ( #1257 )
2024-07-26 05:48:42 +02:00
Samuliak
9b127be38d
create and present drawable
2024-07-25 16:37:38 +02:00
Samuliak
6db893c446
implement texture view & fix: crashes
2024-07-25 14:05:56 +02:00
Samuliak
98370260d3
initialize Metal
2024-07-25 12:53:24 +02:00
Samuliak
2477bad06b
start metal backend
2024-07-25 11:18:35 +02:00
capitalistspz
e65abf4898
Suppress unnecessary GTK messages ( #1267 )
2024-07-23 22:18:55 +02:00
Joshua de Reeper
a1c1a608d7
nsyshid: Emulate Infinity Base ( #1246 )
2024-07-23 03:18:48 +02:00
Exzap
64232ffdbd
Windows default to non-portable + Reworked MLC handling and related UI ( #1252 )
2024-07-23 03:13:36 +02:00
goeiecool9999
7522c8470e
resource: move fontawesome to .rodata ( #1259 )
2024-07-19 14:24:46 +02:00
Exzap
9d366937cd
Workaround for compiler issue with Visual Studio 17.10
2024-07-07 08:55:26 +02:00
Joshua de Reeper
5209677f2f
nsyshid: Add SetProtocol and SetReport support for libusb backend ( #1243 )
2024-07-02 03:32:37 +02:00
Colin Kinloch
64b0b85ed5
Create GamePad window at correct size ( #1247 )
...
Don't change the size on canvas initialization
2024-06-29 22:31:47 +02:00
Joshua de Reeper
aefbb918be
nsyshid: Skylander emulation fixes and code cleanup ( #1244 )
2024-06-28 15:44:49 +02:00
Joshua de Reeper
93b58ae6f7
nsyshid: Add infrastructure and support for emulating Skylander Portal ( #971 )
2024-06-28 00:55:20 +02:00
Exzap
f3d20832c1
Avoid an unhandled exception when mlc path is invalid
2024-06-25 19:28:21 +02:00
Exzap
d4c2c3d209
nsyskbd: Stub KBDGetKey
...
Fixes MSX VC games freezing on boot
2024-06-25 15:50:06 +02:00
Exzap
1672f969bb
Latte: Add support for vertex format used by Rabbids Land
2024-06-09 17:53:34 +02:00
Exzap
16070458ed
Logging: Restructure menu + allow toggeling APIErrors logtype
...
The logtype "APIErrors" previously was always enabled. This option is intended to help homebrew developers notice mistakes in how they use CafeOS API. But some commercial games trigger these a lot and cause log.txt bloat (e.g. seen in XCX). Thus this commit changes it so that it's off by default and instead can be toggled if desired.
Additionally in this commit:
- COS module logging options are no longer translatable (our debug logging is fundamentally English)
- Restructured the log menu and moved the logging options that are mainly of interest to Cemu devs into a separate submenu
2024-06-02 21:39:40 +02:00
Exzap
5f825a1fa8
Latte: Always allow views with the same format as base texture
...
Fixes crash/assert in VC N64 titles
2024-06-02 21:39:40 +02:00
Colin Kinloch
d33337d539
Fix GamePad window size ( #1224 )
2024-05-29 00:36:12 +02:00
Exzap
f576269ed0
Refactor legacy method of emulating thread events
2024-05-29 00:34:11 +02:00
Exzap
da8fd5b7c7
nn_save: Refactor and modernize code
2024-05-29 00:07:37 +02:00
Exzap
1ee9d5c78c
coreinit: Tweak JD2019 workaround to avoid XCX softlock
2024-05-27 01:24:24 +02:00
goeiecool9999
aadd2f4a1a
Input: Assign profile name correctly on save ( #1217 )
2024-05-25 01:48:53 +02:00
qurious-pixel
149fe10a4e
CI+MacOS: Use libusb dylib from vcpkg ( #1219 )
2024-05-25 01:48:17 +02:00