aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2021-02-09texture_cache/util: Remove unused functionsLioncash
Silences a few warnings on clang 12.
2021-02-08Merge pull request #5880 from lat9nq/ffmpeg-externalAmeer J
cmake: FFmpeg linking rework
2021-02-07Merge pull request #5888 from Morph1984/ogl-4.6Rodrigo Locatti
renderer_opengl: Update OpenGL backend version requirement to 4.6
2021-02-08video_core: Delete mortonChloe Marcec
moron.h & morton.cpp are not used anywhere and are just empty files
2021-02-07renderer_opengl: Update OpenGL backend version requirement to 4.6Morph
2021-02-05Address reviewer commentslat9nq
2021-02-05CMake: Port citra-emu/citra FindFFmpeg.cmakelat9nq
Also renames related CMake variables to match both the Find*FFmpeg* and variables defined within the file. Fixes odd errors produced by the old FindFFmpeg. Citra's FindFFmpeg is slightly modified here: adds Citra's copyright at the beginning, renames FFmpeg_INCLUDES to FFmpeg_INCLUDE_DIR, disables a few components in _FFmpeg_ALL_COMPONENTS, and adds the missing avutil component to the comment above.
2021-02-05CMake: Implement YUZU_USE_BUNDLED_FFMPEGlat9nq
For Linux, instructs CMake to use the FFmpeg submodule in externals. This is HEAVILY based on our usage of the late Unicorn. Minimal change to MSVC as it uses the yuzu-emu/ext-windows-bin. MinGW now targets the same ext-windows-bin libraries as MSVC for FFmpeg. Adds FFMPEG_LIBRARIES to WIN32 and simplifies video_core/CMakeLists.txt a bit.
2021-02-01video_core: host_shaders: Don't pass --quiet to glslangValidator if unavailablelat9nq
Prevents CMake from calling `glslangValidator` with `--quiet` when it is not available, i.e. on older downstream versions from Ubuntu.
2021-01-29Merge pull request #5795 from ReinUsesLisp/bytes-to-map-endbunnei
video_core/memory_manager: Add BytesToMapEnd
2021-01-28Merge pull request #5836 from ReinUsesLisp/unaligned-constr-schedLC
vk_scheduler: Fix unaligned placement new expressions
2021-01-27vk_scheduler: Fix unaligned placement new expressionsReinUsesLisp
We were accidentaly creating an object in an unaligned memory address. Fix this by manually aligning the offset.
2021-01-27Merge pull request #5786 from ReinUsesLisp/glsl-cbufbunnei
gl_shader_decompiler: Fix constant buffer size calculation
2021-01-27vulkan_device: Blacklist Intel from float16 math (#5798)Rodrigo Locatti
Astral Chain crashes Intel's SPIR-V compiler when using fp16. Disable this while the vendor works on a fix.
2021-01-27Merge pull request #5778 from ReinUsesLisp/shader-dirbunnei
renderer_opengl: Avoid precompiled cache and force NV GL cache directory
2021-01-24Merge pull request #5785 from ReinUsesLisp/buffer-dmabunnei
video_core/memory_manager: Flush destination buffer on CopyBlock
2021-01-25Revert "Start of Integer flags implementation"ReinUsesLisp
This reverts #4713. The implementation in that PR is not accurate. It does not reflect the behavior seen in hardware.
2021-01-24vk_graphics_pipeline: Fix narrowing conversion on MSVCReinUsesLisp
2021-01-24Merge pull request #5807 from ReinUsesLisp/vc-warningsLC
video_core: Silence the remaining gcc warnings and enforce them
2021-01-24Merge pull request #5363 from ReinUsesLisp/vk-image-usageRodrigo Locatti
vk_texture_cache: Support image store on sRGB images with VkImageViewUsageCreateInfo
2021-01-24vk_texture_cache: Support image store on sRGB images with ↵ReinUsesLisp
VkImageViewUsageCreateInfo Vulkan 1.0 didn't support creating sRGB image views on an ABGR8 VkImage with storage usage bits. VK_KHR_maintenance2 addressed this allowing to reduce the usage bits on a VkImageView. To allow image store on non-sRGB image views when the VkImage is created with sRGB, always create VkImages without sRGB and add the sRGB format on the view.
2021-01-24vulkan_device: Lift VK_EXT_extended_dynamic_state blacklist on RDNAReinUsesLisp
It seems to be safe to use this on new drivers.
2021-01-24cmake: Enforce -Warray-bounds and -Wmissing-field-initializers globallyReinUsesLisp
2021-01-24Merge pull request #5796 from ReinUsesLisp/vertex-a-bypass-vkbunnei
vk_pipeline_cache: Properly bypass VertexA shaders
2021-01-24host_shaders/cmake: Pass --quiet to glslang to keep it quietReinUsesLisp
Silences noisy builds on toolchains.
2021-01-24video_core/cmake: Enforce -Warray-bounds and -Wmissing-field-initializersReinUsesLisp
2021-01-24video_core: Silence -Wmissing-field-initializers warningsReinUsesLisp
2021-01-24maxwell_3d: Silence array bounds warningsReinUsesLisp
2021-01-24maxwell_to_vk: Silence -Wextra warnings about using different enum typesReinUsesLisp
2021-01-23shader_ir: Fix comment typoLevi Behunin
2021-01-23video_core/cmake: Properly generate fatal errors on AftermathReinUsesLisp
Fix "message(ERROR ..." to "message(FATAL_ERROR ..." to properly stop cmake when Nsight Aftermath can't be configured.
2021-01-23nsight_aftermath_tracker: Fix build issues when enabledReinUsesLisp
Fixes a bunch of build errors when Nsight Aftermath is properly enabled.
2021-01-23vk_pipeline_cache: Properly bypass VertexA shadersReinUsesLisp
The VertexA stage is not yet implemented, but Vulkan is adding its descriptors, causing a discrepancy in the pushed descriptors and the template. This generally ends up in a driver side crash. Bypass the VertexA stage for now.
2021-01-22Merge pull request #4713 from behunin/int-flagsbunnei
Start of Integer flags implementation
2021-01-22video_core/memory_manager: Add BytesToMapEndReinUsesLisp
Track map address sizes in a flat ordered map and add a method to query the number of bytes until the end of a map in a given address.
2021-01-21gl_shader_decompiler: Fix constant buffer size calculationReinUsesLisp
The divide logic was wrong and can cause an uniform buffer size overflow.
2021-01-21video_core/memory_manager: Remove unused CopyBlockUnsafeReinUsesLisp
This function was not being used.
2021-01-21video_core/memory_manager: Flush destination buffer on CopyBlockReinUsesLisp
When we copy into a buffer, it might contain data modified from the GPU on the same pages. Because of this, we have to flush the contents before writing new data. An alternative approach would be to write the data in place, but games can also write data in other ways, invalidating our contents. Fixes geometry in Zombie Panic in Wonderland DX.
2021-01-21video_core/memory_manager: Add GPU address based flush methodReinUsesLisp
Allow flushing rasterizer contents based on a GPU address.
2021-01-20Merge pull request #5361 from ReinUsesLisp/vk-shader-commentbunnei
vk_shader_decompiler: Show comments as OpUndef with a type
2021-01-21renderer_opengl: Avoid precompiled cache and force NV GL cache directoryReinUsesLisp
Setting __GL_SHADER_DISK_CACHE_PATH we can force the cache directory to be in yuzu's user directory to stop commonly distributed malware from deleting our driver shader cache. And by setting __GL_SHADER_DISK_CACHE_SKIP_CLEANUP we can have an unbounded shader cache size. This has only been implemented on Windows, mostly because previous tests didn't seem to work on Linux. Disable the precompiled cache on Nvidia's driver. There's no need to hide information the driver already has in its own cache.
2021-01-18Merge pull request #5746 from lioncash/sign-compareRodrigo Locatti
texture_cache/util: Resolve -Wsign-compare warning
2021-01-17Merge pull request #5745 from lioncash/documentationRodrigo Locatti
video_core: Resolve -Wdocumentation warnings
2021-01-17texture_cache/util: Resolve -Wsign-compare warningLioncash
Resolves a -Wsign-compare warning on Clang.
2021-01-17video_core: Resolve -Wdocumentation warningsLioncash
Silences some -Wdocumentation warnings on Clang.
2021-01-17vulkan_debug_callback: Add missing header guardLioncash
Prevents inclusion issues from occurring.
2021-01-16Merge pull request #5262 from ReinUsesLisp/buffer-baseRodrigo Locatti
buffer_cache/buffer_base: Add a range tracking buffer container and tests
2021-01-15Merge pull request #5297 from ReinUsesLisp/vulkan-allocator-commonRodrigo Locatti
vulkan_memory_allocator: Improvements to the memory allocator
2021-01-15vk_shader_decompiler: Show comments as OpUndef with a typeReinUsesLisp
Silence the new validation layer error about SPIR-V not allowing OpUndef on a OpTypeVoid, even when the SPIR-V spec doesn't say anything against it. They will be inserted as an undefined int to avoid SPIRV-Cross and validation errors, but only when a debugging tool is attached.
2021-01-15Merge pull request #5358 from ReinUsesLisp/rename-insert-paddingLC
common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINIT