summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
AgeCommit message (Collapse)Author
2017-02-01ShaderGenCommon: Remove unnecessary includesLioncash
2017-02-01LightingShaderGen: Remove unnecessary includesLioncash
2017-01-04VideoCommon: Make dst_alpha state implicit.degasus
2016-12-06Common: Add alignment headerLéo Lam
Gets rid of duplicated alignment code.
2016-11-27Remove unnecessary ConfigManager includesLéo Lam
Making changes to ConfigManager.h has always been a pain, because it means rebuilding half of Dolphin, since a lot of files depend on and include this header. However, it turns out some includes are unnecessary. This commit removes ConfigManager includes from files which don't contain SConfig or GPUDeterminismMode or GPU_DETERMINISM (which means the ConfigManager include is not used). (I've also had to get rid of some indirect includes.)
2016-10-29DiscIO/SConfig: Rename GetUniqueID to GetGameIDJosJuice
We call this "game ID" everywhere else, and it's not actually completely unique.
2016-10-04PixelShaderGen: Drop dstAlphaMode constant in shader generation.degasus
It is already stored within the UID.
2016-10-01ShaderGen: Specify attribute/output locations/bindings explicitlyStenzek
This also shifts the SSBO index from index 3 to index 0.
2016-07-29VideoCommon: Make API_TYPE an enum classLioncash
Allows for forward declarations in most places, which prevents dumping unrelated VideoCommon.h contents directly into headers.
2016-06-26Remove the rest of ShaderDebugging.Scott Mansell
Without UID checking, it's basically a no-op that disables shader cache and stores the shader source code (without ever reading it back).
2016-06-26Multithreadded Shadergen: Minor fixups.Scott Mansell
2016-06-26Remove UID Checker.Scott Mansell
Kind of pointless now that multiple shaders with the same UID are now fundementally impossible.
2016-06-26Multithreadded Shadergen: Second pass over Pixel Shadergen.Scott Mansell
Note: It's not 100% perfect, as some of the GPU capablities leak into the pixel shader UID. Currently our UIDs don't get exported, so there is no issue. But someone might want to fix this in the future.
2016-06-26Multithreadded Shadergen: Second Pass over vertex/lighting ShadergensScott Mansell
As much as possible, the asserts have been moved out of the GetUID function. But there are some places where asserts depend on variables that aren't stored in the shader UID.
2016-06-26Multithreadded Shadergen: Second Pass over geometery ShadergenScott Mansell
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2015-12-26ShaderGeneration: Get rid of static buffersLioncash
2015-12-21StreamBuffer: Make factory function return a std::unique_ptrLioncash
2015-11-23We shouldn't be trying to enable the SSBO extension in ES.Ryan Houdek
2015-11-04Merge pull request #3227 from Tilka/sizeofScott Mansell
OGL: don't hardcode buffer sizes
2015-11-04OGL: use StringFromFormat where appropriateTillmann Karras
2015-11-04Merge pull request #3226 from Tilka/shadergenScott Mansell
VideoCommon: return code/uid from shader gens
2015-11-03DriverDetails: remove BUG_BROKENINFOLOG leftoversTillmann Karras
It was removed in 961873827853891aba6bc43243c01bf70e2c1f4b.
2015-11-03VideoCommon: return code/uid from shader gensTillmann Karras
rather than passing in non-const references
2015-11-01VideoCommon: flush vertex manager if components changeTillmann Karras
2015-10-29ShaderCaches: remove unneeded typedefsTillmann Karras
2015-10-29OGL/ProgramShaderCache: small cleanupTillmann Karras
Drop an unused function and privatize the cash, er, I mean cache.
2015-10-18Make sure FORCE_EARLY_Z is defined for GLESScott Mansell
2015-10-18Support Conservative Depth as a fallback for EarlyZScott Mansell
Allows Mesa based drivers to support ZCompLoc
2015-10-12PixelShaderGen: Use arrays of texture samplers.Scott Mansell
2015-09-28Fix building with PCH disabled.Rohit Nirmal
2015-09-07OGL: reimplement SSAA based on ARB_gpu_shader5degasus
So i965 shall support it again.
2015-09-06VideoBackends: Reimplement SSAA, now for D3D + OGLdegasus
2015-09-05Properly support MSAA and SSAA as separate features(+GLES)Ryan Houdek
SSAA relies on MSAA being active to work. We only supports 4x SSAA while in fact you can enable SSAA at any MSAA level. I even managed to run 64xMSAA + SSAA on my Quadro which made some pretty sleek looking games. They were very cinematic though. With this, it properly fixes up SSAA and MSAA support in GLES as well. Before they were broken when stereo rendering was enabled. Now in GLES they can properly support MSAA and also stereo rendering with MSAA enabled(with proper extensions).
2015-09-04Remove all of our workarounds for Qualcomm devices we don't support anymore.Ryan Houdek
2015-09-04Support EXT_blend_func_extended in GLES.Ryan Houdek
This lets us get dual source blending on GLES targets.
2015-09-01[GLES] Support texture_buffer for palette texture conversion.Ryan Houdek
OpenGL ES 3.2 adds this feature to core It was available to GLES 3.1 as GL_{EXT, OES}_texture_buffer as well. For the non-Nvidia vendors that implemented this is: - Qualcomm's Adreno 4xx - IMGTec's PowerVR Rogue
2015-08-26Support OpenGL ES 3.2.Ryan Houdek
OpenGL ES 3.2 adds a few things we care about supporting in core. In particular: - GL_{ARB,EXT,OES}_draw_elements_base_vertex - KHR_Debug - Sample Shading - GL_{ARB,EXT,OES,NV}_copy_image - Geometry shaders - Geometry shader instancing (If they support GL_{EXT,OES}_geometry_point_size) Nvidia was the first to release an OpenGL ES 3.2 driver which I uesd to test this on. This also enables GS Instancing on GLES 3.1 hardware if it supports all of the required extensions.
2015-06-12Options: merge SCoreStartupParameter into SConfigdegasus
2015-06-04Use PanicAlertT instead of PanicAlert when appropriateJosJuice
I tried to change messages that contained instructions for users, while avoiding messages that are so technical that most users wouldn't understand them even if they were in the right language.
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-03-08Merge pull request #2142 from Sonicadvance1/fix_gles31_non_nvidiaRyan Houdek
Fix OpenGL ES 3.1 on non-Nvidia devices.
2015-03-08Fix OpenGL ES 3.1 on non-Nvidia devices.Ryan Houdek
We are declaring we require ARB_shader_image_load_store in the shader, this isn't an extension on GLES because it is part of the GLSL ES 3.1 spec. If we are running as GLES then just not put it in the shaders.
2015-03-02ProgramShaderCache: Do plenty of error checking before writing shaders to ↵Jules Blok
the disk.
2015-02-24OGL: support palette texture decodingdegasus
2014-12-19VideoCommon: Make IsPassthrough() a function of the ShaderUid.Jules Blok
2014-12-18OGL: Don't generate a geometry shader if the backend doesn't support it.Jules Blok
This commit repurposes the bSupportsStereoscopy flag as the bSupportsGeometryShaders flag.
2014-12-18GeometryShader: Disable the geometry shader stage if it is a pass-through ↵Jules Blok
shader.
2014-12-15GeometryShaderGen: Support multiple primitive types.Jules Blok
And make more stereoscopy code optional.