degasus
c86b892f95
Revert "remove numTexGens=7 hack. only cg wasn't able to handle more then 8 texcoords"
...
This reverts commit 4653adecf1
.
Also dx9 isn't able to hanlde more than 11 varying registers.
More frustrating is the lightning issue by this commit. I don't know why it happens...
2013-02-24 20:51:44 +01:00
Jordan Woyak
52dacaa3e3
Make the posmtx vertex attribute an int instead of converting to and from a float.
2013-02-23 20:54:30 -06:00
degasus
0a05fcade4
fix glsl compilation error on intel
2013-02-22 12:19:52 +01:00
degasus
d9adc26332
real Star Fox fix
2013-02-22 12:14:39 +01:00
Jordan Woyak
86935ab4fd
forceinline IndexGenerator::WriteTriangle
2013-02-22 03:22:20 -06:00
degasus
e270c8b153
fix Star Fox
2013-02-22 09:54:19 +01:00
Jordan Woyak
d3f1bb93f2
Use DataWrite in a few more places.
2013-02-22 02:19:59 -06:00
Jordan Woyak
db1be085c2
VertexManager cleanup
2013-02-22 01:41:52 -06:00
Jordan Woyak
21bd5be753
Buffer size changes.
2013-02-21 23:12:53 -06:00
Jordan Woyak
f16dcfe6f6
Remove logic from IndexGenerator which does not seem to match that of Video Software.
2013-02-21 21:02:49 -06:00
Jordan Woyak
368c78dd5c
IndexGenerator cleanup.
2013-02-21 19:11:07 -06:00
Jordan Woyak
677c6229ad
Experimental VertexLoader cleanup!
2013-02-21 14:41:06 -06:00
Jordan Woyak
a92c93f870
Automate some calculations, with templates!
2013-02-21 13:29:05 -06:00
Jordan Woyak
7987d6babb
Use templates for 8+16 bit indexed versions of SSSE3/SSE4 TextCoord reading.
2013-02-21 12:42:09 -06:00
degasus
40e17b4cb8
add option for hacked upload and disable it by default
2013-02-21 18:18:44 +01:00
degasus
d0e8217714
remove intel pixel shader hack
...
did not work correctly and made warnings on dx11
2013-02-21 17:44:56 +01:00
degasus
c7f4d6b9ac
wrapper for s_pCurBufferPointer
2013-02-21 13:45:48 +01:00
degasus
4b4dce1bd9
build fix
2013-02-21 13:00:19 +01:00
degasus
76e6085e31
consistently usage of buffer pointers
2013-02-21 12:36:29 +01:00
degasus
a849bb5242
Merge branch 'vertexloader_cleanup' into vertex-loader-cleanup
...
Conflicts:
Source/Core/VideoCommon/Src/VertexLoader_TextCoord.cpp
2013-02-21 12:18:50 +01:00
degasus
66d0c1c301
small cleanups of s_pCurBufferPointer
2013-02-21 11:45:29 +01:00
degasus
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
degasus
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
Jordan Woyak
dc776a19a0
Cleanup VertexLoader's Color functions a bit.
2013-02-21 02:49:17 -06:00
Jordan Woyak
660fc12927
Cleanup Position loader functions.
2013-02-21 02:19:06 -06:00
Jordan Woyak
5efdcef34a
No longer have the signed/unsigned hack I guess.
2013-02-21 00:49:47 -06:00
Jordan Woyak
3938d3713b
Fix what I broke.
2013-02-21 00:40:22 -06:00
Jordan Woyak
5b63472ad7
Templatify Normal Loader functions.
2013-02-21 00:10:06 -06:00
Jordan Woyak
5e78f8a176
Templatify TextCord Loader functions.
2013-02-20 20:43:53 -06:00
Jordan Woyak
8f256237a3
Templatify DataReader a bit.
2013-02-20 20:21:25 -06:00
skidau
36f2082a5f
Made vertex loading take constant time. Fixes a hang in Gladius.
2013-02-20 23:38:25 +11:00
Jordan Woyak
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
Jordan Woyak
eae20b77a8
Remove some unneeded sampler-related calls in BPStructs.
2013-02-20 02:01:54 -06:00
skidau
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
degasus
a629dea4dc
Merge branch 'master' into GLSL-master
...
Conflicts:
CMakeLists.txt
Source/Core/DolphinWX/Dolphin.vcxproj
Source/Core/DolphinWX/Src/GLInterface/WX.cpp
Source/Core/DolphinWX/Src/GLInterface/WX.h
Source/Core/VideoCommon/Src/TextureCacheBase.cpp
Source/Core/VideoCommon/Src/TextureCacheBase.h
Source/Plugins/Plugin_VideoDX11/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoDX11/Src/TextureCache.h
Source/Plugins/Plugin_VideoDX9/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoDX9/Src/TextureCache.h
Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureCache.h
Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp
damn mipmap_fixes ...
2013-02-18 18:49:20 +01:00
NeoBrainX
19ab5bf50d
TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs.
2013-02-18 17:14:56 +01:00
degasus
4653adecf1
remove numTexGens=7 hack. only cg wasn't able to handle more then 8 texcoords
2013-02-17 22:37:00 +01:00
Jordan Woyak
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
Jordan Woyak
53aec6c476
Fix OGL perf queries and make them not slow!
2013-02-16 19:30:24 -06:00
skidau
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
skidau
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
Jordan Woyak
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
skidau
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
skidau
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
degasus
334bd52f2c
NaNs handling in pixel shader
2013-02-15 15:46:31 +01:00
degasus
0325e37bfb
merge glsl headers into one place
2013-02-13 21:34:48 +01:00
skidau
0cafc33eda
Moved the token update to the CPU thread.
2013-02-10 18:24:30 +11:00
skidau
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
Jordan Woyak
8ce58759e3
Remove some old nonsense.
2013-02-07 23:52:50 -06:00
NeoBrainX
ed0abc9dc5
Merge branch 'mipmap_fixes'.
2013-02-07 20:40:33 +01:00
NeoBrainX
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
degasus
10567cb23f
always write to uv coords
2013-02-07 13:23:20 +01:00
degasus
dae1226e1b
workaround for division by zero on fog calculation
2013-02-07 02:21:30 +01:00
degasus
e7a8d3f854
check for GL_ARB_sync, it's in ogl 3.2
2013-02-06 01:05:19 +01:00
degasus
f677b8cba3
update to glew1.9, win binaries also from official release
2013-02-04 21:11:12 +01:00
skidau
2c8c8db731
Used AtomicStore to write to the signal interrupts.
2013-02-03 23:52:18 +11:00
skidau
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
skidau
867bfaa696
Changed cmdidle to match the isGpuReadingData flag. Fixes the random freezes in The Last Story.
2013-02-02 20:50:40 +11:00
Jordan Woyak
0e04e0c305
Fix some shadowing warnings.
2013-01-29 16:43:22 -06:00
degasus
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
Lioncash
efe8c75424
Duplicate condition fix.
...
Thanks j4ck.fr0st
2013-01-25 21:30:29 -05:00
skidau
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
degasus
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
degasus
d60cc373d1
Revert "Revert 30dd9c2
e9d00bf
db5f4c8
and bff0fae"
...
This reverts commit d0301ca89d
.
Conflicts:
.gitignore
2013-01-24 16:11:07 +01:00
lioncash
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
degasus
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
degasus
d5748ebaef
fix small dx9 slowdown
2013-01-22 10:49:46 +01:00
degasus
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
NeoBrainX
6c0f6ffecf
Fix a dumb regression from revision 4925a28f94
.
2013-01-19 22:40:20 +01:00
degasus
8a6f747408
glsl: remove usage of old texture2D* function
2013-01-19 11:07:06 +01:00
degasus
e7d5b274c0
add stage parameter for texture load, so ogl can bind to the correct sampler
2013-01-19 00:47:48 +01:00
degasus
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
degasus
714ff50fdf
set blending if dual source might be triggered
2013-01-18 00:44:35 +01:00
lioncash
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
lioncash
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
lioncash
ddf23094c2
Fix two unsigned/signed mismatch warnings.
2013-01-15 21:15:31 -05:00
Ryan Houdek
9165ac5a67
Fix clipPos not being declared in DX backends.
2013-01-15 10:48:01 -06:00
degasus
ff889c0e65
use attrib pointers in nativeVertexFormat
2013-01-14 22:59:08 +01:00
degasus
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
degasus
5fe3def64c
videoConfig cleanup
2013-01-14 20:00:33 +01:00
degasus
4c2dd093a3
fix d3d error
2013-01-14 19:17:07 +01:00
degasus
b18c0a5d1b
remove ubo for efb2ram
2013-01-14 12:37:31 +01:00
NeoBrainX
f7b0c8684b
BPMemory: Expose more register descriptions for FifoPlayer
2013-01-12 15:25:50 +01:00
Glenn Rice
2cd415dd83
Fix the signed/unsigned comparison warnings created by a recent commit.
2013-01-11 22:00:36 -06:00
Lioncash
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
NeoBrainX
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
degasus
60b8e4fb1c
vertex shader for texture converter
2013-01-11 11:59:42 +01:00
Lioncash
f21f097e7a
Redundant line of code in VertexShaderManager::Dirty()
...
Also cleaned it up.
2013-01-10 21:44:12 -05:00
NeoBrainX
e7c883d6be
VideoCommon: Implement proper RGBA8 texture loading from tmem.
2013-01-10 18:30:22 +01:00
NeoBrainX
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
degasus
bff02b3b73
Merge branch 'arb_framebuffer' into GLSL-master
...
Conflicts:
Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp
Source/Plugins/Plugin_VideoOGL/Src/RasterFont.cpp
Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp
2013-01-09 11:00:26 +01:00
Lioncash
d9ea718559
Fix an issue where an iterator would become invalidated in TextureCache::ClearRenderTargets()
2013-01-08 23:46:30 -05:00
NeoBrainX
d3882771aa
Fix an assert that had been wrong for ages, apparently.
2013-01-08 18:56:01 +01:00
NeoBrainX
4925a28f94
PixelShaderGen: Shader uid maintainance
2013-01-08 18:56:01 +01:00
NeoBrainX
be706a3977
Disable color writing when alpha test always fails.
2013-01-08 18:56:01 +01:00
NeoBrainX
d26bcb0847
Move alpha pretest to BPMemory.h and rename a bunch of alpha testing related stuff
2013-01-08 18:56:01 +01:00
NeoBrainX
c80f6e8b84
Reword a comment about early_ztest a bit.
2013-01-08 18:55:45 +01:00
NeoBrainX
b06f30f845
Remove the per pixel depth option.
...
Depth calculations are always done in the pixel shader now.
Due to the unpredictability of our zcomploc hacks this commit probably changes the behavior of some games which use zcomploc.
2013-01-08 18:16:48 +01:00
NeoBrainX
876eee5e60
PixelShaderGen: Don't disable depth texture emulation if z writing is disabled (this is what VideoSoftware is doing).
2013-01-08 18:16:48 +01:00
NeoBrainX
09197e0ffc
X11: Disable OSD hotkeys when the corresponding option is disabled.
2013-01-08 18:16:47 +01:00