Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-07-26 | shader: Fold integer FMA from Nvidia's pattern | ReinUsesLisp | |
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-26 | shader: Use TryInstRecursive on XMAD multiply folding | ReinUsesLisp | |
Simplify a bit the logic. | |||
2021-07-26 | shader: Add TryInstRecursive utility to values | ReinUsesLisp | |
2021-07-25 | Merge pull request #6697 from ameerj/fps-cap | bunnei | |
config, nvflinger: Add FPS cap setting | |||
2021-07-25 | Merge pull request #6575 from FernandoS27/new_settings | bunnei | |
Settings: Eliminate ASYNC & MULTICORE Toggles and add GPU Accuracy to status bar | |||
2021-07-25 | Merge pull request #6709 from ameerj/screenshot-path | Morph | |
main: Fix screenshot filepath construction | |||
2021-07-25 | Merge pull request #6585 from ameerj/hades | bunnei | |
Shader Decompiler Rewrite | |||
2021-07-25 | main: Fix screenshot filepath construction | ameerj | |
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-25 | Merge pull request #6699 from lat9nq/common-threads | bunnei | |
common: Publically link to pthreads | |||
2021-07-24 | Merge pull request #6690 from ReinUsesLisp/dma-clear-fixups | bunnei | |
buffer_cache: Misc fixups related to buffer clears | |||
2021-07-23 | config, nvflinger: Add FPS cap setting | ameerj | |
Allows finer tuning of the FPS limit. | |||
2021-07-23 | Merge pull request #6551 from bunnei/improve-kernel-obj | bunnei | |
Improve management of kernel objects | |||
2021-07-23 | common: Publically link to pthreads | lat9nq | |
Common requires pthreads but does not refer to it when linking to other modules. Fix this by linking to Threads where necessary. | |||
2021-07-22 | shader: Support out of bound local memory reads and immediate writes | ReinUsesLisp | |
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-22 | vulkan/blit_image: Commit descriptor sets within worker thread | ReinUsesLisp | |
Fixes race condition caused. The descriptor pool is not thread safe, so we have to commit descriptor sets within the same thread. | |||
2021-07-22 | vulkan_device: Blacklist Volta and older from VK_KHR_push_descriptor | ReinUsesLisp | |
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-22 | qt: Remove "experimental" from asynchronous shader building UI | ReinUsesLisp | |
2021-07-22 | Revert "renderers: Disable async shader compilation" | ReinUsesLisp | |
This reverts commit 4a152767286717fa69bfc94846a124a366f70065. | |||
2021-07-22 | opengl: Fix asynchronous shaders | ReinUsesLisp | |
Wait for shader to build before configuring it, and wait for the shader to build before sharing it with other contexts. | |||
2021-07-22 | shader_environment: Receive cache version from outside | ReinUsesLisp | |
This allows us invalidating OpenGL and Vulkan separately in the future. | |||
2021-07-22 | cmake: Remove shader cache version | ReinUsesLisp | |
2021-07-22 | shader: Fix disabled attribute default values | ameerj | |
2021-07-22 | gl_device: Simplify GLASM setting logic | ameerj | |
2021-07-22 | glsl: Simplify FCMP emission | ameerj | |
2021-07-22 | glsl: Update TessellationControl gl_in | ameerj | |
Adheres to GL_ARB_separate_shader_objects requirements | |||
2021-07-22 | renderer_opengl: Use ARB_separate_shader_objects | ReinUsesLisp | |
Ensures that states set for a particular stage are not attached to other stages which may not need them. | |||
2021-07-22 | shader: Implement ISETP.X | ameerj | |
2021-07-22 | shader: Avoid usage of C++20 ranges to build in clang | ReinUsesLisp | |
2021-07-22 | glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE | ameerj | |
2021-07-22 | gl_shader_cache: Properly implement asynchronous shaders | ReinUsesLisp | |
2021-07-22 | shader_recompiler, video_core: Resolve clang errors | lat9nq | |
Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors | |||
2021-07-22 | main: Update Shader Cache menu options | ameerj | |
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-22 | renderers: Fix clang formatting | ameerj | |
2021-07-22 | shader: Manually convert from array<u32> to bitset instead of using bit_cast | ReinUsesLisp | |
2021-07-22 | renderers: Disable async shader compilation | ameerj | |
The current implementation is prone to causing graphical issues. Disable until a better solution is implemented. | |||
2021-07-22 | maxwell_to_vk: Add R16_SNORM | ReinUsesLisp | |
2021-07-22 | configure_graphics: Mark SPIR-V as Experimental, Mesa only | lat9nq | |
2021-07-22 | glsl: Fix tracking of info.uses_shadow_lod | ameerj | |
2021-07-22 | shader: Ignore global memory ops on devices lacking int64 support | ameerj | |
2021-07-22 | vulkan_device: Add missing include algorithm | lat9nq | |
2021-07-22 | vulkan_device: Blacklist ampere devices from float16 math | ameerj | |
2021-07-22 | dual_vertex_pass: Clang format | ameerj | |
2021-07-22 | gl_shader_cache: Fixes for async shaders | ameerj | |
2021-07-22 | vulkan_device: Enable VK_EXT_extended_dynamic_state on RADV 21.2 onward | ReinUsesLisp | |
2021-07-22 | emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 Nvidia | ReinUsesLisp | |
Fix regression on Fire Emblem: Three Houses when using native fp16. | |||
2021-07-22 | configure_graphics: Re-order vulkan device populating | lat9nq | |
2021-07-22 | shader: GCC fmt 8.0.0 fixes | lat9nq | |
2021-07-22 | shader: Account for 33-bit IADD3 scenario | ameerj | |
2021-07-22 | shader: Only apply shift on register mode for IADD3 | ReinUsesLisp | |
2021-07-22 | vk_rasterizer: Workaround bug in VK_EXT_vertex_input_dynamic_state | ReinUsesLisp | |
Workaround potential bug on Nvidia's driver where only updating high attributes leaves low attributes out dated. |