| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-04-20 | PixelShaderGen: Don't emit bounding box shader code for old UIDs when disabled | Stenzek | |
| If bounding box is enabled when a UID cache is created, then later disabled, we shouldn't emit the bounding box portion of the shader. Fixes pipeline creation errors on D3D12 backend for this case. | |||
| 2019-04-03 | PixelShaderGen: Fix bounding box coordinates being offset by 1 pixel | Techjar | |
| 2019-03-29 | PixelShaderGen: Use subgroup reduction operations for bounding box | Stenzek | |
| 2019-03-25 | VideoBackends: Scale bounding box rectangle in the pixel shader | Stenzek | |
| 2019-02-19 | Move most backend functionality to VideoCommon | Stenzek | |
| 2019-01-24 | ShaderGen: Don't use interface blocks on Vulkan without GS | Stenzek | |
| Doing so causes the Adreno driver to choke and spew errors about too many output locations/components, when clearly we're under the limit. | |||
| 2019-01-23 | ShaderGen: Omit some unused varyings when possible | Stenzek | |
| Removes the clipPos varying unless slow-depth is used, and the clipDistance varyings if geometry shaders are not used. | |||
| 2018-11-07 | PixelShaderGen: Split bbox into seperate variables | Stenzek | |
| The Metal shader compiler fails to compile the atomic instructions when operating on individual components of a vector. Spltting it into four variables shouldn't make any difference for other platforms, as they are accessed independently. | |||
| 2018-10-09 | VideoCommon: remove unnecessary floor() | Tillmann Karras | |
| floatindex is clamped to the range [0, 9]. For non-negative numbers floor() is equivalent to trunc(). Truncation happens implicitly when converting to uint, so the floor() is unnecessary. | |||
| 2018-09-01 | Revert "ShaderGen: Drop broken fragment shader index workaround for Vulkan" | Pierre Bourdon | |
| 2018-08-28 | ShaderGen: Drop broken fragment shader index workaround for Vulkan | Stenzek | |
| AMD appears to have since fixed this in their driver, and it makes shadergen ever so slightly less messy. | |||
| 2018-08-24 | PixelShaderGen: Ensure all components of ocol1 are initialized | Stenzek | |
| This was causing a warning in the shader compiler, as the rgb components were not initialized. Which shouldn't be an issue, as the rgb is not used in the blend equation, only the alpha. However, the lack of initialization causes crashes in Intel's D3D shader compiler, so we'll play nice and initialize all the channels. | |||
| 2018-05-26 | ShaderGen: Don't emit integer outputs when logic op is unsupported | Stenzek | |
| This may have been causing issues for D3D10 hardware, where logic op was not supported. | |||
| 2018-05-26 | ShaderCache: Remove unused UID bits before inserting into shader map | Stenzek | |
| 2018-04-12 | Reformat all the things! | spycrab | |
| 2018-03-27 | PixelShaderGen: Invert conditional in WriteColor() | Lioncash | |
| Puts the true condition body first instead of the false one for better reading. | |||
| 2018-03-27 | PixelShaderGen: Remove dead code in WriteColor() | Lioncash | |
| The outer conditional executes only whenever destination alpha is used. | |||
| 2018-03-23 | PixelShaderGen/UberShaderPixel: Silence -Wmissing-braces warnings | Lioncash | |
| 2018-03-14 | Assert: Uppercase assertion macros | Lioncash | |
| 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-15 | PixelShaderGen: Implement table-based fog range as in software renderer | Stenzek | |
| 2018-01-05 | Enable shader_framebuffer_fetch blend path on ubershaders | Jonathan 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-05 | Workaround qualcomm driver bug | Jonathan 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-05 | Implement dual-source blending in shader | Jonathan 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-22 | LightingShaderGen: Always calculate lighting for both color channels | Stenzek | |
| 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-07 | D3D: Fix shader compile error with logicop and alpha test enabled | Stenzek | |
| 2017-09-05 | VideoBackends: Clear uid bits that are unused for the current backend | Stenzek | |
| 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-03 | ShaderGen: Support writing integer colors when logic op is enabled | Stenzek | |
| This is required for D3D to support logic op. | |||
| 2017-08-01 | Ubershaders: Fix 6-bit color truncation not being applied | Stenzek | |
| 2017-07-30 | PixelShaderGen: Don't include host early z support in UID | Stenzek | |
| Disable it at shader generation time instead. This way the UIDs are sharable. | |||
| 2017-07-30 | Ubershaders: Support per-pixel lighting | Stenzek | |
| 2017-07-30 | ShaderGen: Use consistent variable names for texture coordinates | Stenzek | |
| 2017-07-30 | Vulkan: Uber shader support | Stenzek | |
| 2017-07-30 | ShaderGen: Implement pixel ubershaders | Stenzek | |
| 2017-07-30 | PixelShaderGen: Move header generation to seperate function | Stenzek | |
| 2017-07-30 | BPMemory: Convert a number of unions to BitFields | Scott Mansell | |
| 2017-07-20 | ShaderGen: Pass host config to shader generation functions | Stenzek | |
| Also moves the host config checks to common. | |||
| 2017-07-20 | ShaderGen: Remove host state from shader uids | Stenzek | |
| 2017-07-05 | PixelShaderGen: Add missing inputs. | Jules Blok | |
| This fixes a linkage warning in D3D because of mismatched inputs. | |||
| 2017-05-03 | Add a workaround for a PowerVR glsl compiler bug | Jonathan Hamilton | |
| It seems it doesn't like negating arguments for bitops, so suff like "var <<= (-othervar);" fails to compile | |||
| 2017-03-15 | videoconfig: add BBoxPreferStencilImplementation | Michael Maltese | |
| @JMC47 requested this to be able to do performance comparisons. | |||
| 2017-03-15 | VideoConfig: add bSupportsFragmentStoresAndAtomics | Michael Maltese | |
| 2017-03-05 | VideoCommon: remove unnecessary trunc() | Tillmann Karras | |
| 2017-02-01 | LightingShaderGen: Remove unnecessary includes | Lioncash | |
| 2017-01-04 | VideoCommon: Make dst_alpha state implicit. | degasus | |
| 2016-12-13 | PixelShaderGen: Fix incorrect indexing of tevLerpBias | Stenzek | |
| Fixes the white box in the fortune street fifolog. | |||
| 2016-10-31 | PixelShaderGen: Remove unused global variable. | Jules Blok | |
| 2016-10-31 | DriverDetails: Make the bug identifiers humanly readable. | Jules Blok | |
| 2016-10-30 | PixelShaderGen: Don't use a global variable. | Jules Blok | |
| 2016-10-29 | OGL: Fall back to the old dual-source blending behaviour. | Jules Blok | |
| 2016-10-24 | PixelShaderGen: Don't use dual source blend if unsupported. | Jules Blok | |
