aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2022-08-02renderer_vulkan: add format fallbacks for R16G16B16_SFLOAT, ↵Liam
R16G16B16_SSCALED, R8G8B8_SSCALED
2022-07-31Merge pull request #8678 from liamwhite/stop-waitingbunnei
video_core: stop waiting for shader compilation on user cancel
2022-07-30renderer_opengl: delete shader source after linkingLiam
2022-07-29video_core: stop waiting for shader compilation on user cancelLiam
2022-07-27Merge pull request #8542 from Morph1984/gpu-use-old-qliamwhite
gpu_thread: Use the previous MPSCQueue implementation
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda
[REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
2022-07-19video_core: use correct byte size for framebufferLiam
2022-07-16yuzu: settings: Remove framerate cap and merge unlocked framerate setting.bunnei
- These were all somewhat redundant.
2022-07-06gpu_thread: Use the previous MPSCQueue implementationMorph
The bounded MPSCQueue implementation causes crashes in Fire Emblem Three Houses, use the previous implementation for now.
2022-07-05renderer_(gl/vk): Implement ASTC_10x6_UNORMMorph
- Used by Monster Hunter Rise Update 10.0.2
2022-06-29Revert "vulkan_device: Block AMDVLK's VK_KHR_push_descriptor"lat9nq
2022-06-26video_core: Replace VKUpdateDescriptorQueue with UpdateDescriptorQueuegerman77
2022-06-26video_core: Replace VKSwapchain with Swapchaingerman77
2022-06-26video_core: Replace VKQueryCache with QueryCachegerman77
2022-06-26video_core: Replace VKScheduler with Schedulergerman77
2022-06-26video_core: Replace VKBlitScreen with BlitScreengerman77
2022-06-26video_core: Replace VKFenceManager with FenceManagergerman77
2022-06-15Merge pull request #8460 from Morph1984/bounded-qliamwhite
bounded_threadsafe_queue: Use constexpr capacity and mask
2022-06-15bounded_threadsafe_queue: Use constexpr capacity and maskMorph
While this is the primary change, we also: - Remove the mpsc namespace and rename Queue to MPSCQueue - Make Slot a private struct within MPSCQueue - Remove the AlignedAllocator template argument, as we use std::allocator - Replace instances of mask + 1 with capacity, and mask + 2 with capacity + 1
2022-06-15vk_compute_pass: Explicitly cast to VkAccessFlagsMorph
According to the standard, a narrowing conversion is an implicit conversion from an integer or unscoped enumeration type to an integer type that cannot represent all the values of the original type, except when the value is a literal or constant expression. MSVC, unlike GCC or Clang, determines this to be a narrowing conversion despite the enumeration exclusively containing values that fit within the range of a 32 bit integer, emitting a warning since designated initializers prohibit narrowing conversions. To solve this, explicitly cast to the type we are initializing.
2022-06-14Merge pull request #8383 from Morph1984/shadow-of-the-pastMai
yuzu: Make variable shadowing a compile-time error
2022-06-14vk_compute_pass: Use VK_ACCESS_NONEMorph
This enumeration was introduced in Vulkan 1.3, prefer using this instead of defaulting the enum. Also resolves a narrowing conversion warning on MSVC.
2022-06-14Merge pull request #8439 from liamwhite/monkey-compilerMai
general: fix compilation on GCC 12
2022-06-14vk_compute_pass: Silence Wextra warningMorph
Silences a warning about using enumerated and non-enumerated types in a conditional expression.
2022-06-13general: fix compilation on MinGW GCC 12Liam
2022-06-13common: Change semantics of UNREACHABLE to unconditionally crashLiam
2022-06-13CMakeLists: Make variable shadowing a compile-time errorMorph
Now that the entire project is free of variable shadowing, we can enforce this as a compile time error to prevent any further introduction of this logic bug.
2022-06-11Merge pull request #8413 from behunin/bounded-queuebunnei
gpu_thread: Move to bounded queue
2022-06-11Merge pull request #8393 from lat9nq/default-vulkanbunnei
general: Set renderer_backend's default to Vulkan
2022-06-02gpu_thread: Move to bounded queueLevi Behunin
2022-06-02Maxwell3D: Fix 3D semaphore counter type 0 handlingBilly Laws
Counter type 0 actually releases the semaphore payload rather than a constant zero as was previously thought. This is required by Skyrim.
2022-06-01core/debugger: Improved stepping mechanism and misc fixesLiam
2022-05-30vulkan_library: Add debug logginglat9nq
2022-05-29Merge pull request #8332 from Morph1984/reduce_exec_sizebunnei
general: Use smaller array types where applicable
2022-05-25Merge pull request #8379 from lat9nq/amd-push-desc-workaroundbunnei
vulkan_device: Block AMDVLK's VK_KHR_push_descriptor
2022-05-25Merge pull request #8369 from lat9nq/amd-wmel-workaroundbunnei
vulkan_device: Workaround extension bug
2022-05-25vulkan_device: Workaround extension buglat9nq
A bug occurs in yuzu when VK_KHR_workgroup_memory_explicit_layout is available but 16-bit integers are not supported in the host driver. Disable usage of the extension when this case arises.
2022-05-25vulkan_device: Block AMDVLK's VK_KHR_push_descriptorlat9nq
Recent AMD Vulkan drivers (22.5.2 or 2.0.226 for specifically Vulkan) have a broken VK_KHR_push_descriptor implementation that causes a crash in yuzu. Disable it for the time being.
2022-05-24Merge pull request #8311 from asLody/fix-stencil-facesbunnei
vk_rasterizer: fix stencil test when two faces are disabled
2022-05-17video_core: Support new VkResultAlexandre Bouvier
2022-05-13video_core/surface: Use u8 for PixelFormat block tablesMorph
Using this smaller type saves 33280 bytes in the compiled executable.
2022-05-13codecs/vp9: Use u8 for norm and map lutsMorph
Using this smaller type saves 1536 bytes in the compiled executable.
2022-05-11Merge pull request #8314 from liamwhite/gl-flip-2Morph
OpenGL: interpret face flips according to GL NDC
2022-05-11Merge pull request #8313 from liamwhite/dma-bppMorph
maxwell_dma: fix bytes_per_pixel
2022-05-10maxwell_dma: use fallback if remapping is enabledLiam
2022-05-10video_core/macro: clear code on upload address assignmentLiam
2022-05-08VideoCore: Add option to dump the macros.Fernando Sahmkow
Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
2022-05-08video_core/macro_jit_x64: warn on invalid parameter accessLiam
2022-05-06OpenGL: implement face flips according to NDCLiam
2022-05-06maxwell_dma: fix bytes per pixelLiam