23582 Commits

Author SHA1 Message Date
Unknown W. Brackets
0956fa3ff6 GPU: Reduce depth blits when not updated.
If the game initially clears the depth in a buffer, but then never uses
that depth again, don't keep blitting depth.

Improves #8538, by preventing the depth blits in this case.
2017-12-24 11:52:15 -08:00
Unknown W. Brackets
206979fed6 Software: Execute bounding box tests.
Fixes #10148.
2017-12-24 11:05:52 -08:00
Unknown W. Brackets
a7b3a1eb96 Vulkan: Decimate the texture allocator.
Thin3D wasn't calling Begin/End, which lead to leaks eventually and OOM.

Was causing softgpu to crash.
2017-12-24 10:39:42 -08:00
Unknown W. Brackets
49b41d1629 GLES: Allow dual src blend on newer Intel.
Fixes #10117.
2017-12-24 09:41:00 -08:00
Henrik Rydgård
46c468f3fe
Merge pull request #10435 from unknownbrackets/debugger
Fix issues with GE debugger prim preview
2017-12-23 12:09:44 +01:00
Unknown W. Brackets
3c5816e2aa GE Debugger: Allow enable/disable of prim preview. 2017-12-23 02:16:43 -08:00
Unknown W. Brackets
c55db7a496 GE Debugger: Keep prim preview on pan/zoom. 2017-12-23 01:57:03 -08:00
Unknown W. Brackets
a32ccd3eb8 GE Debugger: Fix preview when zooming.
Before, the coordinates were only right when scaled to fit.  When you
zoomed in and panned, it would show in the wrong place because it wasn't
accounting for the flipped backbuffer.
2017-12-23 01:31:04 -08:00
Henrik Rydgård
0de5053a42
Merge pull request #10432 from unknownbrackets/debugger
GE Debugger: Fix some crashes while stepping
2017-12-22 21:51:46 +01:00
Unknown W. Brackets
2031b2ef98 GE Debugger: Fix some crashes while stepping.
Mostly on Vulkan, but possibly on other backends.
2017-12-22 12:29:08 -08:00
Henrik Rydgård
7f4da9b567
Merge pull request #10431 from unknownbrackets/debugger
GE Debugger: Save with alpha for PNGs
2017-12-22 09:43:20 +01:00
Unknown W. Brackets
554a85e6d8 GE Debugger: Save with alpha for PNGs. 2017-12-21 23:47:49 -08:00
Henrik Rydgård
c3ac0659bd
Merge pull request #10430 from unknownbrackets/hwtess
Add another restriction for GL HW tessellation
2017-12-22 08:11:38 +01:00
Henrik Rydgård
4478c2ceb2
Merge pull request #10429 from unknownbrackets/debugger
Allow exporting previews in the GE debugger
2017-12-22 08:11:09 +01:00
Unknown W. Brackets
c5897a1c5c GPU: Cleanup some feature flags usage. 2017-12-21 18:50:41 -08:00
Unknown W. Brackets
510f9652a0 GLES: Improve HW tess requirements validation.
We also need texelFetch of some kind, seen in reporting.
2017-12-21 18:44:47 -08:00
Unknown W. Brackets
b56aceb227 Core: Allow more formats for screenshot.
This allows depth and stencil formats too, so we can use for debugger
export.
2017-12-21 16:39:01 -08:00
Unknown W. Brackets
092cbc2343 GE Debugger: Allow image export from previews.
This allows exporting textures and half-drawn surfaces.
2017-12-21 15:45:52 -08:00
Unknown W. Brackets
79dc857527 Core: Refactor screenshot saving.
So we can reuse the actual saving.
2017-12-21 15:44:49 -08:00
Henrik Rydgård
9f02e9c4f0 Android cmake fix 2017-12-22 00:02:46 +01:00
Henrik Rydgård
9679964b85
Merge pull request #10428 from jbeich/bsd
SDL fails to build without Vulkan
2017-12-21 22:58:38 +01:00
Jan Beich
d4984ab991 SDL: unbreak on more non-Vulkan platforms
SDL/SDLMain.cpp:160:2: error: unknown type name 'SDL_SysWMinfo'; did you mean 'SDL_SysWMmsg'?
        SDL_SysWMinfo sysInfo; //Will hold our Window information
        ^~~~~~~~~~~~~
        SDL_SysWMmsg

SDL/SDLMain.cpp:433:2: error: unknown type name 'SDL_SysWMinfo'; did you mean 'SDL_SysWMmsg'?
        SDL_SysWMinfo sys_info{};
        ^~~~~~~~~~~~~
        SDL_SysWMmsg

SDL/SDLMain.cpp:440:2: warning: expression result unused [-Wunused-value]
        Window x11_window = sys_info.info.x11.window;
        ^~~~~~
