Tillmann Karras
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
Tillmann Karras
268f52e054
Add missing license headers
2015-05-25 13:11:47 +02:00
degasus
7e127da791
VideoCommon: Warn if bbox is disabled but used
2015-05-25 09:33:34 +02:00
degasus
029912681e
VideoCommon: return 0 if bbox is disabled
...
Through just returning the last written value sounds better, this crashes Paper Mario.
In my opinion, gfx issues are fine on older GPUs, but crashes should not happen.
2015-05-25 09:33:34 +02:00
degasus
6b2a1e57e2
BBox: remove now unreachable SW bbox implementation
2015-05-25 09:33:34 +02:00
degasus
acd074e291
VideoCommon: Make BBox emulation optional
2015-05-25 09:33:34 +02:00
Jules Blok
e31982474c
OGL: Depth range inversion.
2015-05-22 23:52:22 +02:00
Jules Blok
88cc91030e
VertexShaderGen: Use correct depth output when glClipControl is supported.
2015-05-22 23:52:21 +02:00
degasus
c7bae5ad11
VideoCommon: Merge EFB pokes
2015-05-20 10:39:21 +02:00
Jules Blok
ef78941042
VideoBackends: Clamp depth to uint24 range.
2015-05-18 23:22:28 +02:00
degasus
562b9d4a9f
VideoCommon: Abort texture prefetching on low RAM
...
There is no nice way to correctly "detect" the "used" memory, so we just say
we're fine to use 50% of the physical memory for custom textures.
This will fix out-of-memory crashes, but we still might run into swapping issues.
2015-05-16 15:39:36 +02:00
degasus
242f7d964d
CustomTexture: prefetch all available textures
2015-05-16 15:12:07 +02:00
degasus
3d98f6ab9f
PixelShaderGen: apply zfreeze before ztextures
...
The zfreeze option freezes the depth plane of the rasterization.
So this is done before the TEV stages, where the z-textures are applied.
2015-05-13 20:06:23 +02:00
Fog
16081a23f1
Fix video dumping incorrect lengths for some games
2015-05-09 02:28:48 -04:00
Jules Blok
1d745d632a
PixelShaderGen: Clamp zCoord to the depth range.
2015-05-08 14:43:43 +02:00
Jules Blok
d04af15ad4
TextureConversionShader: Use floating point values in clamp().
2015-05-08 14:32:24 +02:00
Jules Blok
5dbb43ae1d
PixelShaderGen: Use new multiplier everywhere and directly cast to int instead or rounding.
2015-05-08 14:32:23 +02:00
Jules Blok
0f2c72f0f8
VideoCommon: Clamp integer conversions.
2015-05-08 14:32:16 +02:00
Jules Blok
c4f85a38e6
VideoBackends: Use proper floating point depth precision.
2015-05-08 14:29:29 +02:00
Markus Wick
a76bfb1f55
Merge pull request #2356 from Armada651/dump-efb
...
VideoCommon: Implement EFB dumping for both backends.
2015-05-02 13:27:38 +02:00
Jules Blok
54f4443971
VideoCommon: Implement EFB dumping for both backends.
2015-05-02 13:23:33 +02:00
Ingve Skåra
5799824b22
Fix dead link
2015-05-01 21:42:50 +02:00
comex
bac4167ff5
Merge pull request #2319 from comex/linted-fix-qualcomm-fail
...
(lint issues fixed) Fix OpenGLES 3.0 on Qualcomm's crappy driver, it can't bitshift sometimes.
2015-04-29 17:09:56 -04:00
Lioncash
8e59987d46
TextureDecoder_Common: Add missing algorithm include
...
It was being indirectly included, causing VS to syntactically mark std::min/max usages as being undefined (however it still compiled fine, of course)
2015-04-27 23:17:41 -04:00
skidau
4bf4778cd7
Merge pull request #2312 from comex/shutdown-race-condition
...
Exit ReadDataFromFifoOnCPU, PushFifoAuxBuffer early if shutting down (GpuRunningState=false)
2015-04-27 19:47:00 +10:00
Dwayne Slater
ae83a1b821
Fix OpenGLES 3.0 on Qualcomm's crappy driver, it can't bitshift sometimes.
...
[fixed lint issues and grammar ~comex]
2015-04-23 16:33:12 -04:00
comex
74c30d1784
Fix code broken by merge
2015-04-23 02:07:45 -04:00
comex
ad95454d04
Merge pull request #2223 from phire/imm
...
Cleanup OpArg, make immediates more explicit.
2015-04-23 01:53:18 -04:00
comex
06dd0ba3b4
Exit ReadDataFromFifoOnCPU, PushFifoAuxBuffer early if shutting down (GpuRunningState=false)
...
This was causing a race condition where the "absurdly large aux buffer"
panic alert would be triggered in the last bit of fifo processing on the
CPU thread in deterministic mode (i.e. netplay). SyncGPU is supposed to
move the auxiliary queue data to the beginning of the containing buffer
so we don't have to deal with wraparound; if GpuRunningState is false,
however, it just returns, because it's set to false by another thread -
thus it doesn't know whether RunGpuLoop is still executing (in which
case it can't just reset the pointers, because it may still be using the
buffer) or not (in which case the condition variable it normally waits
for to avoid the previous problem will never be signaled). However,
SyncGPU's caller PushFifoAuxBuffer wasn't aware of this, so if the
buffer was filling at just the right time, it'd stay full and that
function would complain that it was about to overflow it. Similar
problem with ReadDataFromFifoOnCPU afaik. Fix this by returning early
from those as well; other callers of SyncGPU should be safe. A
*slightly* cleaner alternative would be giving the CPU thread a way to
tell when RunGpuLoop has actually exited, but whatever, this works.
2015-04-21 22:33:29 -04:00
Lioncash
9eb608c9da
Merge pull request #2301 from lioncash/const
...
General: Apply the const specifier where applicable
2015-04-16 23:13:39 -04:00
Lioncash
63393570fb
PerfQueryBase: Move common implementation variables into base class
2015-04-15 19:22:16 -04:00
Lioncash
b0613bb1c8
General: Apply the const specifier where applicable
2015-04-15 02:04:03 -04:00
degasus
74795b4553
Fifo: rewrite Fifo_PauseAndLock
...
This lock isn't required any more as our FlushGpu garanty to block until the GPU is idle
2015-04-06 12:35:35 +02:00
degasus
b1ffd32f5f
Fifo: only touch the SIMD state once in the single core loop
2015-04-06 12:35:35 +02:00
degasus
d2c62b1744
Fifo: only sleep once within every ms of emulated time
2015-04-06 12:35:35 +02:00
degasus
b020ae1c5d
Fifo: rewrite sync on idle skipping hack
...
Now it's done without a busy loop
2015-04-06 12:35:35 +02:00
degasus
9bdaa00e2d
Fifo: use the outer loop on sync GPU
2015-04-06 12:35:35 +02:00
degasus
279c657cda
Fifo: Replace busy loop with condition variable
2015-04-06 12:35:27 +02:00
Tillmann Karras
9da86092ae
VertexLoaderX64: use common code for FORMAT_FLOAT
2015-03-18 12:12:21 +01:00
Tillmann Karras
7030542546
VertexLoaderX64: support SSE2 as a fallback
...
With suggestions by Fiora and magumagu.
2015-03-18 12:12:21 +01:00
Tillmann Karras
8d90ecda7f
VertexLoaders: make positions more compact
2015-03-18 12:09:06 +01:00
Scott Mansell
858ff69c01
Make OpArg.offset and operandReg private.
...
Also cleaned up WriteRest function.
2015-03-17 18:49:30 +13:00
magumagu
629fb8fb49
Merge pull request #2222 from Tilka/fix_warnings
...
Fix warnings
2015-03-16 17:41:46 -07:00
Tillmann Karras
f82afd1b2f
Fix warnings
2015-03-16 19:02:30 +01:00
Shawn Hoffman
ad64336137
quiet some warnings which appear on vs2015.
...
quieted warnings include shadowed variable names and integer extensions.
2015-03-15 19:28:47 -07:00
skidau
cdff138c67
Show no more than one FIFO error per session.
2015-03-13 23:25:15 +11:00
Tillmann Karras
3987725217
VertexLoaderX64: fix harmless off-by-one error
2015-03-08 04:43:59 +01:00
degasus
35373c5185
TextureCache: load all mipmap levels from custom textures
...
This drops the "feature" to load level 0 from the custom texture
and all other levels from the native one if the size matches.
But in my opinion, when a custom texture only provide one level,
no more should be used at all.
2015-03-02 00:09:09 +01:00
magumagu
7f7973efa5
Merge pull request #2148 from Tilka/fifo_cleanup
...
Small FIFO-related cleanup
2015-03-01 13:06:43 -08:00
degasus
7ca24f90d1
TexCache: increase TEXTURE_KILL_THRESHOLD
...
Xenoblade uses more than 40 textures alternately per frame for eg water effects.
So don't try to drop them as aggressive.
2015-03-01 13:41:14 +01:00