Commit Graph

933 Commits

Author SHA1 Message Date
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
skidau d02eb3ca59 Merge pull request #1640 from rohit-n/switch-default
Silence some -Wswitch-default warnings.
2014-12-13 19:47:06 +11:00
Yuriy O'Donnell 764aee6995 D3D: Fixed D3D validation error during EFB to texture copy
Texture was being bound as a render target while still being set as a shader resource.
D3D automatically unbinds the SRV in this case and generates a validation error.
The fix is to manually unbind SRV, render into it and then re-bind to old slots.
2014-12-13 00:32:08 +01:00
degasus 1a5d791964 OGL: fix efb pokes 2014-12-12 16:11:17 +01:00
Rohit Nirmal b030d29067 Silence some -Wswitch-default warnings. 2014-12-11 22:23:05 -06:00
Dolphin Bot 971a95aece Merge pull request #1503 from kayru/d3d_optimization_cache
D3D: Filter redundant API calls by caching state in StateManager
2014-12-11 23:38:35 +01:00
Unknown W. Brackets 029f8c3c3f OGL: Ensure a VAO is bound for all attributeless.
Unfortunately, some of these cases are not well tested, because I don't
know how to reproduce them.
2014-12-11 09:42:49 -08:00
Unknown W. Brackets de2abbed17 OGL: Move attributeless VAO creation to Init.
This way we won't trash an existing bound VBO by mistake.
2014-12-11 01:00:37 -08:00
Unknown W. Brackets 290fd545e6 OGL: Bind the attributeless VAO before EFB copies.
Fixes crashes in Zack & Wiki using an older NVIDIA driver.
2014-12-10 23:19:18 -08:00
Unknown W. Brackets 0861cb8744 OGL: Properly reset the attributeless VAO. 2014-12-10 20:11:48 -08:00
degasus 02cdb41d3d VideoCommon: Rename s_pCurBufferPointer 2014-12-09 18:56:27 +01:00
degasus 50de4238bb VertexLoader: Move the old Datareader function into VertexLoader 2014-12-09 18:56:27 +01:00
Markus Wick ff4526b4a9 Merge pull request #1657 from Tinob/master
Add HW bounding Box support to d3d backend
2014-12-08 09:05:22 +01:00
Rodolfo Bogado cf7512683c spaces cleanup 2014-12-07 20:28:27 -03:00
Yuriy O'Donnell e90604c5ed D3D: Fixed debug validation error
A texture was still being bound when OMSetRenderTargets is called.
State manager resource cache must be flushed to unbind it.
This fixes The Last Story cut scene rendering.
2014-12-07 18:46:05 +01:00
Yuriy O'Donnell 4392d3cd55 D3D: Fixed StateManager member function name case 2014-12-07 18:45:50 +01:00
Yuriy O'Donnell 80459c52e9 D3D: StateManager m_current and m_pending are now value-initialized 2014-12-07 18:45:49 +01:00
Yuriy O'Donnell 0e18e9e80d D3D: Removed cull mode changes for lines and points
Fixed include order and whitespace
2014-12-07 18:45:20 +01:00
Yuriy O'Donnell 6e9226650d D3D: Implemented context state caching
This avoids most of the redundant API calls.
2014-12-07 18:17:19 +01:00
Ryan Houdek ce7c52eca0 Enables stereo rendering with OpenGL ES 3.1 + AEP.
If the host device supports GLES 3.1 and AEP we can have stereo rendering.
Just need to make sure to grab the correct function pointer that GL_EXT_geometry_shader provides, and enable AEP in the shaders.

We can't just check if AEP is in the extension list for support because Qualcomm has failed once more.
With the Nexus 6 it reports support for AEP but doesn't support OpenGL ES 3.1, which is an impossible combination.
From reports on their forum it seems that attempting to use any AEP things results in nothing happening, seems like a stub implementation.
2014-12-07 11:14:35 +00:00
Unknown W. Brackets b19cff8a08 OGL: Use a fixed VAO for attributeless rendering.
Instead of abusing whatever VAO is previously bound, which might have
enabled arrays.

