Commit Graph

9645 Commits

Author SHA1 Message Date
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
Pengfei Zhu
3d3dd2d162 Merge pull request #6275 from zhaowenlan1779/tx-migrate
dist/languages: Migrate to new tx client
2023-02-02 16:51:13 +08:00
GPUCode
7c8bfbb078 Merge branch 'master' of https://github.com/GPUCode/citra into vulkan-2 2023-02-01 23:27:12 +02:00
GPUCode
d7bf139e85 renderer_vulkan: Add pipeline barriers for attachments 2023-02-01 23:26:44 +02:00
Liam
df7f1b13cb polyfill_thread: satisfy execution ordering requirements of stop_callback 2023-02-01 23:26:44 +02:00
GPUCode
e08e644e73 video_core: Move present globals to RendererSettings 2023-02-01 23:26:44 +02:00
GPUCode
ccf36b5e25 video_core: Remove global screenshot state 2023-02-01 23:26:44 +02:00
GPUCode
b6427d0ee0 renderer_vulkan: Cleanup code 2023-02-01 23:26:44 +02:00
GPUCode
5c401b8ea0 renderer_vulkan: Async presentation
* This rewrites a large portion of the presentation engine to be more thread safe
  and moves all swapchain usage to the presentation thread. Previously acquires were
  done on the main thread which required the next frame to wait for the previous one
  to finish presenting
* The new implementation is based on the OpenGL mailbox system, simplified. The screens
  are drawn on separate render frames that get sent to the presentation thread to be
  presented. Queue access is now thread safe as well.
2023-02-01 23:26:44 +02:00
GPUCode
bd3571db5a vk_blit_helper: Fix android crashes 2023-02-01 23:26:44 +02:00
GPUCode
b18710e4df renderer_vulkan: Emulate depth-stencil blits with VK_EXT_shader_stencil_export
* Should fix depth blits on AMD
2023-02-01 23:26:44 +02:00
Pengfei Zhu
99c3eb21b0 dist/languages: Migrate to new tx client 2023-02-01 14:57:12 +08:00
Morph
bb8cb3ff82 main: Globally disable the "?" button on dialogs (#6263)
Sets the AA_DisableWindowContextHelpButton attribute to disable this useless button globally. This is disabled by default on Qt6.
2023-01-28 21:38:15 +05:30
GPUCode
69b66cb41d renderer_vulkan: Implement VK_KHR_dynamic_rendering
* Removes the need for framebuffers/renderpass on desktop
2023-01-27 16:35:58 +02:00
PabloMK7
0f6478a928 Fix crash when plugin has missing text section (#6264) 2023-01-27 15:06:35 +02:00
GPUCode
a5f86e9813 renderer_vulkan: Move framebuffer handling to the renderpass cache 2023-01-27 00:27:26 +02:00
GPUCode
920492925c vk_shader_gen: Disable clip plane 1 when unused
* Fixes Star Fox 3D missing half the screen
2023-01-26 22:30:27 +02:00
GPUCode
0381081c5d Revert "vk_scheduler: wait for command processing to complete"
* This causes DispatchWork to stall and everything that calls it resulting in noticeable slowdown
2023-01-26 22:05:38 +02:00
GPUCode
382b64d3c0 surface_base: Fix issue with GetCopyableInterval 2023-01-26 15:04:15 +02:00
GPUCode
a629aa0dde renderer_vulkan: Check for VK_EXT_pipeline_creation_feedback
* Unused at the moment but will be useful later
2023-01-26 14:32:58 +02:00
GPUCode
b29f263e1b renderer_vulkan: Support additional dynamic states 2023-01-25 22:46:35 +02:00
GPUCode
48d3093fc8 vk_instance: Rework feature management
* Use a helper macro to always check for features. Previously it was assumed extension availability was also feature availability but this isn't the case. This is inspired by skyline's trait_manager
2023-01-25 22:46:10 +02:00
GPUCode
f77491196c vk_renderpass_cache: Create renderpasses on demand 2023-01-25 22:41:50 +02:00
GPUCode
0fce3e556f externals: Update vulkan-headers 2023-01-25 00:29:47 +02:00
GPUCode
12e69913c2 renderer_vulkan: Rework attribute format handling
* Centralize format support query to the instance similar to pixel formats
  In addition drop the component splitting. Favour scaled formats which don't require
  any shader casting to work and fallback to uint if necessary. Using scaled formats
  also has the benefit of reducing vertex shader permutations.
2023-01-25 00:25:08 +02:00
GPUCode
89217f8c4b vk_shader_gen_spv: Fix scissor test 2023-01-24 22:17:05 +02:00
GPUCode
247b6900c7 vk_swapchain: Fix incorrect image_count
* Sometimes the swapchain won't create as many images as requested. Adjust image_count for fix that
2023-01-23 23:30:06 +02:00
Steveice10
84e54a52a6 core: Detect and return error if GBA virtual console is loaded. (#6257) 2023-01-23 15:21:57 +05:30
Steveice10
d704c6a3ac common: Support macOS application data path conventions. (#6258) 2023-01-23 15:20:50 +05:30
GPUCode
1e42a40640 vk_shader_gen: Remove defines
* Causes shader compiler errors
2023-01-22 23:29:54 +02:00
GPUCode
7eab7b4151 android: Expose async shaders in the GUI 2023-01-22 10:33:19 +02:00
GPUCode
e9ccd51286 renderer_vulkan: Trim down used features 2023-01-22 10:33:19 +02:00