Commit Graph

1275 Commits

Author SHA1 Message Date
0d33e20026 bbox: replace s_pCurBufferPointer with locale buffer, so it can be read without read from the writeonly buffer 2013-02-21 11:41:14 +01:00
7a89faf13f converting the last vertices again instead of copying from buffer on buffer split
for mapping, this buffer must be write only, so we cannot copy anthing.
converting again needs more cpu, but should happen rarely
2013-02-21 11:36:10 +01:00
dc776a19a0 Cleanup VertexLoader's Color functions a bit. 2013-02-21 02:49:17 -06:00
660fc12927 Cleanup Position loader functions. 2013-02-21 02:19:06 -06:00
5efdcef34a No longer have the signed/unsigned hack I guess. 2013-02-21 00:49:47 -06:00
3938d3713b Fix what I broke. 2013-02-21 00:40:22 -06:00
5b63472ad7 Templatify Normal Loader functions. 2013-02-21 00:10:06 -06:00
5e78f8a176 Templatify TextCord Loader functions. 2013-02-20 20:43:53 -06:00
8f256237a3 Templatify DataReader a bit. 2013-02-20 20:21:25 -06:00
36f2082a5f Made vertex loading take constant time. Fixes a hang in Gladius. 2013-02-20 23:38:25 +11:00
6e6d8af6dd Revert "Don't load level 0 twice for 1-level textures in DX11." and fix it properly.
All backend TextureCaches now load level 0 in CreateTexture.

This reverts commit 294cb165ba.
2013-02-20 05:42:22 -06:00
351c741906 Merge branch 'master' into FIFO-BP
# By Jordan Woyak (9) and others
* master:
  Fixed a buffer overflow in the OpenAL buffer.
  TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs.
  WII_IPC_HLE_Device_FileIO: don't rebuild the filename on every operation.
  Some cleanup of CWII_IPC_HLE_Device_FileIO: The real file was never kept open for longer than a single operation so there was no point in dealing with it in DoState. Saving the real path in the savestate was also probably a bad idea. Savestates should be a bit more portable now.
  Removing destination on rename when source isn't present doesn't make sense. IOCTL_RENAME_FILE still might not be totally correct.
  Change some CNANDContentLoader logic to what was probably intended. Kills some warn logs when opening Dolphin.
  Let's not CreateDir an empty string every time CreateFullPath is used, logging an error every time.
  Fix a memleak. Probably/maybe improve USBGecko performance.
  Remove the core count from the cpu info OSD message. It was often wrong and not rather important.
  Use omp_get_num_procs to set the number of OpenMP threads rather than our core count detection.
  Bulk send TCP data to the client with the emulated USB Gecko.
  Added the ability to reverse the direction of the force feedback by allowing negative range values.
  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);
2013-02-19 23:19:29 +11:00
19ab5bf50d TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs. 2013-02-18 17:14:56 +01:00
537d5ea942 Use omp_get_num_procs to set the number of OpenMP threads rather than our core count detection. 2013-02-16 23:48:20 -06:00
53aec6c476 Fix OGL perf queries and make them not slow! 2013-02-16 19:30:24 -06:00
0e2c3f3483 Increased the cycle time of the vertex command. Fixes "Speed Challenge: Jacques Villeneuve's Racing Vision". 2013-02-16 22:54:10 +11:00
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
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
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
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
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
6c0f6ffecf Fix a dumb regression from revision 4925a28f94. 2013-01-19 22:40:20 +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
f7b0c8684b BPMemory: Expose more register descriptions for FifoPlayer 2013-01-12 15:25:50 +01:00
2cd415dd83 Fix the signed/unsigned comparison warnings created by a recent commit. 2013-01-11 22:00:36 -06:00
dfc0c4b08d Fix two signed/unsigned mismatch warnings.
Also tidied up SDCardUtil - made the variables make more sense (typewise)
2013-01-11 19:38:04 -05:00
ad05d568b9 PixelShaderGen: Change error strings to be unique so that we can identify unexpected behavior more easily. 2013-01-11 15:49:20 +01:00
f21f097e7a Redundant line of code in VertexShaderManager::Dirty()
Also cleaned it up.
2013-01-10 21:44:12 -05:00
e7c883d6be VideoCommon: Implement proper RGBA8 texture loading from tmem. 2013-01-10 18:30:22 +01:00
304814e7cc Video_Software: Implement proper RGBA8 texture loading from tmem.
For RGBA8 textures, AR and GB tiles are stored in separate tmem banks. TextureDecoder did not support that previously.
2013-01-10 18:30:16 +01:00
d9ea718559 Fix an issue where an iterator would become invalidated in TextureCache::ClearRenderTargets() 2013-01-08 23:46:30 -05:00
d3882771aa Fix an assert that had been wrong for ages, apparently. 2013-01-08 18:56:01 +01:00
4925a28f94 PixelShaderGen: Shader uid maintainance 2013-01-08 18:56:01 +01:00
be706a3977 Disable color writing when alpha test always fails. 2013-01-08 18:56:01 +01:00
d26bcb0847 Move alpha pretest to BPMemory.h and rename a bunch of alpha testing related stuff 2013-01-08 18:56:01 +01:00
c80f6e8b84 Reword a comment about early_ztest a bit. 2013-01-08 18:55:45 +01:00