Commit graph

223 commits

Author SHA1 Message Date
Unknown W. Brackets
ad0b8435ca D3D9: Reuse BGRA conversion code.
Also, couldn't have been right to skip it when the pointers equal, not
sure if that case was ever being hit.
2018-06-06 05:56:30 -07:00
Unknown W. Brackets
2ab1552f2d D3D9: Use an unordered_map for offscreen.
Also cleanup.  Mostly just for consistent usage.
2018-06-06 05:56:30 -07:00
Henrik Rydgård
c1d113e0e9 When creating temp framebuffers for download, size them using bufferWidth/Height instead of width/height.
Or maybe we should make sure to only download within the width/height by
adding more clamps at the beginning of ReadFramebufferToMemory but seems
more dangerous.

Plus some minor things.

Should help #11113
2018-06-01 21:16:07 +02: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
Henrik Rydgård
86cfc411a4 Remove the confusing "DisableState" across the codebase 2018-02-08 16:27:36 +01:00
Henrik Rydgård
b9b41f52c5 Add a simple spinner to the game load screen to not look frozen. 2018-02-08 12:03:29 +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
f8b70fe185 Clean up all the FBOs in DestroyAllFBOs. Missing any can have bad consequences after app switching on Android/Vulkan where we recreate stuff. 2017-12-01 12:17:10 +01:00
Henrik Rydgård
23f7819329 Unify RebindFramebuffer, mostly. 2017-11-15 20:44:25 +01:00
Unknown W. Brackets
78b5565035 GPU: Properly Release() FBOs.
In case we end up wanting to use those reference counts, let's use the
right API.
2017-11-05 12:45:02 -08:00
Henrik Rydgård
d53c88456a Unify GetFramebufferList() (trivial) 2017-10-18 12:49:15 +02:00
Henrik Rydgård
898716cc26 Unify DownloadFramebufferForClut 2017-10-18 12:34:01 +02:00
Henrik Rydgård
981c49615c Unify FlushBeforeCopy. Remove old dummy methods from Vulkan framebuffer manager. 2017-10-18 12:26:02 +02:00
Henrik Rydgård
4e3a9bc3e3 Unify some more framebuffer functions. Leave the GL stuff alone for now due to async. 2017-10-18 11:20:58 +02:00
Unknown W. Brackets
ca40282a10 Dirty on various framebuf state helpers.
Ideally we should cut down on using DisableState(), or restore afterward.
2017-08-14 11:36:07 +02:00
Unknown W. Brackets
5190ad7aa2 GLES: Copy only depth in BlitFramebufferDepth.
Otherwise we get glitched rendering in some games - see #9740.
2017-06-01 20:57:08 -07:00
Unknown W. Brackets
f1e9180676 Vulkan: Fix Cardboard rendering.
Mostly the Viewport2D flush issue, which may possibly have broken
something else.
2017-05-31 23:26:38 -07:00
Henrik Rydgård
2b14c6b531 Delete obsolete function ClearBuffer 2017-05-31 13:38:22 +02:00
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
35aefe4a2a BindBackBufferAsRenderTarget is now replaced with BindFramebufferAsRT(nullptr) 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
97620d4cca GPU: Rebuild FBOs when they now have storage. 2017-04-24 09:37:54 -07:00
Unknown W. Brackets
ae4c28aa4d D3D9: Support AUTO mip bias and approximate CONST. 2017-04-22 18:38:08 -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
Unknown W. Brackets
030f803002 Remove unused parameter to DestroyAllFBOs(). 2017-04-13 23:07:21 -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 Rydgård
eb73a28140 Add new log category FRAMEBUF 2017-03-13 13:55:29 +01:00
Unknown W. Brackets
5c6ae0e2e9 Correct a log format warning. 2017-03-12 23:00:12 -07:00
Henrik Rydgard
b0bd7e3c6f Minor changes for compatibility with VS2017 2017-03-12 17:33:00 +01:00
Henrik Rydgård
440e72d250 Clean up among the logs. Remove MASTER_LOG. 2017-03-06 13:10:23 +01:00
Henrik Rydgard
700e533622 Minor D3D9 cleanups 2017-03-02 12:29:23 +01:00
Henrik Rydgard
b94ad12aea D3D9: Use D3DLOCK_DISCARD when updating whole textures, may be a small speedup 2017-02-21 11:35:06 +01:00
Henrik Rydgard
06cf449719 Delete some broken DX9 code. 2017-02-21 11:11:38 +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 Rydgård
142b30836a DX9 typo fix in PackDepthBuffer 2017-02-12 17:50:37 +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
5b181e8244 Further work on DrawActiveTexture 2017-02-07 00:13:54 +01:00
Henrik Rydgard
275f9248a1 Preparing to unify the DrawActiveTexture API 2017-02-07 00:08:45 +01:00
Henrik Rydgard
9e644aa815 Unify NotifyRenderFramebufferUpdated 2017-02-07 00:08:45 +01:00