ameerj
7ac99bb127
renderers: Add explicit invert_y bool to screenshot callback
OpenGL and Vulkan images render in different coordinate systems. This allows us to specify the coordinate system of the screenshot within each renderer
4 years ago
ameerj
75e7f54fb0
renderer_vulkan: Implement screenshots
4 years ago
ameerj
548bac8989
vk_blit_screen: Add public CreateFramebuffer method
4 years ago
ameerj
1e6c5d323d
vk_blit_screen: Make Draw method more generic
Allows specifying the framebuffer and render area dimensions, rather than being hard coded for the render window.
4 years ago
Lioncash
00e100de08
render_target: Add missing initializer for size extent
Everything else has a default constructor that does the straightforward
thing of initializing most members to a default value, except for the
size.
We explicitly initialize the size (and others, for consistency), to
prevent potential uninitialized reads from occurring. Particularly given
the largeish surface area that this struct is used in.
4 years ago
Lioncash
f8964dd89a
video_core/engine: Consistently initialize rasterizer pointers
Ensures all of the engines have consistent and deterministic
initialization of the rasterizer pointers.
4 years ago
Lioncash
8c82c594f0
vulkan_wrapper: Fix SetObjectName() always indicating objects as images
We should be using the passed in object type instead.
4 years ago
Lioncash
ec56a17acd
buffer_cache: Remove unused small_vector in CommitAsyncFlushesHigh()
Given this is non-trivial, the constructor is required to execute, so
this removes a bit of redundant codegen.
4 years ago
Lioncash
075a744e38
gl_shader_cache: Remove unused variable
4 years ago
Lioncash
296728ec46
vk_compute_pass: Remove unused captures
Resolves two compiler warnings.
4 years ago
Lioncash
c27ddb44de
exception: Make constructors explicit
Ensures that exception construction is always explicit.
4 years ago
Lioncash
e490ddf327
exception: Make what() member function nodiscard
4 years ago
Lioncash
90f3678ada
exception: Narrow down specific header
We can use the <exception> header instead of pulling in all of the
exception-style classes.
4 years ago
Morph
f5f04cce01
common: fs: fs_util: Add BufferToUTF8String
Allows for direct conversion to std::string without having to convert std::u8string to std::string
4 years ago
Robin Kertels
75050c788c
vk_staging_buffer_pool: Fall back to host memory when allocation fails
4 years ago
ReinUsesLisp
5f9a4817a5
vk_stream_buffer: Remove unused stream buffer
Remove unused file.
4 years ago
Vamsi Krishna
c05bbf375d
configure_graphics: reword GLASM option
Change wording to explain that GLASM is actually short for Assembly Shaders
4 years ago
ReinUsesLisp
771dcb2a56
vk_compute_pass: Fix pipeline barrier for indexed quads
Use an index buffer barrier instead of a vertex input read barrier.
4 years ago
ReinUsesLisp
27ed6e7c2b
vk_buffer_cache: Add transform feedback usage to null buffer
Fixes bad API usages on Vulkan.
4 years ago
Lioncash
3e7813e49d
emit_glasm: Fix LINESS_ADJACENCY typo in InputPrimitive()
This should be LINES_ADJACENCY
4 years ago
Lioncash
c2915d9f2f
emit_spirv_instructions: Add missing header guard
4 years ago
Lioncash
06ca911621
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
0b67df1f7c
control_flow: Fix duplicate switch case in OpcodeToken
This previously duplicated the case of the PBK case above it.
4 years ago
Lioncash
89ad9df0e9
object_pool: Add missing return in Chunk move assignment operator
Prevents undefined behavior from occurring.
4 years ago
ameerj
9dd35b7b66
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
ameerj
c80ae87b4e
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
9dfbc9bdce
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
2c6e274b39
config, nvflinger: Add FPS cap setting
Allows finer tuning of the FPS limit.
4 years ago
lat9nq
eb61824ea5
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
7f13104c17
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.
5 years ago
ReinUsesLisp
a55ff22900
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.
5 years ago
ReinUsesLisp
f6796cad9c
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.
5 years ago
ReinUsesLisp
a741513e65
qt: Remove "experimental" from asynchronous shader building UI
5 years ago
ReinUsesLisp
3c6d440015
Revert "renderers: Disable async shader compilation"
This reverts commit 4a15276728 .
5 years ago
ReinUsesLisp
8381490a04
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.
5 years ago
ReinUsesLisp
258f35515d
shader_environment: Receive cache version from outside
This allows us invalidating OpenGL and Vulkan separately in the future.
5 years ago
ReinUsesLisp
4a82450c81
cmake: Remove shader cache version
5 years ago
ameerj
56478bc9ac
shader: Fix disabled attribute default values
5 years ago
ameerj
c9528282d9
gl_device: Simplify GLASM setting logic
5 years ago
ameerj
56c30dd9e0
glsl: Simplify FCMP emission
5 years ago
ameerj
79d2684261
glsl: Update TessellationControl gl_in
Adheres to GL_ARB_separate_shader_objects requirements
5 years ago
ReinUsesLisp
e1ed218b41
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
fc7bed21b5
shader: Implement ISETP.X
5 years ago
ReinUsesLisp
bf2956d77a
shader: Avoid usage of C++20 ranges to build in clang
5 years ago
ameerj
94af0a00f6
glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
5 years ago
ReinUsesLisp
8c166c68d4
gl_shader_cache: Properly implement asynchronous shaders
5 years ago
lat9nq
49946cf780
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
4e4b8775b5
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
41493fbe89
renderers: Fix clang formatting
5 years ago
ReinUsesLisp
2235a51b5d
shader: Manually convert from array<u32> to bitset instead of using bit_cast
5 years ago