Ameer J
370e480c8c
gl_graphics_pipeline: Improve shader builder synchronization using fences ( #7969 )
...
* gl_graphics_pipeline: Improve shader builder synchronization
Make use of GLsync objects to ensure better synchronization between shader builder threads and the main context
* gl_graphics_pipeline: Make built_fence access threadsafe
* gl_graphics_pipeline: Use GLsync objects only when building in parallel
* gl_graphics_pipeline: Replace GetSync calls with non-blocking waits
The spec states that a ClientWait on a Fence object ensures the changes propagate to the calling context
2022-03-06 16:46:49 +01:00
ameerj
7f7df43da2
gl_fence_manager: Minor optimization to signal querying
...
Per the spec, bufSize is the number of integers that will be written, in this case, 1.
Also, the length argument is optional if the information of the number of elements written is not needed.
2022-02-27 17:57:33 -05:00
Morph
e292b2d991
maxwell_to_(gl/vk): Add 11_11_10 float vertex format
...
- Used by パワプロクンポケットR
2022-02-25 17:11:17 -05:00
Lioncash
f785f73e92
general: Replace NonCopyable struct with equivalents
2022-02-02 13:17:12 -05:00
Fernando Sahmkow
8a6e6465a7
Rasterizer: Refactor inlineToMemory.
2022-02-01 01:47:28 +01:00
Fernando Sahmkow
4258d515e6
Rasterizer: Implement Inline2Memory Acceleration.
2022-01-29 22:53:27 +01:00
Fernando Sahmkow
f58ee3f15f
ShaderDecompiler: Add a debug option to dump the game's shaders.
2022-01-04 02:39:00 +01:00
Fernando S
ae7da0b12d
Merge pull request #7629 from ameerj/nv-driver-fixes
...
shaders: Add fixes for NVIDIA drivers 495+
2022-01-03 00:39:59 +01:00
ameerj
8c907c620d
glsl: Add boolean reference workaround
2021-12-29 19:03:50 -05:00
ameerj
b84d429c2e
glsl_context_get_set: Add alternative cbuf type for broken drivers
...
some drivers have a bug bitwise converting floating point cbuf values to uint variables. This adds a workaround for these drivers to make all cbufs uint and convert to floating point as needed.
2021-12-29 19:03:50 -05:00
ameerj
481b210c0d
vk_texture_cache: Fix invalidated pointer access
...
The vulkan ImageView held a reference to its source image for rescale status checking. This pointer is sometimes invalidated when the texture cache slot_images container is resized.
To avoid an invalid pointer dereference, the ImageView now holds a reference to the container itself.
2021-12-23 20:55:48 -05:00
Fernando S
648c7b4ed6
Merge pull request #7375 from vonchenplus/convert_legacy
...
Convert all legacy attributes to generic attributes
2021-12-22 17:36:05 +01:00
vonchenplus
4908a07c20
Address format clang
2021-12-18 14:27:07 +08:00
Feng Chen
e49184e606
Merge branch 'yuzu-emu:master' into convert_legacy
2021-12-18 13:57:14 +08:00
ameerj
c22c4f5d59
renderer_opengl: Minor refactoring of filter selection
2021-12-05 15:42:45 -05:00
ameerj
b8f3e5157b
blit_image: Refactor upscale factors usage
...
The image view itself can be queried to see if it is being rescaled or not, removing the need to pass the upscale/down shift factors from the texture cache.
2021-12-05 15:42:44 -05:00
bunnei
ea6fa044f3
Merge pull request #7368 from FernandoS27/vulkan-conv
...
Fix ART Blit detection regression and add D24S8 <-> RGBA8 conv to Vulkan
2021-11-20 16:51:13 -08:00
Fernando Sahmkow
da2fe81905
TextureCache: Refactor and fix linux compiling.
2021-11-20 14:46:19 +01:00
Fernando Sahmkow
0857f82913
TextureCache: Implement buffer copies on Vulkan.
2021-11-20 06:15:29 +01:00
bunnei
c3e1ffc44b
Merge pull request #7294 from vonchenplus/fix_image_update_error_when_width_too_small
...
Fix image update/download error when width too small
2021-11-19 15:56:27 -08:00
Feng Chen
4dd85f86a8
Implement convert legacy to generic
2021-11-19 22:53:58 +08:00
bunnei
c45af76ea0
Merge pull request #7357 from Morph1984/s8_uint
...
video_core: Implement S8_UINT format
2021-11-19 01:16:49 -08:00
ameerj
f7e155d8b9
gl_texture_cache: Round format conversion PBO to next power of 2
2021-11-17 23:49:44 -05:00
Morph
6dd6dc046c
renderer_opengl: Implement S8_UINT stencil format
2021-11-17 15:05:07 -05:00
Feng Chen
894cc9d876
Fix image update/download error when width too small
2021-11-17 12:21:17 +08:00
ameerj
20ed7ba441
texture_cache: Use pixel format conversion when supported by the runtime
2021-11-16 22:32:46 -05:00
ameerj
50c3d53076
gl_texture_cache: Make FormatConversionPass more generic
...
This allows the usage of the FormatConversionPass to be applied to more than the previously used BGR conversion scenarios.
2021-11-16 22:32:11 -05:00
ameerj
35ca6274f4
gl_texture_cache: Rename BGRCopyPass to FormatConversionPass
2021-11-16 22:31:58 -05:00
FernandoS27
1128cc35b9
TextureCache: OGL query device memory if possible.
2021-11-17 01:45:50 +01:00
Fernando Sahmkow
978f598ff6
TextureCache: Fix OGL cleaning
2021-11-17 00:59:46 +01:00
Fernando Sahmkow
282e04bffb
TextureCache: Add automatic anisotropic filtering and refactor code.
2021-11-16 23:14:51 +01:00
Fernando Sahmkow
5230378709
TextureCache: Make a better Anisotropic setter.
2021-11-16 22:11:33 +01:00
FernandoS27
de1c8c5c2c
Texture Cahe/Shader decompiler: Resize PointSize on rescaling, refactor and make reaper more agressive on 4Gb GPUs.
2021-11-16 22:11:33 +01:00
ameerj
9fc1fa1b0d
gl_resource_manager: Ensure non EXT_framebuffer objects are created
2021-11-16 22:11:33 +01:00
FernandoS27
9189aacfe2
OpenGL: Fix viewport/Scissor scaling on downscaling.
2021-11-16 22:11:33 +01:00
Marshall Mohror
dcc5b4f6b0
Presentation: Only use FP16 in scaling shaders on supported devices in Vulkan
2021-11-16 22:11:32 +01:00
ameerj
93c9eb196f
gl_rasterizer: Fix ScissorTest and Clear when scaling
2021-11-16 22:11:32 +01:00
ameerj
172d4f1e3b
gl_texture_cache: Simplify scaling procedures
2021-11-16 22:11:32 +01:00
Fernando Sahmkow
5c6fa88935
OpenGlTextureCache: Fix state invalidation on rescaling.
2021-11-16 22:11:32 +01:00
Marshall Mohror
056894f07a
OpenGL: fix FXAA with scaling
2021-11-16 22:11:32 +01:00
Marshall Mohror
48cf376462
OpenGL: Implement FXAA
2021-11-16 22:11:32 +01:00
FernandoS27
2eff80b47f
QtGUI: Add buttton to toggle the filter.
2021-11-16 22:11:32 +01:00
FernandoS27
9e065b9c7d
VideoCore: Add gaussian filtering.
2021-11-16 22:11:32 +01:00
Fernando Sahmkow
3b61de74e6
Texture Cache: fix memory managment and optimize scaled downloads, uploads.
2021-11-16 22:11:31 +01:00
Fernando Sahmkow
425ab9ef4b
Texture Cache: Fix downscaling and correct memory comsumption.
2021-11-16 22:11:31 +01:00
Fernando Sahmkow
b60966041c
Presentation: add Nearest Neighbor filter.
2021-11-16 22:11:31 +01:00
FernandoS27
d4f5193bd3
Texture Cache: Rescale conversions between depth and color
2021-11-16 22:11:31 +01:00
Fernando Sahmkow
ef1dc42635
Texture cache: Fix memory consumption and ignore rating when a depth texture is rendered.
2021-11-16 22:11:31 +01:00
ameerj
abd07e4158
video_core: Refactor resolution scale function
2021-11-16 22:11:31 +01:00
ameerj
3233fa5dc8
gl_texture_cache: Disable scissor test when scaling textures
...
Fixes a bug on BOTW where some objects were no longer being rendered after blitting
2021-11-16 22:11:30 +01:00