Lioncash
0692818106
emit_spirv_instructions: Add missing header guard
4 years ago
Lioncash
05201f4f88
shader_recompiler: Remove unnecessary [[nodiscard]] instances
[[nodiscard]] doesn't do anything on functions with a void return type
and causes superfluous warnings.
4 years ago
Lioncash
9d5aa3d65a
control_flow: Fix duplicate switch case in OpcodeToken
This previously duplicated the case of the PBK case above it.
4 years ago
Lioncash
23da07e8e5
object_pool: Add missing return in Chunk move assignment operator
Prevents undefined behavior from occurring.
4 years ago
ReinUsesLisp
4f19303fe0
shader: Fold integer FMA from Nvidia's pattern
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
```
4 years ago
ReinUsesLisp
c6e1483e17
shader: Use TryInstRecursive on XMAD multiply folding
Simplify a bit the logic.
4 years ago
ReinUsesLisp
222a6542ab
shader: Add TryInstRecursive utility to values
4 years ago
bunnei
eee75fe604
Merge pull request #6697 from ameerj/fps-cap
config, nvflinger: Add FPS cap setting
4 years ago
lat9nq
24b832dee9
Merge branch 'master' into fullscreen-enum
4 years ago
bunnei
4827595bb1
Merge pull request #6575 from FernandoS27/new_settings
Settings: Eliminate ASYNC & MULTICORE Toggles and add GPU Accuracy to status bar
4 years ago
Morph
fc99dce96e
Merge pull request #6709 from ameerj/screenshot-path
main: Fix screenshot filepath construction
4 years ago
bunnei
0a328423e8
Merge pull request #6585 from ameerj/hades
Shader Decompiler Rewrite
4 years ago
ameerj
01b566101b
main: Fix screenshot filepath construction
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
4 years ago
bunnei
1c2599a130
Merge pull request #6699 from lat9nq/common-threads
common: Publically link to pthreads
4 years ago
Fernando S
15533d8d8d
Merge pull request #6706 from FernandoS27/skyline-love-letter
Grant a partial license exception to Skyline Emulator.
4 years ago
Fernando Sahmkow
bf39259ef7
Grant a license exception to Skyline Emulator.
4 years ago
bunnei
c47035538f
Merge pull request #6690 from ReinUsesLisp/dma-clear-fixups
buffer_cache: Misc fixups related to buffer clears
4 years ago
ameerj
2fef43b32a
renderer_base: Removed redundant settings
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.
4 years ago
ameerj
aeff61a0cc
general: Rename "Frame Limit" references to "Speed Limit"
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.
4 years ago
ameerj
8c0d6af843
config, nvflinger: Add FPS cap setting
Allows finer tuning of the FPS limit.
4 years ago
bunnei
3cc092849c
Merge pull request #6551 from bunnei/improve-kernel-obj
Improve management of kernel objects
4 years ago
lat9nq
f70155db64
configuration: Use combobox apply template where possible
We don't need to manually apply this setting now that a template can do
this for us.
4 years ago
lat9nq
4b02e2b489
general: Implement FullscreenMode enumeration
Prevents us from using an unclear 0 or 1 to describe the fullscreen
mode.
4 years ago
lat9nq
0ea70212af
common: Publically link to pthreads
Common requires pthreads but does not refer to it when linking to other
modules. Fix this by linking to Threads where necessary.
4 years ago
ReinUsesLisp
ba89444667
shader: Support out of bound local memory reads and immediate writes
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.
4 years ago
ReinUsesLisp
7efec6bce4
vulkan/blit_image: Commit descriptor sets within worker thread
Fixes race condition caused. The descriptor pool is not thread safe, so
we have to commit descriptor sets within the same thread.
4 years ago
ReinUsesLisp
6c7f6e1228
vulkan_device: Blacklist Volta and older from VK_KHR_push_descriptor
Causes crashes on Link's Awakening intro. It's hard to debug if it's our
fault due to bugs in validation layers.
4 years ago
ReinUsesLisp
67209b8d43
cmake: Remove unused code in GenerateSCMRev.cmake
Remove shader code hash generation code as it's no longer used.
4 years ago
ReinUsesLisp
4ae6c023df
qt: Remove "experimental" from asynchronous shader building UI
4 years ago
ReinUsesLisp
c29f2c9507
Revert "renderers: Disable async shader compilation"
This reverts commit 4a15276728 .
4 years ago
ReinUsesLisp
8a74a2c895
opengl: Fix asynchronous shaders
Wait for shader to build before configuring it, and wait for the shader
to build before sharing it with other contexts.
4 years ago
ReinUsesLisp
a97c0ccabd
shader_environment: Receive cache version from outside
This allows us invalidating OpenGL and Vulkan separately in the future.
4 years ago
ReinUsesLisp
2e6acac647
cmake: Remove shader cache version
4 years ago
ameerj
3927809a63
shader: Fix disabled attribute default values
4 years ago
ameerj
a7fe20e636
gl_device: Simplify GLASM setting logic
4 years ago
ameerj
e6d3a301f2
glsl: Simplify FCMP emission
5 years ago
ameerj
4f3e869dd0
glsl: Update TessellationControl gl_in
Adheres to GL_ARB_separate_shader_objects requirements
5 years ago
ReinUsesLisp
4f84ef1f2b
renderer_opengl: Use ARB_separate_shader_objects
Ensures that states set for a particular stage are not attached to other
stages which may not need them.
5 years ago
ameerj
ffe72f8d37
shader: Implement ISETP.X
5 years ago
ReinUsesLisp
2321666580
shader: Avoid usage of C++20 ranges to build in clang
5 years ago
ameerj
a23f05c215
glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
5 years ago
ReinUsesLisp
ac0c2f8edc
gl_shader_cache: Properly implement asynchronous shaders
5 years ago
lat9nq
b557314001
shader_recompiler, video_core: Resolve clang errors
Silences the following warnings-turned-errors:
-Wsign-conversion
-Wunused-private-field
-Wbraced-scalar-init
-Wunused-variable
And some other errors
5 years ago
ameerj
779288c071
main: Update Shader Cache menu options
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.
5 years ago
ameerj
2cde6c5708
renderers: Fix clang formatting
5 years ago
ReinUsesLisp
cdb3837085
shader: Manually convert from array<u32> to bitset instead of using bit_cast
5 years ago
ameerj
e45e458b17
renderers: Disable async shader compilation
The current implementation is prone to causing graphical issues. Disable until a better solution is implemented.
5 years ago
ReinUsesLisp
b654537f0f
maxwell_to_vk: Add R16_SNORM
5 years ago
lat9nq
df62bcd9cb
configure_graphics: Mark SPIR-V as Experimental, Mesa only
5 years ago
ameerj
f2f16e3a1d
glsl: Fix tracking of info.uses_shadow_lod
5 years ago