Commit Graph

2608 Commits

Author SHA1 Message Date
ameerj d891de0664 gl_rasterizer: Fix rescale dirty state checking 2021-11-16 22:11:29 +01:00
ameerj b83c3e7182 gl_graphics_pipeline: Add downscale factor to shader uniforms 2021-11-16 22:11:28 +01:00
ReinUsesLisp dacd5da998 texture_cache: Simplify image view queries and blacklisting 2021-11-16 22:11:28 +01:00
Fernando Sahmkow 13c8573186 OpenGL: set linear mag filter when blitting a downscaled image. 2021-11-16 22:11:28 +01:00
ReinUsesLisp 7c4cd0eb06 opengl: Use Shader::NumDescriptors when possible 2021-11-16 22:11:28 +01:00
ameerj 99659cf491 gl_texture_cache: Simplify rescaling 2021-11-16 22:11:28 +01:00
ameerj e1f1b85d64 gl_texture_cache: Implement ScaleDown 2021-11-16 22:11:27 +01:00
ameerj 7d1f24e490 gl_texture_cache: Rescale fixes for multi-layered textures 2021-11-16 22:11:27 +01:00
ameerj e7867b26ff renderer_gl: Resolution scaling fixes 2021-11-16 22:11:27 +01:00
Fernando Sahmkow 835110d72c Texture Cache: More rescaling fixes. 2021-11-16 22:11:27 +01:00
ameerj b3cedc87b9 gl_texture_cache: WIP texture rescale 2021-11-16 22:11:27 +01:00
Fernando Sahmkow 256c4b28c4 Texture Cache: Implement Vulkan UpScaling & DownScaling 2021-11-16 22:11:27 +01:00
Fernando Sahmkow 7a957d501f VideoCore: Initial Setup for the Resolution Scaler. 2021-11-16 22:11:27 +01:00
Morph c5b0836c96 gl_rasterizer: Remove unused includes
This removes unused includes, especially the core includes which were causing this file to be recompiled every time files included by those headers are modified.
2021-10-31 23:57:51 -04:00
lat9nq 5167b19cd6 gl_device: Force GLASM on NVIDIA drivers 495-496
GLSL shaders currently do not render correctly on the recent NVIDIA
drivers. This adds a check that forces assembly shaders for these
drivers since they seem unaffected and adds a warning informing of the
decision.

Developers can disable the check by enabling graphics debugging.
2021-10-28 19:38:49 -04:00
ameerj 6cfd975469 settings: Remove std::chrono usage
Alleviates the dependency on chrono for all files that include settings.h
2021-10-17 00:37:49 -04:00
ameerj 20a88d9d62 gpu: Migrate implementation to the cpp file 2021-10-03 00:35:57 -04:00
bunnei d08fdea916 Merge pull request #7061 from ameerj/dma-buffer-misc
buffer_cache, maxwell_dma: Minor refactoring and code fixes
2021-09-30 12:34:28 -07:00
bunnei d905feb0c0 Merge pull request #7036 from ameerj/ogl-bgr-v2
gl_texture_cache: Unify BGR copy passes using PBOs
2021-09-29 16:10:56 -07:00
ameerj 73dd6230aa buffer_cache: Minor fixes
Loop through the tmp_intervals by reference, rather than by copy, and fix gl clear buffer size calculation.
2021-09-19 20:35:07 -04:00
ameerj 933b5dff61 host_shaders: Remove opengl_copy_bgra.comp 2021-09-16 19:49:13 -04:00
ameerj 6aaf430d15 gl_texture_cache: Migrate BGRCopyPass from util_shaders
The BGR copies no longer use shaders.
2021-09-16 19:49:12 -04:00
ameerj 6af2ea8253 util_shaders: Unify BGRA copy passes 2021-09-15 21:10:52 -04:00
Morph 653acf39e2 renderers: Log total pipeline count 2021-09-14 13:18:26 -04:00
ameerj e9a8e011f6 structured_control_flow: Conditionally invoke demote reorder pass
This is only needed on select drivers when a fragment shader discards/demotes.
2021-08-30 11:46:24 -04:00
Fernando S 254526c3d2 Merge pull request #6820 from yzct12345/split-cache
texture_cache: Split out template definitions
2021-08-10 12:23:05 +02:00
bunnei 6bb6ae6dcb Merge pull request #6791 from ameerj/astc-opt
astc_decoder: Various performance and memory optimizations
2021-08-06 21:45:24 -07:00
yzct12345 0cef80ec92 texture_cache: Address ameerj's review 2021-08-07 01:27:47 +00:00
yzct12345 e99a125e19 texture_cache: Don't change copyright year 2021-08-05 20:52:12 +00:00
yzct12345 4436e63616 texture_cache: Address ameerj's review 2021-08-05 20:46:24 +00:00
yzct12345 e85149c507 texture_cache: Split templates out 2021-08-05 13:52:30 +00:00
ameerj bfb2325618 astc_decoder: Reduce workgroup size
This reduces the amount of over dispatching when there are odd dimensions (i.e. ASTC 8x5), which rarely evenly divide into 32x32.
2021-08-01 01:22:27 -04:00
ameerj 2ff4eb5def astc_decoder: Compute offset swizzles in-shader
Alleviates the dependency on the swizzle table and a uniform which is constant for all ASTC texture sizes.
2021-08-01 01:22:26 -04:00
ameerj 958ede1ed9 astc_decoder: Optimize the use EncodingData
This buffer was a list of EncodingData structures sorted by their bit length, with some duplication from the cpu decoder implementation.
We can take advantage of its sorted property to optimize its usage in the shader.

Thanks to wwylele for the optimization idea.
2021-07-31 21:36:26 -04:00
ameerj 9629e74364 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
2021-07-28 21:46:08 -04:00
Lioncash ac3aa96ebc gl_shader_cache: Remove unused variable 2021-07-27 06:23:49 -04:00
bunnei 08350d1744 Merge pull request #6696 from ameerj/speed-limit-rename
general: Rename "Frame Limit" references to "Speed Limit"
2021-07-26 18:51:00 -07:00
bunnei 0a328423e8 Merge pull request #6585 from ameerj/hades
Shader Decompiler Rewrite
2021-07-25 11:39:04 -07:00
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.
2021-07-23 22:10:01 -04:00
ReinUsesLisp c29f2c9507 Revert "renderers: Disable async shader compilation"
This reverts commit 4a152767286717fa69bfc94846a124a366f70065.
2021-07-22 21:51:40 -04:00
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.
2021-07-22 21:51:40 -04:00
ReinUsesLisp a97c0ccabd shader_environment: Receive cache version from outside
This allows us invalidating OpenGL and Vulkan separately in the future.
2021-07-22 21:51:40 -04:00
ameerj 3927809a63 shader: Fix disabled attribute default values 2021-07-22 21:51:40 -04:00
ameerj a7fe20e636 gl_device: Simplify GLASM setting logic 2021-07-22 21:51:40 -04:00
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.
2021-07-22 21:51:40 -04:00
ameerj a23f05c215 glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 2021-07-22 21:51:40 -04:00
ReinUsesLisp ac0c2f8edc gl_shader_cache: Properly implement asynchronous shaders 2021-07-22 21:51:40 -04:00
ameerj 2cde6c5708 renderers: Fix clang formatting 2021-07-22 21:51:40 -04:00
ameerj e45e458b17 renderers: Disable async shader compilation
The current implementation is prone to causing graphical issues. Disable until a better solution is implemented.
2021-07-22 21:51:40 -04:00
ameerj 508e41777b shader: Ignore global memory ops on devices lacking int64 support 2021-07-22 21:51:40 -04:00