Commit Graph

1656 Commits

Author SHA1 Message Date
degasus 9bc8d6e02b make samplercache global and call constructor/destructor 2013-02-26 18:30:13 +01:00
degasus 4883fa268f Split VideoBackend::Cleanup from Shutdown.
First is called from ogl/d3d thread, second is called from emulation thread (x11...)
2013-02-26 16:42:32 +01:00
degasus 8b7141d3de Revert "Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer."
This reverts commit 380f22ca0e.

Yeah, reverting a revert.
2013-02-26 08:57:35 +01:00
Jordan Woyak 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
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 242d960781 increase buffer size
32M UBO, 16M Vertex, 2M Index
2013-02-22 10:25:38 +01:00
degasus 9332775b68 default upload method for nvidia is buffersubdata 2013-02-21 21:59:40 +01:00
degasus 40e17b4cb8 add option for hacked upload and disable it by default 2013-02-21 18:18:44 +01:00
Jordan Woyak e7c93b8ac3 Minor sampler cache cleanup. 2013-02-20 17:15:10 -06:00
Jordan Woyak 55c2a01744 Check for sampler object support, just to be nice. 2013-02-19 21:24:08 -06:00
Jordan Woyak 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
degasus d93e57ff22 revert b5fe39b8c7 "fix texture parameters"
these parameters are really floats. I was just wrong
2013-02-19 22:20:39 +01:00
degasus b5fe39b8c7 fix texture parameters 2013-02-19 17:28:46 +01:00
degasus 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
degasus 0f2ee45d96 remove ati workaroung for mipmap creation
isn't needed any more by merging mapmap_fixes
2013-02-19 15:40:34 +01:00
degasus 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
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
degasus bef24b5c6b new format for gl extensions 2013-02-17 21:41:00 +01: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
degasus e259343275 fix efb copy shaders 2013-02-15 13:13:45 +01:00
degasus 9f4a616f2e build fix 2013-02-14 19:04:52 +01:00
degasus a0ef58418b workaround for buggy intel windows driver. revert this as soon as there are newer driver 2013-02-14 18:59:45 +01:00
degasus 0325e37bfb merge glsl headers into one place 2013-02-13 21:34:48 +01:00
degasus 3392562501 rewrite efb copy shader, copied from dx11 2013-02-13 18:01:06 +01:00
degasus 21b83b436c create shader cache directoy 2013-02-13 16:50:56 +01:00
degasus b3675d15dc enable shader cache again 2013-02-13 16:30:15 +01:00
degasus 398b37f371 fix ValidateShaderIDs 2013-02-13 15:16:32 +01:00
degasus 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
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 f079b04a5d also check for glsl errors on linking, activation GLSL_DEBUG again (slowdown on shader compilation) 2013-02-07 12:47:41 +01:00
degasus 9987765b1f build fix 2013-02-07 10:48:42 +01:00
degasus 376a807dea first try of osx fix, mostly by pauldachz 2013-02-07 10:34:29 +01:00
degasus e7a8d3f854 check for GL_ARB_sync, it's in ogl 3.2 2013-02-06 01:05:19 +01:00
degasus ef602fd643 workaround for glGetUniformLocation in efb2ram 2013-02-05 18:22:23 +01:00
degasus 76adc77fa6 bigger buffers 2013-02-05 18:01:27 +01:00
degasus 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
degasus f677b8cba3 update to glew1.9, win binaries also from official release 2013-02-04 21:11:12 +01:00
degasus 2108529120 also align the size of buffers for pinned memory 2013-02-04 20:48:28 +01:00
degasus 6e0b0192a8 correct spelling of align 2013-02-02 19:39:26 +01:00
degasus 0c7aa4ff4f build fix 2013-02-02 19:32:40 +01:00
degasus 6e20af9ee9 align memory, use pinned memory if available 2013-02-02 19:26:29 +01:00
degasus f0795bad12 fix glew fix 2013-02-01 17:12:05 +01:00
degasus cb4cb1713d workaround older glew versions 2013-02-01 17:09:50 +01:00
degasus 2a1f592d82 first try for pinned memory, complete untested 2013-02-01 17:04:27 +01:00
degasus 3bf4ffe7fa usable sync of ringbuffer 2013-02-01 16:43:08 +01:00
degasus 3af9840a4c stream by map and sync
but not working perfectly, so disabled
2013-02-01 15:15:25 +01:00
degasus 878bd7f26c implement streaming by bufferSubData, split upload and allocation in ringbuffer 2013-02-01 12:30:08 +01:00
degasus 30170575c8 create StreamBuffer class for ogl upload 2013-01-31 23:11:53 +01:00
degasus 011e326698 remove glIsEnabled(GL_BLEND), we do restore state after it, so it doesn't matter 2013-01-31 13:49:20 +01:00