summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/PixelShaderGen.cpp
AgeCommit message (Collapse)Author
2017-08-01Ubershaders: Fix 6-bit color truncation not being appliedStenzek
2017-07-30PixelShaderGen: Don't include host early z support in UIDStenzek
Disable it at shader generation time instead. This way the UIDs are sharable.
2017-07-30Ubershaders: Support per-pixel lightingStenzek
2017-07-30ShaderGen: Use consistent variable names for texture coordinatesStenzek
2017-07-30Vulkan: Uber shader supportStenzek
2017-07-30ShaderGen: Implement pixel ubershadersStenzek
2017-07-30PixelShaderGen: Move header generation to seperate functionStenzek
2017-07-30BPMemory: Convert a number of unions to BitFieldsScott Mansell
2017-07-20ShaderGen: Pass host config to shader generation functionsStenzek
Also moves the host config checks to common.
2017-07-20ShaderGen: Remove host state from shader uidsStenzek
2017-07-05PixelShaderGen: Add missing inputs.Jules Blok
This fixes a linkage warning in D3D because of mismatched inputs.
2017-05-03Add a workaround for a PowerVR glsl compiler bugJonathan Hamilton
It seems it doesn't like negating arguments for bitops, so suff like "var <<= (-othervar);" fails to compile
2017-03-15videoconfig: add BBoxPreferStencilImplementationMichael Maltese
@JMC47 requested this to be able to do performance comparisons.
2017-03-15VideoConfig: add bSupportsFragmentStoresAndAtomicsMichael Maltese
2017-03-05VideoCommon: remove unnecessary trunc()Tillmann Karras
2017-02-01LightingShaderGen: Remove unnecessary includesLioncash
2017-01-04VideoCommon: Make dst_alpha state implicit.degasus
2016-12-13PixelShaderGen: Fix incorrect indexing of tevLerpBiasStenzek
Fixes the white box in the fortune street fifolog.
2016-10-31PixelShaderGen: Remove unused global variable.Jules Blok
2016-10-31DriverDetails: Make the bug identifiers humanly readable.Jules Blok
2016-10-30PixelShaderGen: Don't use a global variable.Jules Blok
2016-10-29OGL: Fall back to the old dual-source blending behaviour.Jules Blok
2016-10-24PixelShaderGen: Don't use dual source blend if unsupported.Jules Blok
2016-10-23PixelShaderGen: Fix implicit type conversions.Jules Blok
2016-10-10PixelShaderGen: Use dual source blending to do 8-bit blending.Jules Blok
2016-10-10PixelShaderGen: Only set dither uid bit if actually used.Jules Blok
2016-10-10VideoConfig: Add an option to force RGB8 EFB format.Jules Blok
2016-10-10PixelShaderGen: Always truncate the alpha channel to 6-bit.Jules Blok
2016-10-10PixelShaderGen: Add support for dithering.Jules Blok
2016-10-10PixelShaderGen: Add support for RGBA6 EFB format truncation.Jules Blok
2016-10-04PixelShader: Drop redundant warning.degasus
This warning was raised both on UID generation and on shader generation.
2016-10-04LightingShader: Drop xfmem usage.degasus
Our shaders must only depend on the UID, not on any global state.
2016-10-04PixelShaderGen: Drop dstAlphaMode constant in shader generation.degasus
It is already stored within the UID.
2016-10-01Vulkan: Work around indexed fragment output bug on AMD driversStenzek
2016-10-01VideoCommon: Add APIType entry for VulkanStenzek
2016-10-01ShaderGen: Specify attribute/output locations/bindings explicitlyStenzek
This also shifts the SSBO index from index 3 to index 0.
2016-09-07PixelShaderGen: Always divide the texture coordinates by q.Jules Blok
Some games will set q to a different value than 1.0 through texture matrix manipulations. It seems the console will still do the division in that case.
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-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-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-26Multithreadded Shadergen: First pass over pixel ShadergenScott Mansell
Bug Fix: It was theoretically possible for a shader with depth writes disabled to map to the same UID as a shader with late depth writes. No known test cases trigger this.
2016-06-26UID Change: Fix bug with indirect stage UIDsScott Mansell
Bug Fix: The normal stage UIDs were randomly overwriting indirect stage texture map UID fields. It was possible for multiple shaders with diffrent indirect texture targets to map to the same UID. Once again, it dpesn't look like this bug was ever triggered.
2016-06-26Shader UID change: Only store the two bits of components we need.Scott Mansell
This frees up 21 bits and allows us to shorten the UID struct by an entire 32 bits. It's not strictly needed (as it's encoded into the length) but I added a bit for per-pixel lighiting to make my life easier in the following commits.
2016-06-26Multithreadded Shadergen: First Pass over vertex/lighting ShadergensScott Mansell
The only code which touches xfmem is code which writes directly into uid_data. All the rest now read their parameters out of uid_data. I also simplified the lighting code so it always generated seperate codepaths for alpha and color channels instead of trying to combine them on the off-chance that the same equation works for all 4 channels. As modern (post 2008) GPUs generally don't calcualte all 4 channels in a single vector, this optimisation is pointless. The shader compiler will undo it during the GLSL/HLSL to IR step. Bug Fix: The about optimisation was also broken, applying the color light equation to the alpha light channel instead of the alpha light euqation. But doesn't look like anything trigged this bug.
2016-06-24Further fixes to the formatting change. WX sucks.Pierre Bourdon
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-04-23VideoCommon: Simplify indirect texture lookup code slightlyJeffrey Pfau
2016-04-23Revert "VideoBackend: Remove extraneous shifts from indirect texture lookups"Jeffrey Pfau
This reverts commit 1f1b127b69e47728593e8174d4ed8883622792a5.