197 Commits

Author SHA1 Message Date
Henrik Rydgård b5e5d72a0a Complete the separation of depth and stencil renderpass flags 2017-12-30 22:52:22 +01:00
Unknown W. Brackets 025a806ab4 GPU: Remove FBO auto-download hack.
See #6261.  This should be replaced now with block transfer detection,
which is faster and doesn't cause crashes.

Games that previously required this setting should use block transfer
instead.  If that doesn't work, it's a bug.
2017-12-25 11:17:59 -08: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 8e2682d93c GLES: Reduce conversion buf size if possible.
No need to use the stride for the temp buf.  May avoid issues if the
driver crashes when reading outside the FBO.
2017-12-21 12:02:45 -08:00
Unknown W. Brackets 30871bfcd1 GLES: Avoid buffer on GLES2 for h=1 / CLUT. 2017-12-21 11:52:11 -08:00
Unknown W. Brackets 75aa65908c GLES: Pack without stride where possible.
This may possibly help #10425 in case the behavior is different when going
over width when reading pixels.
2017-12-21 11:41:53 -08:00
Henrik Rydgård 99b34c7b45 Use glslang to translate GLSL 1.x postshaders to GLSL 3.0 or later to appease strict GL Core drivers. Should fix #10362
Fixed small bugs, now tested and working on mac.

Add spirv-cross to cmake build
2017-12-08 10:25:42 +01:00
Henrik Rydgård 7d0fc9ce65 Rework GL lost-device to work more like Vulkan. Gets rid of gl_lost manager etc. 2017-12-07 15:05:59 +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 6ea669368c Crash reports from 5% rollout of 1.5: Make some asserts dbg_asserts for now, try to fix an issue with framebuffers when postproc is enabled. 2017-11-29 18:53:52 +01:00
Henrik Rydgård 23f7819329 Unify RebindFramebuffer, mostly. 2017-11-15 20:44:25 +01:00
Henrik Rydgård 525cb40f84 Vulkan: Support wide lines if available on the GPU. 2017-11-12 10:17:49 +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 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 ad4bc3f9f4 Address review comments. 2017-10-16 14:32:26 +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 16e68aa7c7 Get rid of BindFramebufferForRead 2017-10-10 14:49:07 +02:00
Henrik Rydgård 5bbe0eb69a Move GL readback to a Thin3D abstraction 2017-10-10 14:48:58 +02:00
Henrik Rydgård 2d94d45389 More format support in thin3d GL 2017-10-10 14:48:54 +02:00
Henrik Rydgård 0aa950b663 Start moving PACK_ALIGNMENT into SafeGLReadPixels 2017-10-09 15:43:26 +02:00
Henrik Rydgård f760429792 Minor refactoring of framebuffer readbacks. 2017-10-09 15:17:55 +02:00
Unknown W. Brackets e754cca288 GLES: Add OpenGL 3.x core profile support.
Need to define #version everywhere and avoid varying/etc.
2017-09-20 12:22:01 -07:00
LunaMoo 5b75d2af20 Add uniform to make post process aware of videos.
And an example effect ~ subtle AA in-game/heavy smoothing for videos.
2017-09-13 08:13:51 +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 e8890e3c4a Address a bunch of review comments. 2017-05-30 09:36:17 +02:00
Henrik Rydgård c173da49d3 Fix a number of bugs and stuff affecting Vulkan on Mali 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
Henrik Rydgard 10f144ef2e Remove BGRA path from GLES. Less code to test and support and it does no longer appear to have any benefit. See new comments in #5874 2017-03-26 11:39:25 +02:00
Unknown W. Brackets 1b02734e56 GL: Avoid common-case shuffling video/raw draws. 2017-03-22 21:00:28 -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
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
Henrik Rydgård 1496e2caa2 Fix possible crash when task switching on Android 2017-03-06 17:04:55 +01:00
Henrik Rydgard 5d4700ae7e Sprinkle calls to CHECK_GL_ERROR_IF_DEBUG all over the place, disabled by default. 2017-03-03 14:18:40 +01:00
Henrik Rydgard fa80cfa4aa Additional UWP preparations 2017-02-25 09:57:14 +01:00