Only used in one instance currently, which fixes a crash with older
NVIDIA drivers.
2014-12-06 19:27:49 -08:00
Rodolfo Bogado c2de38c115 use SAFE_RELEASE to make code cleaner 2014-12-06 10:46:15 -03:00
Rodolfo Bogado 817d025328 small spacing fixes 2014-12-05 23:54:34 -03:00
Rodolfo Bogado c7bb8fba9e Added support test for bbox and some naming corrections 2014-12-05 18:51:23 -03:00
Rodolfo Bogado 93b4540e19 Add HW bounding Box support to d3d backend 2014-12-05 15:03:24 -03:00
Jules Blok 42bb48bd46 FramebufferManager: Bind only the first framebuffer layer when the EFB only has one layer. 2014-12-05 00:36:10 +01:00
skidau 7bc78827ed Merge pull request #1574 from degasus/profiler
Common: Add a built-in profiler
2014-12-04 13:22:31 +11:00
Lioncash 88cd27bbca Merge pull request #1392 from kayru/d3d_viewport_depth
D3D: Replaced shader-based depth range remap with viewport
2014-12-03 14:49:30 -05:00
Jules Blok 40920b3823 OGL: Don't use texture arrays for MSAA.
This solves a performance regression on AMD cards.
We don't currently support stereoscopy for MSAA anyway.
2014-12-03 01:39:43 +01:00
degasus 94d9d138d9 Common: Add a built-in profiler 2014-12-03 00:50:41 +01:00
Yuriy O'Donnell 36b886cb80 D3D: Viewport min and max depth is now clamped to [0..1] range 2014-11-29 11:42:53 +01:00
Yuriy O'Donnell 1fe3d07cbd D3D: Removed somewhat mysterious comment
It would be good to know which games exactly exhibited the issue.
2014-11-29 11:11:28 +01:00
Yuriy O'Donnell cc2227fbc3 D3D: Replaced shader-based depth range remap with viewport
This fixes UI rendering in some games mentioned in https://code.google.com/p/dolphin-emu/issues/detail?id=7785
2014-11-29 11:11:28 +01:00
Ryan Houdek 38dfc970df Fixes OpenGL ES rendering.
sampler2DArray doesn't have a default precision, so we need to set it ourselves.
2014-11-29 01:27:47 -06:00
Ryan Houdek 2d2baec65d Merge pull request #1595 from degasus/master
OGL: require GL version >= 3.0
2014-11-28 22:37:35 -06:00
Ryan Houdek ce059769f6 Merge pull request #1439 from Armada651/ogl-stereo-3d
OGL: Stereoscopic 3D Support
2014-11-28 11:45:38 -06:00
degasus c63a38088a OGL: require GL version >= 3.0
This "fix" a crash because of glVertexAttribI only available on gl3+ contexts.
2014-11-26 21:33:47 +01:00
Lioncash 4afb85ef33 Merge pull request #1584 from degasus/master
OGL: also show driver warnings on release builds
2014-11-25 12:41:47 -05:00
Lioncash aa92797f93 Merge pull request #1582 from Stevoisiak/newImprovedFormatting
More formatting and consistency fixes
2014-11-25 12:41:32 -05:00
Lioncash c0fd319295 VideoOGL: Move X11 wxWidgets utilities to DolphinWX 2014-11-24 21:15:52 -05:00
Stevoisiak 6da394a4d0 More formatting and consistency fixes 2014-11-24 17:16:59 -05:00
Jules Blok 145e0cc84c OGL: Display the stereoscopy support warning before the stereo setting is reset.
Previously the message would never display, because stereoscopy would be turned off before the warning.
2014-11-24 15:11:00 +01:00
degasus ed9f258b27 GeometryShader: Don't read from output variables 2014-11-23 14:30:12 +01:00
Jules Blok 106df04e8e GeometryShaderGen: Declare the vertex array size. 2014-11-23 14:30:12 +01:00
Jules Blok 21eabc1b9d OGL: Add warning message when stereoscopic 3D is enabled but unsupported. 2014-11-23 14:27:40 +01:00
Jules Blok 0f63186371 TextureCache: Add "Mono EFB Depth Copy" stereoscopy option. 2014-11-23 14:27:40 +01:00
Jules Blok 9994ccb342 PostProcessing: Invalidate shader when anaglyph stereoscopy is toggled. 2014-11-23 14:27:40 +01:00
Jules Blok 8210b9c915 TextureCache: Ensure that all render target textures have as many layers as the frame buffer.
Also fixes a case where the D3D code path did not initialize num_layers leading to undefined behaviour.
2014-11-23 14:27:40 +01:00
Jules Blok ee76c03160 TextureCache: Recompile EFB2Tex shaders when stereo 3D is toggled. 2014-11-23 14:27:40 +01:00
Jules Blok 4d075c2efb ProgramShaderCache: Abort shader compilation if geometry shader failed to compile. 2014-11-23 14:27:40 +01:00
Jules Blok 6642af2404 OGL: Remove Virtual XFB SBS support. 2014-11-23 14:27:40 +01:00
Jules Blok ab76cf8b5e PostProcessing: Apply color correction to the anaglyph shader.
The eyes were accidentally swapped, the left filter only allows red to pass so the left eye texture should be used in the red channel.
2014-11-23 14:27:39 +01:00
Jules Blok 081212b765 TextureCache: Force mono copies of the depth buffer.
Fixes stereoscopic stencil shadows in some games.
2014-11-23 14:27:39 +01:00
Jules Blok 2cb2290910 TextureCache: Fix invalid cast. 2014-11-23 14:27:39 +01:00
Jules Blok c0a5ae1746 OGL: Also redefine glFramebufferTexture on OpenGL ES. 2014-11-23 14:27:39 +01:00
Jules Blok aa57feb9a8 ProgramShaderCache: Don't call glAttachShader if no geometry shader was compiled. 2014-11-23 14:27:39 +01:00
Jules Blok f74d1b16ed OGL: Add Top-and-Bottom stereoscopy mode. 2014-11-23 14:27:39 +01:00
Jules Blok c3ad6e7820 PostProcessing: Add support for anaglyph stereoscopy mode. 2014-11-23 14:27:39 +01:00
Jules Blok 6c8f3fa861 VideoConfig: Add StereoMode enumeration. 2014-11-23 14:27:39 +01:00
Jules Blok 0eb0c47eba Render: Improve SBS presentation.
New calculation properly takes pillar boxing into account.
2014-11-23 14:27:39 +01:00
Jules Blok d7804a4d3e Cosmetics. 2014-11-23 14:27:39 +01:00
Jules Blok 9b22e15180 VideoConfigDiag: Add stereoscopy options group. 2014-11-23 14:27:38 +01:00
Jules Blok 4d9589b35f Cosmetics. 2014-11-23 14:27:38 +01:00
Jules Blok 35342664e3 OGL: Disable stereoscopy if the GPU does not support geometry shaders. 2014-11-23 14:27:38 +01:00
Jules Blok f370cb386c ProgramShaderCache: Always generate a geometry shader UID, even if stereoscopy is disabled. 2014-11-23 14:27:38 +01:00
Jules Blok 4fd943aedd VideoConfig: Limit the Stereo 3D option to the OpenGL backend. 2014-11-23 14:27:38 +01:00
Jules Blok 284be96cd5 OGL: Recreate the framebuffers when the stereo setting changes. 2014-11-23 14:26:56 +01:00
Jules Blok d583720a59 GeometryShaderGen: Support stereoscopy on GPUs without support for instancing. 2014-11-23 14:26:56 +01:00
Jules Blok 0a72cf94cb TextureCache: Ignore the geometry shader if stereoscopy is disabled. 2014-11-23 14:24:09 +01:00
Jules Blok fa32f751d3 ShaderGen: Handle ShaderCode objects directly.
ShaderGeneratorInterface does not have virtual function members, so we have to implement each type explicitly.
2014-11-23 14:24:09 +01:00
Jules Blok 4fe9ceeee2 TextureCache: Set proper vertex limit in geometry shader.
Without instancing 6 vertices are output instead of 3.
2014-11-23 14:23:42 +01:00
Jules Blok 5944d15021 TextureCache: Check the number of layers before reusing a texture. 2014-11-23 14:23:42 +01:00
Jules Blok 80616c6e9e TextureCache: Implement layered framebuffer support.
Stereoscopic EFB2Tex is now supported.
2014-11-23 14:23:41 +01:00
Jules Blok c64486075d PostProcessing: Add layered stereoscopy support. 2014-11-23 14:23:41 +01:00
Jules Blok b005f61a2e Add geometry shader generator for stereo 3D. 2014-11-23 14:22:55 +01:00
degasus 6670cacddc use GL_TEXTURE_2D_ARRAY for most of our textures 2014-11-23 14:22:22 +01:00
degasus 36fe8ccf46 OGL: also show driver warnings on release builds 2014-11-22 15:07:52 +01:00
Ryan Houdek 2fdeefb65b Adds support for OpenGL ES draw_elements_base_vertex.
This is the same extension that we all know and love but under a different name with some different requirements.
In regular OpenGL fashion, you can't just move a desktop OpenGL extension to OpenGL ES without ratifying a new extension, which is why this falls
under a EXT extension, which in turn causes it to have suffixes attached to their function names.

