aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2021-06-20gl_device: Expand on Mesa driver nameslat9nq
Makes this list a bit more capable at identifying Mesa drivers. Tries to deal with two of the overloaded vendor strings in a more generic fashion.
2021-06-20video_core: Add GPU vendor name to window title barameerj
2021-06-20Reaper: Guarantee correct deletion.Fernando Sahmkow
2021-06-19util_shaders: Specify ASTC decoder memory barrier bitsameerj
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-17vulkan_debug_callback: Skip logging known false-positive validation errorsameerj
Avoids overwhelming the log with validation errors that are not applicable
2021-06-17Reaper: Correct size calculation on Vulkan.Fernando Sahmkow
2021-06-16Merge pull request #6469 from ReinUsesLisp/blit-view-compatAmeer J
texture_cache/util: Avoid relaxed image views on different bytes per block
2021-06-17Reaper: Change memory restrictions on TC depending on host memory on VK.Fernando Sahmkow
2021-06-16Reaper: Address Feedback.Fernando Sahmkow
2021-06-16Reaper: Setup settings and final tuning.Fernando Sahmkow
2021-06-16Reaper: Tune it up to be an smart GC.Fernando Sahmkow
2021-06-16Initial Reaper SetupReinUsesLisp
WIP
2021-06-16vulkan_memory_allocator: Release allocations with no commitsReinUsesLisp
2021-06-15astc_decoder: Fix LDR CEM1 endpoint calculationameerj
Per the spec, L1 is clamped to the value 0xff if it is greater than 0xff. An oversight caused us to take the maximum of L1 and 0xff, rather than the minimum. Huge thanks to wwylele for finding this. Co-Authored-By: Weiyi Wang <wwylele@gmail.com>
2021-06-15configure_graphics: Add Accelerate ASTC decoding settingameerj
2021-06-15textures: Reintroduce CPU ASTC decoderameerj
Users may want to fall back to the CPU ASTC texture decoder due to hangs and crashes that may be caused by keeping the GPU under compute heavy loads for extended periods of time. This is especially the case in games such as Astral Chain which make extensive use of ASTC textures.
2021-06-14texture_cache/util: Avoid relaxed image views on different bytes per pixelReinUsesLisp
Avoids API usage errors on UE4 titles leading to crashes.
2021-06-13cmake: Fix find_program usage for 3.15lat9nq
yuzu requires CMake 3.15 yet find_program was using REQUIRED, which is only available on 3.18 and later. Instead, we check for "<VAR>-NOTFOUND". In addition, check for additional requirements before building libusb or FFmpeg with autotools. Otherwise, CMake configuration will pass yet compilation will fail.
2021-06-11GPUTHread: Remove async reads from Normal Accuracy.Fernando Sahmkow
2021-06-11rasterizer: Update pages in batchesReinUsesLisp
2021-06-10Fix GCC undefined behavior sanitizer.Markus Wick
* Wrong alignment in u64 LOG_DEBUG -> memcpy. * Huge shift exponent in stride calculation for linear buffer, unused result -> skipped. * Large shift in buffer cache if word = 0, skip checking for set bits. Non of those were critical, so this should not change any behavior. At least with the assumption, that the last one used masking behavior, which always yield continuous_bits = 0.
2021-06-07Merge pull request #6410 from lat9nq/avoid-oobbunnei
decoders: Avoid out-of-bounds access
2021-06-04decoders: Break instead of continuelat9nq
continue causes a memory leak in A Hat in Time.
2021-06-04decoders: Avoid out-of-bounds accesslat9nq
This is not a real fix, so assert here and continue before crashing.
2021-06-01buffer_cache: Simplify uniform disabling logicameerj
2021-05-31Merge pull request #6367 from ReinUsesLisp/vma-hostbunnei
vulkan_memory_allocator: Allow textures to be allocated in host memory
2021-05-29video_core: gpu: WaitFence: Do not block threads during shutdown.bunnei
- Fixes a hang on shutdown when NVFlinger thread is waiting on a syncpoint that will never occur. - Commonly observed when stopping emulation in Super Mario Odyssey.
2021-05-29Fix two GCC 11 warnings: Unneeded copies.Markus Wick
std::move created an unneeded copy. iterating without reference also created copies.
2021-05-27video_core: rasterizer_cache: Use u16 for cached page count.bunnei
- Greatly reduces the risk of overflow, at the cost of doubling the size of this array.
2021-05-27vulkan_memory_allocator: Allow textures to be allocated in host memoryReinUsesLisp
Allow Vulkan's allocator to use host memory when there's no more device local memory. This delays OOM, but it will eventually still happen.
2021-05-25common: fs: Rework the Common Filesystem interface to make use of ↵Morph
std::filesystem (#6270) * common: fs: fs_types: Create filesystem types Contains various filesystem types used by the Common::FS library * common: fs: fs_util: Add std::string to std::u8string conversion utility * common: fs: path_util: Add utlity functions for paths Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library * common: fs: file: Rewrite the IOFile implementation * common: fs: Reimplement Common::FS library using std::filesystem * common: fs: fs_paths: Add fs_paths to replace common_paths * common: fs: path_util: Add the rest of the path functions * common: Remove the previous Common::FS implementation * general: Remove unused fs includes * string_util: Remove unused function and include * nvidia_flags: Migrate to the new Common::FS library * settings: Migrate to the new Common::FS library * logging: backend: Migrate to the new Common::FS library * core: Migrate to the new Common::FS library * perf_stats: Migrate to the new Common::FS library * reporter: Migrate to the new Common::FS library * telemetry_session: Migrate to the new Common::FS library * key_manager: Migrate to the new Common::FS library * bis_factory: Migrate to the new Common::FS library * registered_cache: Migrate to the new Common::FS library * xts_archive: Migrate to the new Common::FS library * service: acc: Migrate to the new Common::FS library * applets/profile: Migrate to the new Common::FS library * applets/web: Migrate to the new Common::FS library * service: filesystem: Migrate to the new Common::FS library * loader: Migrate to the new Common::FS library * gl_shader_disk_cache: Migrate to the new Common::FS library * nsight_aftermath_tracker: Migrate to the new Common::FS library * vulkan_library: Migrate to the new Common::FS library * configure_debug: Migrate to the new Common::FS library * game_list_worker: Migrate to the new Common::FS library * config: Migrate to the new Common::FS library * configure_filesystem: Migrate to the new Common::FS library * configure_per_game_addons: Migrate to the new Common::FS library * configure_profile_manager: Migrate to the new Common::FS library * configure_ui: Migrate to the new Common::FS library * input_profiles: Migrate to the new Common::FS library * yuzu_cmd: config: Migrate to the new Common::FS library * yuzu_cmd: Migrate to the new Common::FS library * vfs_real: Migrate to the new Common::FS library * vfs: Migrate to the new Common::FS library * vfs_libzip: Migrate to the new Common::FS library * service: bcat: Migrate to the new Common::FS library * yuzu: main: Migrate to the new Common::FS library * vfs_real: Delete the contents of an existing file in CreateFile Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now. * input_profiles: Don't iterate the input profile dir if it does not exist Silences an error produced in the log if the directory does not exist. * game_list_worker: Skip parsing file if the returned VfsFile is nullptr Prevents crashes in GetLoader when the virtual file is nullptr * common: fs: Validate paths for path length * service: filesystem: Open the mod load directory as read only
2021-05-20Merge pull request #6248 from A-w-x/intelmesabunnei
gl_device: Intel: Disable texture view formats workaround on mesa
2021-05-18Merge pull request #6317 from ameerj/fps-fixbunnei
perf_stats: Rework FPS counter to be more accurate
2021-05-17Merge pull request #6322 from ameerj/fast-null-bufferbunnei
buffer_cache: Ensure null buffers cannot take the fast uniform bind path
2021-05-16buffer_cache: Ensure null buffers cannot take the fast uniform bind pathameerj
Fixes a crash in New Pokemon Snap
2021-05-15Merge pull request #6289 from ameerj/oob-blitbunnei
texture_cache: Handle out of bound texture blits
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-05-05hle: kernel: Rename Process to KProcess.bunnei
2021-04-26gl_device: Intel: Disable texture view formats workaround on mesaA-w-x
2021-04-25Merge pull request #6237 from ameerj/nvdec-end-fixbunnei
nvhost_vic: Fix device closure
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-24nvhost_vic: Fix device closureameerj
Implements the OnClose method of the nvhost_vic device, and removes the remnants of an older implementation. Also cleans up some of the surrounding code.
2021-04-19texture_cache/util: Fix src being used instead of dst within DeduceBlitImagesLioncash
This line can only ever be reached if src is null, so dereferencing it here is a logic bug that slipped through. Instead, we dereference dst instead which is guaranteed to be valid.
2021-04-16Merge pull request #6125 from ogniK5377/nvdec-close-devbunnei
nvdrv: Cleanup CDMA Processor on device closure
2021-04-16Address issuesChloe Marcec
2021-04-14Merge pull request #6196 from bunnei/asserts-settingbunnei
core: settings: Add setting for debug assertions and disable by default.
2021-04-14common: Move settings to common from core.bunnei
- Removes a dependency on core and input_common from common.