Commit graph

256 commits

Author SHA1 Message Date
Henrik Rydgard
11c8450f19 Only gate really expensive block transfers behind the setting. 2019-02-08 14:50:47 +01:00
Henrik Rydgard
56bc7b1d52 Remove outdated TrueColor setting. 2018-12-14 16:13:44 +01:00
Unknown W. Brackets
2d3885fc1a GE Debugger: Fix display event record timing.
When the display happens mid frame, this fixes it so you can see the
result easily when running the dump, without manually stepping through.
2018-11-17 11:14:10 -08:00
Henrik Rydgård
32cd6dfae6 Take care of most cases of render-to-virtual-readback-buffer, I think. 2018-11-12 08:20:28 +01:00
Henrik Rydgård
6269d9b893 Support virtual readbacks for detected-memcpy framebuffer copies, delete MotoGP hack. 2018-11-12 08:20:28 +01:00
Henrik Rydgård
7abbc1bebd Add compat flag to allow virtual framebuffer readbacks (auto-create fb from readback destination). Does not yet work outside VRAM but should fix Digimon Adventure. 2018-11-12 08:20:27 +01:00
Henrik Rydgård
cf653b7631 No need for fb_normalized_address 2018-11-12 08:19:20 +01:00
Henrik Rydgård
b17fc67c45 Get rid of MaskedEqual 2018-11-12 08:19:19 +01:00
Henrik Rydgård
d8f4a70396 Remove constraint that virtual framebuffers have to represent VRAM.
Prerequisite for #11531, virtual readbacks.
2018-11-12 08:19:14 +01:00
Henrik Rydgård
c6c22a03fd Address feedback, thanks! 2018-10-28 16:48:46 +01:00
Henrik Rydgård
c074d3c61f Improve sanity checks for framebuffer readbacks 2018-10-28 14:30:39 +01:00
Unknown W. Brackets
ca5adcda71 GPU: Reduce log noise while stepping.
We redisplay the framebuf over and over, which is annoying when you have
debug logging on and are trying to read the log.
2018-10-07 14:40:10 -07:00
Unknown W. Brackets
67058495f5 GPU: Dirty more correctly for cullrange params.
Was previously missing some settings which might convince us to use large
viewports, and more importantly some that would impact the depth settings
under certain settings.
2018-09-21 21:55:11 -07:00
Unknown W. Brackets
7fa20d4734 GPU: Download safe size on next create, too.
In some cases, games will create a series of framebufs.  Before, we
weren't downloading them if they were only used once, as intended.
2018-08-25 10:01:43 -07:00
Henrik Rydgård
42f4d7b40f OpenGL: Fix bug where we could end up calling glUniformMatrix without a bound program. Found by GL debug callback on NV.
This adds a bit of extra checking that's only enabled in _DEBUG builds.
2018-07-28 11:09:01 +02:00
Unknown W. Brackets
e2c217ab29 Core: More consistently use config enums. 2018-06-23 10:59:18 -07:00
Unknown W. Brackets
b4496f1975 Core: Move config enums to separate file.
These are a bit strewn about and there are constants that aren't
consistently used, which just adds confusion.
2018-06-23 10:59:18 -07:00
Unknown W. Brackets
469d8a6a41 GPU: Screenshot output in BGRA if that's native.
This is a decent chunk faster.
2018-06-16 13:48:50 -07:00
Unknown W. Brackets
c97023568c thin3d: Fix requesting BGRA buffers.
Should be fine to request BGRA->BGRA.

