summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/PixelShaderGen.cpp
AgeCommit message (Collapse)Author
2018-04-12Reformat all the things!spycrab
2018-03-27PixelShaderGen: Invert conditional in WriteColor()Lioncash
Puts the true condition body first instead of the false one for better reading.
2018-03-27PixelShaderGen: Remove dead code in WriteColor()Lioncash
The outer conditional executes only whenever destination alpha is used.
2018-03-23PixelShaderGen/UberShaderPixel: Silence -Wmissing-braces warningsLioncash
2018-03-14Assert: Uppercase assertion macrosLioncash
Macros should be all upper-cased. This is also kind of a wart that's been sticking out for quite a while now (we avoid prefixing underscores).
2018-02-15PixelShaderGen: Implement table-based fog range as in software rendererStenzek
2018-01-05Enable shader_framebuffer_fetch blend path on ubershadersJonathan Hamilton
Tested on a linux Intel Skylake integrated graphics with blend_func_extended force-disabled, as it's the only platform I have that doesn't crash with ubershaders and supports fb_fetch
2018-01-05Workaround qualcomm driver bugJonathan Hamilton
It seems it doesn't like modifying inout variables in place - so instead use a temporary for ocol0/ocol1 and only write them once at the end of the shader
2018-01-05Implement dual-source blending in shaderJonathan Hamilton
For some GLES drivers that don't support dual-source blending, but do support GL_EXT_shader_framebuffer_fetch, this might be useful.
2017-11-22LightingShaderGen: Always calculate lighting for both color channelsStenzek
Cel-damage uses the color from the lighting stage of the vertex pipeline as texture coordinates, but sets numColorChans to zero. We now calculate the colors in all cases, but override the color before writing it from the vertex shader if numColorChans is set to a lower value.
2017-09-07D3D: Fix shader compile error with logicop and alpha test enabledStenzek
2017-09-05VideoBackends: Clear uid bits that are unused for the current backendStenzek
Currently, this is only the logic op bit, but this will be extended to the framebuffer fetch/blend modes. In the future, when/if we move to VideoCommon pipelines, this state will be part of the pipeline UID anyway, and we can mask it out in the backend by using a two-level map, so the shaders/programs are shared.
2017-09-03ShaderGen: Support writing integer colors when logic op is enabledStenzek
This is required for D3D to support logic op.
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.