Ryan Houdek
61aa272bfb
[Android] Qualcomm drivers require that the EGL context is created on the same thread that the OpenGL commands are run on. Crappy driver limitation since eglMakeCurrent should work to let it be on a different thread.
2013-05-25 22:20:34 -05:00
degasus
a51d6a6ddd
add new statistics for gpu buffer streaming
2013-05-23 21:07:01 +02:00
Ryan Houdek
39c9516197
[Android] Qualcomm driver has a bug where it returns an invalid length for GL_INFO_LOG_LENGTH with glGetShaderiv. Qualcomm drivers seem to max out at ~512bytes returned from glGetShaderInfoLog so this is a reasonable max.
2013-05-17 21:13:02 -05:00
Ryan Houdek
0247b2a97a
[Android] More GLES3 things. Disable Framedumping and MSAA rendering. Remove the HLSL->GLSL shader defines since Qualcomm doesn't support this in their shader compiler. Now they get chosen in our shader generator instead.
2013-05-06 06:43:04 -05:00
Ryan Houdek
5ac58a34ea
[Android] Beginning of GLES3 support.
2013-05-05 23:37:02 -05:00
Ryan Houdek
cb5b9c0327
[Android] Add GLSLES3 to the GLSL version enums. Add in the version and precision qualifier to the shader header.
2013-05-05 23:37:02 -05:00
Ryan Houdek
028a1a4971
GL_DEPTH_COMPONENT can't have type of GL_UNSIGNED_BYTE with glTexImage2D. Qualcomm drivers get hit with this but all else don't care.
2013-05-05 23:37:02 -05:00
Ryan Houdek
09def3ed3f
[Android] Add in a compiling option for GLES3
2013-05-05 23:37:01 -05:00
degasus
a295a3eb56
ogl: report shader compilation issues in the same way as other backends
2013-05-04 23:30:13 +02:00
skidau
8bcd9a74c8
Clear the texture cache when a new dol is loaded via ES_LAUNCH. Fixes the black screen in The House of the Dead 2.
...
Abbreviated some of the information in the window titlebar.
2013-05-01 23:51:43 +10:00
NeoBrainX
02afec5076
Polish shader uid checking.
2013-04-29 21:00:39 +02:00
NeoBrainX
5e6b712651
Merge 'master' into shader-uids-awesome.
...
Conflicts:
Source/Core/VideoCommon/Src/BPMemory.h
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
2013-04-25 14:05:54 +02:00
degasus
673d256f45
glew1.8 debug build fix
2013-04-24 16:24:55 +02:00
degasus
4a48485482
Revert "Revert "Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer.""
...
This reverts commit 8b7141d3de
.
GLSL120 can't handle integer attributes :-(
2013-04-24 03:03:52 +02:00
lioncash
d244bca1f5
Fix a bunch of random typos in comments and logging.
...
Also update the comment headers for two functions in GCMemcard.cpp.
2013-04-19 09:21:45 -04:00
Lioncash
e78d99e5c1
New license header introduced to all Video based projects.
2013-04-17 23:29:41 -04:00
lioncash
8bb845e646
Buildfix for the last commit.
2013-04-15 16:40:48 -04:00
lioncash
ef85b9af45
Update the license file text (change SVN to Git) in all projects except Core since I was told a merge was happening soon. So for the sake of the merge going smoothly, I'll fix that when I remove the tab/space mismatches from the Core project.
...
Also, some tab/space mismatches removed from VideoOGL, and some places I missed in VideoDX[number] projects.
Now, the Core is literally the only project with tab/space mismatches (on a large scale).
2013-04-15 16:28:55 -04:00
Ryan Houdek
7772f0d071
Merge branch 'Android-trash' since it is no longer quite so trashy.
2013-04-14 23:36:00 -05:00
Ryan Houdek
37b67971e7
Merge remote-tracking branch 'origin/master' into Android-trash
...
Conflicts:
Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp
2013-04-14 20:43:42 -05:00
Ryan Houdek
bde7ea00ef
Removes the Java ButtonManager for one in the C++ source so the OSD class can call in to it each frame for drawing the buttons. Copy our assets to the dolphin-emu directory for now. Remove NativeRenderer, ButtonManager, and Button Java classes since they aren't used anymore. Buttons A, B, and Start all work and are drawn on screen now. Button input on Android is still a bit hacky, needs a proper controller interface still. Android specific button drawing code is still hanging out in SWRenderer.cpp
2013-04-14 20:39:56 -05:00
Lioncash
7ab0cca645
Clean up most (99.99%) of the tab/space mismatches in the VideoSoftware project.
...
Got rid of trailing spaces that were unnecessary too.
Also update the license header for this project. We don't use SVN anymore.
2013-04-13 23:54:02 -04:00
Ryan Houdek
605bbf5ca8
Merge remote-tracking branch 'origin/master' into Android-trash
2013-04-13 00:58:37 -05:00
Ryan Houdek
39a7096711
Extend our OSD class to support callbacks on init, onframe, and shutdown.
2013-04-13 00:48:53 -05:00
degasus
addd3926d9
ogl: remove GL_TRIANGLE_FAN on utils rendering
...
wtf have I done? fans aren't supported well on hardware
2013-04-11 16:27:32 +02:00
degasus
7e630ba920
Merge branch 'primitive_restart'
2013-04-11 14:01:58 +02:00
degasus
3c87512180
ogl: fix single core crash
...
osx is missing, sorry but I'm too stupid for objective-c
2013-04-11 03:32:07 +02:00
degasus
26b428539a
small cleanup suggested by neobrain
2013-04-10 14:12:35 +02:00
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
Jordan Woyak
385d8e2b15
ChunkFile has allowed me to accidentally "Do" a non-POD for the last time!
2013-04-09 19:02:22 -05:00
degasus
b0108631f6
use templates for primitive restart
2013-04-08 19:39:43 +02:00
degasus
cf98ef8cf3
enable primitive restart on dx11
2013-04-08 16:34:47 +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
Lioncash
195336021f
Fix a few typos in the comments/logging in VideoDX9, VideoCommon, and VideoSoftware projects.
...
See Render.cpp, PixelShaderGen.cpp, and PixelShaderManager.cpp for most of the changes.
See VertexShaderManager.cpp for a logging typo fix.
See SWRenderer.cpp for a small typo fix for a message that gets swprintf'd in DrawDebugText.
See SWVertexLoader.cpp for a typo fix of an assert message.
Should slightly improve the readability of some of those files.
2013-04-07 17:11:29 -04:00
NeoBrainX
5f32febcf3
Apply re07a91930df0 to the software renderer.
2013-04-07 16:54:22 +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
Rodolfo Bogado
d032f3fd79
Fix for the hang after close caused by my previews perf queries commit.
...
Sorry for that.
fix issue 6205
2013-04-04 12:53:06 -03: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
lioncash
a7c05dc922
Remove an unused variable in VideoConfig.cpp and SWVideoConfig.cpp
2013-04-04 09:32:28 -04:00
Rodolfo Bogado
0c4713a152
ups missing file for my last commit sorry
2013-04-03 19:56:35 -03:00
Rodolfo Bogado
c4bc20b4d9
Adds support for PE performance metrics in the D3D9 backend
2013-04-03 19:53:48 -03:00
Ryan Houdek
1dd1ebb8bd
Fix ARM building.
2013-04-03 05:20:41 +00:00
Glenn Rice
6371a6f15d
Fix some more strings for translation, and update the catalog.
2013-04-02 17:44:27 -05:00
Rodolfo Bogado
a562c7c1f6
As requested apply the same changes made by rev 6958822f19
to the D3D9 backend.
...
handle v-sync changed while the emulation is running.
thanks to neobrain for pointing the missing functionality.
2013-04-01 14:23:48 -03: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
Rodolfo Bogado
5ae8bec2fd
Disable dual source blend until a valid support test is found
2013-03-31 21:15:58 -03: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
Rodolfo Bogado
45651098f6
Use a brute force approach to test for Dual source blend support.
...
Sorry for a direct commit to the main branch but i need fast feedback, and i don't want to leave problematic code in the main branch for a long time.
if this approach does not work for the drivers with problems will transform dual source blend to an option in the D3D9 backend.
I appreciate the help of the people that tested my last commit and thanks to neobrain for pointing this solution.
2013-03-31 20:02:13 -03: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
Rodolfo Bogado
c743e75d92
fixes for my last commit
2013-03-29 00:41:36 -03:00
Rodolfo Bogado
40d919b352
Implement dual source blending to avoid unneeded alpha pass.
...
this implementation does not work in windows xp (sorry no support for dual source blending there).
this should improve speed on older hardware or in newer hardware using super sampling.
disable partial fix for 4x supersampling as I'm interested in knowing the original issue with the implementation to fix it correctly.
remove the deprecation label from the plugin while I'm working on it.
2013-03-28 20:08:51 -03:00
NeoBrainX
fb28349056
VideoSoftware: Fail less at clamping.
2013-03-28 23:34:14 +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
45c70be83f
Fix Windows build, try 5.
2013-03-27 00:20:25 +01:00
NeoBrainX
f8d2936840
Fix Windows build, try 3.
2013-03-27 00:13:23 +01:00
NeoBrainX
98362e5934
Fix Windows build, try 2.
2013-03-26 23:44:41 +01:00
NeoBrainX
24ab51f9f6
Fix Windows build, try 1.
2013-03-26 23:35:14 +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
lioncash
ae62af8a93
Array overrun fixed in VertexShaderCache for the DX11 plugin.
...
vs_constant_offset_table only has a size of 239. It was originally iterating up to element 241.
2013-03-26 09:19:19 -04:00
NeoBrainX
0994a5828d
VideoSoftware: Improve fog range adjustment by using less magic and more comments.
2013-03-26 00:57:45 +01:00
degasus
3ab4e35582
revert RasterFont for VideoSoftware
...
Backends shouldn't depend on each other. Here RasterFont depends on ProgramShaderCache, which itself depends on global config again ...
2013-03-26 00:05:46 +01:00
degasus
e5841f233a
ogl: fix virtual xfb
2013-03-25 23:23:32 +01:00
NeoBrainX
beb083721a
Windows build fix from web interface...
2013-03-25 21:43:32 +00:00
NeoBrainX
ae146e8bc7
VideoSoftware: Implement fog range adjustment, fixing issue 6147.
2013-03-25 21:13:31 +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
NeoBrainX
bb3ce1f8d3
Mark the Direct3D9 backend deprecated.
2013-03-23 23:53:19 +01: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
Ryan Houdek
d11679a06e
Android mega commit of trash.
2013-03-19 21:53:09 -05: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
7597b8b8d5
fix software backend
...
ogl rasterfont sets vao and vbo, but both aren't used on software backend
2013-03-17 12:37:37 +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
363d0be9f9
Derp. No Windows to test compile on.
2013-03-15 11:29:12 -05:00
Ryan Houdek
8c1091a21f
Merge branch 'master' into GLSL-master
...
Conflicts:
Source/Core/VideoCommon/Src/PixelShaderGen.cpp
Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
2013-03-15 11:19:52 -05:00