Fernando S
9a26d96c98
vk_buffer_cache: Fix quad index array with 0 vertices ( #6627 )
5 years ago
yzct12345
03a7131563
Update src/video_core/renderer_vulkan/vk_texture_cache.cpp
Co-authored-by: Vitor K <vitor-kiguchi@hotmail.com>
5 years ago
yzct12345
b727b6784f
Update src/video_core/renderer_vulkan/vk_texture_cache.cpp
Co-authored-by: Vitor K <vitor-kiguchi@hotmail.com>
5 years ago
yzct12345
9e7f41cec6
Ignore wrong blit format
5 years ago
ReinUsesLisp
29c39838fe
vk_texture_cache: Finalize renderpass when downloading images
5 years ago
ReinUsesLisp
7850dd0a76
vk_compute_pass: Fix pipeline barriers on non-initialized ASTC images
5 years ago
ReinUsesLisp
a3ce26ae01
vk_compute_pass: Fix ASTC buffer setup synchronization
5 years ago
ameerj
e0978931e8
vk_rasterizer: Only clear valid color attachments
5 years ago
Fernando Sahmkow
b780d5b5c5
DMAEngine: Accelerate BufferClear
5 years ago
Fernando Sahmkow
bc19d28963
accelerateDMA: Fixes and feedback.
5 years ago
Fernando Sahmkow
be1a3f7a0f
accelerateDMA: Accelerate Buffer Copies.
5 years ago
Fernando Sahmkow
4a09517336
Fence Manager: remove reference fencing.
5 years ago
Fernando Sahmkow
cf38faee9b
Fence Manager: Force ordering on WFI.
5 years ago
Fernando Sahmkow
63915bf2de
Fence Manager: Add fences on Reference Count.
5 years ago
ReinUsesLisp
5a45d295da
vk_buffer_cache: Use emulated null buffers for transform feedback
Vulkan does not support null buffers on transform feedback bindings.
Emulate these using the same null buffer we were using for index
buffers.
5 years ago
ameerj
8284658bac
configure_graphics: Use u8 for bg_color values
5 years ago
Fernando Sahmkow
38165fb7e3
Texture Cache: Initial Implementation of Sparse Textures.
5 years ago
lat9nq
7a8de138df
yuzu qt: Make most UISettings a BasicSetting
For simple primitive settings, moves their defaults and labels to
definition time.
Also fixes typo and clang-format
yuzu qt: config: Fix rng_seed
5 years ago
lat9nq
b91b76df4f
general: Make most settings a BasicSetting
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.
5 years ago
ReinUsesLisp
3ab5bf6454
vk_buffer_cache: Silence implicit cast warnings
5 years ago
Wunkolo
4569f39c7c
common: Replace common_sizes into user-literals
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.
5 years ago
ReinUsesLisp
cf116a28a6
vk_master_semaphore: Use jthread for debug thread
5 years ago
ameerj
fb16cbb17e
video_core: Add GPU vendor name to window title bar
5 years ago
Fernando Sahmkow
569a1962c0
Reaper: Guarantee correct deletion.
5 years ago
ameerj
ace20ba4a4
astc_decoder.comp: Remove unnecessary LUT SSBOs
We can move them to instead be compile time constants within the shader.
5 years ago
ameerj
31b125ef57
astc: Various robustness enhancements for the gpu decoder
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.
5 years ago
Fernando Sahmkow
ca6f47c686
Reaper: Change memory restrictions on TC depending on host memory on VK.
5 years ago
ameerj
b2955479e5
configure_graphics: Add Accelerate ASTC decoding setting
5 years ago
ameerj
859ba21f6d
buffer_cache: Simplify uniform disabling logic
5 years ago
ameerj
5bef54618a
perf_stats: Rework FPS counter to be more accurate
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.
5 years ago
ameerj
3671fd0a97
texture_cache: Handle out of bound texture blits
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.
5 years ago
ameerj
ae758a236f
vk_texture_cache: Swap R and B channels of color flipped format
Swaps the Red and Blue channels of the A1B5G5R5_UNORM texture format, which was being incorrectly rendered.
5 years ago
bunnei
a4c6712a4b
common: Move settings to common from core.
- Removes a dependency on core and input_common from common.
5 years ago
Lioncash
9b331a5fb5
vk_master_semaphore: Deduplicate atomic access within IsFree()
We can just reuse the already existing KnownGpuTick() to deduplicate the
access.
5 years ago
Lioncash
c5f5d6e7f6
vk_master_semaphore: Add missing const qualifier for IsFree()
This member function doesn't modify class state.
5 years ago
Lioncash
4198c92ed0
vk_texture_cache: Make use of Common::BitCast where applicable
Also clarify the TODO comment a little more on the lacking
implementations for std::bit_cast.
5 years ago
Joshua Ashton
0ec6cb942d
vk_buffer_cache: Fix offset for NULL vertex buffers
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
5 years ago
Joshua Ashton
bcf58c8210
renderer_vulkan: Check return value of AcquireNextImage
We can get into a really bad state by ignoring this
leading to device loss and using incorrect resources.
5 years ago
ameerj
2f83d9a61b
astc_decoder: Refactor for style and more efficient memory use
5 years ago
Rodrigo Locatti
2f30c10584
astc_decoder: Reimplement Layers
Reimplements the approach to decoding layers in the compute shader. Fixes multilayer astc decoding when using Vulkan.
6 years ago
ameerj
20eb368e14
renderer_vulkan: Accelerate ASTC decoding
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
6 years ago
ameerj
5213f70230
texture_cache: Blacklist BGRA8 copies and views on OpenGL
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.
5 years ago
ReinUsesLisp
aae399c1a8
vk_command_pool: Reduce the command pool size from 4096 to 4
This allows drivers to reuse memory more easily and preallocate less.
The optimal number has been measured booting Pokémon Sword.
5 years ago
ReinUsesLisp
24d0cc3ab8
vk_rasterizer: Fix loading shader addresses twice
This was recently introduced on a wrongly rebased commit.
5 years ago
Kelebek1
9d8f793969
Review 1
5 years ago
Kelebek1
fb54c38631
Implement texture offset support for TexelFetch and TextureGather and add offsets for Tlds
Formatting
5 years ago
ReinUsesLisp
b8ffdbb167
vk_resource_pool: Load GPU tick once and compare with it
Other minor style improvements. Rename free_iterator to hint_iterator,
to describe better what it does.
6 years ago
ReinUsesLisp
21b40de318
vk_update_descriptor: Inline and improve code for binding buffers
Allow compilers with our settings inline hot code.
6 years ago
ReinUsesLisp
70353649d7
fixed_pipeline_cache: Use dirty flags to lazily update key
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.
6 years ago
ReinUsesLisp
dd9caf9aa0
vk_master_semaphore: Mark gpu_tick atomic operations with relaxed order
6 years ago