Also, the reverse flags were wrong/ignored on the format.
2018-06-16 13:31:08 -07:00
Unknown W. Brackets
2f859425a8 GPU: Use unordered_map for tempFBOs. 2018-06-06 05:56:30 -07:00
Unknown W. Brackets
8d07e6d985 GPU: Prevent temp FBOs from overwriting each other.
Sometimes we'd use two temp FBOs in the same draw (e.g. shader blending +
depal.)  This could cause the same temp FBO to get used for two purposes,
causing weird behavior.
2018-05-06 08:57:44 -07:00
LunaMoo
ffac542f95 Change to int to allow higher supersampling scale. 2018-04-02 13:44:28 +02:00
LunaMoo
199106cad6 Add SSAA flag for post process shaders,
enforces 2x auto resolution, to be used with blurry effects
Also includes a perf. friendly example using simplified gauss filter
2018-04-01 17:00:10 +02:00
Henrik Rydgård
0ee058320a Pass new vulkan validation layers. Fix math in FindTransferFramebuffers. 2018-03-17 23:39:02 +01:00
Henrik Rydgård
4ee941dab1 Vulkan: Fix bug where we didn't always reset dynamic state after readbacks. 2018-03-16 15:52:43 +01:00
Henrik Rydgård
07afda1db0 Add an extra check to FindTransferFramebuffers to avoid misdetecting fb blits that end up out of bounds when we perform them.
Affected Burnout Legends (which would crash the Vulkan device)
2018-02-28 01:01:45 +01:00
Henrik Rydgård
7421f2aff6 Postprocessing: Fix bug where scissor cut off the image if render resolution > display resolution 2018-02-12 14:10:54 +01:00
Henrik Rydgård
86cfc411a4 Remove the confusing "DisableState" across the codebase 2018-02-08 16:27:36 +01:00
Henrik Rydgård
982a1710ae gl-render-manager: Fix postprocessing shaders. Fixes #10566. Live switching is broken though for some reason. 2018-01-31 17:23:24 +01:00
Unknown W. Brackets
f6260c75c9 GLES: Reset blend state on clear.
Because now that resets blending parameters.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
4f1b8d80a9 GLES: Bind texture on MakePixelTexture().
This is currently necessary because callers expect it.  Also, move inside
render passes.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
5c7c7ce192 Move GL sampler state tracking into GLRenderManager/QueueRunner. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
43ebbbcdb6 More state dirtying, a comment 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
376d92fcc9 Start messing with the draw engine... 2018-01-27 15:10:17 +01:00
Henrik Rydgård
b5e5d72a0a Complete the separation of depth and stencil renderpass flags 2017-12-30 22:52:22 +01:00
Unknown W. Brackets
0151c5e649 GPU: Track stats on uploads.
A lot can lead to slowdown, so it's useful when logging frame drops.
2017-12-28 19:27:45 -08:00
Henrik Rydgård
c1a23658d1
Merge pull request #10456 from unknownbrackets/gpu-flips
Display: Avoid limiting FPS without a clear
2017-12-27 10:14:12 +01:00
Unknown W. Brackets
f9750dd137 Display: Avoid limiting FPS without a clear.
A bit of a dirty heuristic to avoid the slowdown in #8538.
2017-12-26 19:37:40 -08:00
Unknown W. Brackets
d6da758ed3 GPU: Remove duplicate BACKEND constants. 2017-12-26 15:55:24 -08:00
Unknown W. Brackets
025a806ab4 GPU: Remove FBO auto-download hack.
See #6261.  This should be replaced now with block transfer detection,
which is faster and doesn't cause crashes.

Games that previously required this setting should use block transfer
instead.  If that doesn't work, it's a bug.
2017-12-25 11:17:59 -08:00
Henrik Rydgård
138cd9e851
Merge pull request #10442 from unknownbrackets/depth-clear
GPU: Reduce depth blits when not updated
2017-12-24 22:52:35 +01:00
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
2031b2ef98 GE Debugger: Fix some crashes while stepping.
Mostly on Vulkan, but possibly on other backends.
2017-12-22 12:29:08 -08:00
Unknown W. Brackets
f9ce1587cb Reporting: Skip reporting reused depthbuffers.
Basically all games do it, no longer interesting.
2017-12-01 09:38:37 -08:00
Unknown W. Brackets
0b61ffad08 GPU: Try to avoid FB download without an FBO. 2017-11-30 15:37:43 -08: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
Henrik Rydgård
23f7819329 Unify RebindFramebuffer, mostly. 2017-11-15 20:44:25 +01:00
Henrik Rydgård
05930ea32e MotoGP: Compat hack to disable framebuffer readbacks.
This is the only known game to copy its framebufer to RAM before display on every frame and we already have a
hack so we can display the high resolution framebuffer, but we still did the readback for no good reason.

This eliminates the readback.
2017-11-10 16:32:56 +01:00