This is the first step in our way towards conquering all mobile GPUs that don't support desktop OpenGL, hopefully we also can add support for
buffer_storage to OpenGL ES as well so we can make full use of this extension.
2014-11-21 18:57:32 -06:00
Fiora 3ddf82a318 Vertex Loader: SSE implementations of more position/texcoord/normal formats
~35-45% faster NFS:HP2, possibly other vertex-bound games.
2014-11-20 02:13:19 -08:00
comex fb50cb6d99 Merge pull request #1550 from degasus/bbox
OGL: implement bounding box support with ssbo
2014-11-19 20:25:23 -05:00
Ryan Houdek a3f9f21e08 Merge pull request #1571 from degasus/master
OGL: fix buffer destruction
2014-11-19 02:13:36 -06:00
skidau 32f2cd8c7f Merge pull request #1566 from Sonicadvance1/fix_gl21
Fixes GLExtensions for GL 2.1 or GLES 2 devices.
2014-11-19 12:47:23 +11:00
degasus ff942d44b5 OGL: fix buffer destruction
This buffer will be unbound in the StreamBuffer class itself, so no need to unbind them before.
2014-11-18 23:13:06 +01:00
degasus c211450b99 OGL: implement bounding box support with ssbo
This implemention tries to be as accurate as the old SW implemention, but it will remove the dependcy of our vertexloader on videosw.
2014-11-17 21:20:32 +01:00
Lioncash b94dbca160 Host: Kill off GetRenderWindowSize 2014-11-17 13:44:49 -05:00
Ryan Houdek 3bfa15d2e1 Fixes GLExtensions for GL 2.1 or GLES 2 devices.
This wasn't too much of a concern since we normally don't care about this feature set, but it is nice when testing on new devices and they don't
support the higher feature sets but want to run under software renderer.

