Commit Graph

2981 Commits

Author SHA1 Message Date
Chris Burgener 37a0c9c404 Check for zero height when splitting video dump 2016-07-21 11:28:10 -04:00
EmptyChaos 5adb29b6cb Fifo: Call AllowSleep instead of Wakeup when pausing.
BlockingLoop was being woken when the emulator was being paused
which would cause the loop to busy spin. Issue 9692.
2016-07-19 15:20:17 +10:00
Anthony J. Bentley de6babb928 Add an OpenBSD driver identifier. 2016-07-17 04:13:06 -06:00
comex 42660292f6 Use newer ffmpeg APIs to avoid deprecation warnings. 2016-07-10 21:36:18 -04:00
Pierre Bourdon 7ee6d08213 Merge pull request #3961 from phire/less_virtual_xfb_lag
XFB: Send image to screen at start of field (Reduce VirtualXFB latency)
2016-07-10 03:01:26 +02:00
Chris Burgener d00c013339 Remove VI count limit on Movie playback 2016-07-09 20:35:01 -04:00
Scott Mansell 35566316ed XFB: Send image to screen at start of field.
This is much more accurate to the hardware, and saves around 16ms
of latency.
2016-06-28 15:12:43 +12:00
Chris Burgener 28a3691e70 Merge pull request #3930 from RisingFog/split_video_dump_resolution
Split Video Dumps on Resolution Change
2016-06-27 22:39:19 -04:00
Léo Lam d9fc1e01b4 LightingShaderGen: Fix formatting 2016-06-26 16:35:44 +02:00
Markus Wick 6b01eca3a0 Merge pull request #3950 from phire/fix-warnings
VideoCommon: Fix some warnings.
2016-06-26 13:37:15 +02:00
Scott Mansell d958388617 VideoCommon: Fix some warnings. 2016-06-26 23:10:31 +12:00
degasus d79aeaa1e9 VideoCommon: Drop GetConfigName.
We're past 5.0 now, so there is no need to look for old inis.
2016-06-26 12:34:59 +02:00
degasus 5f2f462067 VideoBackends: Merge ShowConfig functions. 2016-06-26 12:34:59 +02:00
degasus 7833ff25df VideoBackends: Merge Initialize and Shutdown functions. 2016-06-26 12:34:59 +02:00
Scott Mansell b16333a25c Merge pull request #3716 from degasus/coretiming
CoreTiming: Drop ProcessFifoWaitEvents.
2016-06-26 22:13:05 +12:00
degasus 4c5f8f9c91 CoreTiming: Drop ProcessFifoWaitEvents.
globalTimer is only written in Advance, so this function has no function.
2016-06-26 11:29:25 +02:00
Scott Mansell 2f134c5c36 Remove the rest of ShaderDebugging.
Without UID checking, it's basically a no-op that disables shader cache
and stores the shader source code (without ever reading it back).
2016-06-26 16:25:11 +12:00
Scott Mansell ebe5fd0b36 Multithreadded Shadergen: Minor fixups. 2016-06-26 16:13:22 +12:00
Scott Mansell 95469ec225 Remove UID Checker.
Kind of pointless now that multiple shaders with the same UID are
now fundementally impossible.
2016-06-26 16:13:22 +12:00
Scott Mansell 24e5d21780 Multithreadded Shadergen: Second pass over Pixel Shadergen.
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.
2016-06-26 16:13:21 +12:00
Scott Mansell 1a831cfc7d Multithreadded Shadergen: Second Pass over vertex/lighting Shadergens
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.
2016-06-26 16:13:21 +12:00
Scott Mansell 28c7113e41 Multithreadded Shadergen: Second Pass over geometery Shadergen 2016-06-26 16:13:21 +12:00
Scott Mansell fa02f47729 Multithreadded Shadergen: First pass over geometery Shadergen. 2016-06-26 16:13:20 +12:00
Scott Mansell 4969415f38 Remove global refrences from common code.
Bug Fix: Previously vertex shaders and geometery shaders didn't track
         antialaising state in their UIDs, which could cause AA bugs
	 on directx.
