summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VertexShaderGen.cpp
AgeCommit message (Collapse)Author
2015-06-24D3D: Cosmetics.Jules Blok
Merge two cases which should've already been merged.
2015-05-26D3D: Depth range inversion.galop1n
Credits go to Galop1n for designing this technique and to BhaaLseN for cleaning up the commit.
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-05-22OGL: Depth range inversion.Jules Blok
2015-05-22VertexShaderGen: Use correct depth output when glClipControl is supported.Jules Blok
2015-04-23Fix OpenGLES 3.0 on Qualcomm's crappy driver, it can't bitshift sometimes.Dwayne Slater
[fixed lint issues and grammar ~comex]
2015-02-25Formatting/Whitespace CleanupStevoisiak
Various fixes to formatting and whitespace
2015-02-11ShaderGen: Fix pixel offset correctiondegasus
We want to move the vertex by 1/12 pixel, but the old code did miss the perspective division. So by multiplying with pos.w, the position is moved correctly after the perspective division.
2015-01-21Lighting Attenuation FixesNanoByte011
2015-01-03Move worldpos into it's own varying.Scott Mansell
Previously it was packed into spare slots in clippos.xy and normal.w, but it's ugly and more importantly it's causing bugs. This was discovered during the debugging of a zfreeze branch, which expected clippos.xy to be xy position coordinates in clipspace (as the name suggested). Turns out the stereoscopy shader had also run into this trap, modifying clippos.x (introducing errors with per-pixel lighting). This commit has been moved outside of the zfreeze PR for fast merging.
2014-12-28PixelShaderGen: Don't assign to input variables.Jules Blok
2014-12-28VertexShaderGen: Don't read from output variables.Jules Blok
2014-12-28DriverDetails: Remove Intel Structs bug since it doesn't affect us anymore.Jules Blok
2014-12-28VideoCommon: Don't pass structs between shaders, use the interface blocks ↵Jules Blok
instead.
2014-12-19VideoCommon: Don't specify the redundant in/out qualifier if ↵Jules Blok
GL_ARB_shading_language_420pack is supported. Some driver developers interpreted "can" as "must" in the OpenGL specs. (I'm looking at you AMD)
2014-12-19VideoCommon: Add in/out qualifiers to centroid storage qualifier.Jules Blok
Fixes shaders for GPUs that don't support GL_ARB_shading_language_420pack.
2014-12-18VideoCommon: Don't pass structs between shader stages when geometry shaders ↵Jules Blok
are unsupported.
2014-12-18VideoCommon: Only use interface blocks when geometry shaders are supported.Jules Blok
2014-12-18VideoCommon: Pass interface blocks between shader stages to resolve naming ↵Jules Blok
conflicts.
2014-12-15VideoCommon: Assume we always use a geometry shader, not just for stereoscopy.Jules Blok
2014-12-14D3D: Add geometry shader stereoscopy support.Jules Blok
2014-12-05Common: Remove locale based functions from CommonFuncs.Lioncash
Since %f isn't used anymore in the shader generators, these can go.
2014-11-29Renamed DEPTHPARAMS to PIXELCENTERCORRECTIONYuriy O'Donnell
This shader constant was previously used for depth remapping in D3D and for pixel center correction. Now it only serves one purpose and the new name makes it clear.
2014-11-29D3D: Replaced shader-based depth range remap with viewportYuriy O'Donnell
This fixes UI rendering in some games mentioned in https://code.google.com/p/dolphin-emu/issues/detail?id=7785
2014-11-23ShaderGen: Only pass VS_OUTPUT between shaders if stereo 3D is enabled.Jules Blok
GLSL130 doesn't support passing structs between shaders. This is not a problem for stereo 3D which has a GLSL150 requirement.
2014-11-23GeometryShader: Adjust positions after projection.Jules Blok
By adjusting the positions in clip space we can avoid the re-projection.
2014-11-23VideoConfigDiag: Add stereoscopy options group.Jules Blok
2014-11-23Cosmetics.Jules Blok
2014-11-23ShaderGenCommon: Move uniforms into a common static string.Jules Blok
2014-11-23ShaderGen: Handle ShaderCode objects directly.Jules Blok
ShaderGeneratorInterface does not have virtual function members, so we have to implement each type explicitly.
2014-11-23ShaderGen: Add a stereoscopy flag in the UID data.Jules Blok
2014-11-23VertexShaderManager: Compute stereoscopy projection matrices.Jules Blok
2014-11-23Pass VS_OUTPUT structs between shaders.Jules Blok
2014-10-21Use pointers instead of references in GetUidData to avoid the undefined ↵comex
behavior of *(T *)nullptr (ewwww)
2014-09-28Mechanical changes to move most CP state to a struct rather than separate ↵comex
globals. The next commit will add a separate copy of the struct and the ability for LoadCPReg to work on it.
2014-08-30VideoCommon: Clean up brace placementsLioncash
2014-06-19LightingShader: hard code const variabledegasus
2014-05-16Video backends: mass-replace "xfregs" with "xfmem".magumagu
2014-05-05ShaderGen: make uv readonlydegasus
2014-05-05ShaderGen: OGL: don't make a copy of "Normal"degasus
2014-05-05ShaderGen: make clipPos readonlydegasus
2014-05-05ShaderGen: inline constant shadersdegasus
2014-05-05ShaderGen: use cbuffers for D3Ddegasus
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-24VertexShaderGen: Correct vertex shader output to consider shifted pixel centers.Tony Wasserka
Fixes issue 267.
2014-04-11VideoBackend: remove unused config vars.magumagu
No point to keeping around variables which are always "true".
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-14LightingShaderGen: Perform more lighting calculations with integers.Tony Wasserka
2014-03-14LightingShaderGen: Perform some lighting calculations with integers.Tony Wasserka