2017-12-21 21:31:26 +00:00
Henrik Rydgård
4d1c8ae979
Merge pull request #10427 from unknownbrackets/gl-pack-len
Use GL_PACK_ROW_LENGTH where possible
2017-12-21 22:13:10 +01:00
Unknown W. Brackets
8e2682d93c GLES: Reduce conversion buf size if possible.
No need to use the stride for the temp buf.  May avoid issues if the
driver crashes when reading outside the FBO.
2017-12-21 12:02:45 -08:00
Unknown W. Brackets
30871bfcd1 GLES: Avoid buffer on GLES2 for h=1 / CLUT. 2017-12-21 11:52:11 -08:00
Unknown W. Brackets
78ebe942ab Vulkan: Cleanup unused code. 2017-12-21 11:43:05 -08:00
Unknown W. Brackets
75aa65908c GLES: Pack without stride where possible.
This may possibly help #10425 in case the behavior is different when going
over width when reading pixels.
2017-12-21 11:41:53 -08:00
Henrik Rydgård
fe45a059b5 SDL: Fix OpenGL init again. Fixes #10424 2017-12-21 17:36:00 +01:00
Henrik Rydgård
99f8c19d6a
Merge pull request #10413 from hrydgard/x11-vulkan-init
SDL/X11 Vulkan init
2017-12-21 14:52:01 +01:00
Henrik Rydgård
f73ec4608e Build Vulkan on all platforms, won't be used if not supported. 2017-12-21 14:13:55 +01:00
Henrik Rydgård
9007abddbf Get Vulkan going on Linux 2017-12-21 11:02:11 +01:00
Henrik Rydgård
7f758d52dc Statically link a vulkan loader on Linux. Use to to init vulkan on X11. Unfortunately, it's broken. 2017-12-21 11:02:11 +01:00
Henrik Rydgård
6d6ad3ed14 Cleanups in PCMain.cpp 2017-12-21 10:52:48 +01:00
Henrik Rydgård
ea387b2a48 WIP vulkan on linux stuff 2017-12-21 10:48:00 +01:00
Henrik Rydgård
c27d64f273
Merge pull request #10423 from psyke83/gles2_ctx_fix
SDL: really try lower GL profiles & add GLES context support
2017-12-20 20:42:30 +01:00
Conn O'Griofa
d67d201681 SDL: really try lower GL profiles & add GLES context support
* When compiled with USING_GLES2, attempt to use only valid ES context
  versions.
* Ensure that lower profiles are attempted correctly rather than
  prematurely returning from the function after the first failure.

Needed for Raspberry Pi to successfully launch.
2017-12-20 16:28:53 +00:00
Henrik Rydgård
b0528f3794 Vulkan: Fix bug where we'd do the initial layout transition for an image before binding memory to it. Should help the issue uncovered in #10413 2017-12-20 16:40:09 +01:00
Henrik Rydgård
2bdae5b338
Merge pull request #10420 from hrydgard/core-cleanup
Some core cleanup
2017-12-20 11:25:11 +01:00
Henrik Rydgård
4f1e0de9a9 Add missing includes. Remove some more unnecessary #ifdef _DEBUG checks - the debugger is supposed to work in release mode too. 2017-12-20 11:24:05 +01:00
Henrik Rydgård
e8825666c9
Merge pull request #10419 from hrydgard/vulkan-init-cleanup
Avoid including platform-specific headers in VulkanContext.h
2017-12-20 10:56:32 +01:00
Unknown W. Brackets
8ff9a0465c
Merge pull request #10422 from psyke83/patch-1
CMakeLists: relocate EGL library name detection
2017-12-20 02:43:29 -05:00
Conn O'Griofa
20080ba123
CMakeLists: relocate EGL library name detection
Raspberry Pi targets require a custom EGL library name (configured in cmake/Toolchains/raspberry.armv*.cmake). Move configuration of EGL_LIBRARIES for generic targets out of SDL2 target to ensure correct library name is used everywhere (including QT builds).

Fixes build on Raspberry Pi.
2017-12-20 03:38:01 +00:00
Henrik Rydgård
740d0504ad Move QtMain.cpp and PCMain.cpp to more sensible locations. Native isn't standalone anymore... 2017-12-19 18:04:26 +01:00
Henrik Rydgård
5c1dad9909 Remove more obsolete ifdefs 2017-12-19 17:59:00 +01:00
Henrik Rydgård
a1f029fe1f Some ifdef cleanup. 2017-12-19 15:42:18 +01:00
Henrik Rydgård
1a5d1081f9 Get rid of the old custom "Event" sync primitive. 2017-12-19 15:38:18 +01:00
Henrik Rydgård
2822a4f187 Win32: Use the standard thread APIs to manage the emu thread. 2017-12-19 15:27:56 +01:00
Henrik Rydgård
2250ef799c Avoid including platform-specific headers in VulkanContext.h 2017-12-18 12:54:25 +01:00
Henrik Rydgård
525cce095a Implement warning when trying to play Ghost of Sparta with a modified CPU clock, as suggested by unknownbrackets in #7411 2017-12-17 13:14:06 +01:00
Henrik Rydgård
ef66892f70 Update vulkan headers, add linux .so loader lib for easy builds, like Sascha does. 2017-12-15 16:40:38 +01:00