Commit Graph

7965 Commits

Author SHA1 Message Date
PabloMK7 4d684174e0
Fix socket poll and handling in windows (#6166)
* Fix socket poll and handling in windows

* Fix clang

* Add guest timing adjust

* Use platform independent time fetch

* Use proper type in time_point

* Fix ambiguous function call

* Do suggestions

* Take cpu_clock_scale into account in tick adjust
2022-10-27 18:35:49 +05:30
PabloMK7 e14b9f7a25 Fix clang-format and unused include 2022-10-27 01:09:18 +02:00
PabloMK7 fd7ada2a9c Fix chainloading for all apps 2022-10-23 22:55:50 +02:00
tywald a2daef2985
service/nwm_uds: log instead of assert to prevent crashes during multiplayer in Monster Hunter games (#6161) 2022-10-23 23:10:41 +05:30
SachinVin e74b2575d7 clang format 2022-10-23 13:19:33 +05:30
SachinVin ae6b7edc25 gc_adapter.cpp: add missing include 2022-10-23 13:19:33 +05:30
SachinVin fbe06234b1 Core: Port Exclusive memory impl from yuzu
core\arm\dynarmic\arm_dynarmic.cpp: fix build

core\arm\dynarmic\arm_dynarmic.cpp: Fixes

CPP 20
2022-10-23 13:19:33 +05:30
SachinVin 4a590d1fcb xbyak: Correct xbyak include directory
xbyak is intended to be installed in /usr/local/include/xbyak.
Since we desire not to install xbyak before using it, we copy the headers
to the appropriate directory structure and use that instead
Co-authored-by: merry <git@mary.rs>
2022-10-23 13:19:32 +05:30
Vitor K 9626bdf385
Gate use of custom directories behind a variable (#6157)
previous changes had forced every single user to use custom
directories for NAND and SDMC. Those paths were saved to the
config file and would interact badly with portable builds.
2022-10-22 19:09:47 +05:30
PabloMK7 d396944487 Fix self updating ncch app jump 2022-10-21 01:12:29 +02:00
PabloMK7 c49379442d Fix auto updating ncch files 2022-10-20 23:14:57 +02:00
PabloMK7 67c4b87184
Add internet permission to android build (#6167) 2022-10-20 07:18:32 +05:30
GPUCode ea26f46b0d
renderer_opengl: Fix flashlight problems in Luigi's Mansion (#6160) 2022-10-16 20:19:29 +05:30
GPUCode b05b5b3bd8
renderer_opengl: Address cubemap related errors (#6158) 2022-10-14 22:28:38 +05:30
Vitor K e24e2a8f8b
ccache: rename option as not to conflict with submodules (#6156)
* ccache: rename option as not to conflict with submodules

* MinGWCross: fix alignment
2022-10-10 18:10:47 +05:30
厄災ガノンの史家 2c40b2aa72
Android: Add support for custom textures and texture dumping (#6144)
* Android: add app UI settings for custom textures and texture dumping.

* Android: Bring lodepng_image_interface into jni directory, include it, and add lodepng to CMAKE for linker (Android version doesn't use the src/citra folder)

* Android: Add custom texture and texture dumping config.ini settings

* Register image interface line added.

* Update src/android/app/src/main/res/values/strings.xml

Co-authored-by: SachinVin <26602104+SachinVin@users.noreply.github.com>

* Update src/android/app/src/main/jni/lodepng_image_interface.cpp

Whoops

Co-authored-by: SachinVin <26602104+SachinVin@users.noreply.github.com>

* clang-format attempt #1

Co-authored-by: SachinVin <26602104+SachinVin@users.noreply.github.com>
2022-10-09 10:49:00 +05:30
liushuyu 6f9586a1fe
android: upgrade SDK and NDK versions (#6152) 2022-10-07 20:09:12 +05:30
Sam Kenny bc6e45ab3b
fix secure1 secondary key calc (#6149) 2022-10-06 09:22:01 +05:30
liushuyu 3e692eb383
externals: Upgrade httplib (#6147) 2022-10-06 03:01:37 +02:00
liushuyu c6153bb32e
CI: fix recent build issues (#6148)
Co-authored-by: Vitor K <vitor-kiguchi@hotmail.com>
2022-10-05 18:43:07 +02:00
Vitor K 6a9d36608f
Allow GetPhysicalRef to hold a past-the-end offset (#6141)
Games will sometimes use these when representing open right bounds
and so disallowing it caused regressions, with a notable example
being when MemoryFill is called to the end of vram, causing an
"invalid end address" error.
This had been noted on a comment in GetPhysicalRef prior to the
regression.
2022-10-01 16:07:27 +05:30
Jake Downs a44c77351b
Update renderer_opengl.cpp
pass false for bool anaglyph when calling OpenGL::GetPostProcessingShaderCode in Interlaced conditional branch

fixes https://github.com/citra-emu/citra/issues/6132
2022-09-22 15:57:00 -07:00
GPUCode cbd5d1c15c
Upgrade codebase to C++ 20 + fix warnings + update submodules (#6115) 2022-09-21 18:36:12 +02:00
SachinVin 90b418fd1a
Merge pull request #6123 from FearlessTobi/game-list-ports
ui: Fixes to compatibility list translations (yuzu port)
2022-09-21 08:39:39 +05:30
SachinVin baecc18d8c
Partially Revert "renderer_opengl: Remove amd hacks and legacy paths" (#6122)
This reverts commit 07a69b7c7b.
2022-09-10 15:35:13 +05:30
Kyle Kienapfel 854fe203e8 Qt: Retranslate GameList header and Filter line
Didn't notice this until I was trying to change the default font
to Comic Sans MS when language is set to English in yuzu.
2022-09-07 13:08:18 +02:00
Kyle K ed0e9e9593 ui: Fix Game Compatibility list translations
Reported by GillianMC on Discord. Looks to be a small quirk in the QT API.

setText(QObject::tr(status.text));
bringing up QObject breaks the link with the GameListItemCompat
2022-09-07 13:08:05 +02:00
GPUCode fd40880127
rasterizer_cache: Ignore fill surfaces
* Causes graphical bugs in Yokai games
2022-09-04 12:54:52 +03:00
Vitor Kiguchi c6fc00bc77 GetShaderCacheVersionHash: add comment explaining where the hash comes from 2022-09-03 15:09:09 +02:00
Vitor Kiguchi a8d82a2a04 Include gl_shader_util in shader cache version hash calculation 2022-09-03 14:44:40 +02:00
SachinVin 9268b7d48e
Merge branch 'master' into tex-cache 2022-09-01 19:50:32 +05:30
emufan4568 10c7aa402d gl_shader_util: Downgrade GLSL to 430
* Older intel drivers don'tsupport 450 as a version string
2022-08-29 21:44:07 +03:00
emufan4568 926d604312 Run clang format once more 2022-08-29 21:37:38 +03:00
GPUCode 48d5ec5c00 core: Update GL result enum
Co-authored-by: SachinVin <26602104+SachinVin@users.noreply.github.com>
2022-08-29 21:20:22 +03:00
SachinVin ddc802d2b4 android: add canary and nightly flavours + fix git version tags 2022-08-24 22:01:33 +05:30
GPUCode 13f38e0be5
citra_qt: Update error messages
Co-authored-by: SachinVin <26602104+SachinVin@users.noreply.github.com>
2022-08-23 19:54:15 +03:00
GPUCode 64e7f5929d
gl_rasterizer: Fix build on MacOS 2022-08-23 16:48:19 +03:00
Ian Chamberlain 24b54a9b01
Follow convention and break in default case 2022-08-23 08:22:17 -04:00
Ian Chamberlain 401336c5e7
Rename Close() -> RequestClose() 2022-08-22 18:11:26 -04:00
emufan4568 12f84e18dc externals: Upgrade glad to latest version
* Also change some mentions to OpenGL 3.3 to 4.3
2022-08-22 23:44:03 +03:00
emufan4568 7bcf753a21 renderer_opengl: Apply styling suggestions 2022-08-22 13:13:41 +03:00
GPUCode 6109935b73
gl_rasterizer: BindCubeFace is const
Co-authored-by: SachinVin <26602104+SachinVin@users.noreply.github.com>
2022-08-22 11:11:28 +03:00
emufan4568 31e6b553dc video_core: Run clang format 2022-08-22 08:00:30 +03:00
GPUCode f478e3093f rasterizer_cache: Drop warning in IntervalHasInvalidPixelFormat to debug 2022-08-22 07:59:04 +03:00
GPUCode cc5a88a864 rasterizer_cache: Make cache reset on resolution/filter change more explicit 2022-08-22 07:58:04 +03:00
GPUCode 14aea56fa1
pixel_format: Constexpr implies inline 2022-08-21 21:57:33 +03:00
emufan4568 2ed89b6448 cached_surface: Add missing include 2022-08-21 17:47:47 +03:00
emufan4568 9b5230c60e rasterizer_cache: Always create TextureDownloaderES
* It's used when dumping textures on desktop, so create it upfront to avoid null checks
2022-08-21 13:35:06 +03:00
emufan4568 1579f96397 rasterizer_cache: Remove remaining OpenGL code 2022-08-21 13:32:02 +03:00
emufan4568 fc450edd14 gl_rasterizer: Fix minor warnings and improve readability 2022-08-21 12:42:32 +03:00
emufan4568 e6137d7874 renderer_opengl: Remove GLvec* types
* The common types already exist and provide all the functionality required, why invent new types?
2022-08-21 12:22:58 +03:00
Ian Chamberlain c634c263db
citra-sdl: use the result of system.RunLoop()
If a shutdown was requested by the application, close the SDL window,
initiating the normal shutdown procedure. This causes a graceful exit
process instead of hanging.
2022-08-20 20:49:59 -04:00
emufan4568 e834f2b049 gl_resource_manager: Fix bug when allocating 3D textures 2022-08-21 02:24:13 +03:00
emufan4568 2726fe66db renderer_opengl: Header cleanup
* Should help with building times
2022-08-21 02:22:57 +03:00
emufan4568 07a69b7c7b renderer_opengl: Remove amd hacks and legacy paths
* AMDs new driver fixed many issues in the OpenGL driver. No reason to
  keep these hacks. In addition the upgrade to 4.3 guarantees the
  existance of required extensions, so no need to check for them
2022-08-21 01:52:49 +03:00
emufan4568 025cd31420 video_core: Bump OpenGL version to 4.3 on desktop
* The current backend heavily depends on many extensions for shadow
  rendering and texture cubes in the fragment shaders. All these
  extensions were incorporated to core in 4.3. Support is practically
  ubiquitous and requiring support for it makes things a lot easier
2022-08-21 01:39:16 +03:00
emufan4568 17ad594a62 rasterizer_cache: Introduce TextureRuntime and separate CachedSurface
* This commit aims to both continue the rasterizer cache cleanup by
  separating CachedSurface into a dedicated header and to start weeding
  out the raw OpenGL code from the cache.

* The latter is achieved by abstracting most texture operations in a new
  class called TextureRuntime. This has many benefits such as making it easier
  to port the functionality to other graphics APIs and the removal of the need
  to pass (read/draw) framebuffer handles everywhere. The filterer and
  reinterpreter get their own sets of FBOs due to this, something that
  might be a performance win since it reduces the state switching
  overhead on the runtime FBOs.
2022-08-21 01:16:48 +03:00
emufan4568 199671301d rasterizer_cache: Header cleanup and copyright date update 2022-08-21 01:16:48 +03:00
emufan4568 f6e3bb54f4 rasterizer_cache: Move utlities and type to separate headers 2022-08-21 01:16:48 +03:00
emufan4568 0fedf11be1 rasterizer_cache: Move depth tuples to cpp file 2022-08-21 01:16:47 +03:00
emufan4568 22acfe4d41 rasterizer_cache: SurfaceParams interface cleanup 2022-08-21 01:16:47 +03:00
emufan4568 cb0816c987 rasterizer_cache: Compute width and height only when used
Solves the compiler warning
2022-08-21 01:16:47 +03:00
emufan4568 6a7d601e42 rasterizer_cache: Factor morton swizzle and pixel format to dedicate headers
* Makes the code cleaner in general by not having to alias PixelFormat and SurfaceType everywhere
2022-08-21 01:16:47 +03:00
emufan4568 efc2db4088 rasterizer_cache: Separate into common directory 2022-08-21 01:16:42 +03:00
SachinVin 58d0705f0f
Merge pull request #6090 from JosJuice/android-cheats
android: Add cheat GUI
2022-08-14 18:14:40 +05:30
SachinVin 9ba1d68ba3
Merge pull request #6083 from pawelniegowski/amd-22-7-makecurrent-shader-bugfixes
Fix MakeCurrent and shader issues with AMD 22.7 driver
2022-08-14 18:14:26 +05:30
pawelniegowski b0c72c2ea7 revert GLSL version change 2022-08-10 16:36:23 +02:00
JosJuice 5180122506 android: Add cheat GUI
Based on https://github.com/dolphin-emu/dolphin/pull/10092,
with adaptations made for differences in how Citra handles cheats.

You can access the cheat GUI while a game is running.
2022-08-06 08:19:18 +02:00
JosJuice ce07ef1821 android: Use correct encoding when converting strings
The JNI functions that have "UTF" their name use "modified UTF-8"
rather than the standard UTF-8 that Citra uses, at least according
to Oracle's documentation, so it is incorrect for us to use them.
This change fixes the problem by converting between UTF-8 and
UTF-16 manually instead of letting JNI do it for us.
2022-08-03 15:54:15 +02:00
JosJuice 87677be921 android: Create utility function for converting strings to Java 2022-08-03 15:45:11 +02:00
JosJuice e65ca8b907 android: Deduplicate GetJString 2022-08-03 15:45:11 +02:00
pawelniegowski ce441237cf
Update src/core/frontend/emu_window.h
clang-format

Co-authored-by: BreadFish64 <mohror64@gmail.com>
2022-08-01 09:07:23 +02:00
pawelniegowski ff81fb04b4 Fix MakeCurrent and shader issues with AMD 22.7 driver 2022-07-29 12:26:18 +02:00
Ian Chamberlain 6764264488
Initialize GAMECONTROLLER in EmuWindow_SDL2 (#6078)
Resolves #6077

If only `SDL_INIT_JOYSTICK` is used, `InputCommon::SDL::SDLState` later tries to initialize the game controller in a background thread, which on macOS causes a crash in `SDL_PumpEvents`. From [the SDL docs](https://wiki.libsdl.org/SDL_Init), `SDL_INIT_GAMECONTROLLER` implies `SDL_INIT_JOYSTICK`, so this should be a total superset of the previous behavior.
2022-07-28 20:51:53 +05:30
Diego Arias 357025dfdf
loader: check for overflow of seg_sizes[] in 3dsx loader (#6075) 2022-07-23 21:57:55 +05:30
Z11-V 2b2868f156
screenshot fixes (#6070)
* screenshot fixes

* formatting

* disable screenshot on pause
2022-07-23 21:57:32 +05:30
merry 2d95b9946f
framebuffer_layout: Fix positioning of small screen when centered in landscape on mobile (#6071) 2022-07-17 17:49:55 +05:30
BreadFish64 353aaaf665
Merge pull request #6010 from SachinVin/gunman
shader_jit: Fixes for Gunman clive
2022-07-06 23:45:44 -05:00
Z11-V 19d97e4180
added quick screenshot (#6025)
Modified Capture screenshot to save screenshots with a timestamped name in the user directory.
2022-07-06 21:51:01 -05:00
SachinVin d84b3d9330
Merge pull request #6053 from Morph1984/assert-noinline
common/assert: Use noinline lambda instead of a wrapper template
2022-07-03 11:50:50 +05:30
Morph edbe7600f5 common/assert: Use noinline lambda instead of a wrapper template
MSVC now supports specifying __declspec on lambda functions
2022-06-30 08:58:36 -04:00
Morph 49c0ed297f common_funcs: Add CITRA_NO_INLINE 2022-06-14 07:18:12 -04:00
Vitor Kiguchi bc5bf28333 webservice: change naming on android as well 2022-06-11 11:44:49 +02:00
Vitor Kiguchi 28188f13f5 remove dedicated_room dependence on core 2022-06-11 10:21:18 +02:00
Vitor Kiguchi fa0cb52a5d Move webservice settings to own file 2022-06-11 10:21:17 +02:00
SachinVin 88a4759702
citra_qt: configure_input.cpp: update the modifier settings for both the sticks (#6033)
The Controller config UI exposes the Circle mod, only for the Circle pad's modifier, So after changing the binding, it leaves the default binding for the c-stick untouched, and the user is nagged about the (default) D key being bound to something, when trying to bind it to any other button.

With this PR we update the modifier for both the Circle Pad and C-stick.
2022-06-11 11:53:27 +05:30
liushuyu 8d603032f8
web_service: infect other targets with OpenSSL exports ...
... this can avoid the missing symbol issue when linking
2022-06-08 01:22:11 -06:00
Pengfei Zhu f453fddbde
Add configure_enhancements.ui to CMakeLists.txt
This was omitted, which seemed to be preventing this tab from being translated.
2022-06-06 13:47:07 +08:00
SachinVin b7c1c21019
Merge pull request #6030 from Daisouji/daisouji-midnight-theme
Adding Midnight Theme
2022-06-04 14:10:05 +05:30
BreadFish64 6f6a9357c2
Merge pull request #6023 from Morph1984/c4267
general: Enforce C4267 warning on MSVC
2022-06-01 19:40:35 -05:00
SachinVin 65611e5b51 Shader jit: Save and restore `LOOPCOUNT_REG` for nested loops,
also add the assert back for nested loops
update test
2022-05-21 11:24:32 +05:30
scribblemaniac a6e7a81de9
Use cubic mapping for volume control (#6020)
* Use cubic mapping for volume control

* Update comment for hardware volume slider
2022-05-20 22:47:37 +05:30
Morph 77ce1c8f14 CMakeLists: Enforce C4267 on MSVC 2022-05-18 00:05:41 -04:00
Morph adcc786ef2 tests: Resolve C4267 warning on MSVC 2022-05-18 00:05:41 -04:00
Morph 0d955c452b citra_qt: Resolve C4267 warning on MSVC 2022-05-18 00:05:41 -04:00
Morph de1374c1b9 video_core: Resolve C4267 warning on MSVC 2022-05-18 00:05:41 -04:00
Morph 3a43475149 core: Resolve C4267 warning on MSVC 2022-05-18 00:05:41 -04:00
Morph 4e73ff3978 input_common: Resolve C4267 warning on MSVC 2022-05-18 00:05:41 -04:00
Morph 1cc1c33a15 common: Resolve C4267 warning on MSVC
Also removes Timer::GetDoubleTime() as it is unused.
2022-05-18 00:05:40 -04:00
Daisouji 577b4fe4e9 Adding Midnight_Blue to themes
Add files via upload

Removed refresh and view_refresh
2022-05-17 09:48:02 -04:00
scribblemaniac 44e1f2319f
Improve tab ordering (#6019) 2022-05-13 20:36:09 +05:30
SachinVin b6ff58a9d6 FileUtil, Frontends: Fix updating custom NAND/SDMC path 2022-04-30 15:53:45 +05:30
SachinVin 047e238d09 shader_jit: Compile nested loops
and use `T_NEAR` instead of the default in Compile_BREAKC
2022-04-24 23:12:53 +05:30
feos 1382035d4d
explicitly set timebase for video stream (#6005)
fixes #5965
2022-04-23 21:53:53 +05:30
bunnei 4a9995ab9f
Merge pull request #6004 from SachinVin/android-5-java-dump
Android dump
2022-04-21 23:00:42 -07:00
SachinVin c86c96467a jni\CMakeLists.txt: Sort library list 2022-04-18 23:40:54 +05:30
SachinVin 9c695c8324 Android: rename android JNI from main to citra-android 2022-04-18 13:10:25 +05:30
SachinVin c800a9e44c src/CmakeLists.txt: Android: Prefer target_include_directories over include_directories 2022-04-18 13:09:08 +05:30
SachinVin 46880e8d54 Android : Bump gradle version 2022-04-16 13:05:50 +05:30
SachinVin 5681e91cf7 Android: remove async GPU until it is fixed on desktop 2022-04-14 20:44:59 +05:30
SachinVin cd4ef8611c build.gradle: Bump Cmake version and NDK version 2022-04-14 20:44:58 +05:30
SachinVin 0e347605e1 Android: log device info and settings 2022-04-14 20:44:58 +05:30
SachinVin 0af8406e44 Common: Add CPU feature detection for ARM64 2022-04-14 20:44:57 +05:30
SachinVin f1c2f63aa1 Android: Java + JNI dump
CmakeLists

Jni Fix
2022-04-14 20:44:57 +05:30
PabloMK7 593b0b2d8f
Add svcGetSystemInfo 0x20000 to get citra information (#5955) 2022-04-14 19:58:44 +05:30
tcoyvwac ac7285c904
citra_qt: prefer standard algorithms (#5995)
qt_multimedia_camera.cpp:
Prefer std::generate over ranged-for loop.
2022-04-14 19:58:25 +05:30
SachinVin b5ac9e4946
Backport non-seperable disk shader from android (#5976)
* VideoCore: Backport Shader cache for non separable shaders

android: disk_shader_cache: remove redundant lookup

* disk_shader_cache: dont compile dumped shaders

* cleanup Seperable shader loading

* gl_shader_disk_cache.cpp: remove redundant checks

* Skip compiling non seperable raws

* gl_shader_manager.cpp: Skip `GLAD_GL_ARB_get_program_binary` check on GLES
2022-04-02 11:57:14 +05:30
SachinVin ac98458e0b
audio_core\lle\lle.cpp: Add 16 bit and 32 bit read/write callbacks (#5968) 2022-03-05 12:38:46 +05:30
benstephens56 c8a7185444
Convert Input Count to Frame Count (#5954)
* Convert Input Count to Frame Count

While recording or playing a movie file, the left side of the status bar currently displays an input counter which shows how many times the emulator has polled for button inputs during the movie. This information is far less easily understandable and less useful for TASing compared to a frame count. The frame count has a linear relationship with input count that can be expressed with Frame Count = 0.255689103308912 * Input Count. Simply put, instead of having a counter that goes up by 3 or 4 every frame, this makes it a counter that goes up by exactly 1 every frame.

* Update movie.cpp

* Update movie.cpp

* Fixing clang-format errors

* Update movie.cpp

Did not realize that the frame rate was defined as a constant somewhere in the source code. This makes this conversion far less sketchy.

* Update movie.cpp
2022-03-05 12:38:35 +05:30
liushuyu c7869ff332
audio_core/hle/ffmpeg_decoder: make avcodec const 2022-02-21 00:51:17 -07:00
liushuyu 04f201ab34
dumping/ffmpeg_backend: add support for ffmpeg 5.0 2022-02-20 04:07:10 -07:00
Mai M 54a36bc54f
fs_user: Resolve sign conversion warning in GetPriority() (#5396)
Prevents a -Wsign-compare warning from occurring.
2022-02-19 09:49:16 +05:30
bunnei 62753e882e
Merge pull request #5448 from zhaowenlan1779/rerecording
Implement basic rerecording features
2022-02-18 20:29:36 -07:00
bunnei bae1c31406
Merge pull request #5718 from liushuyu/httpc
externals: update httplib and libressl
2022-02-05 02:59:18 -07:00
bunnei e3804a4c06
Merge pull request #5786 from vitor-k/macos-perms
Request Camera Permission on MacOS
2022-02-05 02:58:38 -07:00
Johel Ernesto Guerrero Peña e04d904b2b
fix(net): prevent gibberish padding on linux client (#5941) 2022-02-05 11:23:48 +05:30
SachinVin 2fc7def6f6
Merge pull request #5395 from lioncash/gsp
gsp_gpu: Resolve sign conversion warnings
2022-01-30 21:55:24 +05:30
SachinVin f66ba43e0c
Merge pull request #5755 from vitor-k/mod_used
citra_qt/configure_input: Account for analog buttons when checking for used buttons
2022-01-30 21:52:40 +05:30
SachinVin d35a7a8e23
Merge pull request #5804 from weihuoya/minorfx
Minor fx
2022-01-30 21:51:11 +05:30
SachinVin 4e15823db2
gl_format_reinterpreter.cpp: fallback to PBO path on obsolete intel drivers (#5928) 2022-01-24 14:14:28 +05:30
zhang wei afa7f4996f
fx bgr write back on gles (#5924) 2022-01-24 14:14:12 +05:30
liushuyu af24f75c18
externals: update httplib and libressl ...
* In older `httplib`, SSL connections were not handled correctly and
  will have issues with proxy servers. Also, keep alive directives were
  not available back then, which is probably necessary to implement
  HTTP_C service correctly.
* Another reason being `httplib` now requires OpenSSL 1.1+ API while
  LibreSSL 2.x provided OpenSSL 1.0 compatible API.
* The bundled LibreSSL has been updated to 3.2.2 so it now provides
  OpenSSL 1.1 compatible API now.
* Also the path hint has been added so that it will find the correct
  path to the CA certs on *nix systems.
* An option is provided so that *nix system distributions/providers can
  use their own SSL implementations when compiling Yuzu/Citra to
  (hopefully) complies with their maintenance guidelines.
* LURLParse is also removed since `httplib` can handle
  `scheme:host:port` string itself now.
2022-01-13 19:32:50 -07:00
Vitor Kiguchi 8b0a6b9d5e macos permission: address review comments 2022-01-10 15:30:41 +01:00
Vitor Kiguchi 7bbc94d428 macos: request permission for microphone usage 2022-01-10 14:38:49 +01:00
Vitor Kiguchi d5a4988f9e clang format: add objective c++ formatting 2022-01-10 13:52:39 +01:00
Vitor Kiguchi 80fdc3e7c8 clang format 2022-01-08 12:43:46 +01:00
bunnei 95383a3d14
Update src/citra_qt/configuration/configure_input.cpp
Co-authored-by: Pengfei Zhu <zhupf321@gmail.com>
2022-01-08 02:02:03 -08:00
bunnei 67f1e4111d
Merge pull request #5792 from vitor-k/username
service/frd: return cfg username on GetMyScreenName
2022-01-08 02:01:31 -08:00
bunnei c01dca4920
Merge pull request #5901 from vitor-k/subregion
cfg: use a default subregion based on the country
2022-01-08 02:00:15 -08:00
trimental 2670b951e1
Fix software renderer for empty texture addresses (#5893) 2022-01-07 11:36:01 -06:00
bunnei 83913e68f3
Merge pull request #5905 from SachinVin/intel
Remove CopyImageSubData; and enable TextureView reinterpreter only on nvidia
2022-01-04 17:41:14 -08:00
bunnei 6dfb74a8b9
Merge pull request #5906 from SachinVin/android2
Backport some more stuff from android
2022-01-04 17:40:33 -08:00
SachinVin 5bd146b569 gl_format_reinterpreter.cpp: remove CopyImageSubData; and enable TextureView reinterpreter only on nvidia 2021-12-19 00:38:24 +05:30
SachinVin 1079f61260 Android:file_util.cpp: remove unnecessary ROOT_DIR 2021-12-18 16:52:24 +05:30
SachinVin 666787bf4d core/frontend/emu_window: return true when TouchPressed is consumed 2021-12-18 16:52:24 +05:30
SutandoTsukai181 60235827c5 Add Cardboard VR
Based on hrydgard/ppsspp/pull/12449
2021-12-18 16:52:24 +05:30
bunnei da3a9bfc96 core: Reset cpu_core after kernel.
- Fixes a crash on Android.

core.cpp: check if video_dumper is created before trying to shut it down
2021-12-18 16:52:21 +05:30
bunnei b7a156f7c8 android: frontend: Track screen layout separately for orientation.
android framebuffer
2021-12-18 16:52:17 +05:30
Carloschi7 0126ecb3e2
added std::vector<V> instead of V* (#5902) 2021-12-18 12:01:09 +05:30
bunnei e8f57d7e3c android: frontend: Add MobileLandscape layout profile for mobile devices. 2021-12-18 00:06:16 +05:30
BreadFish64 5a8c6990bf memory: fix memory leak related to un-freed shared memory 2021-12-18 00:06:15 +05:30
SachinVin 28039d39a1
Merge pull request #5851 from flibitijibibo/master
Add support for SDL controller accelerometer/gyro events
2021-12-12 20:23:09 +05:30
SachinVin a515df01db
savestate.cpp: log the savestate revision on revision mismatch (#5894) 2021-12-12 20:22:50 +05:30
Vitor Kiguchi f0fd776fa2 cfg: use a default subregion based on the country 2021-12-10 16:55:20 +01:00
SachinVin e8269a9e36 gl_format_reinterpreter.cpp: attempt to skip D24S8 to RGBA8 reinterpretation fast path for older nvidia GPUs,
additionally check for GL_ARB_copy_image in the fallback path
2021-10-06 22:22:26 +05:30
SachinVin 6183b5d76c
Merge pull request #5823 from SachinVin/dyn
Android: Backport easy stuff
2021-10-03 18:58:20 +05:30
SachinVin d4e85e2bb5
video_core: Disable disk shader cache when GL_ARB_get_program_binary is unsupported (#5785) 2021-10-03 18:57:34 +05:30
bunnei a2109933f6 (zhaowenlan1779) android/applets: Implement Mii Selector
See merge request CitraInternal/citra-android!33
# Conflicts:
#	src/android/app/src/main/jni/CMakeLists.txt
#	src/android/app/src/main/jni/id_cache.cpp
#	src/android/app/src/main/jni/native.cpp
#	src/android/app/src/main/res/values/strings.xml

gl_shader_gen.cpp: Fix separable shaders when GL_EXT_clip_cull_distance is not supported
2021-10-02 16:38:32 +05:30
SachinVin 80799b1e5d gl_shader_gen.cpp: Fix separable shaders when GL_EXT_clip_cull_distance is not supported 2021-10-02 16:38:29 +05:30
SachinVin 80b8d66017 gl_rasterizer.cpp: don't check for GL_ARB_copy_image when using GLES 2021-10-02 16:38:27 +05:30
SachinVin 228f648e3f video_core/CMakeLists.txt: Use toolchain cmake in shader header generator 2021-10-02 16:38:26 +05:30
bunnei 9fbda04891 gl_shader_decompiler: Improve performance of accurate_mul on Android. 2021-10-02 16:38:24 +05:30
xperia64 8a68c58070 Shield TV driver bug workaround
shield tv
2021-10-02 16:38:22 +05:30
SachinVin 703ef0e6f0 gl_shader_gen.cpp:fix implicit type conversion error for gles 2021-10-02 16:38:20 +05:30
SachinVin 9ad6bc29b5 common/logging: Create a new backed for android's logcat
logging
2021-10-02 16:38:18 +05:30
zhupengfei 84844e1b24 gl_shader_util: Specify default precision for uimage2D
Otherwise, this causes the application to crash when compiling any shader, on both devices I tested.
2021-10-02 16:38:18 +05:30
BreadFish64 e6b59cb5d8 video_core: implement optimized D24S8->RGBA8 reinterpreters 2021-10-02 16:38:17 +05:30
James Rowe fda121c25c Use immutable storage when available 2021-10-02 16:38:15 +05:30
BreadFish64 b2057e1b62 android: disable OpenGL debug message again 2021-10-02 16:38:15 +05:30
BreadFish64 54b8af1444 video_core: implement GLES depth/stencil downloads
video_core: disable depth/stencil texture download on OpenGL ES

Disable deptch stencil shader in texture_downloader_es for now

enable_depth_stencil

DepthStencil

remove GL_DEBUG_OUTPUT_SYNCHRONOUS
2021-10-02 14:19:27 +05:30
BreadFish64 91f52c2fdb video_core: fix texture filters in GLES
anime4k: reset state.texture_units[0].texture_2d before filtering

clang-fmt
2021-09-29 22:51:16 +05:30
bunnei 7b82883767 android: Update .gitignore for CXX compile cache. 2021-09-29 22:51:15 +05:30
bunnei 6f1c76518c android: renderer_opengl: Various fixes for GLES.
video_core: bump swap chain size for GLES to reduce bottleneck

SWAP_CHAIN_SIZE
2021-09-29 22:51:14 +05:30
bunnei 4cc8d43fa1 android: log: TrimSourcePath: Cannot be constexpr. 2021-09-29 22:51:14 +05:30
bunnei 8a06463c97 android: video_core: Enable HW shadows and texture barrier on GLES. 2021-09-29 22:51:13 +05:30
bunnei e028eb91c0 video_core: gl_shader_manager: Only set shader samplers on fragment shader.
- Avoids unnecessary uniform errors.
2021-09-29 22:51:13 +05:30
bunnei 3b2b9282d3 android: video_core: Require GLES 3.2 in shaders. 2021-09-29 22:51:13 +05:30
bunnei 5a31aa175d android: video_core: gl_rasterizer_cache: Make cache access thread safe. 2021-09-29 22:51:12 +05:30
bunnei 4f737c329e android: audio_core: Remove noisy log. 2021-09-29 22:51:11 +05:30
bunnei 3e6fce7553 core/CmakeLists.txt: correct mic.h order 2021-09-29 22:50:55 +05:30
Pengfei Zhu 19617f7edb
dsp_interface: Move sink to the last in member list (#5844)
So that it is destructed first. Otherwise, the TimeStretcher will be destructed before the Sink, which might cause segfaults when the Sink tries to read data from the TimeStretcher afterwards.
2021-09-20 22:40:36 +05:30
Ethan Lee 853909996b Add support for SDL controller accelerometer/gyro events 2021-09-18 12:24:38 -04:00
SachinVin a1b4daa9d4
core.h: remove nodiscard for SendSignal (#5837)
We use this in four places and discard the result everywhere
2021-09-06 21:27:11 +05:30
fadillzzz 89410c164a
fix(bps): Fixes BPS patch changing target size (#5829) 2021-08-22 15:24:35 -05:00
bunnei a941547c1c android: renderer_opengl: Partially implement glLogicOp on GLES. 2021-07-24 23:37:03 +05:30
bunnei 853acce6c5 android: renderer_opengl: Optimize GetTexImageOES and fix bugs. 2021-07-24 23:37:01 +05:30
bunnei 855d19a468 android: gl_rasterizer_cache: Skip costly shutdown procedure. 2021-07-24 23:37:00 +05:30
SachinVin 4439423313 (jroweboy)gl_rasterizer_cache.cpp: Check Framebuffer Status 2021-07-24 23:36:58 +05:30
James Rowe 9f4501aceb Perf: Remove more breakpoint checking in the interpreter. Move filtering earlier in the logging chain 2021-07-24 23:36:56 +05:30
weihuoya cddd447506 use separate texture buffer for light and fog
gl_state.cpp: Fix typo in texture buffer LUT

gl_state.cpp: Initialize texture_buffer_lut_lf
2021-07-24 23:36:53 +05:30
Valeri dd31ed60c0
Add Get(Inv)WindowResolution shader functions (#5818)
Those are available in upstream Dolphin, so it will help with keeping things compatible.
2021-07-24 12:35:33 -05:00
Pengfei f85bde3ca3
Replace `&vec[0]` with `vec.data()`
When the vector is empty, using `&vec[0]` involves undefined behaviour. While that works fine most of the time, Flatpak builds aborted on a failed `__builtin_expect`.

I searched for such occurences across the codebase with the regex `(?<!&)&\w+\[0\]` and fixed those that would potentially cause issues.
2021-07-14 17:01:14 +08:00
Vitor Kiguchi 3e71d68b94 service/frd: don't use global system
address review comments + clang format
2021-07-07 16:45:13 -03:00
weihuoya adac0d193b reduce network latency 2021-07-04 23:06:13 +08:00
Pengfei Zhu 5241032fc5
Merge pull request #5382 from zhaowenlan1779/uds-2
service/nwm_uds: Various improvements/corrections
2021-06-22 20:40:18 +08:00
Amnesia1000 3d8555236f
Corrected the path to the headbar icon (#5782)
* Corrected the path to the headbar icon

Corrected the path where the icon file is located, since the "dist" folder is located next to the binary provided in github.

* Corrected the path to the headbar icon

Corrected the path where the icon file is located, since the "dist" folder is located next to the binary provided in github.
2021-06-22 18:16:31 +08:00
weihuoya b7f0e886d9 make sure initialized, prevent garbage data 2021-06-22 15:15:33 +08:00
Vitor Kiguchi 6d99b5d332 service/frd: return cfg username on GetMyScreenName
as some games apparently use this for the multiplayer display name
2021-06-05 21:53:16 -03:00
SachinVin 842031a2eb
Fix Disk shader cache when accurate multiplication is off (#5711)
* renderer_opengl.cpp: fix sanitize_mul check for disk shader cache

* Partially revert "Band-aid solution for 'Disk Shader Cache' (#5188)"

This reverts commit 2e0ce86c9e.

* Disable `disk_shader_cache` checkbox when `hw_renderer` is off
2021-05-16 10:45:02 +02:00
Ben 7325f58763
NWM_UDS: implement disconnect_reason and EjectClient (#5331)
* NWM_UDS: Stub disconnect_reason and EjectClient

* addressed review comments

* fix additional semicolon

Co-authored-by: Valentin Vanelslande <vvanelslandedev@gmail.com>

Co-authored-by: Valentin Vanelslande <vvanelslandedev@gmail.com>
2021-05-16 10:41:54 +02:00
Vitor Kiguchi 940ec70f13 Apple: request authorization for camera usage 2021-05-15 19:18:01 -03:00
zhupengfei e6e6f4fbe1 Add descriptions for camera and microphone usage on macos
Starting from macOS 10.14, users need to grant permissions for applications to use media capture (camera and microphone).

The application *must* provide a description in its Info.plist or it will be terminated due to privacy violation upon attempting to initialize camera/microphone.

Ideally these two strings should be translated, but since this is not really compatible with Qt's localization system and likely requires separate configuration, I'm currently not that interested in messing with it.
2021-05-12 03:40:14 -03:00
Max Fedotov a2f34ea82b
gcc 11 compatibility fix (suggestion) (#5778)
Fixes missing include and runtime variable in offsetof

* gcc 11 compatibility fix

* Revert "gcc 11 compatibility fix"

This reverts commit bf5711d944bbdf7b5663ba4fec1b9066f16e2bb2.

* gcc 11 compatibility fix (with pointer math)

* Don't require pointers for framebuffer field math

* Code style fix (clang-format)
2021-05-10 22:10:29 -05:00
Vitor Kiguchi 350c9c8d7d sdl2_sink: remove SDL_AUDIO_ALLOW_FREQUENCY_CHANGE flag
this is necessary for sdl audio to work properly in
sdl as of current dev version (2.0.15)
2021-04-29 20:59:41 -03:00
lat9nq 6a124bc317 input_common: Fix libusb include on Arch 2021-04-24 17:26:09 -04:00
ameerj a80e566464 gcadapter: Implement auto map feature
Implements the auto map functionality for the GC adapter.
The controls map nicely to the original 3ds controls, with the select button being mapped to the Z button on GC.
The ZL/ZR buttons are not mapped by this feature.
2021-04-24 02:03:40 -04:00
ameerj 32f8a565f3 configure_input: Add frontend text for GC adapter
Also streamlines some of the frontend text logic.
2021-04-24 02:02:45 -04:00
ameerj 700fa6b96a gc_adapter: Port code cleanup and feature updates from yuzu
Streamlines the code and introduces fixes for the origin status of the controller along with adapter hotplug support

Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2021-04-24 02:02:45 -04:00
ameerj 05e28a53e8 input_common: Add support for GameCube Adapter
This is a port of the initial GameCube adapter input support i added into yuzu emulator.
It requires the same setup as when it was first introduced in yuzu, requiring the Zadig driver be installed for the adapter to allow it to interface with libusb.
2021-04-24 02:02:45 -04:00
bunnei 9ff97270cf
Merge pull request #5501 from FearlessTobi/port-1064-3948
Port yuzu-emu/yuzu#1064 and yuzu-emu/yuzu#3948: Changes to Telemetry and CPU feature detection
2021-04-23 22:58:08 -07:00
bunnei 24086d05bb
Merge pull request #5471 from vitor-k/misc
Fix some warnings and some small changes
2021-04-23 22:54:00 -07:00
bunnei 78b8dfc808
Merge pull request #5759 from nieldm/fix-3818-allow-custom-save
Allow custom folder for SDMC and NAND Directories
2021-04-23 22:35:10 -07:00
Daniel Mendez 8981ca983f
Update src/citra_qt/configuration/configure_storage.cpp
Co-authored-by: Ben <bene_thomas@web.de>
2021-04-18 12:57:20 +02:00
Daniel Mendez b72e60a47f
Update src/citra_qt/configuration/configure_storage.h
Co-authored-by: Ben <bene_thomas@web.de>
2021-04-18 12:57:14 +02:00
Daniel Méndez 95529a8b1d citra-qt: Added configure storage to handle NAND and SDMC dir location 2021-04-18 00:13:21 +02:00
Daniel Mendez d21b8fb1b1 config: better variable naming
Co-authored-by: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
2021-04-17 23:49:18 +02:00
Daniel Méndez 7f20d8bb88 config: Added nand_directory and sdmc_directory to Settings
Added settings to the ini
2021-04-17 23:49:02 +02:00
Daniel Méndez 3be52f818a file_util: Add a function to update the user path
Added a default value when sdmc and nand are empty
2021-04-17 23:48:30 +02:00
Daniel Méndez 49c0766b73 settings: Save and load NAND/SD dirs from config 2021-04-08 00:20:52 +02:00
Vitor K 39680264b4
citra_qt/configure_input: use pre-increment instead of post-increment
Co-authored-by: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
2021-04-06 19:02:02 -03:00
Vitor Kiguchi 3fb1988b5b gl_rasterizer: check for GL_ARB_copy_image 2021-04-06 00:20:00 -03:00
Vitor Kiguchi 981ffb5090 shader_disk_cache: warn the user when ARB_get_program_binary is not supported. 2021-04-06 00:19:59 -03:00
Vitor Kiguchi 3cc559f865 clang format 2021-04-05 19:52:27 -03:00
Vitor Kiguchi 0e2edbb0d2 Account for analog buttons when checking for used buttons
circle mod and analog_from_buttons weren't being accounted for.
2021-04-05 19:38:54 -03:00
Johel Ernesto Guerrero Peña f8eb4b7edc fix(net): prevent gibberish padding on linux 2021-03-30 08:55:58 -04:00
Pengfei Zhu 8e3c7674d8
Merge pull request #5644 from liushuyu/master
bootmanager: fix memory leaks when loading save states
2021-03-06 16:23:24 +08:00
xperia64 c2d36cde9f
Fix destructor order in rasterizer cache (#5725) 2021-02-21 18:05:27 -05:00
Marshall Mohror e6c479f497
Merge pull request #5710 from BreadFish64/bonk_textures
gl_rasterizer_cache: Remove all fully invalid surfaces from the cache
2021-02-11 19:06:03 -06:00
Morph 7806206e90 string_util: Remove MSVC workaround for converting between UTF8/UTF16
This has been fixed as of Visual Studio 2019 Version 16.2
2021-02-11 00:16:33 +01:00
xperia64 2ddecf35d2
Avoid leaking fences during re-presentation (#5713)
* Avoid leaking fences during re-presentation
2021-02-09 11:32:48 -05:00
Marshall Mohror 5776bdda82
Merge pull request #5546 from FearlessTobi/port-5524
Port yuzu-emu/yuzu#4086 and yuzu-emu/yuzu#4611: Xbyak cleanups
2021-02-08 16:00:18 -06:00
BreadFish64 ff56fdf37d fix recycling custom textures 2021-02-08 15:53:06 -06:00
Pengfei Zhu e770fd6e95
Merge pull request #5707 from vitor-k/mod-scale
configure_input: fix modifier scale saving
2021-02-08 13:14:19 +08:00
zhupengfei 996ca25a2e
core_timing: Lock CoreTiming event queue while deserializing
To handle those classic asymmetric constructor/destructor side effects
2021-02-08 11:25:39 +08:00
zhupengfei b2531310b4
Minor improvements to the UX
1. Game will now be paused on movie finish
2. Added 'Save without Closing'
2021-02-08 11:25:38 +08:00
zhupengfei f8eb9a541d
citra_qt: Fix potential indeterminstism caused by starting record/playback
Previously the movie was started *after* core starts running, causing potential indeterminism.

Some desyncs are still not fixed; they may be caused by core timing. More investigation is required.
2021-02-08 11:25:38 +08:00
zhupengfei e60e20666e
citra_qt: Allow enabling frame advance before emulation start
Effectively allows starting emulation as paused.
2021-02-08 11:25:37 +08:00
zhupengfei d6b64f6b09
citra_qt: Simplify movie recording code
The behavior shouldn't be changed.
2021-02-08 11:25:36 +08:00
zhupengfei 1780f8b5b8
core/movie: Add MovieFinished mode
Also mentioned in Laws of TAS.
2021-02-08 11:25:35 +08:00
zhupengfei e188f86582
core/movie: Add future event and timeline check
As specified in TASVideos [Laws of TAS](http://tasvideos.org/LawsOfTAS/OnSavestates.html)
2021-02-08 11:25:34 +08:00
zhupengfei b6f8cc884f
citra: Update SDL frontend 2021-02-08 11:25:33 +08:00
zhupengfei fb14bd956a
citra_qt: Add indicator in status bar
Since we do not have an overlay yet, it can be confusing whether movie is being recorded or played. This makes it clear.

Status messages (e.g. system archive missing) will be overriden, but that shouldn't be too important when recording movies.

Doubled the status bar updating frequency to provide a better experience. It now updates every second.
2021-02-08 11:25:32 +08:00
zhupengfei 113e0c7331
citra_qt: Rebuilt movie frontend
This is completely rebuilt, in order to allow setting author, displaying movie metadata, and toggling read-only mode.

The UX is changed to more closely match other emulators' behaviour. Now you can only record/play from start/reset (In the future, we might want to introduce 'record from savestate')

Also fixed a critical bug where movie file can be corrupted when ending the recording while game is still running.
2021-02-08 11:25:31 +08:00
zhupengfei 5a42a80f40
core/movie: Allow setting a playback completion callback
Instead of specifying it when starting playback. This is necessary as
you can end up playing the movie even if you started as Recording
(for example, loading a state in R/O mode will switch to Playing mode)
2021-02-08 11:25:30 +08:00
zhupengfei 06bc37a67d
core/movie: Remove program ID checks
Most other emulators handle this automatically in the frontend,
booting/restarting the corresponding game instead of reporting an error.
Therefore, remove these checks and errors from the module.
2021-02-08 11:25:29 +08:00
zhupengfei bd88667247
core/movie: Add a few fields
These fields are included in most emulators and required by TASVideos.

`input_count` is implemented by counting the number of 'PadAndCircle' states, as this is always polled regularly and can act as a time/length indicator.
TASVideos also require the input count/frame count to be verified by the emulator before playback, which is also implemented in this commit.
2021-02-08 11:25:28 +08:00
zhupengfei ebaa225bcb
core: Add read-only mode and separate savestate slots for movies
The read-only mode switch affects how movies interact with savestates after you start a movie playback and load a savestate. When you are in read-only mode, the movie will resume playing from the loaded savestate. When you are in read+write mode however, your input will be recorded over the original movie ('rerecording'). If you wish to start rerecording immediately, you should switch to R+W mode, save a state and then load it.

To make this more user-friendly, I also added a unique ID to the movies, which allows each movie to have an individual set of savestate slots (plus another set for when not doing any movies). This is as recommended by staff at TASVideos.
2021-02-08 11:25:27 +08:00
liushuyu 8290423d16
bootmanager: fix memory leaks when loading save states 2021-02-07 15:18:57 -07:00
Marshall Mohror 00c798991c
remove semicolon 2021-02-05 08:25:02 -06:00
Vitor Kiguchi 611b186a97 configure_input: set modifier_scale undonditionally when restoring default 2021-02-04 14:19:41 -03:00