| Age | Commit message (Collapse) | Author |
|
This moves much of the duplicated bounding box code into VideoCommon,
leaving only the specific buffer implementations in each backend.
|
|
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
|
|
Converts lingering panic alert calls over to the fmt-capable ones.
|
|
Fixes https://bugs.dolphin-emu.org/issues/12245.
I considered making a change to DolphinQt instead of
the core, but then additional effort would've been
required to add the same fix to the Android GUI once
we start using the new config system there.
|
|
glReadPixels() with depth formats is not supported.
Should fix broken EFB access on GLES.
|
|
new GetWarningMessage in video backend - will be needed for DX11.1 feature set warnings
|
|
"Cache data" can be used to assist a driver with creating pipelines by
using previously-compiled shader ISA.
|
|
D3D11 doesn't support partial copies of depth buffers via
CopySubResource(), so we need to use a different path for the EFB cache.
|
|
|
|
|
|
|
|
|
|
This also removes the need for a sleeping event thread.
|
|
|
|
|
|
|
|
|
|
|
|
Instead, expose functions to operate with it. This way we keep the
internal representation concealed.
|
|
|
|
|
|
It's the inverse of supports-copy-to-vram.
|
|
The video thread and backend no longer create any windows, therefore
there will never be any messages dispatched to their thread.
|
|
Also allows the work previously done in Prepare to return a failure
status.
|
|
For some GLES drivers that don't support dual-source blending, but do
support GL_EXT_shader_framebuffer_fetch, this might be useful.
|
|
Field is unused as of Hybrid XFB.
|
|
|
|
|
|
Ideally Common.h wouldn't be a header in the Common library, and instead be renamed to something else, like PlatformCompatibility.h or something, but even then, there's still some things in the header that don't really fall under that label
This moves the version strings out to their own version header that doesn't dump a bunch of other unrelated things into scope, like what Common.h was doing.
This also places them into the Common namespace, as opposed to letting them sit in the global namespace.
|
|
Improve bookkeeping around formats. Hopefully make code less confusing.
- Rename TlutFormat -> TLUTFormat to follow conventions.
- Use enum classes to prevent using a Texture format where an EFB Copy format
is expected or vice-versa.
- Use common EFBCopyFormat names regardless of depth and YUV configurations.
|
|
|
|
|
|
'AbstractTexture'
|
|
This also removes an extra copy of the image for custom textures.
|
|
This leaves DDS textures using DXT1/3/5 compressed in-memory, which can
be passed directly to the backend.
|
|
|
|
|
|
|
|
We can't clamp the depth values to the 24-bit range while this extension is active.
|
|
VideoBackends: Set the maximum range when the depth range is oversized.
|
|
This stops the virtual method call from within the Renderer constructor.
The initialization here for GL had to be moved to VideoBackend, as the
Renderer constructor will not have been executed before the value is
required.
|
|
|
|
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.
|
|
|
|
We have TOO many video backends.
|
|
|
|
|
|
Software: Clean out unnecessary includes/fwd decls
|
|
|
|
|