Jordan Woyak
03ec9a2e08
Kill some unnecessary c_str and use StrToWxStr in a few places that I missed.
2013-02-28 02:40:03 -06:00
Jordan Woyak
56f09d3b91
Attempt to be consistent with conversions between std::string and wxString.
2013-02-28 02:30:05 -06:00
Jordan Woyak
6b80e6f83c
Tweak Vertex/Index buffer handling a bit.
2013-02-27 01:57:02 -06:00
Ryan Houdek
692e39d1bb
Merge branch 'arm-noglsl'
2013-02-27 02:22:08 +00:00
Jordan Woyak
a680d17eef
Buildfix.
2013-02-26 19:59:33 -06:00
Jordan Woyak
f1c990069c
Yell at the user if they change window size while dumping frames, and some other avi dumping stuff.
2013-02-26 20:47:48 -05:00
degasus
ae481068cd
cleanup ogl extension osd
2013-02-26 23:36:22 +01:00
degasus
a650ae8c7b
workaround for base vertex. damn old nvidia driver
2013-02-26 23:15:55 +01:00
degasus
025f8d342f
remove flag GL_SYNC_FLUSH_COMMANDS_BIT on syncing
2013-02-26 21:48:35 +01:00
Ryan Houdek
717b976875
ARM Support without GLSL
2013-02-26 13:49:00 -06:00
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
Jordan Woyak
db1be085c2
VertexManager cleanup
2013-02-22 01:41:52 -06: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
degasus
76e6085e31
consistently usage of buffer pointers
2013-02-21 12:36:29 +01:00
Jordan Woyak
e7c93b8ac3
Minor sampler cache cleanup.
2013-02-20 17:15:10 -06: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
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
NeoBrainX
19ab5bf50d
TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs.
2013-02-18 17:14:56 +01:00
NeoBrainX
0f617183a8
Add a possible TODO.
...
Dunno if the hardware behaves like this, but it likely does.
2013-02-18 14:54:24 +00:00
degasus
bef24b5c6b
new format for gl extensions
2013-02-17 21:41:00 +01:00
Jordan Woyak
53aec6c476
Fix OGL perf queries and make them not slow!
2013-02-16 19:30:24 -06: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
NeoBrainX
0fdeb81038
Add some code for generating a shader constant usage profile.
2013-01-28 22:15:23 +01:00
NeoBrainX
67be1e939a
PixelShaderGen: Some more work...
2013-01-28 21:59:49 +01:00
NeoBrainX
dc0f470215
Added new shader cache uids for pixel shader gen.
2013-01-28 21:44:39 +01:00
NeoBrainX
3c8df842bb
Moved some of the new shader uid stuff to a common header file.
2013-01-28 21:05:29 +01:00
NeoBrainX
ca0e292dd4
Replace the shader uid system with a new one which quasi-automatically generates uids for shaders.
...
Currently used in the vertex shader only (had to fork lighting shaders for now).
2013-01-28 21:05:29 +01: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
degasus
fd06342a97
set hint GL_STREAM_READ
...
it's wrong, but so we are guaranteed to get pinned memory.
it's slower for rendering, but faster for mapping.
2013-01-28 13:03:31 +01:00
Ryan Houdek
4fadb65259
Only check shader compilation status in debug or with DEBUG_GLSL defined. invalidate range on bindbufferrange since we don't care about what is in the range. Both give a performance boost for me.
2013-01-26 11:24:24 -06:00
degasus
3a52b37c3b
only create shaders after shadercaches are initialized
2013-01-26 16:33:54 +01:00
degasus
13e9bb56f8
fix bug when rasterfont disappears sometimes
2013-01-25 20:39:19 +01:00
degasus
41b1128fdd
orphan vbo also with glBufferData
2013-01-25 13:28:05 +01:00
degasus
a526fc5f92
ubo streaming
2013-01-25 13:20:42 +01:00
Ryan Houdek
73eb98ed8e
Move swap control to the host specific GLInterface files.
2013-01-24 10:31:08 -06: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
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
degasus
da0ec6618f
always init ogl configs
2013-01-21 18:44:33 +01:00
degasus
cf11f0ea72
clear uniform cache on startup
2013-01-21 15:43:04 +01:00
degasus
ebaaf6d468
glShadeModel is also obsolete
2013-01-21 10:37:16 +01:00
degasus
8a6f747408
glsl: remove usage of old texture2D* function
2013-01-19 11:07:06 +01:00
degasus
d73c950623
cache texture bindings
2013-01-19 01:06:34 +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
6401a18143
remove texture sampler from uniform list
2013-01-19 00:12:02 +01:00
degasus
2c010f530e
report glsl shader warings as errors
2013-01-18 12:49:48 +01:00
degasus
714ff50fdf
set blending if dual source might be triggered
2013-01-18 00:44:35 +01:00
degasus
a87fd89fce
disable ogl shader cache
...
it doesn't check the shader itself only the id of the shaders.
So there are cache mismatch atm
2013-01-17 12:36:20 +01:00