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
Tillmann Karras
9493c713dd
Fifo: small cleanup
2015-02-28 15:40:01 +01:00
Tillmann Karras
e28c97f6bd
Fifo: drop unused functions
2015-02-28 15:40:00 +01:00
Lioncash
d10571a86a
PixelShaderManager: Remove unnecessary casts.
...
EFBToScaledXf and EFBScaledYf return a float, so the cast isn't needed here.
2015-02-28 00:04:05 -05:00
Lioncash
7408de7e79
Merge pull request #2058 from Stevoisiak/Codemaid-Cleanup-Take2
...
Basic Formatting/Whitespace Cleanup
2015-02-25 18:07:56 -05:00
Stevoisiak
93b16a4a2d
Formatting/Whitespace Cleanup
...
Various fixes to formatting and whitespace
2015-02-25 10:48:21 -05:00
degasus
967eaad8df
VideoCommon: rename efb2tex and efb2ram
2015-02-24 23:10:13 +01:00
degasus
1313d3461f
VideoCommon: always enable efb copy
2015-02-24 23:01:01 +01:00
Tillmann Karras
e2fec13ab6
Fix some -Wsign-compare warnings
2015-02-24 10:29:59 +01:00
Tillmann Karras
f298f00e1b
Clean up the intrinsics #ifdef mess
2015-02-24 01:02:36 +01:00
skidau
593563e16c
Merge pull request #2087 from Armada651/epsilon-3d
...
VertexShaderManager: Turn the epsilon hack back on for 3D Vision.
2015-02-23 13:12:55 +11:00
skidau
f8e51a1a26
Merge pull request #2050 from Tilka/reset_vertex_loader_stats
...
VertexLoaderManager: reset stats properly
2015-02-23 13:10:38 +11:00
degasus
b35fa222f5
VideoCommon: perf querys by async events
2015-02-22 08:41:15 +01:00
degasus
edbd402101
VideoCommon: bbox by async events
2015-02-22 08:41:15 +01:00
degasus
ad7264da7d
VideoCommon: implement swap requests in the full async way
2015-02-22 08:41:15 +01:00
degasus
bc248f8941
VideoCommon: use a new async event system for efb access
2015-02-22 08:41:15 +01:00
Jules Blok
ff4127cf50
VertexShaderManager: Turn the epsilon hack back on for 3D Vision.
...
The bug is fixed in version 347.52 of the drivers.
2015-02-21 12:09:49 +01:00
Jules Blok
139ad3b2b9
TextureConversionShader: Use a Texture2DArray to match the shader resource view.
2015-02-21 11:50:20 +01:00
Markus Wick
6bbf774507
Merge pull request #2075 from magumagu/titantron-fix
...
Partially fix WWE12 titantron videos.
2015-02-21 10:09:47 +01:00
Scott Mansell
355be1719e
Fix regression with directx when zfreeze=true and ztest=false.
2015-02-21 10:52:29 +13:00
magumagu
074397c12d
Explicitly set up AllocateTexture configuration for palette conversion.
...
No functional change.
2015-02-19 15:57:05 -08:00
magumagu
ddc815dd7a
Remove TextureAddress struct.
2015-02-19 15:36:32 -08:00
magumagu
c0a4760f0e
Decode EFB copies used as paletted textures.
...
A number of games make an EFB copy in I4/I8 format, then use it as a
texture in C4/C8 format. Detect when this happens, and decode the copy on
the GPU using the specified palette.
This has a few advantages: it allows using EFB2Tex for a few more games,
it, it preserves the resolution of scaled EFB copies, and it's probably a
bit faster.
D3D only at the moment, but porting to OpenGL should be straightforward..
2015-02-19 15:09:27 -08:00