aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2022-10-01MacroHLE: Add MultidrawIndirect HLE Macro.Fernando Sahmkow
2022-10-01macro_jit_x64: fix miscompilation of bit extraction operationsLiam
2022-10-01Merge pull request #8874 from vonchenplus/align_index_buffer_sizebunnei
Align index buffe size when vertex_buffer_unified_memory enable
2022-10-01macro_jit_x64: cancel exit for taken branchLiam
2022-09-30Merge pull request #8910 from vonchenplus/astc_decode_errorbunnei
video_core: Modify astc texture decode error fill value
2022-09-25vulkan: automatically use larger staging buffer sizes when possibleLiam
2022-09-20video_core: Fix legacy to generic location unpairedFengChen
2022-09-20Merge branch 'master' into mipmapFeng Chen
2022-09-20video_core: Generate mipmap texture by drawingFengChen
2022-09-16astc: Enable parallel CPU astc decodingMorph
Given the issues with GPU accelerated ASTC decoding with NVIDIA's latest drivers, parallelize astc decoding on the CPU. Uses half the available threads in the system for astc decoding.
2022-09-15video_core: Modify astc texture decode error fill valueFengChen
2022-09-10Align index buffe size when vertex_buffer_unified_memory enableFengChen
2022-09-08Merge pull request #8819 from liamwhite/cash-moneylat9nq
video_core: add option for pessimistic flushing
2022-08-31style: General style changes to match with the rest of the codebaseMorph
2022-08-31(shader/pipeline)_cache: Raise shader/pipeline cache versionMorph
Since the following commit: https://github.com/yuzu-emu/yuzu/commit/a83a5d2e4c8932df864dd4cea2b04d87a12c8760 , many games will refuse to boot unless the shader/pipeline cache has been invalidated.
2022-08-31Merge pull request #8752 from vonchenplus/rectangle_textureFernando S
video_code: support rectangle texture
2022-08-25video_core: add option for pessimistic flushingLiam
2022-08-25video_code: support rectangle textureFengChen
2022-08-23video_core: vulkan: rasterizer: Workaround on viewport swizzle on AMDNarr the Reg
2022-08-21Merge pull request #8784 from Docteh/nosnekliamwhite
code: dodge PAGE_SIZE #define
2022-08-20video_core: support framebuffer crop rect top not zerovonchenplus
2022-08-19code: dodge PAGE_SIZE #defineKyle Kienapfel
Some header files, specifically for OSX and Musl libc define PAGE_SIZE to be a number This is great except in yuzu we're using PAGE_SIZE as a variable Specific example `static constexpr u64 PAGE_SIZE = u64(1) << PAGE_BITS;` PAGE_SIZE PAGE_BITS PAGE_MASK are all similar variables. Simply deleted the underscores, and then added YUZU_ prefix Might be worth noting that there are multiple uses in different classes/namespaces This list may not be exhaustive Core::Memory 12 bits (4096) QueryCacheBase 12 bits ShaderCache 14 bits (16384) TextureCache 20 bits (1048576, or 1MB) Fixes #8779
2022-08-19video_core: implement R16G16B16X16 texture formatLiam
2022-08-13Merge pull request #8739 from merryhime/swizzle_tablebunnei
video_core/textures/decoders: Avoid SWIZZLE_TABLE
2022-08-09video_core/textures/decoders: Avoid SWIZZLE_TABLEMerry
2022-08-07Make vsync setting work for VulkanDJRobX
2022-08-06Merge pull request #8658 from liamwhite/plgpbunnei
video_core: differentiate between tiled and untiled framebuffer sizes for unaccelerated blits
2022-08-06Merge pull request #8700 from liamwhite/xc3-vk-crashbunnei
vk_texture_cache: return VK_NULL_HANDLE for views of null images
2022-08-02renderer_vulkan: add format fallbacks for R16G16B16_SFLOAT, ↵Liam
R16G16B16_SSCALED, R8G8B8_SSCALED
2022-08-02vk_texture_cache: return VK_NULL_HANDLE for views of null imagesLiam
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-27video_core: differentiate between tiled and untiled framebuffer sizes for ↵Liam
unaccelerated copies
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.