summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
AgeCommit message (Collapse)Author
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.
2014-12-14GeometryShaderGen: Pass the primitive type and always run the generator ↵Jules Blok
regardless of stereoscopy.
2014-12-14VideoCommon: Add a separate constants buffer for the geometry shader.Jules Blok
2014-12-13Merge pull request #1640 from rohit-n/switch-defaultskidau
Silence some -Wswitch-default warnings.
2014-12-11Silence some -Wswitch-default warnings.Rohit Nirmal
2014-12-07Enables stereo rendering with OpenGL ES 3.1 + AEP.Ryan Houdek
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-11-29Fixes OpenGL ES rendering.Ryan Houdek
sampler2DArray doesn't have a default precision, so we need to set it ourselves.
2014-11-23ProgramShaderCache: Abort shader compilation if geometry shader failed to ↵Jules Blok
compile.
2014-11-23ProgramShaderCache: Don't call glAttachShader if no geometry shader was ↵Jules Blok
compiled.
2014-11-23VideoConfigDiag: Add stereoscopy options group.Jules Blok
2014-11-23ProgramShaderCache: Always generate a geometry shader UID, even if ↵Jules Blok
stereoscopy is disabled.
2014-11-23GeometryShaderGen: Support stereoscopy on GPUs without support for instancing.Jules Blok
2014-11-23Add geometry shader generator for stereo 3D.Jules Blok
2014-11-17OGL: implement bounding box support with ssbodegasus
This implemention tries to be as accurate as the old SW implemention, but it will remove the dependcy of our vertexloader on videosw.
2014-10-26OGL: Get rid of error macrosLioncash
2014-09-10Remove extra semicolons at the ends of some lines.Rohit Nirmal
2014-08-15OGL: Clean up parameters for some functions.Lioncash
2014-08-15OGL: Fix brace and body placementsLioncash
Also got rid of void argument specifiers. These are a carryover from C.
2014-07-18Support Sampler binding in the shader.Ryan Houdek
In the cases where we support the binding layout keyword, use it for more than binding UBO location. This changes it so it is supported for samplers as well. Instances when this is enabled is if a device supports GL_ARB_shading_language_420pack, or if it supports GLES 3.10.
2014-07-11mark all local variables as staticdegasus
2014-07-11mark all local functions as staticdegasus
2014-06-27Statistics: Reformat stats stringdegasus
2014-06-18Kill off replaceable usages of s[n]printf.Lioncash
2014-05-19ogl: pixel format shader without resolvingdegasus
v2: Don't use std::to_string as this function is broken on android.
2014-04-30Changes posmtx vertex attribute to integer.Ryan Houdek
This makes it so we don't need to do some dumb casting from float to integer in our shaders. Only tested in OpenGL, needs to be tested in D3D.
2014-04-03Add initial support for GLSL ES 3.10.Ryan Houdek
GLSL ES 3.10 adds implicit support for the binding layout qualifier that we use. Changes our GLSL version enums to bit values so we can check for both ES versions easily.
2014-03-15Merge pull request #164 from lioncash/cstr-cullPierre Bourdon
Kill off some usages of c_str.
2014-03-14PixelShaderGen: Use integer math for alpha testing.Tony Wasserka
2014-03-14OGL: Force highp for integers.Tony Wasserka
2014-03-14Kill off some usages of c_str.Lioncash
Also changes some function params, but this is ok. Some simplifications were also able to be made (ie. killing off strcmps with ==, etc).
2014-03-11Fixes spacing for "for", "while", "switch" and "if"Matthew Parlane
Also moved && and || to ends of lines instead of start. Fixed misc vertical alignments and some { needed newlining.
2014-03-09clang-modernize -use-nullptrTillmann Karras
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-03-09clang-modernize -loop-convertTillmann Karras
and some manual adjustments
2014-02-26comment fixesdegasus
2014-02-26remove (ATTR|VARY)(IN|OUT) macrosdegasus
2014-02-20Fix more header sorting issues in VideoBackends/ (now check-includes clean).Pierre Bourdon
2014-02-18Convert all includes to relative paths.Lioncash
2014-02-01OGL: remove ubo workarounddegasus
This was only keeped for some broken mesa versions. Meanwhile most used versions should be fixed for almost a year.
2014-01-23OpenGL: refactor all of our StreamBuffersdegasus
The old way was to use big switch/case statements based on a type of buffer. The new one is to use inheritance. This change prohibits us to change the buffer type while running, but I doubt we'll ever do so. Performance should also be a bit better. Also a nice cleanup. Added some comments about this different kind of buffers.
2014-01-23OpenGL: change StreamBuffer in a streaming waydegasus
This is a bit slower on map_and_* because of flushing and _very_ much slower on buffer(sub)?data because of a new memcpy. But this design allow us to decode directly into a gpu buffer, eg vertexloader will profit :)