dae161e138
FramebufferManager: Use D24S8 on Adreno when using Vulkan
...
D32F clears are broken on Adreno, which resulted in smeared geometry
across the screen.
2018-07-19 23:30:25 +10:00
3323265d91
FramebufferManager: Dynamic selection of EFB depth format
2018-07-19 21:47:42 +10:00
364eaadfe5
VideoBackends: Remove header inclusions made unnecessary with Hybrid XFB
...
Just some inclusions that weren't removed in the initial Hybrid XFB PR.
2017-11-19 00:53:10 -05:00
53684701fa
HybridXFB: Fix lint errors
2017-11-17 22:11:31 -06:00
33bc286baa
Remove old XFB logic
2017-11-17 22:11:29 -06:00
65cd085f9b
Add new GUI option to skip XFBToRam and remove old XFB options
2017-11-17 22:11:28 -06:00
79387dddb2
Add support for hybrid XFB
2017-11-17 19:47:56 -06:00
4012166085
VideoCommon: Fix crash at startup with virtual XFB enabled
2017-03-09 23:39:48 +10:00
277829d842
VideoCommon: Eliminate static state in Renderer
2017-03-04 16:39:50 +10:00
c85e0a2586
FramebufferManagerBase: Return a std::pair from GetTargetSize
...
Keeps associated data together. It also eliminates the possibility of out
parameters not being initialized properly. For example, consider the
following example:
-- some FramebufferManager implementation --
void FBMgrImpl::GetTargetSize(u32* width, u32* height) override
{
// Do nothing
}
-- somewhere else where the function is used --
u32 width, height;
framebuffer_manager_instance->GetTargetSize(&width, &height);
if (texture_width != width) <-- Uninitialized variable usage
{
...
}
It makes it much more obvious to spot any initialization issues, because
it requires something to be returned, as opposed to allowing an
implementation to just not do anything.
2017-02-03 15:27:53 -05:00
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
6f3573dda8
D3D12: Implement XFB encoding/decoding (support Real XFB)
2016-05-08 23:18:51 +10:00
da0e647346
Render: Get rid of explicit new and delete
2015-12-22 19:10:05 -05:00
f448c6e291
FramebufferManagerBase: Get rid of explicit delete and new
2015-12-21 15:57:48 -05:00
0b02dc4f81
FramebufferManager: check for g_framebuffer_manager
2015-11-24 22:48:56 +01:00
0f26cdd31b
FramebufferManager: Allow CreateXFBSource to return nullptr
2015-11-24 22:48:55 +01:00
401f765462
FramebufferManagerBase: Compress a loop into a find_if
2015-09-01 16:54:44 -04:00
efd250494d
Video: stride in bytes rather than pixels
2015-07-25 02:48:56 +08:00
2e28ed3291
Video: respect stride of efb copies to xfb
2015-07-25 01:52:12 +08:00
268f52e054
Add missing license headers
2015-05-25 13:11:47 +02:00
e07679114b
Use emplace_* functions where in-place construction is preferable
2015-02-04 11:39:08 -05:00
46bb4fd364
FramebufferManagerBase: Remove obsolete parameters.
2014-12-25 00:58:16 +01:00
4a86234a79
D3D: Support stereoscopic XFB blit to screen.
2014-12-24 18:45:24 +01:00
b109b31f61
FramebufferManagerBase: Only allocate one layer for Real XFB.
2014-12-24 17:22:23 +01:00
8210b9c915
TextureCache: Ensure that all render target textures have as many layers as the frame buffer.
...
Also fixes a case where the D3D code path did not initialize num_layers leading to undefined behaviour.
2014-11-23 14:27:40 +01:00
7f6284c2fc
Change a bunch of reference function arguments to pointers.
...
Per the coding style and sanity.
2014-10-02 03:00:33 -04:00
a6ffa55215
VideoCommon: Fix function casing in FrameBufferManagerBase
2014-09-20 14:54:59 -04:00
bd9953d97e
Remove the 3D Vision hack.
...
The hack was needed because the Nvidia 3D Vision heuristics are documented to only support surfaces that are the same size as the backbuffer. This would be the case if you enabled the hack and selected the "Auto (Window Size)" internal resolution.
However, on recent drivers the same effect is achieved by selecting the "Auto (Multiple)" internal resolution. Therefore the hack is no longer required.
2014-07-26 12:45:10 +02:00
716b3fefd4
VideoCommon: recreate XFB texture when the XFB size changes.
...
We need to do this to correctly deal with games which dynamically change the
XFB width and height.
2014-05-05 11:01:14 -07:00
d802d39281
clang-modernize -use-nullptr
...
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-03-09 21:14:26 +01:00
c89f04a7c5
clang-modernize -loop-convert
...
and some manual adjustments
2014-03-09 21:11:59 +01:00
2afe215271
Convert all includes to relative paths.
2014-02-18 02:19:10 -05:00
34692ab826
Remove unnecessary Src/ folders
2013-12-31 14:03:19 -05:00