aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2023-07-21settings,video_core: Consolidate ASTC decoding optionslat9nq
Just puts them all neatly into one place.
2023-07-18vk_buffer_cache: Formatlat9nq
2023-07-18general: Silence -Wshadow{,-uncaptured-local} warningslat9nq
These occur in the latest commits in LLVM Clang.
2023-07-15buffer_cache: Increase number of texture buffersGPUCode
2023-07-15Fixes and workarounds to make UBSan happier on macOScomex
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.
2023-07-12cmake: allow using system VMA libraryAlexandre Bouvier
2023-07-10Merge pull request #10996 from Kelebek1/readblock_optimisationbunnei
Use spans over guest memory where possible instead of copying data
2023-07-05Merge pull request #10994 from liamwhite/ue4-preferredliamwhite
vulkan_common: use device local preferred for image memory
2023-07-05Merge pull request #11012 from gidoly/metroid-fixliamwhite
Fix regression by unreal engine fix pr #11009
2023-07-03video_core: vulkan_device: Disable timeline semaphore on Turnip, fix qcom ↵bunnei
version check.
2023-07-03Merge pull request #10964 from bunnei/gpu-remove-qcom-checkbunnei
video_core: vulkan_device: Fix S8Gen2 dynamic state checks.
2023-07-03video_core: vulkan_device: Change to driver version check.bunnei
2023-07-03oops re opengidoly
2023-07-02Use spans over guest memory where possible instead of copying data.Kelebek1
2023-07-02Merge pull request #10479 from GPUCode/format-listliamwhite
Add support for VK_KHR_image_format_list
2023-07-02Merge pull request #10942 from FernandoS27/android-is-a-pain-in-the-a--liamwhite
Memory Tracking: Add mechanism to register small writes when gpu page is contested by GPU
2023-07-01vulkan_common: use device local preferred for image memoryLiam
2023-07-01Revert "texture_cache: Fix incorrect logic for AccelerateDMA"Liam
This reverts commit 1fc47361a12afd91d8ea0b76378e0b3d4feb93a6.
2023-07-01Merge pull request #10984 from comex/cobliamwhite
Minor cleanup in BufferCacheRuntime::ReserveNullBuffer
2023-07-01Merge pull request #10974 from Steveice10/macos_vkliamwhite
vulkan: Improvements to macOS surface creation
2023-07-01Merge pull request #10970 from Morph1984/thingliamwhite
general: Misc changes that did not deserve their own PRs
2023-07-01Minor cleanup in BufferCacheRuntime::ReserveNullBuffercomex
As far as I can tell, there is no reason to OR this bit in separately.
2023-07-01renderer_vulkan: Fix some missing view formatsGPUCode
* 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
2023-07-01renderer_vulkan: Add support for VK_KHR_image_format_listGPUCode
2023-06-30vulkan: Use newer VK_EXT_metal_surface to create surface for MoltenVK.Steveice10
2023-06-30maxwell_dma: Specify dst_operand.pitch instead of a temp varMorph
2023-06-30general: Use ScratchBuffer where possibleMorph
2023-06-30Merge pull request #10953 from FernandoS27/oh-oopsies-yfcFernando S
Texture cache: Fix YFC regression due to code testing
2023-06-30Merge pull request #10956 from FernandoS27/pikmin-another-game-ill-hateFernando S
AccelerateDMA: Don't accelerate 3D texture DMA operations
2023-06-29video_core: vulkan_device: Scope S8Gen2 checks to just Qualcomm.bunnei
2023-06-29video_core: vulkan_device: Fix S8Gen2 dynamic state checks.bunnei
2023-06-29AccelerateDMA: Don't accelerate 3D texture DMA operationsFernando Sahmkow
2023-06-29Texture cache: Fix YFC regression due to code testingFernando Sahmkow
2023-06-28Blacklist EDS3 blending from new AMD driversMatías Locatti
2023-06-28Memory Tracking: Optimize tracking to only use atomic writes when contested ↵Fernando Sahmkow
with the host GPU
2023-06-28MemoryTracking: Initial setup of atomic writes.Fernando Sahmkow
2023-06-27renderer_vulkan: Prevent crashes when blitting depth stencilGPUCode
2023-06-27video_core: Add BCn decoding supportGPUCode
2023-06-27renderer_vulkan: Add more feature checkingGPUCode
2023-06-27renderer_vulkan: Don't assume debug tool with debug rendererGPUCode
* Causes crashes because mali drivers don't support debug utils
2023-06-27renderer_vulkan: Bump minimum SPIRV versionGPUCode
* 1.3 is guaranteed on all 1.1 drivers
2023-06-27renderer_vulkan: Respect viewport limitGPUCode
2023-06-27renderer_vulkan: Don't add transform feedback flag if unsupportedGPUCode
2023-06-27renderer_vulkan: Add suport for debug report callbackGPUCode
2023-06-27Merge pull request #10867 from Kelebek1/dma_safeliamwhite
Use safe reads in DMA engine
2023-06-27Merge pull request #10473 from GPUCode/vmaliamwhite
Use vulkan memory allocator
2023-06-26externals: Use cmake subdirectoryGPUCode
2023-06-26Use safe reads in DMA engineKelebek1
2023-06-25OpenGL: Limit lmem warmup to NVIDIAameerj
:frog:
2023-06-25shaders: Track local memory usageameerj