2016-06-26 16:13:20 +12:00
Scott Mansell 0d996f512b Multithreadded Shadergen: First pass over pixel Shadergen
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.
2016-06-26 16:13:20 +12:00
Scott Mansell e99364c7c9 UID Change: Fix bug with indirect stage UIDs
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.
2016-06-26 16:13:19 +12:00
Scott Mansell 03f2c9648d Shader UID change: Only store the two bits of components we need.
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.
2016-06-26 16:13:19 +12:00
Scott Mansell 53c402dbc5 Multithreadded Shadergen: First Pass over vertex/lighting Shadergens
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.
2016-06-26 16:13:19 +12:00
degasus 59e4882af3 nullvideo: initial release of null video backend 2016-06-25 22:40:23 +02:00
Chris Burgener 88dbaf1fa5 Split Video Dumps on Resolution Change 2016-06-25 11:39:41 -04:00
Pierre Bourdon 5fcb4bb3ab Further fixes to the formatting change. WX sucks. 2016-06-24 12:16:10 +02:00
Pierre Bourdon 3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Scott Mansell d197f489b9 analytics: Report OpenGL's adapter name too. 2016-06-20 23:54:44 +12:00
Pierre Bourdon c4f5c471bb Externals: Add libcurl. 2016-06-18 18:31:40 +02:00
Scott Mansell 96ab76f81d TextureCache: Rename functions and add comments to clear up docs 2016-06-18 04:27:16 +12:00
Scott Mansell 94eaacae30 TextureCache: Track efb copies used in a partially updated texture
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.
2016-06-17 23:46:22 +12:00
Stenzek 89e54fbd6c OGL: Work around slowdown of glMapBufferRange with SSBO on NVIDIA drivers
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.
2016-05-19 21:24:09 +10:00
degasus bca0e06a95 OGL: Use coherent mapping on Qualcomm devices. 2016-05-11 23:55:28 +02:00
degasus 7517d126c8 DriverDetails: Drop BUG_BROKENALPHATEST.
This flag is not in use at all.
2016-05-11 21:22:09 +02:00
degasus 6219c39cf5 OGL: Drop QC ES3.1 workaround.
This was never tested well:

HdkR> The tester was most likely trying to load a stale shader cache or something
2016-05-11 20:45:07 +02:00
Stenzek 6f3573dda8 D3D12: Implement XFB encoding/decoding (support Real XFB) 2016-05-08 23:18:51 +10:00
Mathew Maidment 2d7dfa060e Merge pull request #3796 from endrift/indtev-simplify
VideoCommon: Workaround Intel OS X bug again
2016-04-29 19:59:45 -04:00
mimimi085181 8c34463f14 Make integral auto IR(multiple of 640x528) work as expected
Right now, it's possible that x and y are scaled differently, if efb and xfb size are not the same.
2016-04-26 23:25:38 +02:00
Jeffrey Pfau d6517a761c VideoCommon: Simplify indirect texture lookup code slightly 2016-04-23 22:55:52 -07:00
Jeffrey Pfau aa736bf258 Revert "VideoBackend: Remove extraneous shifts from indirect texture lookups"
This reverts commit 1f1b127b69.
2016-04-23 22:55:42 -07:00
Pierre Bourdon 2063fc671a Merge pull request #3748 from mimimi085181/partial-updates-paletted-textures
Partial updates for paletted textures
2016-04-11 21:47:24 +02:00
Pierre Bourdon 61ea5328f7 Merge pull request #3774 from phire/Fix_Metroid_Other_M
Fix Metroid: Other M
2016-04-11 21:43:20 +02:00
degasus ef01f234df PixelShaderGen: Fixes implicit type conversion or PR #3772.
This regression did only happen on OpenGL ES.
2016-04-10 12:49:32 +02:00
Pierre Bourdon c4af588945 Merge pull request #3772 from degasus/shader_opt
PixelShaderGen: Move constant multiplication to constant generation.
2016-04-10 01:20:34 +02:00
mimimi085181 9f625417c0 Partial updates for paletted textures
This pr fixes another regression that happened after pr #3165 was merged. The shadows in mario baseball should now work again.
2016-04-09 18:22:36 +02:00