e67a4a739a
video_core: Cleanup surface interface
...
* Remove unused FramebufferView and make the opengl handles private
2023-02-15 20:55:21 +02:00
c7d315058e
video_core: Cleanup microprofiles
...
* Remove upload/download targets these are covered by the rasterizer cache
2023-02-15 00:27:37 +02:00
df6b36eb67
rasterizer_cache: Support multi-level surfaces
...
* With this commit the cache can now directly upload and use mipmaps
without needing to sync them with watchers. By using native mimaps
directly this also adds support for mipmap for cube
* Since watchers have been removed texture cubes still work but are uncached
so slower as well. Will be fixed soon.
2023-02-15 00:11:10 +02:00
087bcd8f97
rasterizer_cache: Cleanup texture clears
2023-02-14 22:35:30 +02:00
44c187d705
rasterizer_cache: Wrap common draw operation in FramebufferBase
...
* Makes the rasterizer draw method much cleaner
2023-02-14 22:35:25 +02:00
a14be97238
rasterizer_cache: Simplify SurfaceBase
...
* The casts are bit ugly but will be refactored soon
2023-02-13 22:47:07 +02:00
e4502a1a6c
video_core: Manage samplers in the rasterizer cache
2023-02-13 22:21:48 +02:00
c57a912e30
rasterizer_cache: Remove BlitSurfaces
...
* Choose copy or blit based on the caller instead
2023-02-13 21:57:29 +02:00
5615c7be60
rasterizer_cache: Commonize texture acceleration functions
...
* They don't contain any backend specific code so don't duplicate them
2023-02-13 21:50:47 +02:00
8afe3bc2b6
rasterizer_cache: Move microprofile to the top
2023-02-13 21:42:56 +02:00
b2bc71ccf4
rasterizer_cache: Remove Invalid match flags
...
* It was specified in every FindMatch. Only copy did not specify it, but copy surfaces ignore the flag regardless making it superflous
2023-02-13 21:38:54 +02:00
6e90a9812f
rasterizer_cache: Switch to page table
...
* Should be more efficient for surface storage than the interval map
2023-02-13 21:33:45 +02:00
bc77e16653
rasterizer_cache: Check levels when finding exact match
...
* Fixes validation errors in multiple games
2023-02-11 17:54:42 +02:00
6ba83db6dd
externals: Switch back to upstream dynarmic
...
* Thanks mary for the quickfix
2023-02-11 17:29:55 +02:00
96effa46e4
vk_pipeline_cache: Reduce flickering on android
2023-02-11 13:17:32 +02:00
e7a1318773
externals: Switch to older dynarmic
...
* Upstream has lag issues
2023-02-11 13:17:12 +02:00
ffc9e34281
vk_rasterizer: Fix broken software shaders
2023-02-11 00:29:04 +02:00
20fc09df13
externals: Update dynarmic
2023-02-11 00:15:24 +02:00
6c78abb015
android: Perform AGP upgrades
2023-02-10 22:13:34 +02:00
0d3434734a
vk_rasterizer: Skip draw if no attachments
2023-02-10 21:58:06 +02:00
42a6f7a42e
vk_renderpass_cache: Flush on qcom as well
2023-02-10 21:53:13 +02:00
95e6428d33
config: Remove async recording option
...
* There's no reason to turn this off aside from debugging. So use renderer_debug to to deduce whether to use a worker thread or not
2023-02-10 16:35:23 +02:00
d9ed4600ca
video_core: Fix some struct formatting
2023-02-10 16:14:18 +02:00
612647f94f
video_core: Only allocate needed levels
...
* Especially with high res scaling allocating so many levels increases memory usage. Also clamp level size to 8x8, since on tiled textures it doesn't make sense to have any smaller than that. Fixes portal3DS and log spam on ZLBW
2023-02-10 16:07:55 +02:00
6a16a8f60d
android: Enable async shaders by default
2023-02-09 17:50:49 +02:00
1ffd9f08af
surface_params: Cleanup
2023-02-09 17:11:28 +02:00
c855d84492
texture_codec: Use namespace Color
...
* Makes the code somewhat cleaner
2023-02-09 17:04:22 +02:00
d461778296
vk_rasterizer: Small cleanup
2023-02-09 16:08:40 +02:00
3fe0130fdb
vk_instance: Enable image view format reinterpretation
2023-02-09 14:41:42 +02:00
b0880f0ef8
video_core: Move rasterizer cache template definitions to separate file
...
* Helps with build times
2023-02-06 22:52:18 +02:00
0bb2e8c618
renderer_vulkan: More strict barriers
2023-02-06 22:30:34 +02:00
84ccb45c5c
vk_rasterizer: Move vertex array setup to AccelerateDrawBatch
...
* Avoids state invalidating due to scheduler flushes
2023-02-06 21:34:24 +02:00
f8b853d001
video_core: Limit g_state usage in rasterizers
...
* Makes the code cleaner and should help in future refactoring endeavors
2023-02-06 20:46:43 +02:00
61e0725d9d
renderer_vulkan: Barrier frame attachment
2023-02-06 18:24:40 +02:00
2b9ab33af3
Merge branch 'master' of https://github.com/GPUCode/citra into vulkan-2
2023-02-05 21:57:29 +02:00
09350f71e8
renderer_vulkan: Fix present mailbox shutdown sequence
2023-02-05 21:56:12 +02:00
582c438441
vk_rasterizer: Properly set fixed attrib offset
...
* There was a small chance the main attrib exactly fit the buffer which caused the fixed offset to be 0x8000000 and crash
2023-02-05 21:09:54 +02:00
bc10681156
renderer_vulkan: Cleanup renderpass code
2023-02-05 18:42:29 +02:00
faefc5cfe1
renderer_vulkan: Use separate present thread
2023-02-05 18:29:49 +02:00
f66d03dd48
citra_qt: Improvements to hotkeys and ui state management ( #6224 )
2023-02-04 19:06:20 +01:00
fd09f1471e
common: Make equality operators explicit for Rectangle
2023-02-04 20:01:19 +02:00
c1c68a3487
renderer_vulkan: Move microprofile defines to top of file
2023-02-04 20:01:19 +02:00
5849d29fc1
video_core: Move RendererBase to VideoCore
2023-02-04 20:01:19 +02:00
b31b6e35a2
renderer_opengl: Rewrite stream buffer
...
* New implementation is based on Dolphin's MapAndSync and BufferStorage buffers.
Replacing orphaning with syncrhonization which should make it much faster than before.
* Texture downloads don't use PBO anymore since it didn't offer any speed benefits. Finally
a bug was fixed that only affected the glBufferData fallback path and should fix android/gles
2023-02-04 20:01:16 +02:00
79a53c8003
video_core: Remove Init method
...
* The constructor can do the same
2023-02-04 13:08:42 +02:00
fd9525acc2
video_core: Use interval map for cached_pages
...
* Also eliminate g_memory in hardware renderers
2023-02-04 12:57:57 +02:00
9b49d94644
Lower log level of some sdmc logs ( #6266 )
2023-02-03 23:41:06 +01:00
78cb48b23c
common: Make TrimSourcePath constexpr ( #6279 )
2023-02-03 19:01:10 +01:00
3a6a17c708
externals: Bundle cryptopp as submodule. ( #6272 )
...
fix https://github.com/citra-emu/citra/issues/6271
2023-02-02 16:26:21 +01:00
938ec204f5
qt: Fix paintEvent not being called until window resize on macOS. ( #25 )
...
* qt: Remove need for AppleSurfaceHelper.
* qt: Fix paintEvent not being called until window resize on macOS.
2023-02-02 15:41:41 +02:00