Commit Graph

3651 Commits

Author SHA1 Message Date
2afd892e46 ShaderGen: More interface cleanups. Less wtfs :) 2013-03-29 22:24:49 +01:00
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
b2517c0308 More build fixes. 2013-03-29 15:08:00 +01:00
4e9c3db545 OSX build fix. 2013-03-29 15:03:16 +01:00
41c4108ce6 OpenGL: Reimplement shader uid debugging. 2013-03-29 14:56:01 +01:00
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
c743e75d92 fixes for my last commit 2013-03-29 00:41:36 -03:00
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
fb28349056 VideoSoftware: Fail less at clamping. 2013-03-28 23:34:14 +01:00
c10d9ea87a Clean up blending code a bit. 2013-03-28 23:00:19 +01:00
8a33d49de2 buildfix for my last commit on Mac OSX 2013-03-28 18:32:59 -03:00
246907d371 Small Blending logic fix for opengl backend 2013-03-28 18:04:33 -03:00
53377425d1 OGL: enable buffersubdata in detection 2013-03-28 12:18:39 +01:00
45c70be83f Fix Windows build, try 5. 2013-03-27 00:20:25 +01:00
f8d2936840 Fix Windows build, try 3. 2013-03-27 00:13:23 +01:00
98362e5934 Fix Windows build, try 2. 2013-03-26 23:44:41 +01:00
24ab51f9f6 Fix Windows build, try 1. 2013-03-26 23:35:14 +01:00
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
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
0994a5828d VideoSoftware: Improve fog range adjustment by using less magic and more comments. 2013-03-26 00:57:45 +01:00
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
e5841f233a ogl: fix virtual xfb 2013-03-25 23:23:32 +01:00
beb083721a Windows build fix from web interface... 2013-03-25 21:43:32 +00:00
ae146e8bc7 VideoSoftware: Implement fog range adjustment, fixing issue 6147. 2013-03-25 21:13:31 +01:00
d4fadf4b6f implement 4xSSAA for OGL
I don't think it's needed, but its requested often
2013-03-25 15:45:10 +01:00
3d5e0a6d3d move ogl-only settings into backend 2013-03-25 15:14:24 +01:00
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
bb3ce1f8d3 Mark the Direct3D9 backend deprecated. 2013-03-23 23:53:19 +01:00
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
086252380d Had this sitting around for a while to fix nogui. 2013-03-23 14:57:55 -05:00
04943cb852 more restrict disable of pinned memory, disable ubo for intel/mesa-9.1.1 2013-03-21 09:26:32 +01:00
d11679a06e Android mega commit of trash. 2013-03-19 21:53:09 -05:00
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
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
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
234604e067 GLSL: also define pinned_memory in renderer.cpp 2013-03-17 19:03:23 +01:00
106d7c37e8 GLSL: store and use exact ubo sizes 2013-03-17 16:49:42 +01:00
f480697b9b remove some ogl error
but it doesn't resolve any issue
2013-03-17 12:46:30 +01:00
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
2312a8d9d5 GLSL: don't apply unsupported msaa settings 2013-03-17 10:44:57 +01:00
4a8ab0fafa disable pinned memory for fglrx 2013-03-17 10:06:16 +01:00
98fa5006fd Fix some warnings. 2013-03-16 18:53:34 -05:00
4a929f85b6 GLSL: fix transparency issues on dual source blend. fix issue 6104 2013-03-17 00:36:13 +01:00
c7d75ee437 GLSL: explicitly check for gl errors for pinned memory 2013-03-16 10:08:46 +01:00
363d0be9f9 Derp. No Windows to test compile on. 2013-03-15 11:29:12 -05:00
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
1f73651a7a VideoSoftware: Do not clear the depth buffer on EFB copy clears when depth writing is disabled. 2013-03-14 23:59:52 +01:00
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
2c84c32ddc decrease d3d vertex buffer size 2013-03-12 17:48:20 +01:00
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