96ec85a72e
rasterizer_cache: Use Common::Rectangle everywhere
...
* Make a nice alias for it and use it instead of having Rect2D/Region2D. Makes the new design less intrusive to the current cache
2022-10-28 23:02:23 +03:00
0ed4d493ad
rasterizer_cache: Make into template
...
* This is the final step, now RasterizerCache is compltely decoupled from OpenGL (technically not yet, but that's talking details). For now texture filtering and some GLES paths have been disabled and will be reimplemented in the following commits
2022-10-28 23:02:23 +03:00
78be1e7c17
rasterizer_cache: Use PBO staging buffer cache for texture uploads/downloads
2022-10-28 23:02:23 +03:00
2963682722
rasterizer_cache: Reorder methods
2022-10-28 23:02:23 +03:00
98eea4dcca
rasterizer_cache: Remove remnants of cached_pages
2022-10-28 23:02:23 +03:00
98a4a18201
rasterizer_cache: Fix texture cube blitting
...
* The target was GL_TEXTURE_2D instead of GL_TEXTURE_CUBE_MAP_*
2022-10-28 23:02:23 +03:00
3619bd33b1
morton_swizzle: Implement texture formats in UNSWIZZLE_TABLE
...
* I can now remove that loop that has been messing with my OCD
2022-10-28 23:02:23 +03:00
fa870be263
morton_swizzle: Use tiled_buffer instead of reading data from g_memory
...
* It's much safer and removes hardcoded global state usage
2022-10-28 23:02:23 +03:00
3a6d19f51f
rasterizer_accelerated: Zero intialize cached_pages
...
* Resolves random crashes because count takes random values
2022-10-28 23:02:23 +03:00
73d6a9d585
texture_runtime: Add staging buffer lock mechanism
2022-10-28 23:02:22 +03:00
5d48107dd6
cached_surface: Remove custom texture logic
...
* Makes things more complicated and is in the way. It's probably already
broken by recent changes, so I'll need to reimplement it anyway
2022-10-28 23:01:42 +03:00
a306931e1c
renderer_opengl: Add driver class to report info/bugs
2022-10-28 23:01:42 +03:00
b3803c5002
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-28 23:01:42 +03:00
c412c116d8
rasterizer_cache: Improve TextureRuntime API
...
* This makes every operation more explicit and mimics more the Vulkan API
2022-10-28 23:01:42 +03:00
6ce4493e14
renderer_opengl: Encapsulate sync objects in OGLSync
2022-10-28 23:01:04 +03:00
d6e545932a
code: Use std::numbers::pi
2022-10-28 23:01:04 +03:00
542bae4581
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-28 23:01:02 +03:00
307154a06f
morton_swizzle: Optimize and use std::span
2022-10-28 22:56:47 +03:00
725afe33ef
morton_swizzle: Avoid buffer underflow
...
* Check the y coordinate before decrementing linear_buffer
2022-10-28 22:56:47 +03:00
bb58056ebe
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-28 22:56:47 +03:00
f69a33574c
rasterizer_cache: Use SurfaceType instead of Aspect
...
* It was doing pointless enum conversions when both enums described the same thing
2022-10-28 22:56:47 +03:00
1a48cf7e7d
rasterizer_cache: Separate texture swizzling to utils
2022-10-28 22:56:47 +03:00
2833d94a3b
rasterizer_cache: Remove OpenGL references from morton_swizzle
2022-10-28 22:56:47 +03:00
9b0aa5135e
rasterizer_cache: microprofile: Rename OpenGL to RasterizerCache
2022-10-28 22:56:47 +03:00
9787efc7ee
citra_qt: Forbid renderer change during runtime
...
* It's an endless source of problems and isn't usefull
2022-10-28 22:56:47 +03:00
623293d272
rasterizer_cache: Touch up MatchFlags comments
2022-10-28 22:56:47 +03:00
5ab5fdcc22
rasterizer_cache: Drop OpenGL postfix
2022-10-28 22:56:47 +03:00
1b1988a37a
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-28 22:56:47 +03:00
f584d143ff
video_core: Move UpdatePagesCachedCount to RasterizerAccelerated
2022-10-28 22:56:47 +03:00
56c679595f
citra_qt: Prepare GUI for Vulkan support
2022-10-28 22:56:45 +03:00
a93d7a8d3a
Merge pull request #6171 from SachinVin/dyn
...
Bump dynarmic and co.
2022-10-28 18:40:16 +05:30
0fb792d216
bump dynarmic: fix moving imm to fpr
2022-10-27 18:47:52 +05:30
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
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
e74b2575d7
clang format
2022-10-23 13:19:33 +05:30
ae6b7edc25
gc_adapter.cpp: add missing include
2022-10-23 13:19:33 +05:30
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
98d3b9c776
externals\CMakeLists.txt: add fmt before dynarmic
2022-10-23 13:19:32 +05:30
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
726964ff20
bump xbyak
2022-10-23 13:19:32 +05:30
e5f30fdbf8
bump dynarmic
...
bump dynarmic
bump dynarmic
bump dynarmic
2022-10-23 13:19:32 +05:30
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
67c4b87184
Add internet permission to android build ( #6167 )
2022-10-20 07:18:32 +05:30
ea26f46b0d
renderer_opengl: Fix flashlight problems in Luigi's Mansion ( #6160 )
2022-10-16 20:19:29 +05:30
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