aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-07-26shader_recompiler: Remove unnecessary [[nodiscard]] instancesLioncash
[[nodiscard]] doesn't do anything on functions with a void return type and causes superfluous warnings.
2021-07-26control_flow: Fix duplicate switch case in OpcodeTokenLioncash
This previously duplicated the case of the PBK case above it.
2021-07-26object_pool: Add missing return in Chunk move assignment operatorLioncash
Prevents undefined behavior from occurring.
2021-07-26shader: Fold integer FMA from Nvidia's patternReinUsesLisp
Fold shaders doing "a * b + c" on integers from the pattern generated by Nvidia's GL compiler. On a somewhat complex compute shader it reduces the code size by 16 instructions from 2 matches on Turing GPUs. On Intel as extracted from KHR_pipeline_executable_properties: Before the optimization: ``` Instruction Count: 2057 Basic Block Count: 45 Scratch Memory Size: 14752 Spill Count: 232 Fill Count: 261 SEND Count: 610 Cycle Count: 11325 ``` After the optimization: ``` Instruction Count: 2046 Basic Block Count: 44 Scratch Memory Size: 13728 Spill Count: 219 Fill Count: 268 SEND Count: 604 Cycle Count: 11367 ```
2021-07-26shader: Use TryInstRecursive on XMAD multiply foldingReinUsesLisp
Simplify a bit the logic.
2021-07-26shader: Add TryInstRecursive utility to valuesReinUsesLisp
2021-07-25Merge pull request #6697 from ameerj/fps-capbunnei
config, nvflinger: Add FPS cap setting
2021-07-25Merge branch 'master' into fullscreen-enumlat9nq
2021-07-25Merge pull request #6575 from FernandoS27/new_settingsbunnei
Settings: Eliminate ASYNC & MULTICORE Toggles and add GPU Accuracy to status bar
2021-07-25Merge pull request #6709 from ameerj/screenshot-pathMorph
main: Fix screenshot filepath construction
2021-07-25Merge pull request #6585 from ameerj/hadesbunnei
Shader Decompiler Rewrite
2021-07-25main: Fix screenshot filepath constructionameerj
The screenshot directory path returned does not have a trailing directory separator character. This caused screenshots to be saved in the parent directory of the configured screenshot directory. This fixes that behavior
2021-07-25Merge pull request #6699 from lat9nq/common-threadsbunnei
common: Publically link to pthreads
2021-07-24Merge pull request #6690 from ReinUsesLisp/dma-clear-fixupsbunnei
buffer_cache: Misc fixups related to buffer clears
2021-07-23renderer_base: Removed redundant settingsameerj
use_framelimiter was not being used internally by the renderers. set_background_color was always set to true as there is no toggle for the renderer background color, instead users directly choose the color of their choice.
2021-07-23general: Rename "Frame Limit" references to "Speed Limit"ameerj
This setting is best referred to as a speed limit, as it involves the limits of all timing based aspects of the emulator, not only framerate. This allows us to differentiate it from the fps unlocker setting.
2021-07-23config, nvflinger: Add FPS cap settingameerj
Allows finer tuning of the FPS limit.
2021-07-23Merge pull request #6551 from bunnei/improve-kernel-objbunnei
Improve management of kernel objects
2021-07-23configuration: Use combobox apply template where possiblelat9nq
We don't need to manually apply this setting now that a template can do this for us.
2021-07-23general: Implement FullscreenMode enumerationlat9nq
Prevents us from using an unclear 0 or 1 to describe the fullscreen mode.
2021-07-23common: Publically link to pthreadslat9nq
Common requires pthreads but does not refer to it when linking to other modules. Fix this by linking to Threads where necessary.
2021-07-22shader: Support out of bound local memory reads and immediate writesReinUsesLisp
Support ignoring immediate out of bound writes. Writing dynamically out of bounds is not yet supported (e.g. R0+0x4). Reading out of bounds yields zero. This is supported checking for the size from the IR; if the input is immediate, the optimization passes will drop it.
2021-07-22vulkan/blit_image: Commit descriptor sets within worker threadReinUsesLisp
Fixes race condition caused. The descriptor pool is not thread safe, so we have to commit descriptor sets within the same thread.
2021-07-22vulkan_device: Blacklist Volta and older from VK_KHR_push_descriptorReinUsesLisp
Causes crashes on Link's Awakening intro. It's hard to debug if it's our fault due to bugs in validation layers.
2021-07-22qt: Remove "experimental" from asynchronous shader building UIReinUsesLisp
2021-07-22Revert "renderers: Disable async shader compilation"ReinUsesLisp
This reverts commit 4a152767286717fa69bfc94846a124a366f70065.
2021-07-22opengl: Fix asynchronous shadersReinUsesLisp
Wait for shader to build before configuring it, and wait for the shader to build before sharing it with other contexts.
2021-07-22shader_environment: Receive cache version from outsideReinUsesLisp
This allows us invalidating OpenGL and Vulkan separately in the future.
2021-07-22cmake: Remove shader cache versionReinUsesLisp
2021-07-22shader: Fix disabled attribute default valuesameerj
2021-07-22gl_device: Simplify GLASM setting logicameerj
2021-07-22glsl: Simplify FCMP emissionameerj
2021-07-22glsl: Update TessellationControl gl_inameerj
Adheres to GL_ARB_separate_shader_objects requirements
2021-07-22renderer_opengl: Use ARB_separate_shader_objectsReinUsesLisp
Ensures that states set for a particular stage are not attached to other stages which may not need them.
2021-07-22shader: Implement ISETP.Xameerj
2021-07-22shader: Avoid usage of C++20 ranges to build in clangReinUsesLisp
2021-07-22glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZEameerj
2021-07-22gl_shader_cache: Properly implement asynchronous shadersReinUsesLisp
2021-07-22shader_recompiler, video_core: Resolve clang errorslat9nq
Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors
2021-07-22main: Update Shader Cache menu optionsameerj
This change adds two new context menu items to remove either the OpenGL or the Vulkan shader caches individually, and the provides the option to remove all caches for the selected title. This also changes the behavior of the open shader cache option. Now it creates the shader cache directory for the title if it does not yet exist.
2021-07-22renderers: Fix clang formattingameerj
2021-07-22shader: Manually convert from array<u32> to bitset instead of using bit_castReinUsesLisp
2021-07-22renderers: Disable async shader compilationameerj
The current implementation is prone to causing graphical issues. Disable until a better solution is implemented.
2021-07-22maxwell_to_vk: Add R16_SNORMReinUsesLisp
2021-07-22configure_graphics: Mark SPIR-V as Experimental, Mesa onlylat9nq
2021-07-22glsl: Fix tracking of info.uses_shadow_lodameerj
2021-07-22shader: Ignore global memory ops on devices lacking int64 supportameerj
2021-07-22vulkan_device: Add missing include algorithmlat9nq
2021-07-22vulkan_device: Blacklist ampere devices from float16 mathameerj
2021-07-22dual_vertex_pass: Clang formatameerj