Commit Graph

2137 Commits

Author SHA1 Message Date
078fc74b54 Android/OGL: fix bounding box for OpenGL-ES
OpenGL-ES does not have glGetBufferSubData, so use glMapBufferRange instead
2019-01-09 21:08:49 -05:00
66a7db3850 Always flush on swap 2019-01-08 18:28:59 +08:00
7afd5cc2fb Use main buffers for utility draws 2018-12-04 17:37:25 +10:00
5ca18ff04e Vulkan: Restore viewport/scissor state on RestoreAPIState 2018-12-04 17:36:08 +10:00
b409a87d1a D3D: Clamp viewport to current framebuffer dimensions, not target 2018-12-04 17:36:08 +10:00
fa8262fa4a Vulkan: Don't panic on missing color/depth buffer in config 2018-12-04 17:36:08 +10:00
2644e920cc Renderer: Add backbuffer format to base class 2018-12-04 17:36:08 +10:00
1adcd47dcb Renderer: Add a base Initialize() method to match Shutdown() 2018-12-04 17:36:08 +10:00
3ab0f02cec vulkan: fx index buffer reserve size 2018-12-03 19:23:36 +08:00
6388992f62 Merge pull request #7039 from stenzek/moltenvk
Vulkan: macOS support via MoltenVK
2018-11-30 21:55:30 +10:00
a0653a1a34 Vulkan: Fix incorrect fence being assigned to staging texture 2018-11-12 01:02:32 +10:00
673f1963a0 Vulkan: Support macOS via MoltenVK
The path to the MoltenVK library can be specified by the
LIBMOLTENVK_PATH environment variable, otherwise it assumes it is
located in the application bundle's Contents/MacOS directory.
2018-11-07 05:41:09 -08:00
c7a2b1572b CMake: Build Vulkan backend on macOS 2018-11-07 05:12:20 -08:00
7efdd1070b OGL: Fix crash when opening graphics window on another backend 2018-11-07 21:20:12 +10:00
66b6e72c5e Vulkan: Submit fewer command buffers in deferred EFB copies mode 2018-11-07 16:25:01 +10:00
8e2c063d62 TextureCache: Implement deferred/batched EFB copies 2018-11-07 16:25:01 +10:00
f1413dbbf6 Merge pull request #7501 from Techjar/class-memaccess-cleanup
VideoCommon: Clean up class-memaccess warnings
2018-10-28 23:59:51 +01:00
7c4607a05a Vulkan: Add missing increment of draw call count 2018-10-28 11:32:26 +10:00
0559311f92 GLContext: Runtime selection of EGL/GLX on Linux 2018-10-20 21:11:34 +10:00
025e909773 GLContext: Use destructor instead of Shutdown() to cleanup
Also uses the Initialize() method to make the context current.
2018-10-20 21:11:34 +10:00
dcdd02d646 GLContext: Remove global context pointer 2018-10-20 21:11:34 +10:00
eb284b5d66 VideoBackends: Pass window system info from host on creation 2018-10-20 21:11:34 +10:00
9c57a98723 GLContext: Use host connection
This also removes the need for a sleeping event thread.
2018-10-20 21:11:34 +10:00
1d827a5223 Renderer: Pull dimensions from GLInterface/Swapchain 2018-10-20 21:11:34 +10:00
a3961750a7 Drop Host_GetRenderSurface and pass display to backend 2018-10-20 21:11:34 +10:00
134d967be2 Refactoring and cleanup of GLInterface (now GLContext) 2018-10-20 21:11:34 +10:00
97cc9894e4 Update to Visual Studio's default Windows SDK 2018-10-20 00:53:08 +01:00
8560eecd49 VideoCommon: Clean up class-memaccess warnings 2018-10-14 23:05:47 -04:00
e3f475b30e NullBackend: Initialize vtx_decl in VertexFormat
This field was previously left uninitialized, which resulted in corrupted
UID caches being created.
2018-10-14 21:24:09 +10:00
ecd4897d43 Merge pull request #7437 from stenzek/graphics-options-race
Fix race condition caused by opening graphics options while running
2018-10-12 10:29:28 -04:00
2e905455b1 OGL: Disable scissor test when calling glBlitFramebuffer()
glBlitFramebuffer() does not bypass the scissor test, which meant that
part of texture copies (e.g. XFB) could have been clipped when running
under OpenGL ES, as glCopyImageSubData() is not supported.
2018-10-09 22:00:40 +10:00
56fdcf5f00 VideoCommon: remove unnecessary floor()
floatindex is clamped to the range [0, 9]. For non-negative numbers
floor() is equivalent to trunc(). Truncation happens implicitly when
converting to uint, so the floor() is unnecessary.
2018-10-09 00:31:43 +01:00
1ab1d41b10 Merge pull request #7457 from Tilka/use_clamp
VideoSoftware: make use of Clamp()
2018-10-07 19:53:45 +01:00
af2f212039 Merge pull request #7348 from spycrab/gl_cache_shaders
GL/TextureCache: Clean up inline shader code
2018-10-06 00:28:54 +01:00
a6a5d86cd8 VideoSoftware: make use of Clamp() 2018-10-05 22:07:38 +01:00
eb33d7af64 Core: Call InitBackendInfo before loading config 2018-09-28 21:44:41 +10:00
392df8a11d GL/TextureCache: Clean up inline shader code 2018-08-30 16:05:39 +02:00
448e19629d Vulkan: Drop usage of VK_NV_glsl extension
It's not providing a large performance improvement anymore, after the
more recent drivers introduced a new shader compiler.
2018-08-29 13:12:19 +10:00
3323265d91 FramebufferManager: Dynamic selection of EFB depth format 2018-07-19 21:47:42 +10:00
b30342d38f VideoBackends: Support D24S8 abstract texture format 2018-07-19 21:47:42 +10:00
dc2f22516c Mark all video backend names for translation 2018-06-30 06:30:19 -04:00
540bb1a1b0 Software: Don't link against X11 libraries
The software backend doesn't actually use X11 in any capacity directly.
2018-06-21 01:47:37 -04:00
c93210155f Merge pull request #7075 from Ebola16/DumpObjects
Software Renderer "Dump Objects" needs dedicated folder and tooltip
2018-06-06 15:20:14 +02:00
45b9b7d211 Give Dump Objects dedicated folder and tooltip 2018-06-06 08:42:41 -04:00
36ff2a20d5 Merge pull request #6954 from degasus/coherent
OGL/Streambuffer: Use coherent mapping by default.
2018-06-05 12:06:17 -07:00
6ce9c96d91 Merge pull request #7027 from leoetlino/cleanup
Use some C++17 features available since GCC 6
2018-06-04 20:50:50 +02:00
bc96557ec4 Externals: Update glslang to upstream commit 32d3ec3 2018-06-02 07:34:31 +00:00
8a00a9e149 Remove old GCC version checks 2018-05-30 10:59:15 +02:00
640bfb8135 VideoConfig: Add a field for indicating logic op support in the backend 2018-05-26 00:07:20 +10:00
fdfd8b19d6 OGL/Streambuffer: Use coherent mapping by default.
Coherent mappings have a lower overhead and less GL codes.
So enables coherent mapping by default for all drivers.
Both Qualcomm and ARM performs very bad with explicit flushing, so this change helps them as well.

AFAIK there was one GPU generation which was slower on coherent mapping: nvidia tesla
So Geforce 200 and 300 series should be tested with this PR before merging.
As this was last tested many years ago, this issue might have been fixed as well.
Those GPUs are close to 10 years old and not supported any more by nvidia.
2018-05-24 00:00:02 +02:00