Commit Graph

4280 Commits

Author SHA1 Message Date
45efced280 Moved the setting of the Finish interrupt signal back to the main thread as it was causing Wii games like Resident Evil 4 (Wii) to hang. 2013-02-16 18:30:20 +11:00
d994e56b60 Changes/cleanup to TextureCache::Load and other mipmap related code.
The significant change is what is now line 520 of TextureCacheBase.cpp:
((std::max(mipWidth, bsw) * std::max(mipHeight, bsh) * bsdepth) >> 1)
to
TexDecoder_GetTextureSizeInBytes(expanded_mip_width, expanded_mip_height, texformat);

Fixes issue 5328.
Fixes issue 5461.
2013-02-15 22:56:29 -06:00
9bff8e00c8 Added preliminary support to synchronise the timing of the CPU and GPU threads. A new option has been added to the game properties for this purpose. This option may help with random freezes in Dual Core mode.
Fixes Gladius and Baten Kaitos: Eternal Wings and the Lost Ocean

Fixes issue 5150.
2013-02-16 12:51:09 +11:00
51795d8811 Merge branch 'master' into FIFO-BP
# By Jordan Woyak (24) and others
# Via Jordan Woyak (3) and others
* master: (66 commits)
  Reduce some DI command delays. Fix DKCR hanging with DSP HLE. My other games continue to work.
  Video_Software: Fix ZComploc option breaking stuff.
  Video_Software: Fix the ZFreeze option doing nothing.
  Video_Software: Toggable zfreeze and early_z support for testing.
  Fix header guard and definitions not being set to 1
  Add the option to turn on only the EGL interface to use desktop OpenGL with it.
  Change the ugly "no banner" banner to the sexy "X" from the website.
  Fix a crash in the FifoPlayer dialog.
  Use different reply delays for various DI commands. Fixes issue 5983.
  Revert "[bugfix] DX9::TextureCache: Use max_lod instead of min_lod where necessary."
  Fix some potential issues when blending on EFB formats without alpha. Clean up state transition tables.
  Disable play and record buttons if an iso was selected, but is later deselected.
  Disable start/play recording buttons when no iso is selected.
  Only delay DI and fs IPC replies. Fixes issue 5982.
  Fix compilation with SDL2. (based on a patch from matthewharveys) Fixes issue 5971.
  "Fix" using SDL from externals.
  Clean up SDL includes a bit. Maybe fix an SDL2 problem.
  Number "unknown" axes in OSX rather than call them all "unk".
  Revert "Only delay DI command replies." Fix "Wii Party" again.
  Hopefully make wiimote speaker less crappy.
  ...
2013-02-16 11:10:03 +11:00
334bd52f2c NaNs handling in pixel shader 2013-02-15 15:46:31 +01:00
0325e37bfb merge glsl headers into one place 2013-02-13 21:34:48 +01:00
0cafc33eda Moved the token update to the CPU thread. 2013-02-10 18:24:30 +11:00
5f672baca3 Used Atomic functions to update variables shared between the CPU and GPU threads.
Changed the variables from bool to u32 to match the atomic functions.
2013-02-09 17:46:48 +11:00
8ce58759e3 Remove some old nonsense. 2013-02-07 23:52:50 -06:00
ed0abc9dc5 Merge branch 'mipmap_fixes'. 2013-02-07 20:40:33 +01:00
6870c1fdd5 Fix some potential issues when blending on EFB formats without alpha.
Clean up state transition tables.
2013-02-07 18:01:24 +01:00
10567cb23f always write to uv coords 2013-02-07 13:23:20 +01:00
dae1226e1b workaround for division by zero on fog calculation 2013-02-07 02:21:30 +01:00
e7a8d3f854 check for GL_ARB_sync, it's in ogl 3.2 2013-02-06 01:05:19 +01:00
f677b8cba3 update to glew1.9, win binaries also from official release 2013-02-04 21:11:12 +01:00
2c8c8db731 Used AtomicStore to write to the signal interrupts. 2013-02-03 23:52:18 +11:00
9a4e9da7c2 Set the token and finish interrupt signal from the video thread. This fixes the inconsistent state caused by lag from the scheduler. Fixes Rayman 3: Hoodlum Havoc and Shamu's Deep Sea Adventures.
Fixes issue 5401.
Fixes issue 5589.
2013-02-03 18:05:46 +11:00
867bfaa696 Changed cmdidle to match the isGpuReadingData flag. Fixes the random freezes in The Last Story. 2013-02-02 20:50:40 +11:00
0e04e0c305 Fix some shadowing warnings. 2013-01-29 16:43:22 -06:00
76148a52b8 Fix a few other things 2013-01-28 22:51:15 +01:00
9f1582843d PixelShaderManager: Reduce number of redundant shader constant updates 2013-01-28 22:15:23 +01:00
0fdeb81038 Add some code for generating a shader constant usage profile. 2013-01-28 22:15:23 +01:00
700cce9588 More work on making new pixel shader uids work 2013-01-28 22:10:07 +01:00
67be1e939a PixelShaderGen: Some more work... 2013-01-28 21:59:49 +01:00
8902c6e38b Some cleanups, add more fields to pixel shader uid. 2013-01-28 21:56:27 +01:00
b519d37128 Move new lighting shader uids to LightingShaderGen.h 2013-01-28 21:52:03 +01:00
dc0f470215 Added new shader cache uids for pixel shader gen. 2013-01-28 21:44:39 +01:00
3c8df842bb Moved some of the new shader uid stuff to a common header file. 2013-01-28 21:05:29 +01:00
ca0e292dd4 Replace the shader uid system with a new one which quasi-automatically generates uids for shaders.
Currently used in the vertex shader only (had to fork lighting shaders for now).
2013-01-28 21:05:29 +01:00
c5fa3e0f3d move RestoreAPIState and ResetAPIState into backends
it's a backend specific hack, so it should be here
should give a small speedup in dx11 efb2tex
2013-01-28 18:16:03 +01:00
efe8c75424 Duplicate condition fix.
Thanks j4ck.fr0st
2013-01-25 21:30:29 -05:00
1b6240f7f9 Changed cmdidle to be idle on breakpoint.
Added low watermark interrupts generated by the gather pipe.

