Ryan Houdek
479d1e56c3
Merge pull request #1783 from degasus/disablelogs
...
OGL: disable driver warnings fetch
2015-01-01 14:12:02 -06:00
Jules Blok
29e05c5ff8
Stereo3D: Don't rely on GetEFBLayers() when dealing with shaders.
...
Shaders may be compiled before the FramebufferManager is initialized.
2014-12-29 11:19:55 +01:00
Jules Blok
7eb353b3bd
VideoCommon: Don't pass structs between shaders, use the interface blocks instead.
2014-12-28 23:28:00 +01:00
Jules Blok
2c0bee5da9
DriverDetails: Update Intel bug description.
2014-12-28 23:28:00 +01:00
degasus
1ed41672f5
OGL: disable driver warnings fetch
...
This did give a decent slowdown on some drivers.
2014-12-28 22:31:24 +01:00
Markus Wick
0f87d9b669
Merge pull request #1781 from Armada651/xfb-fixes
...
D3D: Fix Virtual XFB viewport.
2014-12-28 22:22:27 +01:00
Ryan Houdek
15f074dd21
Merge pull request #1766 from Armada651/enable-stereo
...
Enable stereoscopy settings.
2014-12-28 15:14:53 -06:00
Jules Blok
e1dc033113
Renderer: Cosmetics.
2014-12-28 18:35:23 +01:00
Jules Blok
89de7e0526
Renderer: Invalidate the FramebufferManager if the XFB mode is changed.
...
Fixes incorrect texture sizes after switching XFB modes.
2014-12-28 18:26:25 +01:00
Jules Blok
730a6e5f4b
D3D: Fix Virtual XFB viewport.
...
Looks like I was incorrect about swapping the bottom and top members.
2014-12-28 17:34:19 +01:00
Jules Blok
81d1b7f0c2
XFBEncoder: Cosmetics.
2014-12-28 16:30:48 +01:00
Jules Blok
d7037ae492
PixelShaderCache: Don't use GetDimensions() for the sample count.
...
This function is bugged on Windows 7, and statically declaring the sample count is trivial anyway.
2014-12-27 14:45:15 +01:00
Markus Wick
7764a5ed9d
Merge pull request #1733 from degasus/glx
...
GLX: try to get an OpenGL 3.3 core context
2014-12-26 13:31:41 +01:00
Jules Blok
833513f384
XFBEncoder: Sample the first layer of the resolved EFB texture.
...
Using the multisampled EFB texture is invalid, as the XFB encoder does not have a multisampling shader.
2014-12-25 12:09:35 +01:00
Jules Blok
af8ac328e5
Renderer: Use old method of calculating the source rectangle.
2014-12-25 02:37:22 +01:00
Jules Blok
46bb4fd364
FramebufferManagerBase: Remove obsolete parameters.
2014-12-25 00:58:16 +01:00
Jules Blok
49137c7c2c
FramebufferManager: Return framebuffer target size in GetTargetSize().
2014-12-25 00:57:52 +01:00
Jules Blok
1bbb323e97
D3D: Remove obsolete Real XFB codepath.
2014-12-24 23:55:04 +01:00
Jules Blok
31a55384b3
VideoConfig: Rename "StereoMonoEFBDepth" to "StereoEFBMonoDepth"
...
Makes a little bit more sense.
2014-12-24 23:30:40 +01:00
Jules Blok
4a86234a79
D3D: Support stereoscopic XFB blit to screen.
2014-12-24 18:45:24 +01:00
Jules Blok
a845aeeb3d
FramebufferManager: Copy all EFB layers to the XFB.
2014-12-24 18:45:19 +01:00
Jules Blok
59bea317d7
GeometryShaderCache: Cosmetics.
2014-12-24 17:22:24 +01:00
Jules Blok
b109b31f61
FramebufferManagerBase: Only allocate one layer for Real XFB.
2014-12-24 17:22:23 +01:00
Jules Blok
a9364cd5db
OGL: Support stereoscopic XFB blit to screen.
2014-12-24 17:22:23 +01:00
Jules Blok
12412ac5b7
FramebufferManager: Copy all EFB layers to the XFB framebuffer.
2014-12-24 17:22:22 +01:00
Markus Wick
5526b39320
Merge pull request #1748 from Armada651/stereo-format
...
FramebufferManager: Support stereoscopic EFB format changes.
2014-12-24 11:02:17 +01:00
Jules Blok
b2efbdaf44
Cosmetics.
2014-12-23 13:16:09 +01:00
Jules Blok
01718eafa6
FramebufferManager: Use a separate layer variable.
2014-12-23 13:16:03 +01:00
Jules Blok
737bc0e7ad
PixelShaderCache: Support stereoscopic EFB format changes.
2014-12-21 15:46:12 +01:00
Jules Blok
ba242d27c8
FramebufferManager: Support stereoscopic EFB format changes.
2014-12-21 15:25:58 +01:00
degasus
809117102e
VideoCommon: split VertexLoaderBase from VertexLoader
2014-12-21 14:12:43 +01:00
degasus
a71c8158d9
VertexLoader: remove inlined getters
...
They just blow up the code.
2014-12-21 13:47:43 +01:00
degasus
1281798992
VertexLoaderUid: remove operator<
...
Not needed for unordered map.
2014-12-21 13:47:43 +01:00
degasus
ec28a80e00
VideoLoader: remove VAT_*_FRACBITS
...
They are used to remove the flush amounts, but as we don't
flush anymore on vertex loader changes (only on native
vertex format right now), this optimization is now unneeded.
This will allow us to hard code the frac factors within the
vertex loaders.
2014-12-21 13:47:42 +01:00
Ryan Houdek
59e1a8a1a0
Merge pull request #1736 from degasus/osd
...
OSD
2014-12-20 23:21:24 -06:00
Ryan Houdek
829132d465
Merge pull request #1732 from Sonicadvance1/stupid_android_garbage
...
Work around broken Android garbage.
2014-12-20 15:29:38 -06:00
Ryan Houdek
f2d998c938
Work around broken Android garbage.
...
This fixes running Dolphin on the Nexus 9.
Android's EGL stack has internal arrays that they use for tracking OpenGL function usage. Probably has something to do with their OpenGL profiling
garbage that used to be in ADT.
Android has three of these arrays, each statically allocated.
One array is for all GLES 1.x functions
One array is for all GLES 2.0/3.0/3.1 and a couple of extensions they deem worthy of being in this array.
The last array is for all function pointers grabbed via eglGetProcAddress that isn't in the other two arrays.
The last array is the issue that we are having problems with. This array is 256 members in length.
So if you are pulling more than 256 function pointers that Google doesn't track in their internal array, the function will return NULL and yell at you
in logcat.
The Nvidia Shield Tablet gets around this by replacing part of the EGL stack with their own implementation that doesn't have this garbage.
The Nexus 9 on the other hand doesn't get away with this. So we pull >100 more function pointers than the array can handle, and some of those we need
to use.
The workaround for this is to grab OpenGL 1.1 functions last because we won't actually be using those functions, so we get away with not grabbing the
function pointers.
2014-12-20 15:15:57 -06:00
Dolphin Bot
f978d141c8
Merge pull request #1720 from Armada651/stereo-msaa
...
FramebufferManager: Support resolving a multi-layered EFB
2014-12-20 20:35:36 +01:00
degasus
a858db1d27
OGL: move osd warning for not supported stereo mode into config validation
2014-12-20 19:54:00 +01:00
degasus
ed9c14e0d5
OGL: Fix OGL3 with stereo enabled
2014-12-20 19:13:34 +01:00
Jules Blok
d37b65c117
FramebufferManager: Support resolving a multi-layered EFB in OGL.
2014-12-20 16:08:00 +01:00
degasus
3322c55484
OGL: don't clear the stencil buffer
...
We don't have one. This should remove some spamming of the nvidia driver.
2014-12-20 15:17:20 +01:00
degasus
3f9b52e555
OGL: draw shadows within rasterfont itself
2014-12-20 13:31:41 +01:00
degasus
fb177ca04e
VideoCommon: merge debug test generators
2014-12-20 13:06:29 +01:00
degasus
ffa014dd48
VideoCommon: merge debug info generators
2014-12-20 12:25:10 +01:00
Dolphin Bot
a560d8f150
Merge pull request #1716 from Armada651/geom-wireframe
...
VideoCommon: Handle wireframe mode in the geometry shader.
2014-12-20 12:22:40 +01:00
degasus
e6137407ba
GLX: try to get an OpenGL 3.3 core context
2014-12-20 10:57:34 +01:00
Jules Blok
bc3ed44050
OGL: Disable geometry shaders on Intel's Windows drivers due to broken interface blocks.
2014-12-19 23:56:02 +01:00
Ryan Houdek
8c0e26d969
Minor changes to DriverDetails
...
Fixes a typo where the official IMGTec drivers were said to be the OSS driver support.
Removes Mali GPU family detection just like I removed the Adreno family detection.
We don't support Mali Utgard anyway.
If we need family detection we can properly add it, right now it isn't needed.
2014-12-19 21:41:12 +00:00
Jules Blok
761749e07f
FramebufferManager: Support resolving a multi-layered EFB in D3D.
2014-12-19 22:37:28 +01:00
Jules Blok
0ae082fb61
FramebufferManager: Return the depth texture instead of the color texture in GetResolvedEFBDepthTexture() when AA is enabled.
2014-12-19 22:37:28 +01:00
Ryan Houdek
0fec69001b
Fixes Adreno 400 slow performance.
...
Adreno 300 and 400 have the same video driver performance issues because they are very similar architectures which use basically the same thing with
everything.
There isn't any need to detect the family of the driver with Qualcomm anyway. If we ever need family specific bugs then we can implement real support
for that.
Performance issue on Adreno 400 series was due to us only detecting Adreno 300 series, and with Adreno 400 it wouldn't use the bugs, which would cause
it to use glBufferSubData, causing the huge performance hit.
2014-12-19 21:31:37 +00:00
Jules Blok
1b9fe70d7c
VideoCommon: Make IsPassthrough() a function of the ShaderUid.
2014-12-19 14:10:53 +01:00
Jules Blok
c9e469f832
D3DState: Remove wireframe rasterizer support.
2014-12-19 14:10:52 +01:00
Jules Blok
925bbcb85b
VideoCommon: Handle wireframe mode in the geometry shader.
2014-12-19 14:10:52 +01:00
Ryan Houdek
02f22152be
Merge pull request #1706 from Armada651/line-width
...
VideoCommon: Merge LineGeometryShader into GeometryShaderGen.
2014-12-18 19:43:12 -06:00
Markus Wick
c7b809d46b
Merge pull request #1669 from degasus/swvertexloader
...
Video Software Vertex Loader
2014-12-18 19:30:56 +01:00
shuffle2
717e155ce1
Merge pull request #1689 from kayru/d3d_efb_copy_fix
...
D3D: Fixed D3D validation error during EFB to texture copy
2014-12-18 02:59:51 -08:00
Jules Blok
1f84f4632d
OGL: Check OpenGL version for geometry shader support.
2014-12-18 00:37:16 +01:00
Jules Blok
93ce95b48e
D3D: Use ROUND_UP macro for rounding buffer sizes.
2014-12-18 00:37:15 +01:00
Jules Blok
3d9dfad6a2
D3D: Set the geometry shader before every draw call.
...
And refactor the VertexManager draw call.
2014-12-18 00:36:50 +01:00
Jules Blok
7e8f96f0d3
OGL: Don't generate a geometry shader if the backend doesn't support it.
...
This commit repurposes the bSupportsStereoscopy flag as the bSupportsGeometryShaders flag.
2014-12-18 00:36:49 +01:00
Jules Blok
bd6d229733
GeometryShader: Disable the geometry shader stage if it is a pass-through shader.
2014-12-18 00:36:48 +01:00
Jules Blok
2850c9a206
VertexManager: Disable culling for lines and points.
2014-12-18 00:36:47 +01:00
Yuriy O'Donnell
5688c27610
D3D: Moved setting texture by slot mask into StateManager
2014-12-17 23:41:26 +01:00
Markus Wick
98292682fe
Merge pull request #1709 from unknownbrackets/attributeless-fix
...
OGL: Attempt a larger buffer to workaround 7946
2014-12-17 14:20:54 +01:00
Unknown W. Brackets
5b51f5a801
OGL: Attempt a larger buffer to workaround 7946.
2014-12-16 22:20:45 -08:00
magumagu
31bcdb8f2f
D3D+OGL: choose blendenable over logicopenable.
...
No sane game should turn on both logicopenable and blendenable in the same
blend mode, but not every game is sane. Fixes issue 6009.
2014-12-15 20:16:25 -08:00
Jules Blok
8ae738ff30
VideoCommon: Merge PointGeometryShader into GeometryShaderGen.
...
This adds point-width emulation support to OpenGL.
2014-12-15 22:47:43 +01:00
Jules Blok
55e60a9c22
VideoCommon: Merge LineGeometryShader into GeometryShaderGen.
...
This adds line-width emulation support to OpenGL.
2014-12-15 22:47:42 +01:00
Jules Blok
382e1c22db
GeometryShaderGen: Support multiple primitive types.
...
And make more stereoscopy code optional.
2014-12-15 22:47:41 +01:00
Jules Blok
aa4242fd9c
GeometryShaderGen: Pass the primitive type and always run the generator regardless of stereoscopy.
2014-12-14 21:23:20 +01:00
Jules Blok
b406e4e1f2
VideoCommon: Add a separate constants buffer for the geometry shader.
2014-12-14 21:23:13 +01:00
Jules Blok
6c7bed25a5
Cosmetics
2014-12-14 13:29:27 +01:00
Jules Blok
fd6b588627
D3D: Define decimals in floating point numbers
2014-12-14 13:28:49 +01:00
Jules Blok
a6ac7dd5bd
D3D: Fix Nvidia 3D Vision memory leak
2014-12-14 13:28:49 +01:00
Jules Blok
6fe7d530ed
PixelShaderCache: Fix MSAA shaders.
...
Various typos were introduced due to lack of testing.
2014-12-14 13:28:48 +01:00
Jules Blok
b2e73400be
Cosmetics
2014-12-14 13:28:48 +01:00
Jules Blok
b06280e866
D3D: Add anaglyph stereoscopy support.
2014-12-14 13:28:47 +01:00
Jules Blok
4b3e784949
TextureCache: Add stereoscopy support for EFB to texture copies.
2014-12-14 13:28:47 +01:00
Jules Blok
3355d8086d
D3DUtil: Use a geometry shader to clear all slices.
2014-12-14 13:28:46 +01:00
Jules Blok
799697ad80
PSTextureEncoder: Add texture array support.
...
We only read the first slice, because EFB2RAM doesn't support texture arrays.
2014-12-14 13:28:46 +01:00
Jules Blok
ced733ccdf
PixelShaderCache: Add texture array support to static shaders.
2014-12-14 13:28:46 +01:00
Jules Blok
d58e389f67
D3D: Recreate the framebuffer when stereoscopic 3D is toggled.
2014-12-14 13:28:45 +01:00
Jules Blok
7c05b9a6d0
D3D: Set the geometry shader for triangle primitives.
2014-12-14 13:28:44 +01:00
Jules Blok
4f6ce0f236
D3D: Add geometry shader instancing support.
2014-12-14 13:28:44 +01:00
Jules Blok
ca766747a8
D3DTexture: Bind textures as texture arrays.
2014-12-14 13:28:43 +01:00
Jules Blok
cf12c93c86
D3D: Use common GetEFBLayers() instead of GetEFBSlices().
2014-12-14 13:28:43 +01:00
Jules Blok
9d9bd5341d
D3D: Restore viewport after stereo blitting.
2014-12-14 13:28:43 +01:00
Jules Blok
a689db0e48
D3D: Add 3D vision support.
2014-12-14 13:28:42 +01:00
Jules Blok
e53705784b
D3D: Add SBS/TAB output support.
2014-12-14 13:28:42 +01:00
Jules Blok
9253bb7d96
D3D: Add geometry shader stereoscopy support.
2014-12-14 13:28:41 +01:00
Jules Blok
d5ebdf7a97
D3D: Add GeometryShaderCache.
2014-12-14 13:28:41 +01:00
Jules Blok
9a312e2b83
D3D: Use two slices for most of our textures.
2014-12-14 13:28:40 +01:00
Unknown W. Brackets
1c316eb18c
OGL: Correctly define attrib 0 in attributeless.
2014-12-13 21:02:15 -08:00
skidau
15f7e63cc2
Merge pull request #1650 from unknownbrackets/attributeless-fix
...
OGL: Unbind the active VAO before attributeless rendering
2014-12-14 14:42:07 +11:00
Jules Blok
14792c3402
D3DState: Set the pixel shader in m_current when linking dynamically.
2014-12-13 22:09:34 +01:00
Jules Blok
a2b43b21fe
D3DState: Always update the m_pending members in the setters.
...
Fixes unintentional behaviour when a setter is called twice before the state is applied.
2014-12-13 21:51:18 +01:00
skidau
68a4cc6b72
Merge pull request #1686 from degasus/master
...
OGL: fix efb pokes
2014-12-13 23:38:07 +11:00
degasus
d5eeb9b713
VideoSW: rewrite VertexLoader to use the VideoCommon one
2014-12-13 10:29:08 +01:00