Commit graph

256 commits

Author SHA1 Message Date
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
Henrik Rydgård
ce9e864e4b Remove some unnecessary framebuffer binding 2017-05-30 09:36:17 +02:00
Henrik Rydgård
35aefe4a2a BindBackBufferAsRenderTarget is now replaced with BindFramebufferAsRT(nullptr) 2017-05-30 09:36:17 +02:00
Henrik Rydgård
3b6fa9be87 Start work on separating frame from backbuffer renderpass 2017-05-30 09:36:17 +02:00
Unknown W. Brackets
d7ca05b6b5 GPU: Fix black screen on buffered render enable.
We were never clearing the skip flag.  Has been a bug since before v1.0.
2017-04-24 12:10:08 -07: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
6c2f87b1df GPU: Consistently use useBufferedRendering_. 2017-04-24 11:57:16 -07:00
Unknown W. Brackets
c29f70e5e9 GPU: Attempt recreate of FBOs if failed. 2017-04-24 09:41:41 -07:00
Unknown W. Brackets
97620d4cca GPU: Rebuild FBOs when they now have storage. 2017-04-24 09:37:54 -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
0cb4344da1 Merge pull request #9603 from unknownbrackets/fb-resize
Fix framebuffer size flopping back and forth
2017-04-12 09:54:03 +02:00
Unknown W. Brackets
5a7ad5b176 Fix largest framebuf size in throughmode.
This was probably always meant to be <=, since it logically makes sense
for them to be equal.

Might fix cases of resizing down a framebuf in throughmode, where viewport
isn't as good a heuristic.
2017-04-12 00:20:50 -07:00
Unknown W. Brackets
088ced7261 Fix framebuffer size flopping back and forth.
If block transfers are keeping it larger, keep it larger.
2017-04-12 00:19:02 -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
4a8c661c00 Skip downloads of cleared VRAM.
If we've just cleared VRAM, make sure we don't also download that clear.
2017-04-09 15:19:06 -07:00
Unknown W. Brackets
fe07b14a22 Cleanup 16-bit VRAM clearing. 2017-04-09 15:12:56 -07: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
45a99bbe33 Eliminate annoying warning in non-buffered rendering mode 2017-03-14 10:19:49 +01:00
Henrik Rydgård
eb73a28140 Add new log category FRAMEBUF 2017-03-13 13:55:29 +01:00
Henrik Rydgård
a895936913 More log cleanup. Fix resize issue: Fixes #9392 2017-03-06 13:50:22 +01:00
Henrik Rydgard
a04e24c300 Further D3D11 on mobile fixes 2017-03-05 14:05:04 +01:00
LunaMoo
d6c2944aac Minor workaround for 5xBR,
Also screen scaling filter for upscaling filters that also happen to use postShaderAtOutputResolution_.
2017-02-23 22:54:50 +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
2fabe3e1c5 Fix a number of resource leaks, both D3D11-only and general.
Additionally, fix D3D11 BlitFramebuffer
2017-02-17 19:23:01 +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
8f48816baa Move CalcShaderUniforms to FramebufferCommon 2017-02-15 21:51:38 +01:00
Henrik Rydgård
6efdde9ea4 D3D11: Fix build issue in Release mode. Triangle fan workaround. 2017-02-12 12:12:36 +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
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
7d60ec73be Move framebufChanged into the dirty flag field 2017-01-24 18:12:20 +01:00
Unknown W. Brackets
8c9ab09fe2 Download 154000 each frame for Katamari.
It textures from it in a weird way, maybe we can find a better fix.
2016-09-18 20:38:20 -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
a1fbcc3d93 Avoid directly calling osm from Core/GPU code.
This allows UI to handle the message however it wants to, and reduces
cross linkage issues.
2016-05-27 22:05: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
c8457d39ed Fix a bunch of compiler warnings, delete some unused code 2016-03-13 15:17:31 +01:00