Commit Graph

1648 Commits

Author SHA1 Message Date
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
degasus
4a463f4588 also add glBufferSubData for ubo upload
so osx start game, but everything is black
2013-01-31 13:00:15 +01:00
degasus
c05f66bdd0 first try for osx core profile
now it doesn't crash, but it still hangs on startup
2013-01-31 12:20:17 +01:00
degasus
01d8c21e1d don't stream in rasterfont
mapping blocks on nvidia workstation, so use glBufferData
2013-01-31 11:30:44 +01:00
Jordan Woyak
0e04e0c305 Fix some shadowing warnings. 2013-01-29 16:43:22 -06:00
Ryan Houdek
afb5be10d9 OSX likes to put unordered_map in the weirdest of places... 2013-01-28 15:36:55 -06:00
Ryan Houdek
fa45403557 Got to love that my server's cmake is half retarded. 2013-01-28 15:32:38 -06:00
Ryan Houdek
d94f3c4155 Stop using std::pair and std::map. Switch over to u64 and std::unordered_map. Provides a very small speed boost. 2013-01-28 15:18:54 -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