| Age | Commit message (Collapse) | Author |
|
GLInterface: Fix VideoSW on linux + OSX (v2)
Conflicts:
Source/Core/VideoBackends/OGL/GLInterface/GLX.cpp
|
|
Fifo: Rewrite SyncGPU
|
|
- Refactored Light Attenuation into inline function in Software Renderer
- Corrected zero length light direction vector to resolve with normal direction (essentially becomes LIGHTDIF_NONE which was what I was after)
- Change the API of this shared function to use points for output variables (degasus)
|
|
- Fixes remaining lighting issues (Mario Tennis, etc)
- Apply same fixes to Software Renderer
- Corrected zero length light direction vector to resolve with normal direction (essentially becomes LIGHTDIF_NONE which was what I was after)
|
|
The new implementation has 3 options:
SyncGpuMaxDistance
SyncGpuMinDistance
SyncGpuOverclock
The MaxDistance controlls how many CPU cycles the CPU is allowed to be in front
of the GPU. Too low values will slow down extremly, too high values are as
unsynchronized and half of the games will crash.
The -MinDistance (negative) set how many cycles the GPU is allowed to be in
front of the CPU. As we are used to emulate an infinitiv fast GPU, this may be
set to any high (negative) number.
The last parameter is to hack a faster (>1.0) or slower(<1.0) GPU. As we don't
emulate GPU timing very well (eg skip the timings of the pixel stage completely),
an overclock factor of ~0.5 is often much more accurate than 1.0
|
|
Only loop through and call getPointers when something has actually
changed.
Worth about 2-4% speedup un SMG over the previous commit.
|
|
Move ownership of cached_arraybases from CPMemory to VertexLoaderManager
to better match it usage.
|
|
|
|
Disable bbox
|
|
|
|
|
|
|
|
|
|
Software: Convert most volatile variables to atomics
|
|
|
|
|
|
Now it's done without a busy loop
|
|
|
|
Various fixes to formatting and whitespace
|
|
This reduces some dumb state shuffling when calling the emitted vertex loaders.
|
|
This fixes a crash on opening the gfx settings after closing a game.
|
|
|
|
Minor consistency changes
|
|
|
|
Mostly small changes, like capitalization and spelling
|
|
|
|
|
|
They just blow up the code.
|
|
Not needed for unordered map.
|
|
They are used to remove the flush amounts, but as we don't
flush anymore on vertex loader changes (only on native
vertex format right now), this optimization is now unneeded.
This will allow us to hard code the frac factors within the
vertex loaders.
|
|
|
|
Silence some -Wswitch-default warnings.
|
|
|
|
|
|
|
|
|
|
~35-45% faster NFS:HP2, possibly other vertex-bound games.
|
|
This implemention tries to be as accurate as the old SW implemention, but it will remove the dependcy of our vertexloader on videosw.
|
|
|
|
Remove GetPointers in VideoSoftware.
|
|
EmuWindow doesn't even exist anymore. wxWidgets is also decoupled from the backends.
|
|
This same code was previously fixed in VideoCommon, just
updating this to match.
We are down to 121 GetPointers.
|
|
|
|
Add missing includes where headers depend on other headers having been included first.
|
|
included first.
This is good hygiene, and also happens to be required to build Dolphin
using Clang modules.
(Under this setup, each header file becomes a module, and each #include
is automatically translated to a module import. Recursive includes
still leak through (by default), but modules are compiled independently,
and can't depend on defines or types having previously been set up. The
main reason to retrofit it onto Dolphin is compilation performance - no
more textual includes whatsoever, rather than putting a few blessed
common headers into a PCH. Unfortunately, I found multiple Clang bugs
while trying to build Dolphin this way, so it's not ready yet, but I can
start with this prerequisite.)
|
|
I must have missed this when dropping OpenGL library includes. This is annoying when on a system that doesn't have libGL.
|
|
Move bDumpFrames to SConfig (and it's references)
|
|
Reimplement Bounding Box calculation using the software renderer.
|
|
Software: Remove obsoleted VideoConfigDialog.
|
|
|