degasus
b9ba82ec03
proper ogl primitive restart code
2013-04-10 12:58:52 +02:00
NeoBrainX
ec08914905
Move Shader UID mismatch checking to VideoCommon.
2013-04-10 12:54:22 +02:00
degasus
b0108631f6
use templates for primitive restart
2013-04-08 19:39:43 +02:00
degasus
702198f39b
Merge branch 'master' into primitive_restart
...
Conflicts:
Source/Core/VideoCommon/Src/VideoConfig.h
Source/Plugins/Plugin_VideoDX9/Src/main.cpp
Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
2013-04-08 15:57:51 +02:00
degasus
4c40e70b8a
ogl: support glsl120
2013-04-08 14:50:58 +02:00
degasus
3897e1959e
ogl: one framebuffer per efb2tex texture
...
suggestion from nvidia/valve. let's see if it helps
2013-04-08 14:36:58 +02:00
degasus
3e8ba3f3e8
fix msaa detection
2013-04-05 07:08:32 +02:00
degasus
a2ebb2b324
ogl: remove "Missing Extension" from osd
...
I think it was the best place, but I can't see "this issue is because of ..." any more
2013-04-04 18:55:37 +02:00
degasus
e11f5630b1
OGL: use GLEW_ARB_debug_output in debug builds
...
should also be used in normal build, but as our ubo "workaround" throws too much errors, it's disabled atm
2013-04-04 17:37:16 +02:00
Glenn Rice
6371a6f15d
Fix some more strings for translation, and update the catalog.
2013-04-02 17:44:27 -05:00
Lioncash
58159a1693
Some more logging typos and clarifications. Missed these in my last commit.
...
This commit mainly elaborates on some messages a little more. Also fixes some typos that slipped through the last commit.
A large change in text can be seen in EXI_DeviceMemoryCard.cpp. I added more info as to why a write to a memory card may fail. (This actually was a reason I was unable to write to a memcard recently).
Elaborations can be seen in WGL.cpp
I did change some comments in some files that I was correcting logging messages in, however this is only if I spot a typo or if an abbreviation is lower-cased. Even in that case, the amount of changes done to comments is very minimal.
2013-04-01 00:10:54 -04:00
Lioncash
f432d6038e
Fix some typos and correct some capitalizations in the log messages.
...
Makes the logging look more orderly and less spammy when spitting out things.
2013-03-31 19:13:30 -04:00
Ryan Houdek
31500f2522
Fix Intel Ironlake since it doesn't support version 120 of GLSL. I don't have Ironlake so it is hard to test. Dropping the shaders to version 120 worked here for me, ATI may be giving me some slack though.
2013-03-30 23:27:24 -05:00
degasus
6958822f19
only apply vsync on changes
...
nvidia over bumblebee slows down on changes
2013-03-30 22:17:39 +01:00
NeoBrainX
2afd892e46
ShaderGen: More interface cleanups. Less wtfs :)
2013-03-29 22:24:49 +01:00
NeoBrainX
3c02f227db
PixelShaderManager: Disable constant cache (won't work in the non-UBO path of the opengl backend).
...
ShaderGen: Replace typeid usage with more general code.
2013-03-29 20:35:31 +01:00
NeoBrainX
b2517c0308
More build fixes.
2013-03-29 15:08:00 +01:00
NeoBrainX
4e9c3db545
OSX build fix.
2013-03-29 15:03:16 +01:00
NeoBrainX
41c4108ce6
OpenGL: Reimplement shader uid debugging.
2013-03-29 14:56:01 +01:00
degasus
ca8554e7d1
first try of primitive restart index generator
...
Convert all quads+triangles into trangle_strip and uses primitive restart to split them.
Speed up triangle_strip, but slows down all others primitive formats.
Only implemented in ogl.
2013-03-29 14:27:33 +01:00
NeoBrainX
c10d9ea87a
Clean up blending code a bit.
2013-03-28 23:00:19 +01:00
Rodolfo Bogado
8a33d49de2
buildfix for my last commit on Mac OSX
2013-03-28 18:32:59 -03:00
Rodolfo Bogado
246907d371
Small Blending logic fix for opengl backend
2013-03-28 18:04:33 -03:00
degasus
53377425d1
OGL: enable buffersubdata in detection
2013-03-28 12:18:39 +01:00
NeoBrainX
3253603ae7
Merge 'master' into shader-uids-awesome.
...
Conflicts:
Source/Core/VideoCommon/Src/LightingShaderGen.cpp
Source/Core/VideoCommon/Src/PixelShaderGen.cpp
Source/Core/VideoCommon/Src/PixelShaderGen.h
Source/Core/VideoCommon/Src/PixelShaderManager.cpp
Source/Core/VideoCommon/Src/VertexShaderGen.cpp
Source/Core/VideoCommon/Src/VertexShaderGen.h
Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.h
Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.h
2013-03-26 22:21:19 +01:00
degasus
e5841f233a
ogl: fix virtual xfb
2013-03-25 23:23:32 +01:00
degasus
d4fadf4b6f
implement 4xSSAA for OGL
...
I don't think it's needed, but its requested often
2013-03-25 15:45:10 +01:00
degasus
3d5e0a6d3d
move ogl-only settings into backend
2013-03-25 15:14:24 +01:00
Ryan Houdek
7034c79ab9
Big commit. Fix running the APK, I had missed a view in the manifest. Clean up the Android EGL context creation to fit more in line with how Dolphin works. This breaks input at the moment as well. Change the memarena from 768MB to 64MB to allow 1GB phones to potentially run it. Rename EGL_X11 back to EGL since this merge brings in some of soreau's changes to more easily allow different platforms like Wayland and Android. Not quite all of the code because some needs to be cleaned up still.
2013-03-24 21:06:34 -05:00
Ryan Houdek
ff61dc3840
Switch to using bitfields in the streambuffer class so we can exclude buggy streambuffer types. This disables pinned memory on ATI for GL_ELEMENT_ARRAY_BUFFER because it seems to be buggy. This fixes ATI for me.
2013-03-23 15:37:01 -05:00
Ryan Houdek
086252380d
Had this sitting around for a while to fix nogui.
2013-03-23 14:57:55 -05:00
degasus
04943cb852
more restrict disable of pinned memory, disable ubo for intel/mesa-9.1.1
2013-03-21 09:26:32 +01:00
degasus
7514b41966
GLSL: fix msaa egdes
...
MSAA is a optimiztion to execute the fragment shader just once per pixel instead per sample.
It sounds great, but has a big issue: At edges where the center isn't in the polygon, the
fragment would still be executed, but still with the center of the pixel as position.
So if some calculations aren't allowed outside the polygon, the result would be invalid.
But the nice one: we can give a hint to each input to be choosen from a valid pixel,
so now every pixel will be calculated with valid source.
2013-03-19 13:50:43 +01:00
Rachel Bryk
7c2c4662a7
Disable Vsync while holding tab to disable the frame limit, and allow toggling vsync while emulation is running in OGL.
...
D3D9 still doesn't support changing vsync while emulation is running.
Fixes issue 6111.
2013-03-18 20:42:18 -04:00
Ryan Houdek
12f5f102c7
Set GLES Tex2D function to texture2D, texture is only available in GLES3. Fix some tabs in the config file.
2013-03-18 07:50:52 +00:00
degasus
234604e067
GLSL: also define pinned_memory in renderer.cpp
2013-03-17 19:03:23 +01:00
degasus
106d7c37e8
GLSL: store and use exact ubo sizes
2013-03-17 16:49:42 +01:00
degasus
f480697b9b
remove some ogl error
...
but it doesn't resolve any issue
2013-03-17 12:46:30 +01:00
degasus
2312a8d9d5
GLSL: don't apply unsupported msaa settings
2013-03-17 10:44:57 +01:00
degasus
4a8ab0fafa
disable pinned memory for fglrx
2013-03-17 10:06:16 +01:00
Jordan Woyak
98fa5006fd
Fix some warnings.
2013-03-16 18:53:34 -05:00
degasus
4a929f85b6
GLSL: fix transparency issues on dual source blend. fix issue 6104
2013-03-17 00:36:13 +01:00
degasus
c7d75ee437
GLSL: explicitly check for gl errors for pinned memory
2013-03-16 10:08:46 +01:00
Ryan Houdek
db1fc9019b
Add a OSX version check to GLSL so if anyone running < OSX 10.7 gets a message instead of crashing when running the game. Turn off DEBUG_GLSL.
2013-03-14 15:25:41 -05:00
degasus
2c9c4d0f01
remove syncing on hacked buffer
...
nvidia does wait for their gpu on syncing, so removing it.
But now, we have to recheck it on every plattform
2013-03-08 10:23:27 +01:00
degasus
708b7d57cd
fix wrapping in postprocessing
2013-03-08 09:36:28 +01:00
degasus
f673e33a7d
fix hotkey osd position
2013-03-07 21:42:40 +01:00
degasus
a6719abab7
mesa doesn't like 0x0 fbo
2013-03-07 21:30:11 +01:00
degasus
7af0838e98
disable ubo for intel/mesa
...
our ubo workaround isn't much better, but not corrupted and much faster (on hd4000) than the ubo one
2013-03-07 21:07:57 +01:00
degasus
a6844d6b9e
move shader error files in dolphin user directory
2013-03-07 20:37:28 +01:00
degasus
2bd7ba76b9
only report errors without debug_glsl
2013-03-07 20:26:56 +01:00
degasus
8b232c7a4d
fix "some" pp shaders ...
2013-03-07 19:51:57 +01:00
degasus
ebb34ced91
postprocessing: only add *.txt shader and sort them
2013-03-07 19:11:50 +01:00
degasus
1c125f0fb4
add resolution uniform for pp, 16bit uses this for reducing screen resolution (wtf?)
2013-03-07 17:35:27 +01:00
degasus
800a58f01c
reimplement postprocessing and fix one shader as example
2013-03-07 17:00:11 +01:00
degasus
a1c5e90083
Merge branch 'master' into GLSL-master
...
Conflicts:
CMakeLists.txt
Source/Core/DolphinWX/CMakeLists.txt
Source/Core/DolphinWX/Src/GLInterface.h
Source/Core/VideoCommon/Src/PixelShaderGen.cpp
Source/Core/VideoCommon/Src/TextureCacheBase.cpp
Source/Core/VideoCommon/Src/VertexManagerBase.cpp
Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj
Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj.filters
Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h
Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/main.cpp
2013-03-06 15:59:29 +01:00
degasus
a2bb7d5766
initialize bSupportsDualSourceBlend only in renderer
2013-03-05 18:35:30 +01:00
degasus
5534d7e8c3
Revert "remove flag GL_SYNC_FLUSH_COMMANDS_BIT on syncing"
...
This reverts commit 025f8d342f
.
OSX may wait forever, so fix osx freeze
2013-03-05 16:51:09 +01:00
degasus
d19bc15d26
fix glsl140 workaround
2013-03-05 15:24:10 +01:00
Jordan Woyak
f3f89e1d00
Merge branch 'master' into vertex-loader-cleanup
...
Conflicts:
Source/Core/Common/Src/CommonFuncs.h
Source/Core/VideoCommon/Src/VertexLoader.cpp
2013-03-04 15:47:56 -06:00
degasus
efcfc5c014
workaround for GLEW_AMD_pinned_memory and older glew versions
2013-03-04 12:40:23 +01:00
degasus
e4f8d7b4c8
fix debug build
2013-03-04 10:20:55 +01:00
Jordan Woyak
b1a2915304
Merge branch 'master' into windows-unicode
2013-03-03 15:05:10 -06:00
Ryan Houdek
a01f793f59
Fix ARM build.
2013-03-03 07:37:22 +00:00
Jordan Woyak
ed90feb2b4
Kill warning.
2013-03-02 23:00:14 -06:00
Jordan Woyak
2b1af36900
Merge branch 'master' into windows-unicode
2013-03-02 15:33:32 -06:00
NeoBrainX
cb1d21c032
PerfQueries: Fix an integer overflow.
2013-03-01 23:57:56 +01:00
NeoBrainX
d1acb0a937
OGL: Fix perf metrics being overcounted when using a non-native internal resolution.
2013-03-01 23:12:41 +01:00
NeoBrainX
5a7bb2abfa
D3D11: Port perf queries code to the PerfQueryBase interface.
...
Remove deprecated PerfQuery methods from RenderBase.
Windows build fix.
2013-03-01 19:30:37 +01:00
Jordan Woyak
dea1e2827d
Open std::fstream in a unicode-safe manner.
2013-02-28 19:33:39 -06:00
NeoBrainX
cbf5efe191
Some cleanups.
...
PE perf metrics officially declared unsupported for the D3D9 project (out of pure laziness, anyone who cares can implement them :P).
2013-03-01 01:31:57 +01:00
NeoBrainX
1c9860246c
Build fixes for everyone!
2013-03-01 01:14:10 +01:00
NeoBrainX
7682ed22c6
Merge branch 'master' into perfqueries.
...
Conflicts:
Source/Core/VideoCommon/Src/VideoConfig.h
Source/Core/VideoCommon/VideoCommon.vcxproj.filters
Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoSoftware/Src/Rasterizer.cpp
Source/Plugins/Plugin_VideoSoftware/Src/Tev.cpp
2013-03-01 01:07:34 +01:00
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