The Mesa softpipe and PowerVR 5xx drivers don't support higher GL versions, but they shouldn't exit out just because they couldn't get a GL3 function
pointer that isn't even going to be used at that point.
2014-11-16 22:59:29 -06:00
Stevoisiak b25e1a2eb4 Various formatting and consistency fixes 2014-11-13 22:42:18 -05:00
comex 890b788633 Merge pull request #1467 from waddlesplash/dolphin-qt
DolphinQt: Games now boot!
2014-11-02 18:08:55 -05:00
Augustin Cavalier 29593d403b Move GLInterface to the OGL VideoBackend's directory. 2014-11-02 12:16:33 -05:00
Ryan Houdek 13d58b3f16 Merge pull request #1460 from phire/moreGetPointer
Remove GetPointers in VideoSoftware.
2014-11-02 09:57:16 -06:00
skidau 59c673aec6 Merge pull request #1161 from rohit-n/ogl-vector
OGL: Use unique_ptr instead of pointer when taking screenshot.
2014-11-02 14:19:00 +11:00
Lioncash 9ab924513e VideoCommon/VideoBackends: Remove unnecessary wxWidgets references.
EmuWindow doesn't even exist anymore. wxWidgets is also decoupled from the backends.
2014-11-01 19:19:00 -04:00
Scott Mansell b929f764f2 Remove GetPointers in VideoSoftware.
This same code was previously fixed in VideoCommon, just
updating this to match.

We are down to 121 GetPointers.
2014-11-01 16:29:19 +13:00
Ryan Houdek 3e82cb4628 Merge pull request #1440 from Sonicadvance1/attributeless-workaround
Implements PP shader system using attribute workaround.
2014-10-30 12:46:40 -06:00
Ryan Houdek 181ff6750e Implements PP shader system using attribute workaround.
This is pretty much a step backwards in our code. We used to use attributes in our PP shader system a long time ago but we changed it to attributeless
for code simplicity and cleanliness. This reimplements the attribute code path as an optional path to take in the case your system doesn't work with
attributeless rendering. In this case the only shipping drivers that we can know for sure supports attributeless rendering is the Nexus 5's v95 driver
that is included in the Android 5.0 image.

I hadn't planned on implementing a work around to get post processing working in these cases, but due to us force enabling the PP shader system at all
times it sort of went up on the priority list. We can't be having a supported platform black screening at all times can we?
2014-10-30 10:49:03 -05:00
Rohit Nirmal 2a878d7726 OGL: Use unique_ptr instead of pointer when taking screenshot. 2014-10-29 20:59:34 -05:00
skidau e0393be347 Merge pull request #1418 from degasus/master
OGL: fix interpolation of PP shaders
2014-10-30 12:49:21 +11:00
Ryan Houdek daabcfd6fc Removes Qualcomm's rotated framebuffer bug from DriverDetails.
Due to changes in how we render to the final framebuffer we no longer encounter this bug.
With the change to post processing being enabled at all times and no longer using glBlitFramebuffer, Qualcomm no longer has the chance to rotate our
framebuffer underneath of us.
2014-10-29 19:57:51 -05:00
Ryan Houdek 52e6a940cf Merge pull request #1414 from kayru/d3d_optimization
D3D: Couple of small optimizations
2014-10-29 13:26:50 -06:00
comex 073cce959a Create userdir/Dump/Frames as needed.
This is used for framedump.raw in non-Windows builds without libav
support.
2014-10-28 17:24:07 -04:00
degasus ce9ef2c438 OGL: fix interpolation of PP shaders 2014-10-27 21:15:32 +01:00
Yuriy O'Donnell 88d11ec5b2 D3D: RestoreState no longer resets PS resources 2014-10-27 00:02:30 +01:00
Yuriy O'Donnell 0c5a572f8d D3D: Use two buffers for VertexManager 2014-10-26 23:38:15 +01:00
Yuriy O'Donnell c35847b795 D3D: Using start index and base vertex instead of buffer offsets 2014-10-26 23:38:14 +01:00
Yuriy O'Donnell 48ba55203b D3D: Vertex and index data in one buffer 2014-10-26 23:38:14 +01:00
Lioncash 49b94e5285 OGL: Get rid of error macros 2014-10-26 04:54:58 -04:00
skidau 7c58eb344d Merge pull request #1378 from lioncash/gl
GLUtil: Change return type from GLuint to GLenum for OpenGL_ReportGLError.
2014-10-26 13:44:34 +11:00
skidau bc26cb1b19 Merge pull request #1322 from degasus/ogl-pp
OGL: force enable postprocessing
2014-10-25 13:48:27 +11:00
Lioncash b1bdce7d77 TextureCache: Get rid of explicit deletes in SaveTexture 2014-10-24 08:47:06 -04:00
Lioncash 3509a6d03e GLUtil: Change return type from GLuint to GLenum for OpenGL_ReportGLError. 2014-10-23 13:04:19 -04:00
Ryan Houdek a2c8783417 Enables EarlyZ support in OpenGL ES 3.1. 2014-10-23 07:34:07 -05:00
comex 00c6ec97a6 Merge pull request #1347 from comex/header-hygiene
Add missing includes where headers depend on other headers having been included first.
2014-10-22 23:23:58 -04:00
degasus 7292ea6a04 OGL: force enable postprocessing 2014-10-23 00:21:52 +02:00
skidau 5d4b4c793a Merge pull request #1340 from Sonicadvance1/EGL-fixes
Remove hard dependencies of GLX and libGL from Dolphin.
2014-10-22 13:15:46 +11:00
comex 6e774f1b64 Add missing includes where headers depend on other headers having been included first.
This is good hygiene, and also happens to be required to build Dolphin
using Clang modules.