Fixes Gladius from not booting.

Fixes issue 5518.
2013-01-25 20:04:31 +11:00
e0ffdda26e Merge branch 'immediate-removal' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp

immediate-removal is a new created branch seperated from master but reverted the revert of immediate-removal
so we get less conflicts by merging
2013-01-24 16:58:28 +01:00
d60cc373d1 Revert "Revert 30dd9c2 e9d00bf db5f4c8 and bff0fae"
This reverts commit d0301ca89d.

Conflicts:
	.gitignore
2013-01-24 16:11:07 +01:00
2db0c4270e Fix a potential memory leak on non-windows systems.
Also added a FIXME to BPStructs.cpp and BPMemLoader.cpp
2013-01-24 08:21:08 -05:00
f69b6b595e change projection_type to u32
Fix issue 5740

thx @ erwan_taf for debuging all the week
2013-01-24 13:10:13 +01:00
d5748ebaef fix small dx9 slowdown 2013-01-22 10:49:46 +01:00
6afc30240a partial revert of 8a6f747408
texture_rect isn't in core 3.0, so the long texture function must be used
2013-01-22 00:18:42 +01:00
6c0f6ffecf Fix a dumb regression from revision 4925a28f94. 2013-01-19 22:40:20 +01:00
8a6f747408 glsl: remove usage of old texture2D* function 2013-01-19 11:07:06 +01:00
e7d5b274c0 add stage parameter for texture load, so ogl can bind to the correct sampler 2013-01-19 00:47:48 +01:00
074f73c641 move utils texture to sampler 8+9
rasterfont tex will aways bound to samp8.
efb copy utils will be done in samp9.
2013-01-19 00:39:31 +01:00
714ff50fdf set blending if dual source might be triggered 2013-01-18 00:44:35 +01:00
0ef3bd9c77 Revert "Made several variables/parameters unsigned in the DX9, DX11 and OGL plugins. They make more sense like this (given their names)."
Turns out I was wrong in my previous commit. My bad.

This reverts commit 8743166663.
2013-01-16 15:46:11 -05:00
8743166663 Made several variables/parameters unsigned in the DX9, DX11 and OGL plugins. They make more sense like this (given their names).
This also gets rid of some more typecasts in some cases.
2013-01-16 09:42:51 -05:00
ddf23094c2 Fix two unsigned/signed mismatch warnings. 2013-01-15 21:15:31 -05:00
9165ac5a67 Fix clipPos not being declared in DX backends. 2013-01-15 10:48:01 -06:00
ff889c0e65 use attrib pointers in nativeVertexFormat 2013-01-14 22:59:08 +01:00
2f78986e2c Merge branch 'Graphic_Update' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/VertexManagerBase.cpp
	Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
2013-01-14 21:36:31 +01:00
5fe3def64c videoConfig cleanup 2013-01-14 20:00:33 +01:00