Commit Graph
96 Commits
Author SHA1 Message Date
Henrik Rydgård 86cfc411a4 Remove the confusing "DisableState" across the codebase 2018-02-08 16:27:36 +01:00
Unknown W. BracketsandHenrik Rydgård b566b6cca2 D3D11: Remove potentially misleading rebind func.
This doesn't override the GPUCommon one, it just shares the same name,
which might lead to confusion later.  Better not to use the parent.
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 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 cd2dfd5c9a UI: Show a few more flags in build config. 2017-12-10 09:00:51 -08: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
Unknown W. Brackets 7339c6c0fd Vulkan: Report more info on texture from target. 2017-11-30 15:42:21 -08: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 4a30aedc53 Unify and move around code to cleanup some debug accessors 2017-10-18 13:10:05 +02: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
Henrik Rydgård f2ea0ce472 Unify (well, almost) GetOutputFramebuffer (D3D11/GL) 2017-10-18 10:54:26 +02:00
Henrik Rydgård 214270d192 Unify GetDepthBuffer/GetStencilBuffer in GL/D3D11 2017-10-18 10:54:26 +02:00
Henrik Rydgård f220c74037 Remove comment, add check. 2017-10-16 16:28:27 +02:00
Henrik Rydgård 9b1ee6fce6 Unify GetFramebuffer in GLES and D3D11.
D3D9 is left behind for now, and Vulkan still needs implementation - got a branch with initial work towards that.
2017-10-11 13:39:34 +02:00
Henrik Rydgård 62972cb891 D3D11: Move to CopyFramebufferToSync where easily possible. 2017-10-11 13:34:31 +02:00
Henrik Rydgård 5bbe0eb69a Move GL readback to a Thin3D abstraction 2017-10-10 14:48:58 +02:00
Henrik Rydgård 4e7099bf47 Vulkan: Fix some more state dirtying issues. 2017-08-15 10:51:44 +02:00
Unknown W. BracketsandHenrik Rydgård 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
Henrik Rydgard 56cd991833 All: Only recompute the vertex shader ID when dirty 2017-08-14 11:36:06 +02:00
Henrik Rydgard 4e55654522 Add some missing VIEWPORTSCISSOR dirtying. 2017-08-14 11:35:11 +02:00
Henrik Rydgard e439055a32 All: Only convert raster state if dirty 2017-08-14 11:14:26 +02:00
Henrik Rydgard e2b179d6e2 All: Only convert depth stencil state if dirty 2017-08-14 11:14:26 +02:00
Henrik Rydgard e4567c694c All: Only convert blend state if "dirty" 2017-08-14 11:14:26 +02:00
Henrik Rydgård 0ac979505c Fixes for D3D11 postprocessing 2017-06-02 17:04:08 +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 e8890e3c4a Address a bunch of review comments. 2017-05-30 09:36:17 +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 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
Unknown W. Brackets 1932f4097b Fix a type conversion warning. 2017-03-20 07:21:54 -07:00
Henrik Rydgard 1566ab9ac3 With this, lens flare works in 2x+ in Burnout Legends. #9361 2017-03-19 17:54:21 +01:00
Henrik Rydgard 2eed2a28c7 D3D11: Avoid a framebuffer copy when reading back data if rendering at 1x
Fix the size of the framebuffer copy.
2017-03-19 17:54:21 +01:00
Unknown W. Brackets 9b42515ef7 D3D11: Correct GE debugger stencil value display.
When hovering over a pixel, if we send a float, it won't show the 0-255
value, which we'd prefer for stencil values.  This is the easy fix.
2017-03-19 07:45:52 -07:00
Henrik Rydgard ef26ee267d D3D11: Get rid of a forgotten half pixel offset. Improves #9361 2017-03-19 14:57:48 +01:00
Henrik Rydgard 478b5dcbe1 Fix bug in D3D11 framebuffer readbacks, helps #9361, though seems off by half a pixel? 2017-03-19 14:22:06 +01:00
Unknown W. Brackets ae2c0193b8 D3D11: Report unexpected self-renders. 2017-03-18 13:52:30 -07:00
Henrik Rydgård eb73a28140 Add new log category FRAMEBUF 2017-03-13 13:55:29 +01:00
Henrik Rydgard b0bd7e3c6f Minor changes for compatibility with VS2017 2017-03-12 17:33:00 +01:00
Henrik Rydgard 9bb81a24c0 Fix bug where we'd reload the post shader information every frame. Fixes #9410 2017-03-11 12:25:43 +01:00