Unknown W. Brackets
22e46b51c2
GPU: Centralize DestroyAllFBOs().
...
This cleans up the postshader update code.
2020-05-13 18:15:04 -07:00
Unknown W. Brackets
2faab0e082
GPU: Use postshader for direct VRAM draws again.
...
Also centralize the pixel texture code while at it.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
762b656ea2
GPU: Use a texture directly for MakePixelTexture.
...
This makes it easier to do things with it.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
3aa8287b74
softgpu: Enable postshader support.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
fa6544b737
GPU: Cleanup leftover postshader stuff.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
cb94487a16
GPU: Move post shader handling to new class.
...
Currently, Vulkan is not working properly and direct (RAM -> output) is
not hooked up. But in general, it works.
2020-05-13 18:10:06 -07:00
Unknown W. Brackets
d39b0bdca2
GPU: Split FramebufferCommon into two classes.
...
Only some things moved over so far.
FramebufferCommon does too much, we want to share it with softgpu without
all the buffer management stuff.
2020-05-13 18:07:22 -07:00
Henrik Rydgard
5aed2a2cee
Gate fewer effects behind "Disable slow framebuffer effects".
2019-02-08 15:02:31 +01:00
Unknown W. Brackets
7ad6270623
GLES: Remove spurious semicolons in shaders.
...
Were causing compile errors on some devices.
2018-12-23 20:21:17 -08:00
Henrik Rydgård
a2cc2b39ca
Additional raw string shaders
2018-12-18 10:42:29 +01:00
Unknown W. Brackets
87085d18f0
GLES: Fix render-to-self detection.
...
Was broken by the recent fb_address changes, so match Vulkan and D3D11
for consistency.
2018-11-22 09:26:12 -08: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
Unknown W. Brackets
16d7a80980
GPU: Clear alpha more consistently from 565.
...
Before, the backends all did different things. Now they are more in sync,
but Vulkan still behaves slightly differently.
Fixes #11326 .
2018-08-30 21:00:21 -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
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