Commit Graph

6988 Commits (6ed0a587695440dc33782470002f57e3a5093cce)

Author SHA1 Message Date
Kelebek1 98cac9410c Get out of render pass before query barriers, fix image names with samples > 1, remove image alias bit 2 years ago
liamwhite 84b0e29b56
Merge pull request #11734 from Kelebek1/device_local_buffer_alloc
Do not allocate DeviceLocal buffers as mapped
2 years ago
liamwhite 5f4857691e
Merge pull request #11683 from Kelebek1/do_not_sync_on_written_buffer
Do not double sync written buffers, move mark written to binding
2 years ago
Fernando S b6d19329ac
Merge pull request #11743 from Squall-Leonhart/IFREMOVED
Fix mistaken usage of info.block instead of level_info.block
2 years ago
Kelebek1 8c769b71a1 Do not set rescaled flag when rescaling is disabled 2 years ago
Squall-Leonhart 9512992fe2 Fix mistaken usage of info.block instead of level_info.block
Fixed an error on my part, in the last change I had mistakenly passed unadjusted block info into FullUploadSwizzles and UnswizzleImage

Revert (my mistaken changing of) the construction of SwizzleParameters in UnswizzleImage and FullUploadSwizzles to use level_info.block instead of info.block. This ensures that the block information used in the swizzling process is correctly adjusted for each mip level.
2 years ago
liamwhite 36ea7565fa
Merge pull request #11534 from Squall-Leonhart/IFREMOVED
Partial revert of #10433 (Texture Cache Util: Fix block depth adjustment on slices)
2 years ago
Kelebek1 ed58445111 Not not allocate DeviceLocal buffers as mapped 2 years ago
Squall Leonhart 54fa1115a6
add Z32, FLOAT, UINT, UINT, UINT, LINEAR to format lookup table
Should fix and close #11711
2 years ago
liamwhite bd42bba71c
Merge pull request #11656 from liamwhite/recreate-surface-automatically
vk_present_manager: recreate surface on any surface loss
2 years ago
liamwhite a27f94830a
Merge pull request #11677 from Squall-Leonhart/D32FTOABGR8
Implements D32_Float to A8B8G8R8_UNORM format copy
2 years ago
liamwhite bd6f9f1d91
Merge pull request #11630 from Kelebek1/clear_stencil_requires_depth_test
Enable depth test on depthstencil clear path
2 years ago
liamwhite 15a5bdd979
Merge pull request #11544 from Kelebek1/reduce_stream_buffer_renderdoc
Allow GPUs without rebar to open multiple RenderDoc captures
2 years ago
liamwhite ff3859d482
Merge pull request #11688 from Kelebek1/x8d42
Implement X8_D24 pixel format
2 years ago
liamwhite 10de8f2c60
Merge pull request #11684 from Kelebek1/disable_push_descriptor_maxwell
Disable push descriptor for Pascal and older nVidia architectures
2 years ago
Squall Leonhart 51b89fddd0
update shader to confirmed format copy 2 years ago
Kelebek1 f585dec48d Allow GPUs without rebar to open multiple RenderDoc captures 2 years ago
Kelebek1 ad1a9f3d3a Implement X8_D24 format 2 years ago
Kelebek1 71044f6def Rework nvidia architecture detection, disable push descriptor for Pascal and older 2 years ago
Kelebek1 a764f49910 Mark a buffer GPU modified after the buffers are confirmed, do not double synch them 2 years ago
Squall-Leonhart a17cde7b2c lets not convert depth to greyscale since this makes the exhaust and tire smoke light gray/white
tiresmoke should be a darker gray.
2 years ago
Squall-Leonhart a84c928827 Fix CI Formatting check 2 years ago
Squall-Leonhart 9568d3bc60 Implements D32_Float to A8B8G8R8_UNORM format copy
Corrects some visual issues in games such as Disney SpeedStorm
2 years ago
Liam b32940d3ea vk_present_manager: recreate surface on any surface loss 2 years ago
Liam 0448eb6f0f ci: fix new codespell errors 2 years ago
Fernando Sahmkow 9007d8c8d4 Query Cache: Fix memory leak. 2 years ago
Fernando S 926e24c642
Merge pull request #11622 from liamwhite/qcr-reg1
renderer_vulkan: fix query cache for homebrew
2 years ago
Kelebek1 1a246bf135 Enable depth test on stencil clear path 2 years ago
liamwhite 7bae22a3ca
Merge pull request #11402 from FernandoS27/depth-bias-control
Vulkan: Implement Depth Bias Control
2 years ago
Liam 7507a7f89f renderer_vulkan: fix query cache for homebrew 2 years ago
GPUCode b60013b277 host_shaders: More proper handling of x2 MSAA copies 2 years ago
GPUCode 5e4938ab1a renderer_vulkan: Implement MSAA copies 2 years ago
liamwhite 854457a392
Merge pull request #11225 from FernandoS27/no-laxatives-in-santas-cookies
Y.F.C: Rework the Query Cache.
2 years ago
liamwhite 93a1cd75fe
Merge pull request #11562 from GPUCode/srgb-madness
vk_texture_cache: Limit srgb block to transcoding only
2 years ago
liamwhite b356909212
Merge pull request #11165 from Morph1984/ds_blit
vulkan_device: Return true if either depth/stencil format supports blit
2 years ago
Fernando Sahmkow 57d8cd6c40 Query Cache: Fix Prefix Sums 2 years ago
Fernando Sahmkow bf0d6b8806 Query Cache: Fix behavior in Normal Accuracy 2 years ago
Fernando Sahmkow a07c88e686 Query Cache: Simplify Prefix Sum compute shader 2 years ago
Fernando Sahmkow c8237d5c31 Query Cache: Implement host side sample counting. 2 years ago
Fernando Sahmkow 2fea1b8407 Query Cache: Fix guest side sample counting 2 years ago
Fernando Sahmkow 282ae8fa51 Query Cache: address issues 2 years ago
Fernando Sahmkow aa6587d854 QueryCache: Implement dependant queries. 2 years ago
Fernando Sahmkow 57401589c2 Macro HLE: Add DrawIndirectByteCount 2 years ago
Fernando Sahmkow f1a2e36711 Query Cachge: Fully rework Vulkan's query cache 2 years ago
Fernando Sahmkow bdc01254a9 Query Cache: Setup Base rework 2 years ago
liamwhite 16f1592e50
Merge pull request #11557 from GPUCode/brr-format
renderer_vulkan: Correct component order for A4B4G4R4_UNORM
2 years ago
Kelebek1 4f69be8169 Fix DMA engine register offsets 2 years ago
GPUCode b6ad7e263b vk_texture_cache: Limit srgb block to transcoding only 2 years ago
GPUCode 4a59dc2947 renderer_vulkan: Correct component order for A4B4G4R4_UNORM 2 years ago
Squall-Leonhart 02b897ce27 Reuse part of my previous idea to to use num_levels to check within AdjustMipBlockSize
The partial revert was not enough for Tsukihime, this might do the trick
2 years ago
liamwhite 974380fe10
Merge pull request #11258 from Squall-Leonhart/Z16_Assert_Fix
Fix a logged assert in the format lookup table for Z16
2 years ago
Squall Leonhart 79f0202045
Partial revert of #10433
The If block in this change was causing some 2D textures to be treated as if their mip 0 was a 3D Slice, this could be ascertained as the same texture viewed from different distances would render fine, but then close up would look like a decoding failure.

