ameerj
e2f0f51295
gl_texture_cache/rescaling_pass: minor cleanup
2021-11-16 22:11:30 +01:00
ameerj
1e67e6c225
gl_texture_cache: Simplify scaling
...
We don't need to reconstruct new textures every time we ScaleUp/ScaleDown. We can scale up once, and revert to the original texture whenever scaling down.
Fixes memory leaks due to glDeleteTextures being deferred for later handling on some drivers
2021-11-16 22:11:29 +01:00
ameerj
8539edc252
Renderers: Unify post processing filter shaders
2021-11-16 22:11:29 +01:00
ameerj
f6e3e6651c
gl_texture_cache: fix scaling on upload
2021-11-16 22:11:29 +01:00
Fernando Sahmkow
bca25d2a0f
Renderer: Implement Bicubic and ScaleForce filters.
2021-11-16 22:11:29 +01:00
ameerj
02f27b1992
shader, video_core: Fix GCC build errors
2021-11-16 22:11:29 +01:00
ReinUsesLisp
d04e2dac6c
shader: Properly scale image reads and add GL SPIR-V support
...
Thanks for everything!
2021-11-16 22:11:29 +01:00
ReinUsesLisp
928ff21aae
shader: Properly blacklist and scale image loads
2021-11-16 22:11:29 +01:00
ReinUsesLisp
0100b5e700
texture_cache: Add getter to query if image view is rescaled
2021-11-16 22:11:29 +01:00
ReinUsesLisp
6e61089164
gl_texture_cache: Fix scaling blits
2021-11-16 22:11:29 +01:00
ReinUsesLisp
0d12e498ab
glsl/glasm: Pass and use scaling parameters in shaders
2021-11-16 22:11:29 +01:00
ReinUsesLisp
d7178ad04e
gl_rasterizer: Properly scale viewports and scissors
2021-11-16 22:11:29 +01:00
ameerj
e2a7f219e1
gl_texture_cache: Fix multi layered texture Scale
2021-11-16 22:11:29 +01:00
ameerj
650b57386a
gl_compute_pipeline: Add downscale factor to shader uniforms
2021-11-16 22:11:29 +01:00
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