Commit Graph

9379 Commits

Author SHA1 Message Date
5f8a884c2c renderer_opengl: Add driver class to report info/bugs 2022-10-14 21:03:10 +03:00
a7cfe99ca1 rasterizer_cache: Add staging buffer cache for uploads/downloads
*  In addition bump context version to 4.4 to enforce ARB_buffer_storage and use EXT_buffer_storage for GLES which is support on many mobile devices
2022-10-14 21:03:10 +03:00
424ed2df04 rasterizer_cache: Improve TextureRuntime API
* This makes every operation more explicit and mimics more the Vulkan API
2022-10-14 21:03:09 +03:00
e22e641736 frame_dumper: Switch to std::jthread 2022-10-14 21:02:45 +03:00
c080ed35c2 renderer_opengl: Encapsulate sync objects in OGLSync 2022-10-14 21:02:45 +03:00
6dacd66f40 code: Use std::numbers::pi 2022-10-14 21:02:45 +03:00
25a6da50ef code: dodge PAGE_SIZE #define
Some header files, specifically for OSX and Musl libc define PAGE_SIZE to be a number
This is great except in citra we're using PAGE_SIZE as a variable

Specific example
`static constexpr u64 PAGE_SIZE = u64(1) << PAGE_BITS;`

PAGE_SIZE PAGE_BITS PAGE_MASK are all similar variables.
Simply deleted the underscores, and then added CITRA_ prefix
2022-10-14 21:02:45 +03:00
38a5cc634f core: memory: Refactor block functions and general cleanup
* Also drop usage of std::vector in CopyBlock in favour of a plain std::array. Now all block functions use the common WalkBlockImpl the implementation of which is very similar to yuzu
2022-10-14 21:02:45 +03:00
f26d00fbb4 morton_swizzle: Optimize and use std::span 2022-10-14 21:02:45 +03:00
b03c3b0d7d morton_swizzle: Avoid buffer underflow
* Check the y coordinate before decrementing linear_buffer
2022-10-14 21:02:45 +03:00
1f450d6d1d morton_swizzle: Move out of bounds texture check out of the decode loop
* Running relative expensive checks like this on a hot path causes small but measurable performance loss. Tested SMD wit this and it doesn't crash
2022-10-14 21:02:45 +03:00
e464507b7a rasterizer_cache: Use SurfaceType instead of Aspect
* It was doing pointless enum conversions when both enums described the same thing
2022-10-14 21:02:45 +03:00
7158952ae7 rasterizer_cache: Separate texture swizzling to utils 2022-10-14 21:02:45 +03:00
841dee8ed8 rasterizer_cache: Remove OpenGL references from morton_swizzle 2022-10-14 21:02:45 +03:00
01e53fe9d2 rasterizer_cache: microprofile: Rename OpenGL to RasterizerCache 2022-10-14 21:02:45 +03:00
9762e24696 citra_qt: Forbid renderer change during runtime
* It's an endless source of problems and isn't usefull
2022-10-14 21:02:45 +03:00
937c7e67a4 rasterizer_cache: Touch up MatchFlags comments 2022-10-14 21:02:45 +03:00
1d4f8db60d rasterizer_cache: Drop OpenGL postfix 2022-10-14 21:02:45 +03:00
bc0c9f6eb7 rasterizer_cache: Shorten filenames and general cleanup
* AllocateSurfaceTexture now takes the PixelFormat directly as FormatTuple is an OpenGL struct and will be moved there
2022-10-14 21:02:42 +03:00
667d978480 video_core: Move UpdatePagesCachedCount to RasterizerAccelerated 2022-10-14 21:01:19 +03:00
389d1862bb citra_qt: Prepare GUI for Vulkan support 2022-10-14 21:01:19 +03:00
b05b5b3bd8 renderer_opengl: Address cubemap related errors (#6158) 2022-10-14 22:28:38 +05:30
1759e2afc2 CI: add source packing when doing a release (#6146) 2022-10-13 07:33:32 +05:30
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
a427a80446 Fix clang-format (#6155) 2022-10-07 16:59:44 +02:00
6f9586a1fe android: upgrade SDK and NDK versions (#6152) 2022-10-07 20:09:12 +05:30
bc6e45ab3b fix secure1 secondary key calc (#6149) 2022-10-06 09:22:01 +05:30
76f8d08d66 externals: track a stable version of sdl, 2.24.1 (#6150) 2022-10-06 03:06:12 +02:00
3e692eb383 externals: Upgrade httplib (#6147) 2022-10-06 03:01:37 +02:00
c6153bb32e CI: fix recent build issues (#6148)
Co-authored-by: Vitor K <vitor-kiguchi@hotmail.com>
2022-10-05 18:43:07 +02:00
7d18e36566 Update translations (2022-10-01) (#6142)
Co-authored-by: The Citra Community <noreply-fake@community.citra-emu.org>
2022-10-01 16:08:02 +05:30
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
030ecaa83c Merge pull request #6133 from jakedowns/jakedowns-fix-interlaced
Fix loading custom interlaced shaders (correction to incorrect "anaglyph" = true argument)
2022-09-24 20:35:31 +05:30
e5da8897cd Merge pull request #6134 from GPUCode/master
cmake: Add SDL2 alias when using system library
2022-09-23 14:01:42 -04:00
b5872ea79e cmake: Add SDL2 alias when using system library 2022-09-23 20:55:51 +03:00
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
cbd5d1c15c Upgrade codebase to C++ 20 + fix warnings + update submodules (#6115) 2022-09-21 18:36:12 +02:00
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
baecc18d8c Partially Revert "renderer_opengl: Remove amd hacks and legacy paths" (#6122)
This reverts commit 07a69b7c7b.
2022-09-10 15:35:13 +05:30
30831e6367 CI: dont upload macos artifacts (#6121) 2022-09-10 15:35:00 +05:30
fd0430e079 Merge pull request #6119 from GPUCode/master
Fix graphical bugs in Yokai 2/3 games
2022-09-10 15:34:46 +05:30
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
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
fd40880127 rasterizer_cache: Ignore fill surfaces
* Causes graphical bugs in Yokai games
2022-09-04 12:54:52 +03:00
47c4f31c8d Merge pull request #6117 from vitor-k/invalidate-cache
Invalidate older shader caches
2022-09-03 19:56:06 +05:30
c6fc00bc77 GetShaderCacheVersionHash: add comment explaining where the hash comes from 2022-09-03 15:09:09 +02:00
a8d82a2a04 Include gl_shader_util in shader cache version hash calculation 2022-09-03 14:44:40 +02:00
746609f35f Merge pull request #6103 from GPUCode/tex-cache
Start abstracting the rasterizer cache from OpenGL
2022-09-02 00:07:46 +05:30
9268b7d48e Merge branch 'master' into tex-cache 2022-09-01 19:50:32 +05:30