GPUCode
e67a4a739a
video_core: Cleanup surface interface
...
* Remove unused FramebufferView and make the opengl handles private
2023-02-15 20:55:21 +02:00
GPUCode
c7d315058e
video_core: Cleanup microprofiles
...
* Remove upload/download targets these are covered by the rasterizer cache
2023-02-15 00:27:37 +02:00
GPUCode
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
GPUCode
087bcd8f97
rasterizer_cache: Cleanup texture clears
2023-02-14 22:35:30 +02:00
GPUCode
44c187d705
rasterizer_cache: Wrap common draw operation in FramebufferBase
...
* Makes the rasterizer draw method much cleaner
2023-02-14 22:35:25 +02:00
GPUCode
a14be97238
rasterizer_cache: Simplify SurfaceBase
...
* The casts are bit ugly but will be refactored soon
2023-02-13 22:47:07 +02:00
GPUCode
e4502a1a6c
video_core: Manage samplers in the rasterizer cache
2023-02-13 22:21:48 +02:00
GPUCode
c57a912e30
rasterizer_cache: Remove BlitSurfaces
...
* Choose copy or blit based on the caller instead
2023-02-13 21:57:29 +02:00
GPUCode
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
GPUCode
8afe3bc2b6
rasterizer_cache: Move microprofile to the top
2023-02-13 21:42:56 +02:00
GPUCode
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
GPUCode
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
GPUCode
bc77e16653
rasterizer_cache: Check levels when finding exact match
...
* Fixes validation errors in multiple games
2023-02-11 17:54:42 +02:00
GPUCode
6ba83db6dd
externals: Switch back to upstream dynarmic
...
* Thanks mary for the quickfix
2023-02-11 17:29:55 +02:00
GPUCode
96effa46e4
vk_pipeline_cache: Reduce flickering on android
2023-02-11 13:17:32 +02:00
GPUCode
e7a1318773
externals: Switch to older dynarmic
...
* Upstream has lag issues
2023-02-11 13:17:12 +02:00
GPUCode
ffc9e34281
vk_rasterizer: Fix broken software shaders
2023-02-11 00:29:04 +02:00
GPUCode
20fc09df13
externals: Update dynarmic
2023-02-11 00:15:24 +02:00
GPUCode
6c78abb015
android: Perform AGP upgrades
2023-02-10 22:13:34 +02:00
GPUCode
0d3434734a
vk_rasterizer: Skip draw if no attachments
2023-02-10 21:58:06 +02:00
GPUCode
42a6f7a42e
vk_renderpass_cache: Flush on qcom as well
2023-02-10 21:53:13 +02:00
GPUCode
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
GPUCode
d9ed4600ca
video_core: Fix some struct formatting
2023-02-10 16:14:18 +02:00
GPUCode
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
GPUCode
6a16a8f60d
android: Enable async shaders by default
2023-02-09 17:50:49 +02:00
GPUCode
1ffd9f08af
surface_params: Cleanup
2023-02-09 17:11:28 +02:00
GPUCode
c855d84492
texture_codec: Use namespace Color
...
* Makes the code somewhat cleaner
2023-02-09 17:04:22 +02:00
GPUCode
d461778296
vk_rasterizer: Small cleanup
2023-02-09 16:08:40 +02:00
GPUCode
3fe0130fdb
vk_instance: Enable image view format reinterpretation
2023-02-09 14:41:42 +02:00
GPUCode
b0880f0ef8
video_core: Move rasterizer cache template definitions to separate file
...
* Helps with build times
2023-02-06 22:52:18 +02:00
GPUCode
0bb2e8c618
renderer_vulkan: More strict barriers
2023-02-06 22:30:34 +02:00
GPUCode
84ccb45c5c
vk_rasterizer: Move vertex array setup to AccelerateDrawBatch
...
* Avoids state invalidating due to scheduler flushes
2023-02-06 21:34:24 +02:00
GPUCode
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
GPUCode
61e0725d9d
renderer_vulkan: Barrier frame attachment
2023-02-06 18:24:40 +02:00
GPUCode
2b9ab33af3
Merge branch 'master' of https://github.com/GPUCode/citra into vulkan-2
2023-02-05 21:57:29 +02:00
GPUCode
09350f71e8
renderer_vulkan: Fix present mailbox shutdown sequence
2023-02-05 21:56:12 +02:00
GPUCode
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
GPUCode
bc10681156
renderer_vulkan: Cleanup renderpass code
2023-02-05 18:42:29 +02:00
GPUCode
faefc5cfe1
renderer_vulkan: Use separate present thread
2023-02-05 18:29:49 +02:00
Tobias
f66d03dd48
citra_qt: Improvements to hotkeys and ui state management ( #6224 )
2023-02-04 19:06:20 +01:00
GPUCode
fd09f1471e
common: Make equality operators explicit for Rectangle
2023-02-04 20:01:19 +02:00
GPUCode
c1c68a3487
renderer_vulkan: Move microprofile defines to top of file
2023-02-04 20:01:19 +02:00
GPUCode
5849d29fc1
video_core: Move RendererBase to VideoCore
2023-02-04 20:01:19 +02:00
GPUCode
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
GPUCode
79a53c8003
video_core: Remove Init method
...
* The constructor can do the same
2023-02-04 13:08:42 +02:00
GPUCode
fd9525acc2
video_core: Use interval map for cached_pages
...
* Also eliminate g_memory in hardware renderers
2023-02-04 12:57:57 +02:00
Colin E
9b49d94644
Lower log level of some sdmc logs ( #6266 )
2023-02-03 23:41:06 +01:00
Steveice10
78cb48b23c
common: Make TrimSourcePath constexpr ( #6279 )
2023-02-03 19:01:10 +01:00
Steveice10
3a6a17c708
externals: Bundle cryptopp as submodule. ( #6272 )
...
fix https://github.com/citra-emu/citra/issues/6271
2023-02-02 16:26:21 +01:00
Steveice10
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