summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/GeometryShaderGen.cpp
AgeCommit message (Collapse)Author
2017-02-01ShaderGenCommon: Remove unnecessary includesLioncash
2017-01-04GeometryShaderGen: Use lower-left origin for point texture coordinatesStenzek
From what I can tell, the emulated GPU places (0,0) at the lower left of the image, and we were generating texture coordinates so that (0,0) was at the upper-left in the expansion geometry shader, causing textures used by point sprites to be flipped vertically. Fixes the upside-down A button in Mario Golf.
2016-10-31DriverDetails: Make the bug identifiers humanly readable.Jules Blok
2016-10-16VideoCommon: Fix GetInterpolationQualifier callsVincent Duvert
Commit 4969415 modified calls to GetInterpolationQualifier, but mistakenly changed the order of some boolean parameters: GetInterpolationQualifier(true, false) was changed to GetInterpolationQualifier(…, false, true). Should fix #9783.
2016-10-01VideoCommon: Add APIType entry for VulkanStenzek
2016-10-01ShaderGen: Work around issue with glslang and dynamic vector subscriptsStenzek
Seems that vec[eye] will select vec.x no matter what the value of eye is.
2016-10-01ShaderGen: Specify attribute/output locations/bindings explicitlyStenzek
This also shifts the SSBO index from index 3 to index 0.
2016-08-18OGL: Workaround gl_ClipDistance bug on Mesa i965.Jules Blok
2016-08-15VideoCommon: Add a user-defined far clipping plane.Jules Blok
2016-08-15GeometryShaderGen: Pass-through clipping distance.Jules Blok
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-26VideoCommon: Fix some warnings.Scott Mansell
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-26Multithreadded Shadergen: Second Pass over geometery ShadergenScott Mansell
2016-06-26Multithreadded Shadergen: First pass over geometery Shadergen.Scott Mansell
2016-06-26Remove global refrences from common code.Scott Mansell
Bug Fix: Previously vertex shaders and geometery shaders didn't track antialaising state in their UIDs, which could cause AA bugs on directx.
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-03-30ShaderGen: Only specify storage qualifier in interface block when neededStenzek
Drivers that don't support GL_ARB_shading_language_420pack require that the storage qualifier be specified even when inside an interface block. AMD's driver throws a compile error when "centroid in/out" is used within an interface block. Our previous behavior was to include the storage qualifier regardless, but this wasn't working on AMD, therefore we should check for the presence of the extension and include based on this, instead.
2016-03-09Workaround OS X video driver bug #24983074Ryan Houdek
OS X's shader compiler has a bug with interface blocks where interface block members don't properly inherit the layout qualifier from the interface block. Work around this limitation by explicitly stating the layout qualifier on both the interface block and every single member inside of that block.
2016-01-17VideoCommon: Header cleanupLioncash
Also remedies places where the video backends and core rely on things being indirectly included.
2016-01-02ShaderGen: Remove virtual methods from ShaderGeneratorInterface, move string ↵Stenzek
buffer to ShaderCode This fixes the crashes occuring at startup with a non-empty shader cache. Because LinearDiskCache reads/writes to the storage of ShaderUid, ShaderUid must be trivially copyable. Additionally, adds a static assert to LinearDiskCache to ensure this doesn't happen in the future. The initialization of ShaderUid data has been moved to the code generation functions, so the above condition holds true.
2015-12-26ShaderGenerators: Remove unnecessary inline keywordsLioncash
Static by itself is sufficient
2015-12-26ShaderGeneration: Get rid of static buffersLioncash
2015-11-03VideoCommon: return code/uid from shader gensTillmann Karras
rather than passing in non-const references
2015-09-06VideoBackends: Reimplement SSAA, now for D3D + OGLdegasus
2015-06-18Revert "GeometryShaderGen: Don't use `centroid in` for input variables."degasus
This reverts commit 4cbaddb7ad1e84946a6fb1af1d853af15be90615.
2015-06-10GeometryShaderGen: Consistently use xfmem just as the vertex shader.Jules Blok
There are very rare conditions in which xfmem can actually desync from bpmem.
2015-06-10GeometryShaderGen: Don't use `centroid in` for input variables.Jules Blok
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-01-31GeometryShaderGen: Perspective divide the line coordinates before comparing ↵Jules Blok
the angle.
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-28VideoCommon: Don't pass structs between shaders, use the interface blocks ↵Jules Blok
instead.
2014-12-20Merge pull request #1716 from Armada651/geom-wireframeDolphin Bot
VideoCommon: Handle wireframe mode in the geometry shader.
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-19GeometryShaderGen: Re-emit the first vertex when wireframe mode is enabled.Jules Blok
2014-12-19VideoCommon: Make IsPassthrough() a function of the ShaderUid.Jules Blok
2014-12-19VideoCommon: Handle wireframe mode in the geometry shader.Jules Blok
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-19GeometryShaderGen: Don't use the reserved keyword "point" in D3D.Jules Blok
2014-12-18VideoCommon: Pass interface blocks between shader stages to resolve naming ↵Jules Blok
conflicts.
2014-12-18GeometryShader: Disable the geometry shader stage if it is a pass-through ↵Jules Blok
shader.
2014-12-18GeometryShaderGen: Cosmetics.Jules Blok
2014-12-18GeometryShaderGen: Pack uniforms more tightly.Jules Blok
2014-12-15GeometryShaderGen: Remove redundant declaration.Jules Blok
2014-12-15GeometryShaderGen: Use signed integers for the texture offset flags.Jules Blok
2014-12-15GeometryShaderGen: Declare a prototype for EmitVertex().Jules Blok
2014-12-15VideoCommon: Merge PointGeometryShader into GeometryShaderGen.Jules Blok
This adds point-width emulation support to OpenGL.
2014-12-15VideoCommon: Merge LineGeometryShader into GeometryShaderGen.Jules Blok
This adds line-width emulation support to OpenGL.