| Age | Commit message (Collapse) | Author |
|
XFB: Send image to screen at start of field (Reduce VirtualXFB latency)
|
|
|
|
This is much more accurate to the hardware, and saves around 16ms
of latency.
|
|
Split Video Dumps on Resolution Change
|
|
|
|
VideoCommon: Fix some warnings.
|
|
|
|
We're past 5.0 now, so there is no need to look for old inis.
|
|
|
|
|
|
CoreTiming: Drop ProcessFifoWaitEvents.
|
|
globalTimer is only written in Advance, so this function has no function.
|
|
Without UID checking, it's basically a no-op that disables shader cache
and stores the shader source code (without ever reading it back).
|
|
|
|
Kind of pointless now that multiple shaders with the same UID are
now fundementally impossible.
|
|
Note: It's not 100% perfect, as some of the GPU capablities leak into the
pixel shader UID.
Currently our UIDs don't get exported, so there is no issue. But someone
might want to fix this in the future.
|
|
As much as possible, the asserts have been moved out of the GetUID
function. But there are some places where asserts depend on variables
that aren't stored in the shader UID.
|
|
|
|
|
|
Bug Fix: Previously vertex shaders and geometery shaders didn't track
antialaising state in their UIDs, which could cause AA bugs
on directx.
|
|
Bug Fix: It was theoretically possible for a shader with depth writes
disabled to map to the same UID as a shader with late depth
writes.
No known test cases trigger this.
|
|
Bug Fix: The normal stage UIDs were randomly overwriting indirect
stage texture map UID fields. It was possible for multiple
shaders with diffrent indirect texture targets to map to
the same UID.
Once again, it dpesn't look like this bug was ever triggered.
|
|
This frees up 21 bits and allows us to shorten the UID struct by an entire
32 bits.
It's not strictly needed (as it's encoded into the length) but I added a
bit for per-pixel lighiting to make my life easier in the following
commits.
|
|
The only code which touches xfmem is code which writes directly into
uid_data.
All the rest now read their parameters out of uid_data.
I also simplified the lighting code so it always generated seperate
codepaths for alpha and color channels instead of trying to combine
them on the off-chance that the same equation works for all 4 channels.
As modern (post 2008) GPUs generally don't calcualte all 4 channels
in a single vector, this optimisation is pointless. The shader compiler
will undo it during the GLSL/HLSL to IR step.
Bug Fix: The about optimisation was also broken, applying the color light
equation to the alpha light channel instead of the alpha light
euqation. But doesn't look like anything trigged this bug.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes a major preformance regression in Skies of Arcadia during
battle transisions.
I had plans for a more advanced version of this code after 5.0,
but here is a minimal implemenation for now.
|
|
Using glMapBufferRange to read back the contents of the SSBO is extremely
slow on NVIDIA drivers. This is more noticeable at higher internal
resolutions. Using glGetBufferSubData instead does not seem to exhibit
this slowdown.
|
|
|
|
This flag is not in use at all.
|
|
This was never tested well:
HdkR> The tester was most likely trying to load a stale shader cache or something
|
|
|
|
VideoCommon: Workaround Intel OS X bug again
|
|
Right now, it's possible that x and y are scaled differently, if efb and xfb size are not the same.
|
|
|
|
This reverts commit 1f1b127b69e47728593e8174d4ed8883622792a5.
|
|
Partial updates for paletted textures
|
|
Fix Metroid: Other M
|
|
This regression did only happen on OpenGL ES.
|
|
PixelShaderGen: Move constant multiplication to constant generation.
|
|
This pr fixes another regression that happened after pr #3165 was merged. The shadows in mario baseball should now work again.
|
|
mimimi085181/remove-use-only-once-restriction-partial-updates
Remove the restriction to use efb copies only once as partial update
|
|
Also changed a few functions to be static.
|
|
No need to do this within the shader per pixel if it can be done once.
|
|
This is an oversight from pr https://github.com/dolphin-emu/dolphin/pull/3266 . Thanks to degasus for pointing this out.
It's possible that MAX_TEXTURE_BINARY_SIZE can be optimised, but i wanted to play it safe considering the 5.0 stable release.
|