863fb9f95b
D3DBase: Fall back to creating a normal context when debug fails
...
This can happen if the user does not have an up to date version of
the DirectX SDK, as Microsoft intentionally broke it and requires
users to install the W8 SDK.
2013-08-15 10:19:14 -04:00
605e3e8f65
Revert "D3DBase: Don't pass the DEBUG flag when creating a device"
...
This reverts commit 0e6b5bc5c8
.
2013-08-15 10:07:52 -04:00
d16f089e88
properly clean up PerfQuery on OGL
2013-08-15 13:52:31 +02:00
979718484f
Merge branch 'master' of https://code.google.com/p/dolphin-emu into dx9-ssaa-fix
2013-08-15 00:21:28 -03:00
0e6b5bc5c8
D3DBase: Don't pass the DEBUG flag when creating a device
...
In order for this flag to not fail, you either need a Windows 8 machine
or upgrade to the paid version of Visual Studio 2012. Not gonna happen.
2013-08-14 18:04:44 -04:00
e60e50a198
Respect ShouldEmulate() in PerfQuery implementations for DX11 and OGL (ugly implem, but the current state of VideoCommon does not allow much better)
2013-08-14 23:18:00 +02:00
0ec92f986b
small correction, we cannot use dual source blending if separate alpha function is not supported
2013-08-13 17:31:50 -03:00
9e0fc8b42d
Merge branch 'master' of https://code.google.com/p/dolphin-emu into dx9-ssaa-fix
2013-08-12 21:32:25 -03:00
057551ada7
Software Renderer: Show each backend's display name instead of its short name in the config dialog.
2013-08-12 18:30:42 +02:00
f4000b6b42
Add the ability to force Dual Source Blending in the configuration file.
...
this way everyone can check if their hardware support this feature in dx9
2013-08-11 18:48:31 -03:00
a1d8d8ce87
fix for 4x super sampling AA.
...
make the distance of the samples from the center smaller to minimize errors.
2013-08-11 12:26:20 -03:00
3066d8471e
Mark the Direct3D9 backend deprecated.
...
sadly one important functionality is impossible to implement correctly in this backend(zcomplock).
Still, I will try to fix as many issues as i can.
2013-08-11 11:55:13 -03:00
eed36cbf78
D3D11: Implement zcomploc for hardware supporting D3D 11.0.
2013-08-09 22:20:35 +02:00
dc23a076be
disable emulate format changes on glsl120
...
The current shader uses bit operations which aren't supported by glsl120.
A workaround with round + frac + lots of additions would be possible, but unreadable.
So I think it isn't worth
But this fixes the annoying shader compilation error message
2013-08-06 10:34:30 +02:00
7d187dc597
Change a glClear in the OpenGL renderer to improve performance on Mali chips.
2013-08-02 23:19:16 +00:00
4aba0135e1
[Android] Qualcomm Swap hack isn't needed anymore due to the new StreamBuffer type.
2013-07-26 21:49:48 -05:00
bab2534c36
Didn't mean to disable hacked buffer.
2013-07-27 00:51:26 +00:00
8db9b61be6
Enable the shader cache on GLES3 now that the shaders compile fine on Mali and Adreno.
2013-07-27 00:42:20 +00:00
f786f0f0c6
Remove the broken buffers bug on Mali hardware since it isn't needed anymore using the glBufferData route in the StreamBuffer class.
2013-07-27 00:41:38 +00:00
319e29e7d0
Add the new glBufferData stream buffer type to the streambuffer class which is hugely more efficient on Mali drivers.
2013-07-27 00:40:16 +00:00
a9ebd7d3e5
Fix Android Build.
2013-07-26 15:02:03 +00:00
6887a0c341
Change from using glDrawElements/glDrawElementsBaseVertex to glDrawRangeElements/glDrawRangeElementsBaseVertex. On Mali, this reduces a internal function usage from 8% to off the charts.
2013-07-26 14:51:04 +00:00
3e697b363e
Fix an issue where TextureConverter.cpp was creating a renderbuffer with the wrong format. Also a few minor shader issues where they were using integers in place of floats.
2013-07-25 18:39:00 +00:00
672871b3be
Add in the Mali driver bug so we can call glFlush every flush. It seemingly is quicker calling flush every time instead of every n times.
2013-07-25 05:44:20 +00:00
9795d10dcb
OGL/SamplerCache: Treat lod_bias as a signed integer.
2013-07-22 18:24:56 +00:00
c6ae08fc39
implement emulate efb format changes on ogl backend
2013-07-22 15:41:10 +02:00
15b8ac64ef
Implement zcomploc on OpenGL4.2+
2013-07-22 12:02:16 +02:00
737df2a68c
Patch from Degasus that removes the last of the the GL_TEXTURE_RECTANGLE usages. This is needed to have GLES3 support.
2013-07-13 17:24:23 -05:00
3de5b1bed9
Fix vendor retrieval for Tegra in VideoOGL.
2013-07-02 21:58:09 -04:00
72d49e05a7
fix opengl debug build on win32
2013-06-27 10:34:53 +02:00
99d32e756f
only provide ES2_compatibility workaround for non gles devices
2013-06-26 13:14:46 +02:00
21ca344a21
provide GL_ARB_ES2_compatibility workaround
...
ES2 is in ogl core since 4.1, but not all drivers support it
2013-06-25 18:14:41 +02:00
fb310f2247
Revert "Create our OGL context on the same thread in the OpenGL backend. Same issue with Qualcomm not working with threading correctly."
...
This reverts commit 2697b8c04f
.
The context creation may be moved to Video_Prepare, but the window creation isn't allowed to.
Eg we set the window title or read the mouse position, both need the window.
Also the readback of the window size didn't worked any more.
2013-06-19 09:17:33 +02:00
02cbcc8ec4
[Android] When running OpenGL ES 3 backend, we've got to switch the screen coordinates or bad things happen. Adds a Driver bug that causes swap every single flush. Hard requirement currently to see /anything/ on screen.
2013-06-18 12:44:06 -05:00
9c32c923bc
Remove saturate function define in GLSL since we use clamp everywhere instead. Change the function defines over to just regular defines since Qualcomm can't handle function defines at all it seems.
2013-06-18 12:42:14 -05:00
6143594db6
[Android] Qualcomm glGetShaderInfoLog returns a max of 1024 bytes(tested) for the log, and glGetShaderiv with GL_INFO_LOG_LENGTH /always/ returns 0 on compile failure.
2013-06-18 10:24:36 -05:00
fbb82ccab3
Whoops, look like the previous commit was also the case with VideoDX9
2013-06-18 10:48:16 -04:00
f59f059fbf
Fix a char buffer destination size in Render.cpp for VideoDX11.
2013-06-18 10:45:57 -04:00
7df8a9cae8
Partial revert of 0247b2a97a
. I'll add a work around for Qualcomm in a bit. Qualcomm shader compiler failing was only due to floating suffixes not whole function defines. Qualcomm video driver devs seem to have a good response time when it comes to OpenGL ES 3 issues.
2013-06-18 07:52:36 -05:00
ca22872dae
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/VertexShaderGen.cpp
2013-06-17 12:05:47 +02:00
9594cac42c
Build fix: Android NDK doesn't support any locale switching.
...
Also, Mac OS X doesn't support DX9.
2013-06-16 14:51:38 +02:00
fc7099a905
Set the locale per-thread instead of globally when generating shaders. Add cross-compatible versions of newlocale, uselocale and freelocale.
...
This commit fixes a rare race condition when generating shaders because setlocale is global.
2013-06-16 12:33:13 +02:00
ab6151a5ba
Build Fix 2x
2013-06-11 08:41:30 -05:00
9df3dbe13c
Build Fix
2013-06-11 08:38:45 -05:00
703a51e4c0
[Android] Start of *working* GLES3 support. Needs to be able to compile in Windows still.
2013-06-11 08:33:56 -05:00
2697b8c04f
Create our OGL context on the same thread in the OpenGL backend. Same issue with Qualcomm not working with threading correctly.
2013-05-26 22:30:38 -05:00
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
a51d6a6ddd
add new statistics for gpu buffer streaming
2013-05-23 21:07:01 +02:00
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
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