It also resulted in some 3D ASTC textures not being scaled appropriate leading to broken graphical effects such as the jagged TOTK recall animation being a circle, as the If block was only accepting the image based on its original info without any adjustments applied.
2 years ago
Charles Lombardo af0c1b0cb7 android: Use 1 worker for shader compilation for all devices 2 years ago
Fernando Sahmkow b99f94a7ff Vulkan: add temporary workaround for AMDVLK 2 years ago
Fernando Sahmkow 6a1ecab2dd Vulkan: Implement Depth Bias Control 2 years ago
Kelebek1 baad1238c3 Look for the most recently modified image for present 2 years ago
liamwhite b011ce023d
Merge pull request #11470 from GPUCode/bundle-vvl
android: Add option to bundle validation layer
2 years ago
GPUCode 24ab10c2f6
vk_buffer_cache: Respect max vertex bindings in BindVertexBuffers (#11471) 2 years ago
GPUCode cad28abe61 renderer_vulkan: Remove debug report
* VVL has implemented the more modern alternative, thus we don't need to support it anymore
2 years ago
Feng Chen e69eebb14a video_core: Fix d24r8/s8d24 convert shader build error in moltenvk 2 years ago
Feng Chen 0145c89879 video_core: Add missing scissor update when viewport scale offset disable 2 years ago
liamwhite 76bddd3673
Merge pull request #11383 from FernandoS27/are-you-a-wabbit
Fix regressions that damaged compute indirect & use reinterpret for copies with different byteblocksizes
2 years ago
liamwhite 84eb1cdb65
Merge pull request #11393 from FernandoS27/bayo-got-busted-up
Maxwell3D: Improve Index buffer size estimation.
2 years ago
Danila Malyutin 164f880f23 Use initial_frame to check interlaced flag
If final frame was transferred from GPU, it won't carry the props.

Fixes #11089
2 years ago
Fernando Sahmkow 52544933d2 Maxwell3D: Improve Index buffer size estimation. 2 years ago
Fernando S ada4697300
Merge pull request #11389 from FernandoS27/discard-fix
Buffer Cache: fix discard writes.
2 years ago
Fernando Sahmkow 115792158d VideoCore: Implement DispatchIndirect 2 years ago
Fernando Sahmkow 710ca3ca49 Shader Recompiler: Auto stub special registers and dump pipelines on exception. 2 years ago
Fernando Sahmkow acc99433c7 Buffer Cache: fix discard writes. 2 years ago
liamwhite c5105b65d5
Merge pull request #11317 from Kelebek1/macro_dumps
Mark decompiled macros on dump, dump shaders after translation
2 years ago
Fernando Sahmkow 8beda6a2bf DMA Pusher: Fix regression caused by guest memory optimizations 2 years ago
Kelebek1 d7a0b8c373 Mark decompiled macros as decompiled on dump, dump shaders after translation 2 years ago
Feng Chen cc4736fa58 video_core: set vertex buffer num to 16, because mvk have when using more than 16 2 years ago
liamwhite bc4ad5e62d
Merge pull request #11302 from vonchenplus/vulkan_macos
Add macos moltenvk bundle, Add copy moltevk dylib script
2 years ago
Feng Chen 87022a4833 Add macos moltenvk bundle, Add copy moltevk dylib script 2 years ago
liamwhite 18c08cee43
Merge pull request #11149 from ameerj/astc-perf-prod
host_shaders: ASTC compute shader optimizations
2 years ago
Kelebek1 f2f99a8c31 Masked depthstencil clears 2 years ago
liamwhite ae1421265a
Merge pull request #11278 from Kelebek1/dma_sync
Mark accelerated DMA destination buffers and images as GPU-modified
2 years ago
Feng Chen 1dcb0c2232 video_core: Fix vulkan assert error 2 years ago
liamwhite 58a4c86797
Merge pull request #11282 from ameerj/glasm-xfb
gl_graphics_pipeline: GLASM: Fix transform feedback with multiple buffers
2 years ago
liamwhite 35a77c3bb2
Merge pull request #11283 from ameerj/glasm-pipeline-detection
gl_graphics_pipeline: Fix GLASM storage buffer detection
2 years ago
liamwhite 5afe1367ba
Merge pull request #11263 from liamwhite/my-feature-branch
vulkan_device: disable features associated with unloaded extensions
2 years ago
Ameer J d1c878fb41 gl_texture_cache: Enable async downloads 2 years ago
Ameer J 9b112107e2 gl_buffer_cache: Enable async downloads 2 years ago
Ameer J 48b87d64de gl_staging_buffer_pool: Refactor allocation variables into a struct 2 years ago
Ameer J f9ef721ca6 gl_graphics_pipeline: Fix GLASM storage buffer detection 2 years ago
Ameer J c34ed4bbd8 gl_graphics_pipeline: GLASM: Fix transform feedback with multiple buffers 2 years ago
Kelebek1 5a37b8f2c1 Mark accelerted DMA destination buffers and images as GPU-modified 2 years ago
Liam 7d8f748696 vulkan_device: disable features associated with unloaded extensions 2 years ago
Squall-Leonhart e3dd78e414 Needed to make this an extra case so it didnt also start asserting in BOTW.
Thanks Liam
2 years ago
Squall Leonhart b9ab44ed0e Fix an assert in the format lookup table fir Z16
Came across this while looking into Asterix and Obelix XXL glitching
2 years ago
Liam 023b9b38cc general: fix apple clang build 2 years ago
Ameer J 5c25712af9 flatten color_values 2 years ago
Ameer J 0f7220c9c8 flatten encoding_values 2 years ago
Ameer J 71857e889e flatten result vector 2 years ago
Ameer J 70f8ffb787 GetUnquantizedWeightVector 2 years ago
liamwhite 85e3575496
Merge pull request #11216 from lat9nq/no-mesa-astc
gl_device: Detect Mesa to disable their ASTC
2 years ago
Ameer J 9058486b9b Revert "HACK: Avoid swizzling and reuploading ASTC image every frame"
This reverts commit b18c1fb1bb.
2 years ago
Ameer J b18c1fb1bb HACK: Avoid swizzling and reuploading ASTC image every frame 2 years ago
Ameer J 913803bf65 Compute Replicate 2 years ago
Ameer J 31a0cff036 minor 2 years ago
Ameer J b36e645fee undo uint 2 years ago
Ameer J 8ce158bce6 Revert "vulkan dims specialization"
This reverts commit e6243058f2269bd79ac8479d58e55feec2611e9d.
2 years ago
ameerj 5a78b35b1a vulkan dims specialization 2 years ago
Ameer J 7a0d7e7668 small_block opt 2 years ago
Ameer J fd2051b401 remove TexelWeightParams 2 years ago
Ameer J 75ac7845ce error/void extent funcs 2 years ago
Ameer J 441b847107 more packing 2 years ago
Ameer J f2cf81e0b6 Revert "uint result index"
This reverts commit 0e978786b5a8e7382005d8b1e16cfa12f3eeb775.
2 years ago
Ameer J f41fb3ec0b Revert "bfe instead of mod"
This reverts commit 86006a3b09e8a8c17d2ade61be76736a79e3f58a.
2 years ago
Ameer J 553dd3e120 Revert "global endpoints"
This reverts commit d8f5bfd1df2b7469ef6abcee182aa110602d1751.
2 years ago
Ameer J c077e467c4 global endpoints 2 years ago
Ameer J 5c16559694 bfe instead of mod 2 years ago
Ameer J 6b0b584eba uint result index 2 years ago
Ameer J 05ee37a1f0 amd opts 2 years ago
Ameer J 3494fce864 gl 2 years ago
Ameer J 5248fa926d const, pack result_vector and replicate tables,
undo amd opts
2 years ago
Ameer J 998246efc2 minor redundancy cleanup 2 years ago
Ameer J d17a51bc59 extractbits robustness 2 years ago
Ameer J 0078e5a338 reuse vectors memory 2 years ago
Ameer J b8ca47e094 EncodingData pack 2 years ago
Ameer J 27c8bb9615 flattening 2 years ago
Ameer J ac09cc3504 weights refactor 2 years ago
Ameer J 6ff65abd62 params.max_weight 2 years ago
Ameer J e0c59c7b0b skip bits 2 years ago
Ameer J 7ef879b296 restrict 2 years ago
lat9nq cb0b8442f0 gl_device: Filter more specifically for slow ASTC
Adds a check to find if the renderer is Intel DG (i.e. DG2).

gl_device: Detect Mesa to disable their ASTC

In our testing, our own ASTC decoder has shown itself to perform faster
than the included one from the driver. Disable theirs when Mesa is
detected.

Mesa detection depends on the vendor string. Some drivers never appear
outside of *nix contexts, so only check those in the *nix context.

gl_device: Internalize Intel DG detection
2 years ago
liamwhite 4533769f7f
Merge pull request #11212 from Kelebek1/shader_stuff
Fix various misc pipeline/shader things
2 years ago
Kelebek1 dfb7fc8293 Fix shader dumps with nvdisasm
skip fragment shaders when rasterizer is disabled
initialize env_ptrs
2 years ago
Ameer J cd80cbc420 vulkan_device: Fix subgroup_size_control detection on Vulkan 1.3 2 years ago
Ameer J c7c44dc238 vulkan_device: Fix VK_EXT_subgroup_size_control detection 2 years ago
liamwhite 096644c01c
Merge pull request #11202 from abouvier/vulkan-config
vulkan: centralize config
2 years ago
liamwhite fca7d975fd
Merge pull request #10839 from lat9nq/pgc-plus
general: Reimplement per-game configurations
2 years ago
Liam d6d43e11a3 vulkan_device: disable EDS3 blending on all AMD drivers 2 years ago
Alexandre Bouvier 9d6f8e88b2 vulkan: centralize config 2 years ago
Morph d31676935e vulkan_device: Test depth stencil blit support by format 2 years ago
liamwhite 2a9eab5e1b
Merge pull request #11188 from abouvier/vma-fix
vma: enable options everywhere
2 years ago
liamwhite 06fa13a014
Merge pull request #11169 from GPUCode/desc-stuff
vk_descriptor_pool: Disallow descriptor set free
2 years ago
Alexandre Bouvier ed3f9bab11 vma: enable options everywhere 2 years ago
Moonlacer deafa92122 Formatting fix 2 years ago
Moonlacer c6458970ad Match log warning 2 years ago
Moonlacer a4a106bb25 Formatting fix 2 years ago
Moonlacer f4e5d07619 Address feedback and change log warning 2 years ago
Moonlacer 36d48cef50
Revert "Revert "Blacklist EDS3 blending from new AMD drivers"" 2 years ago
GPUCode 8c2411da29 vk_descriptor_pool: Disallow descriptor set free 2 years ago
Morph 26658c2e93 vulkan_device: Return true if either depth/stencil format supports blit
On devices that don't support D24S8 but supports D32S8, this should still return true if D32S8 supports src and dst blit
2 years ago
Moonlacer 4007142b91
Revert "Blacklist EDS3 blending from new AMD drivers" 2 years ago
liamwhite d3da1e6517
Merge pull request #10990 from comex/ubsan
Fixes and workarounds to make UBSan happier on macOS
2 years ago
liamwhite 0ea138fb5b
Merge pull request #11098 from GPUCode/texel-buffers
buffer_cache: Increase number of texture buffers
2 years ago
lat9nq 8366736b67 settings,opengl,yuzu-qt: Fix AA, Filter maximums
The new enum macros don't support setting values directly.
For LastAA and LastFilter, this means we need a simpler approach to loop
around the toggle in the frontend...
2 years ago
lat9nq d146dd9d12 settings,general: Rename non-confirming enums 2 years ago
lat9nq a007ac6b9c configure_graphics_advance: Generate UI at runtime
We can iterate through the AdvancedGraphics settings and generate the UI
during runtime. This doesn't help runtime efficiency, but it helps a ton
in reducing the amount of work a developer needs in order to add a new
setting.
2 years ago
lat9nq 5cffa34288 settings,video_core: Consolidate ASTC decoding options
Just puts them all neatly into one place.
2 years ago
lat9nq 4ecedc4991 vk_buffer_cache: Format 2 years ago
lat9nq 71b3b2a2f0 general: Silence -Wshadow{,-uncaptured-local} warnings
These occur in the latest commits in LLVM Clang.
2 years ago
GPUCode 4347dd26c6 buffer_cache: Increase number of texture buffers 2 years ago
comex d7c532d889 Fixes and workarounds to make UBSan happier on macOS
There are still some other issues not addressed here, but it's a start.

Workarounds for false-positive reports:

- `RasterizerAccelerated`: Put a gigantic array behind a `unique_ptr`,
  because UBSan has a [hardcoded limit](https://stackoverflow.com/questions/64531383/c-runtime-error-using-fsanitize-undefined-object-has-a-possibly-invalid-vp)
  of how big it thinks objects can be, specifically when dealing with
  offset-to-top values used with multiple inheritance.  Hopefully this
  doesn't have a performance impact.

- `QueryCacheBase::QueryCacheBase`: Avoid an operation that UBSan thinks
  is UB even though it at least arguably isn't.  See the link in the
  comment for more information.

Fixes for correct reports:

- `PageTable`, `Memory`: Use `uintptr_t` values instead of pointers to
  avoid UB from pointer overflow (when pointer arithmetic wraps around
  the address space).

- `KScheduler::Reload`: `thread->GetOwnerProcess()` can be `nullptr`;
  avoid calling methods on it in this case.  (The existing code returns
  a garbage reference to a field, which is then passed into
  `LoadWatchpointArray`, and apparently it's never used, so it's
  harmless in practice but still triggers UBSan.)

- `KAutoObject::Close`: This function calls `this->Destroy()`, which
  overwrites the beginning of the object with junk (specifically a free
  list pointer).  Then it calls `this->UnregisterWithKernel()`.  UBSan
  complains about a type mismatch because the vtable has been
  overwritten, and I believe this is indeed UB.  `UnregisterWithKernel`
  also loads `m_kernel` from the 'freed' object, which seems to be
  technically safe (the overwriting doesn't extend as far as that
  field), but seems dubious.  Switch to a `static` method and load
  `m_kernel` in advance.
2 years ago
Alexandre Bouvier c3050c1b48 cmake: allow using system VMA library 2 years ago
bunnei ce7c418e0c
Merge pull request #10996 from Kelebek1/readblock_optimisation
Use spans over guest memory where possible instead of copying data
2 years ago
liamwhite d8eb37fbec
Merge pull request #10994 from liamwhite/ue4-preferred
vulkan_common: use device local preferred for image memory
2 years ago
liamwhite f71140fbd9
Merge pull request #11012 from gidoly/metroid-fix
Fix regression by unreal engine fix pr #11009
2 years ago
bunnei 1462db4694 video_core: vulkan_device: Disable timeline semaphore on Turnip, fix qcom version check. 2 years ago
bunnei 44af2e32a4
Merge pull request #10964 from bunnei/gpu-remove-qcom-check
video_core: vulkan_device: Fix S8Gen2 dynamic state checks.
2 years ago
bunnei cef7aaa8ec video_core: vulkan_device: Change to driver version check. 2 years ago
gidoly 408a9cd50d
oops re open 2 years ago
Kelebek1 6f7cb69c94 Use spans over guest memory where possible instead of copying data. 2 years ago
liamwhite 5e3695ecaa
Merge pull request #10479 from GPUCode/format-list
Add support for VK_KHR_image_format_list
2 years ago
liamwhite eaa62aee98
Merge pull request #10942 from FernandoS27/android-is-a-pain-in-the-a--
Memory Tracking: Add mechanism to register small writes when gpu page is contested by GPU
2 years ago
Liam ad1946b893 vulkan_common: use device local preferred for image memory 2 years ago
Liam 34c448bad4 Revert "texture_cache: Fix incorrect logic for AccelerateDMA"
This reverts commit 1fc47361a1.
2 years ago
liamwhite 146769f44e
Merge pull request #10984 from comex/cob
Minor cleanup in BufferCacheRuntime::ReserveNullBuffer
2 years ago
liamwhite ae7e9b5469
Merge pull request #10974 from Steveice10/macos_vk
vulkan: Improvements to macOS surface creation
2 years ago
liamwhite 971b89b979
Merge pull request #10970 from Morph1984/thing
general: Misc changes that did not deserve their own PRs
2 years ago
comex 1e3b2328a6 Minor cleanup in BufferCacheRuntime::ReserveNullBuffer
As far as I can tell, there is no reason to OR this bit in separately.
2 years ago
GPUCode 272916eeaf renderer_vulkan: Fix some missing view formats
* Many times the format itself wouldn't have been added to the list causing device losses for nvidia GPUs

* Also account for ASTC acceleration storage views
2 years ago
GPUCode 95cefaf993 renderer_vulkan: Add support for VK_KHR_image_format_list 2 years ago
Steveice10 e146a00345 vulkan: Use newer VK_EXT_metal_surface to create surface for MoltenVK. 2 years ago
Morph 5a09fa5012 maxwell_dma: Specify dst_operand.pitch instead of a temp var 2 years ago
Morph 310b6cf4af general: Use ScratchBuffer where possible 2 years ago
Fernando S a10bdaf934
Merge pull request #10953 from FernandoS27/oh-oopsies-yfc
Texture cache: Fix YFC regression due to code testing
2 years ago
Fernando S 9252ad4e10
Merge pull request #10956 from FernandoS27/pikmin-another-game-ill-hate
AccelerateDMA: Don't accelerate 3D texture DMA operations
2 years ago
bunnei ddcd89afd4 video_core: vulkan_device: Scope S8Gen2 checks to just Qualcomm. 2 years ago
bunnei dfa040502a video_core: vulkan_device: Fix S8Gen2 dynamic state checks. 2 years ago
Fernando Sahmkow 596a6132b9 AccelerateDMA: Don't accelerate 3D texture DMA operations 2 years ago
Fernando Sahmkow b62121fd60 Texture cache: Fix YFC regression due to code testing 2 years ago
Matías Locatti ed93cbd462
Blacklist EDS3 blending from new AMD drivers 2 years ago
Fernando Sahmkow da440da9f5 Memory Tracking: Optimize tracking to only use atomic writes when contested with the host GPU 2 years ago
Fernando Sahmkow 47d0d292d5 MemoryTracking: Initial setup of atomic writes. 2 years ago
GPUCode ddcc958336 renderer_vulkan: Prevent crashes when blitting depth stencil 2 years ago
GPUCode eac46ad7ce video_core: Add BCn decoding support 2 years ago
GPUCode b8c96cee5f renderer_vulkan: Add more feature checking 2 years ago
GPUCode 220a42896d renderer_vulkan: Don't assume debug tool with debug renderer
* Causes crashes because mali drivers don't support debug utils
2 years ago
GPUCode 1522b95658 renderer_vulkan: Bump minimum SPIRV version
* 1.3 is guaranteed on all 1.1 drivers
2 years ago
GPUCode c339af37a7 renderer_vulkan: Respect viewport limit 2 years ago
GPUCode a9b44d37e1 renderer_vulkan: Don't add transform feedback flag if unsupported 2 years ago
GPUCode 72e7f5b4dd renderer_vulkan: Add suport for debug report callback 2 years ago
liamwhite 2b3bfafb9e
Merge pull request #10867 from Kelebek1/dma_safe
Use safe reads in DMA engine
2 years ago
liamwhite c6959449d1
Merge pull request #10473 from GPUCode/vma
Use vulkan memory allocator
2 years ago
GPUCode b6c6dcc576 externals: Use cmake subdirectory 2 years ago
Kelebek1 ffbaf574ca Use safe reads in DMA engine 2 years ago
ameerj 4f160633d3 OpenGL: Limit lmem warmup to NVIDIA
🐸
2 years ago
ameerj 405eae3734 shaders: Track local memory usage 2 years ago
ameerj 82107b33a2 OpenGL: Add Local Memory warmup shader 2 years ago
liamwhite a674022434
Merge pull request #10859 from liamwhite/no-more-atomic-wait
general: remove atomic signal and wait
2 years ago
GPUCode 75fb29e08e vulkan_common: Remove required flags
* Allows VMA to fallback to system RAM instead of crashing
2 years ago
Liam 1586f1c0b1 general: remove atomic signal and wait 2 years ago
Kelebek1 5da70f7197 Remove memory allocations in some hot paths 2 years ago
bunnei e3122c5b46
Merge pull request #10086 from Morph1984/coretiming-ng-1
core_timing: Use CNTPCT as the guest CPU tick
2 years ago
bunnei 7eb7d56b1b
Merge pull request #10777 from liamwhite/no-barrier
video_core: optionally skip barriers on feedback loops
2 years ago
liamwhite f1e12e3b08
Merge pull request #10818 from vonchenplus/render_target_samples
video_core: add samples check when find render target
2 years ago
liamwhite 93061d1ea1
Merge pull request #10835 from lat9nq/intel-restrict-compute-disable
vulkan_device: Restrict compute disable only to affected Intel drivers
2 years ago
liamwhite 6d12e7320b
Merge pull request #10840 from Kelebek1/unbug_blinks_brain
Use current GPU address when unmapping GPU pages, not the base
2 years ago
toast2903 78ff2862f6 vulkan_device: Remove brace initializer
Co-authored-by: Tobias <thm.frey@gmail.com>
2 years ago
lat9nq 197e13d93d video_core: Check broken compute earlier
Checks it as the system is determining what settings to enable. Reduces
the need to check settings while the system is running.
2 years ago
Kelebek1 711190bb67 Use current GPU address when unmapping GPU pages, not the base 2 years ago
lat9nq 346c253cd2 video_core: Formalize HasBrokenCompute
Also limits it to only affected Intel proprietrary driver versions.

vulkan_device: Move broken compute determination

vk_device: Remove errant back quote
2 years ago
liamwhite 23371fa187
Merge pull request #10829 from lat9nq/remove-external-mem
vulkan_device: Remove external memory extension
2 years ago
liamwhite 66b8042b59
Merge pull request #10798 from vonchenplus/draw_texture_scale
video_core: drawtexture support upscale
2 years ago
liamwhite 8acf728d5d
Merge pull request #10809 from Kelebek1/reduce_vertex_bindings
Synchronize vertex buffer even when it doesn't require binding
2 years ago
GPUCode ee0d68300e renderer_vulkan: Add missing initializers 2 years ago
GPUCode 7b2f680468 renderer_vulkan: Use VMA for buffers 2 years ago
GPUCode 48e39756f1 renderer_vulkan: Use VMA for images 2 years ago
GPUCode c60eed36b7 memory_allocator: Remove OpenGL interop
* Appears to be unused atm
2 years ago
lat9nq 6448eade2e externals: Add vma and initialize it
video_core: Move vma implementation to library
2 years ago
lat9nq 8a526b2c26 vulkan_device: Remove external memory extension
Unused in yuzu. Enables yuzu to boot games in Wine using Vulkan.
2 years ago
Liam 565a1226d7 renderer_vulkan: add missing include 2 years ago
Fernando S 27a36cd51b
Merge pull request #10744 from Wollnashorn/af-for-all
video_core: Improved anisotropic filtering heuristics
2 years ago
Kelebek1 e681f5678c Synchronize vertex buffer even when it doesn't require binding 2 years ago
FengChen 76a676883a video_core: add samples check when find render target 2 years ago
Wollnashorn 3e47ebe2e9 video_core: Only apply AF to 2D (array) image types 2 years ago
Wollnashorn c309a1c69b video_core: Removed AF for all mip modes option as it's default now 2 years ago
bunnei ec423c6919
Merge pull request #10783 from liamwhite/memory
video_core: preallocate fewer IR blocks
2 years ago
Feng Chen b77a247e8c video_core: drawtexture support upscale 2 years ago
Wollnashorn 2dc0ff79ec video_core: Use sampler IDs instead pointers in the pipeline config
The previous approach of storing pointers returned by `GetGraphicsSampler`/`GetComputeSampler` caused UB, as these functions can cause reallocation of the sampler slot vector and therefore invalidate the pointers
2 years ago
bunnei 0114abad9a
Merge pull request #10790 from liamwhite/arm-driver-moment
vulkan_device: disable extended_dynamic_state2 on ARM drivers
2 years ago
bunnei ca1cb9fd19
Merge pull request #10775 from liamwhite/cb2
renderer_vulkan: propagate conditional barrier support
2 years ago
Wollnashorn a3b7b5b22a video_core: Fallback to default anisotropy instead to 1x anisotropy 2 years ago
Wollnashorn 745d16132b video_core: Disable AF for non-color image formats 2 years ago
Wollnashorn 3e8cd91d54 video_core: Fixed compilation errors because of name shadowing 2 years ago
Liam 3304d58edb vulkan_device: disable extended_dynamic_state2 on ARM drivers 2 years ago
Wollnashorn 42c944b250 video_core: Add per-image anisotropy heuristics (format & mip count) 2 years ago
Liam 2c01669046 video_core: preallocate fewer IR blocks 2 years ago
Liam 8d6aefdcc4 video_core: optionally skip barriers on feedback loops 2 years ago
Liam cc4334870b renderer_vulkan: propagate conditional barrier support 2 years ago
Wollnashorn 0de6b9e3f5 video_core: Apply AF only to samplers with normal LOD range [0, 1+x] 2 years ago
Wollnashorn a9e4dddad5 video_core: Fix default anisotropic heuristic 2 years ago
Wollnashorn 44f616edb9 video_core: Never apply AF to None mipmap mode
Should fix some artifacts with the "apply anisotropic filtering for all mipmap modes" option
2 years ago
Wollnashorn b9bba3ac89 video_core: Disable anisotropic filtering for samplers with depth compare 2 years ago
Morph 925586f97b buffer_cache_base: Specify buffer type in HostBindings
Avoid reinterpret-casting from void pointer since the type is already known at compile time.
2 years ago
Wollnashorn 0eacf547c0 video_core: Option to apply anisotropic filtering for all mipmap modes 2 years ago