aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
AgeCommit message (Collapse)Author
2021-07-13DMAEngine: Accelerate BufferClearFernando Sahmkow
2021-07-12accelerateDMA: Fixes and feedback.Fernando Sahmkow
2021-07-11accelerateDMA: Accelerate Buffer Copies.Fernando Sahmkow
2021-07-09Fence Manager: remove reference fencing.Fernando Sahmkow
2021-07-09Fence Manager: Force ordering on WFI.Fernando Sahmkow
2021-07-09Fence Manager: Add fences on Reference Count.Fernando Sahmkow
2021-07-08Merge pull request #6539 from lat9nq/default-settingAmeer J
general: Move most settings' defaults and labels into their definition
2021-07-04Texture Cache: Initial Implementation of Sparse Textures.Fernando Sahmkow
2021-06-28yuzu qt: Make most UISettings a BasicSettinglat9nq
For simple primitive settings, moves their defaults and labels to definition time. Also fixes typo and clang-format yuzu qt: config: Fix rng_seed
2021-06-28general: Make most settings a BasicSettinglat9nq
Creates a new BasicSettings class in common/settings, and forces setting a default and label for each setting that uses it in common/settings. Moves defaults and labels from both frontends into common settings. Creates a helper function in each frontend to facillitate reading the settings now with the new default and label properties. Settings::Setting is also now a subclass of Settings::BasicSetting. Also adds documentation for both Setting and BasicSetting.
2021-06-28Merge pull request #6502 from ameerj/vendor-titleMorph
main: Add GPU Vendor name to running title bar
2021-06-26vk_buffer_cache: Silence implicit cast warningsReinUsesLisp
2021-06-24Merge pull request #6496 from ameerj/astc-fixesbunnei
astc: Various robustness enhancements for the gpu decoder
2021-06-24common: Replace common_sizes into user-literalsWunkolo
Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc user-literals within literals.h. To keep the global namespace clean, users will have to use: ``` using namespace Common::Literals; ``` to access these literals.
2021-06-23Merge pull request #6465 from FernandoS27/sex-on-the-beachMai M
GPU: Implement a garbage collector for GPU Caches (project Reaper+)
2021-06-21vk_master_semaphore: Use jthread for debug threadReinUsesLisp
2021-06-20video_core: Add GPU vendor name to window title barameerj
2021-06-20Reaper: Guarantee correct deletion.Fernando Sahmkow
2021-06-19astc_decoder.comp: Remove unnecessary LUT SSBOsameerj
We can move them to instead be compile time constants within the shader.
2021-06-19astc: Various robustness enhancements for the gpu decoderameerj
These changes should help in reducing crashes/drivers panics that may occur due to synchronization issues between the shader completion and later access of the decoded texture.
2021-06-17Reaper: Change memory restrictions on TC depending on host memory on VK.Fernando Sahmkow
2021-06-15configure_graphics: Add Accelerate ASTC decoding settingameerj
2021-06-01buffer_cache: Simplify uniform disabling logicameerj
2021-05-18Merge pull request #6317 from ameerj/fps-fixbunnei
perf_stats: Rework FPS counter to be more accurate
2021-05-15perf_stats: Rework FPS counter to be more accurateameerj
The FPS counter was based on metrics in the nvdisp swapbuffers call. This metric would be accurate if the gpu thread/renderer were synchronous with the nvdisp service, but that's no longer the case. This commit moves the frame counting responsibility onto the concrete renderers after their frame draw calls. Resulting in more meaningful metrics. The displayed FPS is now made up of the average framerate between the previous and most recent update, in order to avoid distracting FPS counter updates when framerate is oscillating between close values. The status bar update frequency was also changed from 2 seconds to 500ms.
2021-05-07texture_cache: Handle out of bound texture blitsameerj
Some games interleave a texture blit using regions which are out-of-bounds. This addresses the interleaving to avoid oob reads from the src texture.
2021-04-24vk_texture_cache: Swap R and B channels of color flipped formatameerj
Swaps the Red and Blue channels of the A1B5G5R5_UNORM texture format, which was being incorrectly rendered.
2021-04-14common: Move settings to common from core.bunnei
- Removes a dependency on core and input_common from common.
2021-04-13Merge pull request #6190 from lioncash/constfn2bunnei
vk_master_semaphore: Add missing const qualifier for IsFree()
2021-04-12vk_master_semaphore: Deduplicate atomic access within IsFree()Lioncash
We can just reuse the already existing KnownGpuTick() to deduplicate the access.
2021-04-12vk_master_semaphore: Add missing const qualifier for IsFree()Lioncash
This member function doesn't modify class state.
2021-04-12vk_texture_cache: Make use of Common::BitCast where applicableLioncash
Also clarify the TODO comment a little more on the lacking implementations for std::bit_cast.
2021-04-11vk_buffer_cache: Fix offset for NULL vertex buffersJoshua Ashton
The Vulkan spec states: If an element of pBuffers is VK_NULL_HANDLE, then the corresponding element of pOffsets must be zero. https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdBindVertexBuffers2EXT.html#VUID-vkCmdBindVertexBuffers2EXT-pBuffers-04112
2021-04-11renderer_vulkan: Check return value of AcquireNextImageJoshua Ashton
We can get into a really bad state by ignoring this leading to device loss and using incorrect resources.
2021-03-25astc_decoder: Refactor for style and more efficient memory useameerj
2021-03-13astc_decoder: Reimplement LayersRodrigo Locatti
Reimplements the approach to decoding layers in the compute shader. Fixes multilayer astc decoding when using Vulkan.
2021-03-13renderer_vulkan: Accelerate ASTC decodingameerj
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
2021-03-09Merge pull request #5891 from ameerj/bgra-oglRodrigo Locatti
renderer_opengl: Use compute shaders to swizzle BGR textures on copy
2021-03-04texture_cache: Blacklist BGRA8 copies and views on OpenGLameerj
In order to force the BGRA8 conversion on Nvidia using OpenGL, we need to forbid texture copies and views with other formats. This commit also adds a boolean relating to this, as this needs to be done only for the OpenGL api, Vulkan must remain unchanged.
2021-02-23vk_command_pool: Reduce the command pool size from 4096 to 4ReinUsesLisp
This allows drivers to reuse memory more easily and preallocate less. The optimal number has been measured booting Pokémon Sword.
2021-02-21Merge pull request #5936 from Kelebek1/Offsetsbunnei
Offsets for TexelFetch and TextureGather in Vulkan
2021-02-19Merge pull request #5924 from ReinUsesLisp/inline-bindingsbunnei
vk_update_descriptor: Inline and improve code for binding buffers
2021-02-15vk_rasterizer: Fix loading shader addresses twiceReinUsesLisp
This was recently introduced on a wrongly rebased commit.
2021-02-15Merge pull request #5923 from ReinUsesLisp/vk-dirty-pipelinebunnei
fixed_pipeline_cache: Use dirty flags to lazily update key
2021-02-15Review 1Kelebek1
2021-02-15Implement texture offset support for TexelFetch and TextureGather and add ↵Kelebek1
offsets for Tlds Formatting
2021-02-13vk_resource_pool: Load GPU tick once and compare with itReinUsesLisp
Other minor style improvements. Rename free_iterator to hint_iterator, to describe better what it does.
2021-02-13vk_update_descriptor: Inline and improve code for binding buffersReinUsesLisp
Allow compilers with our settings inline hot code.
2021-02-13fixed_pipeline_cache: Use dirty flags to lazily update keyReinUsesLisp
Use dirty flags to avoid building pipeline key from scratch on each draw call. This saves a bit of unnecesary work on each draw call.
2021-02-13vk_master_semaphore: Mark gpu_tick atomic operations with relaxed orderReinUsesLisp