Henrik Rydgård
0a413a18a7
GL render manager: Add some more dirty tracking.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
958078f603
GL render manager: Merge BindInputLayout into BindVertexBuffer.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
f99fa02ba7
Run the depal stuff, seems a bit broken. Add some state filtering.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
970458a0c2
Scissor fix
2018-01-27 15:10:17 +01:00
Henrik Rydgård
7c17cb6754
Fix showing savestate screenshots (needed mips)
2018-01-27 15:10:17 +01:00
Henrik Rydgård
1241abc887
Make sure we set GL_TEXTURE_MAX_LEVEL somewhere.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
9094410fd1
gl-render-manager: Need to actually bind newly created textures.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
8a1e7347b9
GL render manager: Various fixes and cleanup including a buffered rendering fix, rect primitive fix
2018-01-27 15:10:17 +01:00
Henrik Rydgård
062608ad78
Start moving the framebuffer stuff over to the render manager
2018-01-27 15:10:17 +01:00
Henrik Rydgård
7e3e652963
Fix more gl-render-manager problems
2018-01-27 15:10:17 +01:00
Henrik Rydgård
51f467a7b3
Kill off the GL state cache
2018-01-27 15:10:17 +01:00
Henrik Rydgård
f3282dcfda
Delete the gl name cache (might resurrect it on the GLQueueRunner side if needed later). Other cleanup and fixes.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
46e1fbb788
Initial texture work. Bugfix indexed drawing
2018-01-27 15:10:17 +01:00
Henrik Rydgård
bd6818198a
More GLRenderManager
2018-01-27 15:10:17 +01:00
Henrik Rydgård
376d92fcc9
Start messing with the draw engine...
2018-01-27 15:10:17 +01:00
Henrik Rydgård
9340260802
Finish the shader manager (almost)
2018-01-27 15:10:17 +01:00
Henrik Rydgård
60a966c5ec
PushBuffer added. Thin3d works now on top of GLRenderManager, except framebuffers.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
a3bcd91a31
Fix clears and textures. Things still broken due to memory overwrites.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
e1bb4441d8
First garbage graphics output!
2018-01-27 15:10:17 +01:00
Henrik Rydgård
b8e4ae08a7
Even more gl-render-manager
2018-01-27 15:10:17 +01:00
Henrik Rydgård
9babdb712c
More gl-render-manager
2018-01-27 15:10:17 +01:00
Henrik Rydgård
dc72a8696f
More work on gl-render-manager
2018-01-27 15:10:17 +01:00
Henrik Rydgård
dd91cb0f8e
Begin implementing GLQueueRunner and GLRenderManager
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
d4400b358a
UI: Actually offset text shadow.
...
It wasn't actually visible before, since it was strictly underneath text
that was usually white.
2018-01-01 22:58:07 -08:00
Kentucky Compass
6a9a511337
add an include for PPSSPP_PLATFORM
2017-12-30 22:44:41 -08:00
Kentucky Compass
2a3c4408d2
Fix build on iOS (only iOS 9 and up support thread_local)
2017-12-30 20:57:45 -08:00
Henrik Rydgård
b9d0bf9842
Remove outdated comment.
2017-12-31 00:10:55 +01:00
Henrik Rydgård
b5e5d72a0a
Complete the separation of depth and stencil renderpass flags
2017-12-30 22:52:22 +01:00
Henrik Rydgård
a0f718ace1
Start separating depth and stencil renderpass actions, only internally in the Vulkan code so far.
2017-12-30 22:40:57 +01:00
Henrik Rydgård
1e64919392
Vulkan: Create renderpass objects on demand. Just a refactoring to prepare for some later features/optimizations.
2017-12-30 22:35:43 +01:00
Henrik Rydgård
b9726245ac
Vulkan: Use VK_KHR_DEDICATED_ALLOCATION for frame buffers for minor speedup on some GPUs. Check for the debug report extension before enabling it.
2017-12-30 21:31:43 +01:00
Unknown W. Brackets
52c4293896
Profiler: Show the slowest thread's categories.
...
May or may not be ideal, but this was the easiest solution...
2017-12-30 10:45:51 -08:00
Unknown W. Brackets
b9cd883811
UI: Only default focus visible things.
...
Also, default focus perm button.
2017-12-29 17:55:40 -08:00
Henrik Rydgård
8ebbb82c0a
Merge pull request #10459 from unknownbrackets/ui-resized
...
UI: Trigger view recreate on static sized screens
2017-12-27 11:07:35 +01:00
Unknown W. Brackets
c0f0bc88af
UI: Trigger view recreate on static sized screens.
...
If a screen doesn't size via layout, it needs to recreate views on resize,
which is what the resized() method is for.
2017-12-27 01:13:47 -08:00
Unknown W. Brackets
56835fc017
Qt: Fix OpenGL init.
...
Needs to check extensions before creating thin3d, as others do.
2017-12-26 16:04:19 -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
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
ea387b2a48
WIP vulkan on linux stuff
2017-12-21 10:48:00 +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
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
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
e488227398
Just some log cleanup
2017-12-15 16:33:49 +01:00
Unknown W. Brackets
09bbd58b62
UI: Allow skipping transitions on set current tab.
2017-12-12 21:34:17 -08:00
Unknown W. Brackets
e7c9bb2a17
UI: Fix AnchorLayout size when wrapping content.
...
Without this, they don't actually report back their measured size when
they are set to wrap content, but just keep 0.
2017-12-12 00:19:38 -08:00
Unknown W. Brackets
d9282d4e76
UI: Pass UNSPECIFIED through on scroll views.
...
Otherwise we could end up with zero width things, just because they wrap
content.
2017-12-12 00:18:37 -08:00
Unknown W. Brackets
52ee2f7790
UI: Give ItemHeaders intrinsic size.
2017-12-12 00:16:05 -08:00
Unknown W. Brackets
48c0407f21
UI: Add flex pressure to tab content.
...
On vertical game settings, didn't end up with size at all. But even with
that fixed, they don't properly fill their parent.
2017-12-11 23:05:08 -08:00
Unknown W. Brackets
ed2ac95bbb
UI: Always clip tab contents.
...
So they don't overlap tabs or etc. on transition.
2017-12-10 14:57:58 -08:00
Unknown W. Brackets
21272a4c24
UI: Clip scissor to screen.
2017-12-10 14:57:57 -08:00
Unknown W. Brackets
f3c01cf19c
UI: Transition tab strips on select.
...
Following their orientation setting.
2017-12-10 14:57:56 -08:00
Unknown W. Brackets
753e59c027
UI: Allow negative left/right for anchor layouts.
2017-12-10 14:57:56 -08:00
Unknown W. Brackets
6783394ae1
UI: Add tween for translating anchor offsets.
2017-12-10 14:57:55 -08:00
Unknown W. Brackets
bab66e8542
Windows: Fix UI text measurements with &.
...
These APIs don't take into account &&, which caused Homebrew && Demos to
be too wide.
2017-12-10 14:57:54 -08:00
Henrik Rydgård
da3a7fbc5f
Merge pull request #10385 from unknownbrackets/ui-tween
...
UI: Add a soft fade when selecting choices / etc.
2017-12-10 23:11:37 +01:00
Unknown W. Brackets
bdac150aab
UI: Reset transitions after too long a time.
2017-12-10 12:21:57 -08:00
Henrik Rydgård
bb530ea21c
Make a minor correction to Vulkan driver version display.
2017-12-10 19:11:00 +01:00
Unknown W. Brackets
b00f6ac8c1
UI: Transition button and item focus/presses.
...
Just a quick touch of transition.
2017-12-10 09:00:53 -08:00
Unknown W. Brackets
6194ef60be
UI: Add an event for tween finish.
2017-12-10 09:00:53 -08:00
Unknown W. Brackets
46ea88e096
UI: Add delay to tweens.
...
Also allow them to start out in an invalid state and accept first divert.
2017-12-10 09:00:52 -08:00
Henrik Rydgård
2031b2a4cd
And yet another case of the same problem as the previous commit.
2017-12-10 14:50:34 +01:00
Unknown W. Brackets
7b6e73b37a
UI: Always apply tweens after restore.
...
Fixes "Loading game..." persisting on load state, since that view was
created VISIBLE, and the tween wasn't making it INVISIBLE.
2017-12-09 18:18:23 -08:00
Unknown W. Brackets
cf6ccfca99
UI: Persist tween data on view recreate.
2017-12-09 14:10:42 -08:00
Henrik Rydgård
99b34c7b45
Use glslang to translate GLSL 1.x postshaders to GLSL 3.0 or later to appease strict GL Core drivers. Should fix #10362
...
Fixed small bugs, now tested and working on mac.
Add spirv-cross to cmake build
2017-12-08 10:25:42 +01:00
Henrik Rydgård
7d0fc9ce65
Rework GL lost-device to work more like Vulkan. Gets rid of gl_lost manager etc.
2017-12-07 15:05:59 +01:00
Henrik Rydgård
bd40479224
Vulkan: Add facility to auto-generate mipmap levels. Not yet used.
...
Intended for replacement textures and optional quality improvements
later.
2017-12-07 09:28:18 +01:00
Henrik Rydgård
cf5ede493b
Merge pull request #10247 from unknownbrackets/ui-tween
...
UI: Show a loading message during shader preload
2017-12-06 14:24:21 +01:00
Henrik Rydgård
e3eb6d36b1
Merge pull request #10113 from unknownbrackets/core-context
...
Request a core profile in OpenGL (after 1.5.0)
2017-12-06 14:10:58 +01:00
Henrik Rydgård
85b743c732
Just some debug output for future decisions
2017-12-05 11:42:51 +01:00
Henrik Rydgård
c4e8c509d6
RIFF: Add check for truncated files, cleanup a little more.
2017-12-04 18:01:51 +01:00
Henrik Rydgård
b3b57f1b47
Try to protect against bad data in RIFF files (used for menu background audio only)
2017-12-04 17:41:06 +01:00
Henrik Rydgård
b47251dbd4
Even more cleanup of RIFFReader
2017-12-04 17:34:47 +01:00
Henrik Rydgård
210b70ff0c
Kill off more unused code in RIFFReader
2017-12-04 17:30:16 +01:00
Henrik Rydgård
1c0a0fefdb
Remove write support from chunk_file, rename to RIFFReader
2017-12-04 17:27:47 +01:00
Henrik Rydgård
14a263d5b6
Reformat chunk_file. Don't usually reformat whole files, but this was too ugly to work on :P
2017-12-04 17:23:29 +01:00
Henrik Rydgård
ab95dcae91
Merge pull request #10249 from unknownbrackets/minor
...
More minor cleanups
2017-12-04 09:49:44 +01:00
Unknown W. Brackets
5846016247
Vulkan: Allow shutdown with init commands.
...
On startup, when immediately shutting down, there will be init commands
from creating the backbuffers. Rather than fight this, just free them.
This fixes hangs when locking/unlocking Android.
2017-12-03 20:32:17 -08:00
Unknown W. Brackets
a5998e6dc7
Vulkan: Swap in more forceful asserts.
...
Just in case of unexpected format issues.
2017-12-03 19:22:03 -08:00
Unknown W. Brackets
715a7b7318
Global: Silence some unused declaration warnings.
...
These things aren't used on Android.
2017-12-03 19:22:03 -08:00
Unknown W. Brackets
c29ae5ff56
fixup! UI: Ensure tweens always complete.
2017-12-03 11:49:34 -08:00
Unknown W. Brackets
f23c7cf93b
UI: Apply tweens on Update().
2017-12-03 10:40:09 -08:00
Unknown W. Brackets
e32545b9c9
UI: Ensure tweens always complete.
2017-12-03 10:28:53 -08:00
Unknown W. Brackets
b4b850bce8
UI: Add a simple tween class.
2017-12-03 09:39:50 -08:00
Unknown W. Brackets
7ab3e58dec
UI: Add colorBlend() helper.
2017-12-03 09:39:28 -08:00
Unknown W. Brackets
66832d2180
SDL: Use core profile, fixing old Mac GL issues.
...
This applies to all platforms, but falls back to a compat profile if
core is not available.
2017-12-03 07:00:55 -08:00
Henrik Rydgård
6abdbde47e
Fix bugs in VulkanImage allocator support
2017-12-03 10:50:25 +01:00
Henrik Rydgård
d0c248368d
Use a VulkanDeviceAllocator for thin3d textures. Many devices have a hard limit on the total number of allocs and it's unnecessary to have the UI put pressure on that.
2017-12-03 10:29:41 +01:00
Henrik Rydgård
4c114c1b1a
Merge pull request #10236 from unknownbrackets/text-wrap
...
UI: Fix text wrapping issues
2017-12-03 02:19:41 +01:00
Unknown W. Brackets
4ad7107151
UI: Wrap text properly with explicit newlines.
...
Fixes the non-Android part of #10217 .
2017-12-02 14:38:59 -08:00
Unknown W. Brackets
68a5861f60
UI: Send messages to dialog parents by default.
...
If it has no sendMessage(), it probably still makes sense to send to the
parent (especially cpu change, clear cache, etc.)
This fixes the ability to change CPU cores ingame, and also fixes other
settings which weren't properly clearing caches.
2017-12-02 11:55:04 -08:00
Henrik Rydgård
b84c15c663
Vulkan: Remove misguided assert about backbuffer clearing mode.
2017-12-02 11:05:10 +01:00
Henrik Rydgård
5fbbb3e115
Try a silly workaround for an otherwise unexplainable crash seen in Google Play Console
2017-12-01 19:56:53 +01:00
Henrik Rydgård
04515946e6
Comment, minor cleanup
2017-12-01 18:47:01 +01:00
Henrik Rydgård
44b6300760
Checks and paranoia in response to a crash report..
2017-12-01 12:17:10 +01:00
Unknown W. Brackets
9a71ac726b
Module: Stop reporting bad magic numbers.
...
We get these a lot, and they seem to be related to corrupt isos, not
related to actual emulation issues we can do anything about.
Even if there's a game trying to load an SFO as a PRX out there somewhere,
we'll never find it among all the noise.
2017-11-30 15:17:02 -08:00
Henrik Rydgård
b6f69b71ab
Still seeing asserts in this function, weakening remaining to debug-only.. but these really shouldn't trigger.
2017-11-30 16:29:15 +01:00
Henrik Rydgård
b4bca7d7a0
VKRFramebufer: Just some checks to be slightly safer in case creation failed..
2017-11-30 01:26:59 +01:00
Henrik Rydgård
0d60c3f386
Fix UI crash when keyboard navigating out of popup list.
2017-11-30 01:21:03 +01:00
Henrik Rydgård
b52285287d
Vulkan: Avoid duplicate image pre-transitions (actually eliminated later anyway, but a small saving)
2017-11-30 00:40:55 +01:00
Henrik Rydgård
168d89284c
Vulkan transitions after render: Add a missing case that seems like it could be common?
2017-11-29 22:14:01 +01:00
Henrik Rydgård
04913be779
Move pushbuffer map/unmap to the .cpp file to avoid inlining (for stack traces)
2017-11-29 20:13:38 +01:00
Henrik Rydgård
bc959470e5
Loosen up some asserts that seem to trigger unexpectedly... need investigation.
2017-11-29 19:07:07 +01:00
Henrik Rydgård
6ea669368c
Crash reports from 5% rollout of 1.5: Make some asserts dbg_asserts for now, try to fix an issue with framebuffers when postproc is enabled.
2017-11-29 18:53:52 +01:00
Unknown W. Brackets
affb57bd23
UI: Fix alphaMul clamping.
2017-11-25 14:08:51 -08:00
Unknown W. Brackets
bd1ed897cf
Global: Fix some warnings.
2017-11-25 14:08:49 -08:00
Henrik Rydgård
bfec850933
Revert "Temporary hack (see #10163 ): Ignore the VK_ERROR_INITIALIZATION_FAILED from vkQueueSubmit."
...
This reverts commit 50cd4a56cb
.
2017-11-24 10:36:50 +01:00
Henrik Rydgård
50cd4a56cb
Temporary hack (see #10163 ): Ignore the VK_ERROR_INITIALIZATION_FAILED from vkQueueSubmit.
2017-11-24 09:20:22 +01:00
Unknown W. Brackets
3431653791
UI: Draw actual, not aligned, text width.
...
No need to overdraw.
2017-11-23 09:05:17 -08:00
Unknown W. Brackets
826e9d2ee1
UI: Clear font bitmap after aligning size.
...
Otherwise we get remnants from previous draws, oops.
2017-11-23 09:04:15 -08:00
Henrik Rydgård
c04ead1023
When drawing text using our truetype backends, round coordinates to pixels. Fixes #10180
2017-11-23 15:07:59 +01:00
Henrik Rydgård
3ecd7b4c02
Get rid of collision-prone font cache keys. Stress the font cache a little less on slider dialogs.
2017-11-22 22:44:34 +01:00
Henrik Rydgård
e6be86ce74
ARM buildfix
2017-11-22 11:01:42 +01:00
Henrik Rydgård
b6911d2764
Add a hidden debug option [Graphics]GfxDebugSplitSubmit to try to narrow down some Vulkan issues, see #10163 . Also improve some asserts.
2017-11-22 10:47:04 +01:00
Henrik Rydgård
33e500a681
Merge pull request #10168 from hrydgard/gpu-vendor-detect
...
Cleanup GPU vendor detection a bit, use it to avoid the issue mentioned in #9545
2017-11-21 20:51:31 +01:00
Henrik Rydgård
2e9d59ad10
Android: Use __android_log_assert facility to get pretty message-asserts into crash dumps.
2017-11-21 18:06:26 +01:00
Henrik Rydgård
fde26e9472
Fix gl scissor rect issue. Fixes #10119
2017-11-21 16:45:29 +01:00
Henrik Rydgård
2c86217552
Cleanup GPU vendor detection a bit, use it to avoid the issue mentioned in #9545
2017-11-21 16:19:28 +01:00
Henrik Rydgård
27a60f5e58
Fix message asserts on Android. Add more of them to check things in Vulkan code.
2017-11-20 12:11:47 +01:00
Henrik Rydgård
766ddf9148
Temporarily turn off Vulkan threading on AMD, see issue #10097 .
2017-11-16 21:40:00 +01:00
Henrik Rydgård
de67c9feff
Vulkan screenshots: Fix R/G swap bug. Thanks unknown.
2017-11-15 17:07:38 +01:00
Henrik Rydgård
96d6f1cae5
Make sure the device supports transfers from swapchain images when taking screenshots.
2017-11-15 13:57:22 +01:00
Henrik Rydgård
10792cc8e7
Windows/Vulkan: implement screenshots. Something is iffy with the red/blue swap though...
2017-11-15 13:18:29 +01:00
Henrik Rydgård
3594623a8d
Vulkan: Show the preferred depth-stencil format in the feature list.
2017-11-15 09:08:30 +01:00
Henrik Rydgård
8bfdf7b1b2
Fix annoying little flicker when starting a game.
2017-11-13 15:45:31 +01:00
Henrik Rydgård
d02bb59dd7
Merge pull request #10115 from hrydgard/unify-spline-bezier
...
Unify Execute_Spline and Execute_Bezier
2017-11-13 11:21:38 +01:00
Henrik Rydgård
14e9c9da80
Minor cleanup, fix a comment.
2017-11-13 10:35:31 +01:00
LunaMoo
a84a336787
Nitpicking! Correct minor version for non Nvidia.
2017-11-13 10:21:40 +01:00
Henrik Rydgård
c3c4ec4cc9
Merge pull request #10111 from unknownbrackets/vulkan-minor
...
Vulkan: Cut down on asserts during init
2017-11-13 09:50:30 +01:00
Henrik Rydgård
68c7b7dfec
Fix driver version display on Vulkan. Enable dualsrc blend on newer AMD drivers. Fixes #10109
2017-11-13 09:44:35 +01:00
Unknown W. Brackets
b1554ef061
Vulkan: Cut down on asserts during init.
...
In case something is horribly wrong, or our desired settings aren't
compatible, let's try to stumble our way out.
More things can fail, but the goal is to detect failure or at least be
able to render UI settings to swap out of Vulkan.
2017-11-12 21:56:55 -08:00
Henrik Rydgård
232e30f4db
Vulkan: When deriving stencilref from color, don't forget to update the value.
...
Plus minor cleanups.
2017-11-12 19:33:21 +01:00
Henrik Rydgård
93e148fed6
Vulkan: Implement post-processing. The Vulkan backend is now "feature-complete", and GL is now legacy :P
...
Bit hacky but works.
2017-11-12 16:12:26 +01:00
Henrik Rydgård
afa5b23abb
Vulkan readback: Resize the readback buffer dynamically as necessary.
2017-11-12 09:54:30 +01:00
Unknown W. Brackets
ffbdb15975
SoftGPU: Fix crash when stride is 0.
...
This happens in Star Ocean 1.
2017-11-11 17:45:47 -08:00
Henrik Rydgård
edfea7aed3
Remove unused pointer.
2017-11-11 20:22:45 +01:00
Henrik Rydgård
e18a023ce8
Vulkan: Noticed a framebuffer refcount leak, and changed my mind regarding those :) Let's do it this way instead.
2017-11-11 19:41:43 +01:00
Henrik Rydgård
9519b89056
Experimenally disable dual source blending on AMD too for Vulkan, see #10065
2017-11-10 18:28:38 +01:00
Henrik Rydgård
378e01625c
Fix a few more device-loss bugs.
2017-11-10 15:10:36 +01:00
Henrik Rydgård
ee768ca949
Logging improvements, avoid resetting the Android text drawer unnecessarily
2017-11-10 13:02:24 +01:00
Henrik Rydgård
3cc5d8f40a
More minor vulkan fixes and cleanups. Don't actually call "Resized" if the size stays the same.
2017-11-10 12:41:06 +01:00
Henrik Rydgård
f3eeafc728
Change Android logging ID from "NativeApp" to "PPSSPP"
2017-11-10 12:37:54 +01:00
Henrik Rydgård
0a2b20bf59
More logging and tweaking
2017-11-10 12:09:42 +01:00
Henrik Rydgård
8b42d83123
Vulkan: Remove duplicate depalShaderCache, fix a number of instances where we didn't use the deleter properly.
...
Plus more logging, of course.
2017-11-09 17:25:37 +01:00
Henrik Rydgård
6eb58b1252
Keep the draw context up to date in a bunch of places. More logging.
2017-11-09 16:28:22 +01:00
Henrik Rydgård
ba846fdbc5
Show textual names of Vulkan GPU vendors
2017-11-09 12:30:07 +01:00