Henrik Rydgård
6bcfe539f7
Use vulkan-style clear-on-bind when switching render targets. Not optimally used yet.
...
Also removes a bunch of redundant render target binds.
2017-05-30 09:36:17 +02:00
Unknown W. Brackets
fd4399e108
GPU: Centralize fb resize, move to begin of frame.
...
It makes more sense here, because otherwise when you change it from the UI
settings, it takes a frame to "kick in".
2017-04-24 12:02:52 -07:00
Unknown W. Brackets
c29f70e5e9
GPU: Attempt recreate of FBOs if failed.
2017-04-24 09:41:41 -07:00
Unknown W. Brackets
98ba7afa83
Destroy FBOs only on actual resize.
...
As a side effect, this means going to settings won't reset all FBOs
anymore. The behavior can still be obtained by changing render resolution
or rendering mode.
This makes resizing the window faster on Windows, and resumes quicker from
pause.
2017-04-13 23:36:17 -07:00
Henrik Rydgård
a85b76e671
Merge pull request #9585 from unknownbrackets/gpu-clear
...
Skip VRAM clears when no download has been made
2017-04-10 00:51:01 +02:00
Unknown W. Brackets
70d17d1bc7
Track flags to reduce unnecessary VRAM zeroing.
...
If we haven't downloaded to RAM since the last zero, no need to zero
again. This is the most common case.
2017-04-09 15:10:07 -07:00
Unknown W. Brackets
ff14495511
Fix out-of-bounds framebuffer blit on color bind.
...
This corrects a crash reported in Persona 3 using D3D11.
2017-04-06 18:49:48 -07:00
Unknown W. Brackets
3fbb545451
Allow MakePixelTexture to use a subrange.
...
For example, if it has a larger texture it wants to reuse, it can control
this via texcoords. Let's keep it at top left, though.
2017-03-22 20:56:26 -07:00
Henrik Rydgard
a04e24c300
Further D3D11 on mobile fixes
2017-03-05 14:05:04 +01:00
Henrik Rydgard
68ba3070bc
D3D11: Add enough debug readback support to support savestate thumbnails
2017-02-18 00:27:32 +01:00
Henrik Rydgard
0e8aeaea3a
D3D11: Implement basic framebuffer readback.
...
Also make debug interfaces more consistent.
2017-02-18 00:07:49 +01:00
Henrik Rydgard
e83dd2b524
Minor cleanup, elimintate some bind ordering hazards that D3D11 warns about
2017-02-17 14:31:02 +01:00
Henrik Rydgard
68c5a6c517
Unify CopyDisplayToOutput
2017-02-15 23:24:25 +01:00
Henrik Rydgard
23762ef89f
Unify DrawFramebufferToOutput
2017-02-15 23:11:46 +01:00
Henrik Rydgard
26f208a212
Unify "DrawPixels"
2017-02-15 23:06:22 +01:00
Henrik Rydgard
84e6054b23
More work towards unifying CopyDisplayToOutput
2017-02-15 22:48:23 +01:00
Henrik Rydgard
cba37e54d0
Preparations for unifying CopyDisplayToOutput
2017-02-15 22:47:50 +01:00
Henrik Rydgard
7652bc2d8b
Declare DrawActiveTexture in FramebufferCommon
2017-02-15 22:47:49 +01:00
Henrik Rydgard
f95ab4a0fa
One more step
2017-02-15 21:51:39 +01:00
Henrik Rydgard
8f48816baa
Move CalcShaderUniforms to FramebufferCommon
2017-02-15 21:51:38 +01:00
Henrik Rydgard
391f7be8f9
Unify DecimateFBOs
2017-02-07 00:46:14 +01:00
Henrik Rydgard
5c69878ccb
Unify ResizeFramebufFBO
2017-02-07 00:38:12 +01:00
Henrik Rydgard
27d5c5a2d4
Unify NotifyRenderFramebufferSwitched
2017-02-07 00:29:02 +01:00
Henrik Rydgard
19868b5df7
Unify GetTempFBO
2017-02-07 00:24:38 +01:00
Henrik Rydgard
06addecb3d
Unify cardboard settings calculation
2017-02-07 00:19:31 +01:00
Henrik Rydgard
89763efe57
Unify SetNumExtraFBOs
2017-02-07 00:08:45 +01:00
Henrik Rydgard
9e644aa815
Unify NotifyRenderFramebufferUpdated
2017-02-07 00:08:45 +01:00
Henrik Rydgard
85ec96ecf1
Unify NotifyRenderFramebufferCreated
2017-02-07 00:08:45 +01:00
Henrik Rydgard
a0992cce75
Unify DestroyFramebuf()
2017-02-07 00:08:45 +01:00
Henrik Rydgard
f1c96c056d
Move all the GL/D3D9 FBO code into thin3d.
2017-02-06 11:40:16 +01:00
Henrik Rydgard
d05ef4a859
Pass through the DrawContext to texturecaches and fb managers.
...
This is preparation for sharing more framebuffer code between the
backends.
2017-02-05 19:51:50 +01:00
Henrik Rydgard
d7da981a62
Make the Dangan Ronpa hack use the compat system instead of hacky code
2017-01-29 00:12:20 +01:00
Henrik Rydgard
e15cba0e1b
Centralize "Resized()"
2016-12-21 18:13:58 +01:00
Unknown W. Brackets
fa0e88f1b7
Add a flag to use the display vfb for screenshots.
...
This fixes proportions of reporting, savestate screenshots, and TAS
recording for PS1 ports, mainly.
2016-09-25 16:32:18 -07:00
Unknown W. Brackets
c9a9fc5e44
Allow block transfers to resize framebuffers.
...
Helps the ending video in Valkyrie Profile. See #6008 .
2016-07-24 15:58:06 -07:00
Unknown W. Brackets
c12f835364
Download single-use renders right away.
...
Should prevent issues with the memory being reused soon after, hopefully.
See also #8781 and #7695 .
2016-06-04 19:36:30 -07:00
Unknown W. Brackets
68717411b1
Track when we see a clear indicate a size of a vfb.
2016-05-19 21:17:09 -07:00
Henrik Rydgard
339daede56
Clean up, start building some scaffolding
2016-03-31 00:49:10 +02:00
Henrik Rydgard
40d05e292c
Cleanup in FramebufferVulkan to reduce the size of future diffs
2016-03-28 20:23:29 +02:00
Henrik Rydgard
da50370328
Split out VulkanTexture from VulkanContext.cpp/h into VulkanImage.cpp/h
2016-03-20 19:31:02 +01:00
Henrik Rydgard
cfcfd406fc
Start porting TextureCache. Lots of stubbing going on.
2016-03-20 19:30:11 +01:00
Unknown W. Brackets
b40c3fd839
Use video format when uploading to framebuffers.
...
Expected to help Bounty Hound, #8392 .
2016-01-17 12:57:27 -08:00
Henrik Rydgard
88ed44189d
Remove some unused functionality from the framebuffer managers
2016-01-10 14:59:27 +01:00
Unknown W. Brackets
909d477719
Support CLUTs at an x offset.
...
Used by Kurohyo 2. Highly unlikely to be a mis-estimate within stride.
2016-01-05 00:02:58 -08:00
Unknown W. Brackets
19877144ba
Avoid redownloading CLUT when reloaded.
...
In Brave Story, the game reloads the CLUT frequently, but doesn't actually
render to the CLUT that often. It also switches between a few different
rendered CLUTs - so caching that we've downloaded is a HUGE win.
In case someone reading this message is interested, it actually renders
these CLUT tables from what appears to be a color wheel. Crazy huh?
2016-01-04 22:21:33 -08:00
Unknown W. Brackets
28a07c70c6
Explicitly download rendered cluts.
...
This avoids triggering logic that tries to get the sizing right, or
optimize frequent copies. CLUTs often get estimated wrong, so it's better
to copy just the correct range, always.
2016-01-04 21:29:03 -08:00
Unknown W. Brackets
a6c64f74d1
Cleanup download process a bit more.
2016-01-04 20:51:43 -08:00
Unknown W. Brackets
4176ee241f
Reuse more code between GPUs for download.
2016-01-04 20:40:07 -08:00
Unknown W. Brackets
517d5b7562
Warn when an upscaling shader is being used.
...
Otherwise it's potentially confusing that it doesn't change. See #8310 .
2015-12-27 12:05:12 -08:00
Unknown W. Brackets
8e2557bafe
Support render-to-clut, at least in some cases.
...
This is pretty much only tested with Brave Story. See #6754 .
There may be other cases which are not handled yet.
2015-11-26 13:31:17 -08:00