Commit Graph

8190 Commits

Author SHA1 Message Date
GPUCode
cab0ad50f0
gl_shader_decompiler: Fix min/max NaN edge case (#6935) 2023-08-31 13:37:53 -07:00
Steveice10
5ad58e0605
shader: Fix shadow_texture_orthographic not being set correctly. (#6937) 2023-08-31 13:37:39 -07:00
GPUCode
1159e4d928
video_core: Take factors into account with min/max blending functions (#6925)
* sw_framebuffer: Take factors into account for min/max blending

* renderer_gl: Take factors into account for min/max blending

* Address review comments

* gl_shader_gen: Fix frambuffer fetch on qcom and mali

* renderer_opengl: Add fallback path for mesa

* gl_shader_gen: Avoid emitting blend emulation if minmax_factor is present
2023-08-30 21:26:28 +03:00
Steveice10
93c7c6a995
service: Downgrade some spammy logs to trace level. (#6936) 2023-08-30 19:19:38 +02:00
Steveice10
81a5e2355a
shader: Fix address register offset behavior in GLSL. (#6920) 2023-08-28 13:23:59 -07:00
GPUCode
d1f600601d
renderer_software: Multi-thread processing (#6698)
* renderer_software: Multi-thread processing

* Doubles the performance in most cases

* renderer_software: Move memory access out of the raster loop

* Profiling shows this has a significant impact
2023-08-28 01:09:23 -07:00
GPUCode
8b218e1b7d
tev: Use primary color for previous source in first stage (#6921) 2023-08-27 23:59:32 -07:00
Steveice10
04aeecabcf
arm: Do not try to access null page table. (#6930) 2023-08-27 17:26:31 +02:00
Steveice10
df57012c50
video_core: Correct shader interpeter address register handling. (#6910) 2023-08-27 01:49:31 +03:00
GPUCode
61cf550d0c
video_core: Avoid setting alpha tev with Dot3_RGBA8 color op (#6907)
* Further reduces unnecessary shader regenerations
2023-08-27 01:48:45 +03:00
Steveice10
f2e0748a22
build: Enable link time optimization in release builds. (#6887) 2023-08-26 11:15:13 -07:00
Steveice10
edf157200d
qt: Support updating an installed app image. (#6915) 2023-08-24 03:57:11 -07:00
GPUCode
a94297922b
shader_interpreter: Fix control flow edge cases and implement break/breakc (#6844) 2023-08-21 18:12:46 -07:00
m4xw
e129f07047
[ShaderGen] Avoid setting lighting states if components aren't enabled (#6895)
* [ShaderGen] Avoid setting lighting states if components aren't enabled

* [Squash] clang-format
2023-08-20 21:12:38 -07:00
Steveice10
b2092de871
build: Fix web service functionality. (#6903) 2023-08-19 17:34:35 -07:00
Steveice10
6ddf4b241f
renderer/vulkan: Emulate custom border colors in shaders when unavailable. (#6878) 2023-08-17 22:22:25 +02:00
Vitor K
f3d92dd3b8
Fix post processing shaders crashing on Intel GPUs (#6890) 2023-08-17 22:17:24 +02:00
Vitor K
1a6860f35c
opengl: disable ClearTexture on Intel drivers (#6879) 2023-08-17 22:16:51 +02:00
GPUCode
bc0bf4d3d2
(gl/vk)_shader_gen: Use floor instead of int cast (#6885) 2023-08-17 22:16:28 +02:00
Steveice10
1d3bf64f13
qt: Make input configuration scrollable. (#6881) 2023-08-16 19:27:01 -07:00
Steveice10
66404a669f
build: Fixes for a few minor issues (#6886) 2023-08-14 09:47:17 -07:00
Steveice10
6a1fd38063
build: Use new glslang tool name. (#6889) 2023-08-13 15:45:22 -07:00
Steveice10
a27971e723
service/cecd: Fix buffer writes in ReadData. (#6880) 2023-08-11 10:31:24 -07:00
Vitor K
eb8d2941c9
savestates: save the build name to be displayed when there's a version mismatch (#6493)
* savestates: add a build_name field to the header

* savestates: display build name on save/load menu

* savestates: add zero member to header just in case of UB from an older save state

* savestates: add legacy hash lookup

* savestate_data: update hash database
2023-08-10 20:55:22 -07:00
Steveice10
baca2bfc6b
qt: Only register graphics debugger as observer if visible. (#6875) 2023-08-09 17:31:09 -07:00
Narr the Reg
33a2113b71
service: nfp: Fix size and increase timeout (#6868) 2023-08-08 14:00:53 -07:00
Daniel López Guimaraes
1f07ab8643
http/ac: Fix failing assert and stub GetConnectingProxyEnable (#6864) 2023-08-08 14:00:42 -07:00
Steveice10
b739bd2632
qt: Fix double dialog and crash when OpenGL is selected on unsupported platform. (#6867) 2023-08-07 18:21:42 -07:00
GPUCode
f76165d848
frame_dumper: Use jthread (#6855) 2023-08-07 18:21:28 -07:00
GPUCode
ac78b74c45
gl_texture_runtime: Implement ARB_clear_texture (#6850) 2023-08-08 01:10:28 +03:00
GPUCode
a478bedb12
rasterizer_cache: Bring back custom format parameter (#6873) 2023-08-08 01:10:11 +03:00
Steveice10
6d0cd5b00e
build: Expose ENABLE_SCRIPTING and ENABLE_WEB_SERVICE flags as public. (#6872) 2023-08-07 03:12:49 -07:00
GPUCode
5b52849f90
rasterizer_cache: Allow custom recycle (#6851)
* surface_params: Allow custom surface recycling

* rasterizer_cache: Cleanup
2023-08-06 22:59:54 +03:00
GPUCode
0048e61fc7
Fix compilation without ENABLE_WEB_SERVICE (#6856) 2023-08-06 12:23:53 -07:00
Vitor K
aaeba6759e
citra_qt: do not pass memory to widget (#6849) 2023-08-04 16:35:52 -07:00
GPUCode
ebac2e4978
custom_tex_manager: Allow old hash in more cases (#6843) 2023-08-03 00:51:10 +03:00
PabloMK7
5b9f4d4129
SOC: Fix setting TTL to default value when TTL = 0 (#6835) 2023-08-02 13:06:51 -07:00
Vitor K
b1b6f08926
citra_qt: fix two graphics configuration bugs (#6840) 2023-08-02 21:38:57 +02:00
GPUCode
6f7612f73d
Res cache fixes (#6838)
* rasterizer_cache: Dont consider res_scale during recycle

* rasterizer_cache: Switch to plain erase loop

* rasterizer_cache: Fix crash due to memory corruption
2023-08-02 21:38:45 +03:00
GPUCode
88ea66053e
Miscallenious fixes to gl backend and qt frontend (#6834)
* renderer_gl: Make rasterizer normal class member

* It doesn't need to be heap allocated anymore

* gl_rasterizer: Remove default_texture

* It's unused

* gl_rasterizer: General cleanup

* gl_rasterizer: Lower case lambdas

* Match style with review comments from vulkan backend

* rasterizer_cache: Prevent memory leak

* Since the switch from shared_ptr these surfaces were no longer being destroyed properly. Use our garbage collector for that purpose to destroy it safely for both backends

* rasterizer_cache: Make temp copy of old surface

* The custom surface would override the memory region of the old region resulting in garbage data, this ensures the custom surface is constructed correctly

* citra_qt: Manually create dialog tabs

* Allows for custom constructors which is very useful. While at it, global state is now eliminated from configuration

* citra_qt: Eliminate global system usage

* core: Remove global system usage in memory and HIO

* citra_qt: Use qOverload

* tests: Run clang format

* gl_texture_runtime: Fix surface scaling
2023-08-02 01:40:39 +03:00
Tobias
970f2284d8
http/soc: Various implementations and fixes (#6828) 2023-08-02 00:37:56 +02:00
GPUCode
baf3ea4beb
custom_tex_manager: Allow old hash in the dumper (#6832) 2023-08-01 20:38:51 +03:00
PabloMK7
35e208b447
Move MiiData to its own namespace and add ChecksummedMiiData (#6824)
* Move mii to own namespace and add checksummed mii data

* Fix compile issues

* Make mii classes trivial and add cast operator

* Fix Android side

* Add new line at the end of files.

* Make miidata a struct and crc16 a u32_be as per switch code.

* Apply suggestions

* Change back crc to u16 and set padding to 0.
2023-07-31 20:38:47 -07:00
GPUCode
f8b8b6e53c
core: De-globalize movie (#6659) 2023-08-01 02:57:38 +02:00
GPUCode
a955f02771
rasterizer_cache: Remove runtime allocation caching (#6705)
* rasterizer_cache: Sentence surfaces

* gl_texture_runtime: Remove runtime side allocation cache

* rasterizer_cache: Adjust surface scale during reinterpreration

* Fixes pixelated outlines. Also allows to remove the d24s8 specific hack and is more generic in general

* rasterizer_cache: Remove Expand flag

* Begone!

* rasterizer_cache: Cache framebuffers with surface id

* rasterizer_cache: Sentence texture cubes

* renderer_opengl: Move texture mailbox to separate file

* Makes renderer_opengl cleaner overall and allows to report removal threshold from runtime instead of hardcoding. Vulkan requires this

* rasterizer_cache: Dont flush cache on layout change

* rasterizer_cache: Overhaul framebuffer management

* video_core: Remove duplicate

* rasterizer_cache: Sentence custom surfaces

* Vulkan cannot destroy images immediately so this ensures we use our garbage collector for that purpose
2023-08-01 03:35:41 +03:00
Steveice10
3fedc68230
common: Only use libbacktrace if present. (#6827) 2023-07-31 14:24:27 -07:00
Steveice10
335fb78c5c
service/am: Clean up and optimize CIA installation. (#6718) 2023-07-30 21:40:35 +02:00
Tobias
22c4eb86d7
core/frd: Correct FunctionInfo and stub more functions (#6209) 2023-07-30 04:18:52 +02:00
Steveice10
964f9ee3cf
service/gsp: Implement saving of framebuffers in SaveVramSysArea. (#6821)
* service/gsp: Implement saving of framebuffers in SaveVramSysArea.

* Address review comments.

* service/apt: Separate capture info and capture buffer info.

The former is used with the RequestForSysApplet message and GetCaptureInfo.
The latter is used with SendCaptureBufferInfo and ReceiveCaptureBufferInfo.
2023-07-29 00:26:24 -07:00
Steveice10
bb364d9bc0
service/apt: Add and implement more service commands. (#6721)
* service/apt: Add and implement more service commands.

* service/apt: Implement power button.

* Address review comments and fix GetApplicationRunningMode bug.
2023-07-29 00:26:16 -07:00
SachinVin
51996c54f0
audio_core\hle\adts_reader.cpp: Use BitField to parse ADTS header (#6719) 2023-07-28 12:15:58 -07:00
Steveice10
539a1a0b6e
service/cfg: Separate out config block defaults and create when not found. (#6716) 2023-07-26 10:33:00 -07:00
Steveice10
8b21b902f2
hw/y2r: Templatize input/output formats. (#6717) 2023-07-25 05:51:57 -07:00
Vitor K
19107cec4b
citra-qt: update the separate window titles to use full_name and show Primary/Secondary identifier (#6712)
* citra-qt: update the separate window titles to use full_name and Primary/Secondary window identifier

* build_fullname: remove trailing space
2023-07-25 05:51:46 -07:00
Steveice10
a537f56766
services/cfg: Clean up definitions and access flag handling. (#6711) 2023-07-21 18:04:15 -07:00
GPUCode
b5e1a27a7e
rasterizer_cache: Handle texture cubes with duplicate faces (#6710) 2023-07-21 01:55:19 +03:00
Steveice10
a9e390b1b1
frontend: Fix clicking primary screen window touching screen. (#6707) 2023-07-20 15:48:50 -07:00
Steveice10
71582a72a4
sdl: Check correct windowID based on event type. (#6703) 2023-07-19 01:29:13 -07:00
GPUCode
e783b0d4a9
rasterizer_cache: Fixes to (unaligned) texture downloads (#6697)
* rasterizer_cache: Header cleanup

* gl_texture_runtime: Fix incorrect stride in single scanline downloads

* texture_codec: Fix unaligned texture downloads
2023-07-18 17:31:31 +03:00
Steveice10
700c00f021
audio_core/hle: Stub binary requests SaveState and LoadState. (#6684)
* audio_core/hle: Stub binary requests SaveState and LoadState.

* audio_core/hle: Fire DSP binary pipe interrupt on request completion instead of tick.
2023-07-16 17:54:40 -07:00
Steveice10
9cb14044ec
kernel: Improvements to process cleanup. (#6680)
* kernel: Properly clean up process threads on exit.

* kernel: Track process-owned memory and free on destruction.

* apt: Implement DoApplicationJump via home menu when available.

* kernel: Move TLS allocation management to owning process.
2023-07-16 17:54:29 -07:00
Steveice10
8b6b58a364
y2r: Pass ConversionConfiguration by copying. (#6690) 2023-07-15 01:57:06 -07:00
Steveice10
e043caac27
hle: Eliminate need to specify command headers for IPC. (#6678) 2023-07-14 17:32:59 -07:00
Steveice10
0bedb28bdc
rpc: Fix class hierarchy. (#6694) 2023-07-13 16:29:54 -07:00
Charles Lombardo
c10ffda91f
android: Restore notification permission request (#6693)
When we targeted API <32, the notification permission would automatically be requested on startup. This restores that behavior temporarily while we work on new UX.
2023-07-12 18:54:21 -07:00
Steveice10
5e8ae4fa8a
qt: Fix per-game config loading for 3DSX/ELF. (#6691)
Co-authored-by: Michael Theall <pigman46@gmail.com>
2023-07-12 18:54:11 -07:00
GPUCode
7a7f485640
core: Cleanup RPC (#6674) 2023-07-12 18:54:02 -07:00
Tobias
bbf833bceb
citra_qt\game_list: Make columns hideable (#6467) 2023-07-12 23:17:16 +02:00
Narr the Reg
8eebb83c2c
service: nfc: Keep tag alive while it's being used (#6687) 2023-07-12 14:01:08 -07:00
Narr the Reg
d702915624
Remove some global usages of system (#6688) 2023-07-11 21:43:28 -07:00
GPUCode
943d5eeddf
citra_qt: Remove image allocation limit (#6682) 2023-07-11 21:43:19 -07:00
Steveice10
f3ac6f054f
audio_core: Clean up cubeb backend. (#6677) 2023-07-11 21:43:07 -07:00
Wunk
a94af8ea62
shader_jit: Add optimizations up to x86-64-v4 (#6668) 2023-07-11 09:21:37 -07:00
Ikko Eltociear Ashimine
6da4853360
kernel: fix typo in recorder.cpp (#6686) 2023-07-11 02:56:36 +02:00
GPUCode
b738584832
android: Update layout indexes (#6673) 2023-07-10 03:05:18 +03:00
SachinVin
1cb34ea0d3 core/memory.*:constify GetPhysicalPointer;
audio_core\hle\source.h: constify `memory_system`
2023-07-09 16:37:28 +05:30
Steveice10
662bb9ba77
hle: Stub some service calls used by the home menu. (#6675) 2023-07-07 22:05:38 -07:00
Narr the Reg
26e3f96983
service: nfc: Start adapter communication on scan (#6671) 2023-07-07 19:02:39 -07:00
Steveice10
cd3244f139
mic_u: Fix up logic for populating shared memory sample buffer. (#6669) 2023-07-07 19:02:31 -07:00
GPUCode
80033b84cb
renderer_software: Fix screen rendering (#6664) 2023-07-06 17:15:59 -07:00
GPUCode
cf9bb90ae3
code: Use std::span where appropriate (#6658)
* code: Use std::span when possible

* code: Prefix memcpy and memcmp with std::
2023-07-07 01:52:40 +03:00
GPUCode
4ccd9f24fb
Merge pull request #6638 from GPUCode/new-log
common: Backport yuzu log improvements
2023-07-06 23:44:54 +03:00
Steveice10
753b36c6ef
act: Use correct service session limit. (#6670) 2023-07-06 13:16:46 -07:00
Steveice10
c00768d6d0
nfc: Use existing secrets infrastructure for amiibo encryption. (#6652) 2023-07-06 11:45:46 -07:00
Tobias
4383f6d80a
Port yuzu-emu/yuzu#5229: "yuzu/main: Add basic command line arguments" (#5696)
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2023-07-06 20:44:35 +02:00
Narr the Reg
dc5ca96c0f
service: nfc: Use official names (#6672) 2023-07-06 20:25:05 +02:00
Steveice10
9d4609e29a
build: Bundle libraries in-place as well on MSVC. (#6665) 2023-07-06 02:37:06 +02:00
Steveice10
13a8969824
build: Clear out remaining compile warnings. (#6662) 2023-07-04 21:00:24 -07:00
GPUCode
d7b4260389 common: Address feedback 2023-07-03 17:13:00 +03:00
GPUCode
2126c240cd
core: backport some ResultCode updates (#6645)
Co-authored-by: Lioncash <mathew1800@gmail.com>
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2023-07-03 02:23:53 +02:00
Wunk
0b37c1da57
shader_jit/tests: Add additional shader-jit tests (#6648)
* shader_jit/tests: Add support for multiple inputs

Allows for multiple `Vec4f` inputs for each run

* shader_jit/tests: Add additional shader-jit tests

Add some more expansive tests for each of the shader-instructions for
regression-testing.  `MAD`/`MADI` is not added due to an upstream bug in
nihstro:

https://github.com/neobrain/nihstro/issues/68
2023-07-03 02:44:56 +03:00
GPUCode
9527bfffed common: Remove dependency from core 2023-07-03 02:18:37 +03:00
GPUCode
ba98bf058a logging: Address some issues 2023-07-03 02:18:35 +03:00
Charles Lombardo
c88acf7405
Android: Gradle updates (#6653)
* android: Migrate to Kotlin DSL

Includes updates to all android dependencies/ndk (minus billing) and adds support for Kotlin, Android 13, and view binding.

* android: Remove unused tests

* android: Remove unused dependencies
2023-07-02 01:08:27 -07:00
Wunk
71aea7e571
shader/jit: Use xbyak::util::Cpu for Host capabilities (#6643)
Xbyak has a complete utility-class for determining the host-processor's
ISA-features such as SSE4.1, AVX, AVX2, AVX512{F,VL,DQ,VBMI,etc}, and so
on for further potential optimizations.
2023-07-02 08:05:07 +05:30
Narr the Reg
3d0a3c2c45
service: nfc: Implement amiibo encryption and appdata (#6340) 2023-06-30 22:15:58 +02:00
Morph
0ddb095273 logging: Make use of bounded queue 2023-06-30 12:15:52 +03:00
ameerj
52b9007fcf common: Reduce unused includes 2023-06-30 12:15:52 +03:00
Merry
e112421db8 backend: Ensure backend_thread is destructed before message_queue
Ensures that stop_token signals that stop has been requested before destruction of conditional_variable
2023-06-30 12:15:52 +03:00
Wunkolo
ae6fda8638 logging: Convert backend_thread into an std::jthread
Was getting an unhandled `invalid_argument` [exception](https://en.cppreference.com/w/cpp/thread/thread/join) during
shutdown on my linux machine. This removes the need for a `StopBackendThread` function entirely since `jthread`
[automatically handles both checking if the thread is joinable and stopping the token before attempting to join](https://en.cppreference.com/w/cpp/thread/jthread/~jthread) in the case that `StartBackendThread` was never called.
2023-06-30 12:15:52 +03:00