(Under this setup, each header file becomes a module, and each #include
is automatically translated to a module import.  Recursive includes
still leak through (by default), but modules are compiled independently,
and can't depend on defines or types having previously been set up.  The
main reason to retrofit it onto Dolphin is compilation performance - no
more textual includes whatsoever, rather than putting a few blessed
common headers into a PCH.  Unfortunately, I found multiple Clang bugs
while trying to build Dolphin this way, so it's not ready yet, but I can
start with this prerequisite.)
2014-10-21 21:22:16 -04:00
Yuriy O'Donnell 72ba13ca8a D3D: Enabled depth clipping 2014-10-21 06:26:20 +02:00
skidau 81efd0e87f Merge pull request #1315 from RisingFog/movie-menu-input-display
Moved Input Display to Movie Menu
2014-10-20 14:34:02 +11:00
Ryan Houdek e236d28585 Remove a hard dependency from libGL from the software renderer.
I must have missed this when dropping OpenGL library includes. This is annoying when on a system that doesn't have libGL.
2014-10-19 07:48:14 -05:00
Yuriy O'Donnell 97423d5ed8 D3D: Fixed anisotropic filtering.
This got broken when d3d state cache was implemented.
2014-10-18 17:47:47 +02:00
Fog 467ab1a629 Moved Input Display to Movie Menu 2014-10-17 21:08:34 -04:00
Yuriy O'Donnell b78396847f D3D: Removed SetBlendOp, SetSrcBlend and SetDestBlend as they are now trivial 2014-10-17 22:24:57 +02:00
Yuriy O'Donnell 9bdfd4a833 D3D: State cache now reduces number of blend state permutations by collapsing some states that have blending disabled 2014-10-16 18:27:43 +02:00
Yuriy O'Donnell bea68c95a4 D3D: Fixed uninitialized members of gx_state 2014-10-15 20:22:41 +02:00
Yuriy O'Donnell 21655dc61a D3D: moved render state cache implementation to D3DState.h/cpp 2014-10-15 20:22:41 +02:00
Yuriy O'Donnell e7f8032d7d D3D: State cache now uses BitField to define packed render states 2014-10-15 20:22:40 +02:00
Yuriy O'Donnell 2e4667caaa D3D: Moved render state cache into separate source files.
Refactored  StateCache::Get() to early out for narrower indentation.
Added comments to clarify ownership of objects returned by  StateCache::Get().
2014-10-15 20:22:39 +02:00
Yuriy O'Donnell f434bd7d3f D3D: Implemented cache for dynamic render states 2014-10-15 20:22:39 +02:00
skidau 8912315596 Merge pull request #1290 from lioncash/xfb
Fix XFB scaling in D3D
2014-10-15 14:09:33 +11:00
skidau 8ef21bc5e2 Merge pull request #1272 from RisingFog/sconfig-dump-frames
Move bDumpFrames to SConfig (and it's references)
2014-10-15 13:42:37 +11:00
slx7R4GDZM 5a3f19aeaf Fix XFB scaling in D3D 2014-10-14 22:25:31 -04:00
comex 5b8722b6f2 Don't pass u64 (which may be long long) to %lu.
A type-safe StringFromFormat sure would be nice...
2014-10-14 01:10:35 -04:00
comex a27f5fe301 Remove another auto .. -> declaration. 2014-10-14 01:10:35 -04:00
skidau 9551650c42 Merge pull request #1095 from crudelios/sw-bbox
Reimplement Bounding Box calculation using the software renderer.
2014-10-13 15:57:11 +11:00
Lioncash 01f1768c55 Merge pull request #1273 from lioncash/iamanidiot
Software: Remove obsoleted VideoConfigDialog.
2014-10-13 00:46:42 -04:00
Lioncash b315040c6b Software: Remove obsoleted VideoConfigDialog. 2014-10-13 00:30:08 -04:00
Fog 8d424b114a Move bDumpFrames to SConfig (and it's references) 2014-10-12 23:56:16 -04:00
Fog cd0c784d5a Changed Dump Frames References 2014-10-12 19:51:13 -04:00
crudelios 9786f54414 Fixed a small bug. 2014-10-10 12:28:17 +01:00
crudelios 987bd8bb8f Several small optimizations. 2014-10-10 12:28:16 +01:00
crudelios 176ea06e82 Get buildbot to compile. 2014-10-10 12:28:15 +01:00
crudelios 47c67f014f Fix linux build and various warnings.
Increase savestate version.
2014-10-10 12:28:13 +01:00
crudelios 2d4b7e3f3f Reimplement Bounding Box calculation using the software renderer. 2014-10-10 12:27:06 +01:00
skidau 215685a6fe Merge pull request #1214 from rohit-n/format-warning
OGL: Silence string format warnings.
2014-10-06 16:12:40 +11:00
skidau 871d308b88 Merge pull request #1206 from comex/amperspocalypse
Change a bunch of reference function arguments to pointers.
2014-10-05 12:14:04 +11:00
Rohit Nirmal 12c6f97d80 OGL: Silence string format warnings. 2014-10-03 12:07:10 -04:00
comex 7f6284c2fc Change a bunch of reference function arguments to pointers.
Per the coding style and sanity.
2014-10-02 03:00:33 -04:00
Rachel Bryk f6c6f03cce Add on screen frame counter. 2014-09-30 18:49:44 -04:00
Tony Wasserka 13fc8e7df1 Merge pull request #578 from RachelBryk/IR
Cleanup Renderer::CalculateTargetSize(), and allow IRs higher than 4x to be set via INI.
2014-09-30 19:21:21 +02:00
comex 2eebdff01b Remove useless STACKALIGN macro.
It only ever did anything on 32-bit OS X.

Anyway, it wasn't even on the right functions, and these days
ABI_PushRegistersAndAdjustStack should handle maintaining the ABI
correctly.
2014-09-30 01:42:47 -04:00
comex b8e31c1d3e Add OpenGL 4.0-4.5 core extensions.
This noticeably includes GL_ARB_get_program_binary, which was previously
thought unsupported on OS X.  Well, actually, the OS X implementation is
trivial and reports 0 binary formats (as of 10.10; this is hardcoded in
GLEngine, by the way), but at least it'll work if it's fixed someday.
2014-09-29 00:36:45 -04:00
comex 0ae9e398c8 Rejigger some FIFO buffer variables to be more rational.
videoBuffer -> s_video_buffer
size -> s_video_buffer_write_ptr
g_pVideoData -> g_video_buffer_read_ptr (impl moved to Fifo.cpp)

This eradicates the wonderful use of 'size' as a global name, and makes
it clear that s_video_buffer_write_ptr and g_video_buffer_read_ptr are
the two ends of the FIFO buffer s_video_buffer.

Oh, and remove a useless namespace {}.
2014-09-28 21:25:12 -04:00
comex f0131c2e09 Mechanical changes to move most CP state to a struct rather than separate globals.
The next commit will add a separate copy of the struct and the ability
for LoadCPReg to work on it.
2014-09-28 21:23:29 -04:00
Rachel Bryk 4fe1119e52 Cleanup Renderer::CalculateTargetSize(), and allow IRs higher than 4x to be set via ini. 2014-09-25 19:50:25 -04:00
skidau fb18d5376f Merge pull request #1142 from lioncash/linucks
Fix some warnings on Linux
2014-09-23 13:43:18 +10:00
Lioncash 836ff6d506 Fix some warnings on Linux 2014-09-21 20:13:22 -04:00
Lioncash 23b82bbacd OGL: Get rid of explicit deletes in RasterFont 2014-09-21 20:06:13 -04:00
Tony Wasserka 1d23c2ca8b GPU: Only load the relevant color components upon writes to the tev color registers.
The other two components need not be valid upon write, hence loading them results in glitches.

Fixes issue 6783.
2014-09-21 10:38:22 +02:00
Ryan Houdek eb23882398 Merge pull request #1120 from rohit-n/muh-precompiled-headers
Fix build failing when disabling precompiled headers.
2014-09-19 17:43:42 -05:00
Rohit Nirmal 46057db37d Fix build failing when disabling precompiled headers. 2014-09-19 18:17:51 -04:00
Ryan Houdek c5f9301e6e Add a comment to the software renderer that stride should be implemented 2014-09-19 12:33:15 -05:00
magumagu 32e5043b29 WIP XFB scaling.
Still an ugly mess.
2014-09-19 12:33:15 -05:00
Rohit Nirmal c0f7cab3f5 Remove extra semicolons at the ends of some lines. 2014-09-10 12:17:38 -04:00
Ryan Houdek 71cb09f1ca Merge pull request #1027 from rohit-n/change-include
Include CommonTypes.h instead of Common.h.
2014-09-10 00:35:16 -05:00
skidau d1439bc1db Merge pull request #1041 from RachelBryk/kill-g_CoreStartupParameter
Kill Core::g_CoreStartupParameter.
2014-09-10 11:00:42 +10:00
Rachel Bryk f93aa7087c Kill Core::g_CoreStartupParameter. 2014-09-09 00:24:49 -04:00
Fiora 94c20db369 Rename Log2 and add IsPow2 to MathUtils for future use
Also remove unused pow2/pow2f functions.
2014-09-08 20:15:45 -07:00
Rohit Nirmal fbc64984ca Include CommonTypes.h instead of Common.h. 2014-09-08 15:39:58 -04:00
shuffle2 0576046fdd Merge pull request #972 from Sonicadvance1/fix-intel-windows
Work around Intel's failings with buffer_storage
2014-09-05 11:06:49 -07:00
Fiora 07e0c917c6 Revert "JIT64: optimize CA calculations" 2014-09-05 10:26:30 -07:00
comex 97420c6ec6 Merge pull request #852 from FioraAeterna/optimizeca
JIT64: optimize CA calculations
2014-09-05 11:52:02 -04:00
comex e7f03dd066 Merge pull request #948 from comex/vao-fix
Don't switch to a vertex array object of 0.
2014-09-05 11:46:28 -04:00
Jasper St. Pierre ea1245d191 TextureDecoder: Pass the TLUT address straight into the texture decoder
This removes the requirement for the TextureDecoder to have access to
global texture memory.
2014-09-04 18:36:57 -07:00
Jasper St. Pierre fcd4ecc942 TextureDecoder: Add an enum for the TLUT formats
Quick code cleanup. The enum names and values come from libogc.
2014-09-04 18:36:56 -07:00
Jasper St. Pierre a8e591dc73 VideoCommon: Remove support for decoding to ARGB textures
The D3D / OGL backends only ever used RGBA textures, and the Software
backend uses its own custom code for sampling. The ARGB path seems to
just be dead code.

Since ARGB and RGBA formats are similar, I don't think this will make
the code more difficult to read or unable to be used as
reference. Somebody who wants to use this code to output ARGB can simply
modify the MakeRGBA function to put the shift at the other end.
2014-09-04 18:36:56 -07:00
Sonicadvance1 e32b2e1771 Work around Intel's failings with with buffer_storage 2014-09-04 19:03:49 -05:00
Lioncash cf390ba537 OGL: Make rasters 2D array static in RasterFont 2014-09-03 22:59:13 -04:00
Lioncash 89557f6c2f OGL: Fix constant casing in RasterFont 2014-09-03 22:59:05 -04:00
comex b48e059173 Don't switch to a vertex array object of 0.
This causes glDrawArrays to fail in core profile, and thus on OS X, see:

http://renderingpipeline.com/2012/03/attribute-less-rendering/

There must be something bound, even though it is not used.

Fixes #7599.  I'm not sure this is actually the best way to fix it,
since AFAICT it makes a nonobvious assumption that *something* will be
bound before the first attributeless rendering in
TextureConverter::DecodeToTexture, but it's what degasus suggested and
seems to work.
2014-09-03 00:10:45 -04:00
Shawn Hoffman 266992684d msvc: remove some remnants of SDL and DSound from projects and general cleanup. 2014-09-01 21:27:44 -07:00
Fiora b51aa4fa89 Rename Log2 and add IsPow2 to MathUtils for future use
Also remove unused pow2/pow2f functions.
2014-09-01 20:41:07 -07:00
Pierre Bourdon 494a60e41b VertexLoader: Change VtxDesc to use u64 instead of u32
This is required to make packing consistent between compilers: with u32, MSVC
would not allocate a bitfield that spans two u32s (it would leave a "hole").
2014-09-01 11:18:02 +02:00
Lioncash 844d45b26e D3D: Clean up brace placements 2014-08-30 18:06:47 -04:00
Lioncash 1d706b2311 Get rid of C-style empty function parameter indicators 2014-08-30 15:23:48 -04:00
Ryan Houdek c908a1e212 Merge pull request #882 from Sonicadvance1/fix-pp-blackness
Fix PostProcessing shader garbage on screen.
2014-08-28 10:29:03 -05:00
Ryan Houdek ca68526ec7 Clear the texture used by PP shaders prior to use.
We were generating a texture without ever setting the data to a known value.
This happened on the old code as well, just that PP shaders are receiving some love and people are using it and noticing some of its issues.
2014-08-28 10:16:39 -05:00
comex e31d6feaa2 Unify three types of non-FIFO requests to the GPU thread around Common::Event and Common::Flag.
The only possible functionality change is that s_efbAccessRequested and
s_swapRequested are no longer reset at init and shutdown of the OGL
backend (only; this is the only interaction any files other than
MainBase.cpp have with them).  I am fairly certain this was entirely
vestigial.

Possible performance implications: efbAccessReady now uses an Event
rather than spinning, which might be slightly slower, but considering
the slow loop the flags are being checked in from the GPU thread, I
doubt it's noticeable.

Also, this uses sequentially consistent rather than release/acquire
memory order, which might be slightly slower, especially on ARM...
something to improve in Event/Flag, really.
2014-08-26 12:43:39 -04:00
comex e0f35e0e59 Remove unused declarations. 2014-08-23 15:26:59 -04:00
Lioncash f17dcd2019 Merge pull request #764 from magcius/new-nogui-2
Rewrite GLInterface
2014-08-21 14:14:54 -04:00
Shawn Hoffman 5471c71819 msvc: resolve all warnings in VideoBackends/OGL. 2014-08-19 22:33:47 -07:00
Shawn Hoffman fd16065979 msvc: resolve all warnings in VideoBackends/Software. 2014-08-19 22:33:47 -07:00
Jasper St. Pierre 63f1a16969 Core: Remove UpdateFPSDisplay
This is effectively unused, as the window handles that we pass to the
GLInterface are window handles for the frame which isn't ever a real
toplevel window. Host_UpdateTitle is what actually sets the proper title
on the render window.
2014-08-19 10:05:58 -04:00
Jasper St. Pierre 7ca8d8dfc7 Core: Don't pass through a reference to the window handle
Now that MainNoGUI is properly architected and GLX doesn't need to
sometimes craft its own windows sometimes which we have to thread back
into MainNoGUI, we don't need to thread the window handle that GLX
creates at all.

This removes the reference to pass back here, and the g_pWindowHandle
always be the same as the window returned by Host_GetRenderHandle().

A future cleanup could remove g_pWindowHandle entirely.
2014-08-19 10:05:58 -04:00
Ryan Houdek 32fb61816b Fixes PP-shaders on !Mesa targets.
Seems mesa has a quirk where
define THING(x) (#x)
is the same as
define THING(x) (##x)

Didn't realize I messed it up since it just worked since I only tested on Mesa.
2014-08-17 21:28:59 -05:00
Pierre Bourdon 9e2fbaf405 Merge pull request #823 from KScorp/depthmatrixshaders
Fixed depth matrix shaders in OpenGL and Direct3D to be more precise.
2014-08-17 22:08:42 +02:00
Lioncash 15a3b30e27 Merge pull request #790 from lioncash/ogl-cleanup
Small OGL cleanup
2014-08-17 15:17:04 -04:00
KScorp 97dce14368 Fixed depth matrix shaders in OpenGL and Direct3D to be more precise. Fixes some graphical glitches in some games. 2014-08-17 04:43:11 -05:00
Lioncash f0743e2571 OGL: Removed some unnecessary preprocessor directives from Render.cpp.
scrshotThread was also unused so that is removed as well.

Also added the algorithm header, since we use min and max here.
2014-08-16 23:57:06 -04:00
shuffle2 2270c3e90a Merge pull request #797 from shuffle2/msvc-pch
Windows: Use a shared precompiled header for dolphin code under Source/
2014-08-16 14:58:28 -07:00
Lioncash f11e587fa4 OGL: Get rid of an unnecessary WIN32 ifdef in main.cpp 2014-08-15 16:16:53 -04:00
Lioncash 7e3d1050f0 OGL: Add static to a function in NativeVertexFormat 2014-08-15 14:16:04 -04:00
Lioncash 32953fd968 OGL: Clean up parameters for some functions. 2014-08-15 14:15:23 -04:00
Lioncash 960b54670c OGL: Fix brace and body placements
Also got rid of void argument specifiers. These are a carryover from C.
2014-08-15 14:12:29 -04:00
Shawn Hoffman f1b82a34b2 Windows: Use a shared precompiled header for dolphin code under Source/ 2014-08-14 23:51:13 -07:00
Ryan Houdek cced3b4a18 Change OpenGL's post processing to use the new VideoCommon PP object.
Let's OpenGL's PostProcessing namespace be changed to a class inheriting from VideoCommon's PostProcessing class.
2014-08-13 01:05:15 -05:00
Ryan Houdek 6bdc32c54a Add the VideoCommon PostProcessing class.
This class loads all the common PP shader configuration options and passes those options through to a inherited class that OpenGL or D3D will have.
Makes it so all the common code for PP shaders is in VideoCommon instead of duplicating the code across each backend.
2014-08-13 01:05:10 -05:00
Lioncash bcd10bfda6 Software: Fix function casing in SWRenderer 2014-08-10 22:28:18 -04:00
Lioncash f9f46f33d6 Software: Fix some if-statement body placements 2014-08-10 22:28:17 -04:00
Lioncash 34eb0c6e1c Software: Fix over-indentation of SetupQuad() 2014-08-10 22:28:16 -04:00
Lioncash 4129cdeb4d Software: Apply static to some functions 2014-08-10 22:28:15 -04:00
Lioncash 568bdec598 Software: Fix function casing in TextureEncoder 2014-08-10 22:28:14 -04:00
Lioncash 2918f46d8b Software: Fix the formatting and function casing in Vec3.h 2014-08-10 22:28:04 -04:00
Lioncash 6625d9cba5 Software: Fix various brace styling errors 2014-08-10 21:18:38 -04:00
Lioncash b95d9b43de Software: Make an enum into a static constant in DebugUtil.cpp 2014-08-10 20:51:10 -04:00
Lioncash b050657322 Software: Make constants char_width and char_height private in RasterFont 2014-08-10 20:48:28 -04:00
Lioncash 6b49ddfec9 Software: Get rid of an unnecessary format string in SWmain.cpp 2014-08-10 04:38:12 -04:00
Lioncash 2b341bb267 D3D: Remove an unnecessary call to Host_GetRenderWindowSize() 2014-08-08 19:21:41 -04:00
Lioncash a66a7e1344 Isolate D3D and Software Renderer from wxWidgets code 2014-08-03 20:28:50 -04:00
Pierre Bourdon 226a9c2392 Move GLInterface around to remove VideoBackends dependency on DolphinWX 2014-08-02 09:34:39 -07:00
Ryan Houdek 7e83a0ea9b Merge pull request #700 from jimbo1qaz/master
Fix D3D Real XFB texture sampling.
2014-08-01 22:57:44 -05:00
degasus 5205d7baa6 ogl: fix rasterfont 2014-07-31 19:03:18 +02:00
Pierre Bourdon 83838a645f Merge pull request #690 from Armada651/d3dfullscreen_fixes
Exclusive fullscreen fixes
2014-07-30 16:28:56 -07:00
Jules Blok 4501aeefbe CFrame: Check borderless fullscreen setting before enabling exclusive fullscreen in the video config.
Fixes a bug where "Use Fullscreen" would initialize into exclusive fullscreen regardless of the borderless fullscreen setting.

Also relieves the need for the video renderer to check the borderless fullscreen setting each time.
2014-07-30 12:15:26 +02:00
Matthew Parlane a3ca3b0424 Merge pull request #696 from lioncash/more-forward-decls
Convert some more header inclusions into forward declarations
2014-07-30 13:53:48 +12:00