Commit Graph

3651 Commits

Author SHA1 Message Date
380f22ca0e Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer.
This reverts commit 52dacaa3e3.
2013-02-25 20:52:30 -06:00
415a2f17c9 Begin implementing save states to video software. Kind of works, sometimes. 2013-02-25 20:05:02 -05:00
52dacaa3e3 Make the posmtx vertex attribute an int instead of converting to and from a float. 2013-02-23 20:54:30 -06:00
242d960781 increase buffer size
32M UBO, 16M Vertex, 2M Index
2013-02-22 10:25:38 +01:00
db1be085c2 VertexManager cleanup 2013-02-22 01:41:52 -06:00
9332775b68 default upload method for nvidia is buffersubdata 2013-02-21 21:59:40 +01:00
40e17b4cb8 add option for hacked upload and disable it by default 2013-02-21 18:18:44 +01:00
76e6085e31 consistently usage of buffer pointers 2013-02-21 12:36:29 +01:00
e7c93b8ac3 Minor sampler cache cleanup. 2013-02-20 17:15:10 -06:00
b7fae1febb Fix my DX11 texture-related failure..
Fixes issue 6026. (probably)
2013-02-20 14:18:21 -06: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
294cb165ba Don't load level 0 twice for 1-level textures in DX11. 2013-02-19 22:39:28 -06:00
55c2a01744 Check for sampler object support, just to be nice. 2013-02-19 21:24:08 -06:00
f2647a1216 Implement OGL sampler cache. Allows binding a texture multiple times with different parameters. Also possibly gives a very small speed improvement. 2013-02-19 21:18:53 -06:00
d93e57ff22 revert b5fe39b8c7 "fix texture parameters"
these parameters are really floats. I was just wrong
2013-02-19 22:20:39 +01:00
b5fe39b8c7 fix texture parameters 2013-02-19 17:28:46 +01:00
50f4bf114e Revert "map_orphan_and_risk - next try for upload method"
This reverts commit 17747fcfb8.

On orphaning, some gl drivers do heurisitics where to store the buffer.
As the hack may only work on pinned memory, it would be much less deteministic.
2013-02-19 15:51:48 +01:00
0f2ee45d96 remove ati workaroung for mipmap creation
isn't needed any more by merging mapmap_fixes
2013-02-19 15:40:34 +01:00
17747fcfb8 map_orphan_and_risk - next try for upload method
should work around nvidia600 driver issue which will flush gpu on syncing
also increase buffer size by orphaning
2013-02-19 13:18:48 +01:00
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
19ab5bf50d TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs. 2013-02-18 17:14:56 +01:00
0f617183a8 Add a possible TODO.
Dunno if the hardware behaves like this, but it likely does.
2013-02-18 14:54:24 +00:00
bef24b5c6b new format for gl extensions 2013-02-17 21:41:00 +01:00
53aec6c476 Fix OGL perf queries and make them not slow! 2013-02-16 19:30:24 -06: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
6fd96a162f Video_Software: Fix ZComploc option breaking stuff. 2013-02-15 17:55:16 +01:00
fb0102d441 Video_Software: Fix the ZFreeze option doing nothing. 2013-02-15 17:47:29 +01:00
183ad0c628 Video_Software: Toggable zfreeze and early_z support for testing. 2013-02-15 17:45:33 +01:00
e259343275 fix efb copy shaders 2013-02-15 13:13:45 +01:00
9f4a616f2e build fix 2013-02-14 19:04:52 +01:00
a0ef58418b workaround for buggy intel windows driver. revert this as soon as there are newer driver 2013-02-14 18:59:45 +01:00
0325e37bfb merge glsl headers into one place 2013-02-13 21:34:48 +01:00
3392562501 rewrite efb copy shader, copied from dx11 2013-02-13 18:01:06 +01:00
21b83b436c create shader cache directoy 2013-02-13 16:50:56 +01:00
b3675d15dc enable shader cache again 2013-02-13 16:30:15 +01:00
398b37f371 fix ValidateShaderIDs 2013-02-13 15:16:32 +01:00
bbc292c210 merge Vertex and PixelShaderCache into ProgramShaderCache
this is the first step, uniform handling is still missing
2013-02-13 13:12:19 +01:00
95d08db46f Revert "[bugfix] DX9::TextureCache: Use max_lod instead of min_lod where necessary."
This reverts commit 6c8a22de24.
2013-02-07 21:45:06 +01: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
f079b04a5d also check for glsl errors on linking, activation GLSL_DEBUG again (slowdown on shader compilation) 2013-02-07 12:47:41 +01:00
9987765b1f build fix 2013-02-07 10:48:42 +01:00
376a807dea first try of osx fix, mostly by pauldachz 2013-02-07 10:34:29 +01:00
e7a8d3f854 check for GL_ARB_sync, it's in ogl 3.2 2013-02-06 01:05:19 +01:00
ef602fd643 workaround for glGetUniformLocation in efb2ram 2013-02-05 18:22:23 +01:00
76adc77fa6 bigger buffers 2013-02-05 18:01:27 +01:00
1d86dafbe2 evil hack: map the buffer once and use this pointer after unmaping
This isn't allowed by gl and may _only_ work, if the driver uses cpu bound buffer.
But it may speed up :-)
2013-02-05 00:53:14 +01:00
f677b8cba3 update to glew1.9, win binaries also from official release 2013-02-04 21:11:12 +01:00
2108529120 also align the size of buffers for pinned memory 2013-02-04 20:48:28 +01:00
6e0b0192a8 correct spelling of align 2013-02-02 19:39:26 +01:00