summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/TextureConversionShader.cpp
AgeCommit message (Collapse)Author
2017-04-12TextureConversionShader: fix syntax errorMichael Maltese
Fixes a situation where the following invalid GLSL code is generated: ```glsl float3 texSample0 = texture(samp0, float3(uv0 + float2(0, 0) * sample_offset, 0.0)).rgb; float3 texSample0 = floor(float3 texSample0 * 63.0) / 63.0; float3 texSample1 = texture(samp0, float3(uv0 + float2(1, 0) * sample_offset, 0.0)).rgb; float3 texSample1 = floor(float3 texSample1 * 63.0) / 63.0; ```
2017-04-12TextureConversionShader: Consider source format of EFB for EFB2RAMStenzek
Currently, we use the alpha channel from the EFB even if the current format does not include an alpha channel. Now, the alpha channel is set to 1 if the format does not have an alpha channel, as well as truncating to 5/6 bits per channel. This matches the EFB-to-texture behavior.
2017-04-06TextureConversionShader: Add missing swap for index of C14X2 texturesStenzek
2017-04-06TextureConversionShader: Fix compile error in C14X2 decoderStenzek
2017-04-01VideoCommon: Add texture decoding shader generatorsStenzek
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-08-24TextureConversionShader: Don't use the float specifier in shader code.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-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-02-22TextureConversionShader: Invert depth for Z24 encoder with D3DStenzek
2016-01-17VideoCommon: Header cleanupLioncash
Also remedies places where the video backends and core rely on things being indirectly included.
2016-01-13TextureConversionShader: Also invert color encoders if they're used to ↵Jules Blok
encode depth.
2015-09-06Move common EFB copy code into VideoCommonScott Mansell
Addded a few duplicated depth copy texture formats to the enum in TextureDecoder.h. These texture formats were already implemented in TextureCacheBase and the ogl/dx11 texture cache implementations.
2015-08-17Merge pull request #2861 from lioncash/paramMarkus Wick
VideoCommon: Remove unused parameters
2015-08-16TextureConversionShader: Remove an unused parameterLioncash
2015-08-15Revert "VideoCommon: Clamp integer conversions."Jules Blok
This reverts commit 0f2c72f0f844c219e168faa7de8dd515f8723fdc.
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-08TextureConversionShader: Use floating point values in clamp().Jules Blok
2015-05-08VideoCommon: Clamp integer conversions.Jules Blok
2015-05-08VideoBackends: Use proper floating point depth precision.Jules Blok
2015-02-21TextureConversionShader: Use a Texture2DArray to match the shader resource view.Jules Blok
2015-02-03Fix regression for D3D EFB depth copies.magumagu
On D3D, we read from the depth buffer using the format DXGI_FORMAT_R24_UNORM_X8_TYPELESS (essentially, the "r" component contains the depth, and the other components contain nothing).
2015-01-25Don't use boolean negation.magumagu
2015-01-25Fix RGBA8 encoding.magumagu
2015-01-25Fix shader so it's possible to use with D3D Map().magumagu
Well, that's not strictly true, but trying to memcpy between two buffers using different row lengths and different strides is at minimum extremely unintuitive.
2015-01-25More work.magumagu
2015-01-25WIP.magumagu
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-23use GL_TEXTURE_2D_ARRAY for most of our texturesdegasus
2014-09-08Rename Log2 and add IsPow2 to MathUtils for future useFiora
Also remove unused pow2/pow2f functions.
2014-09-05Revert "JIT64: optimize CA calculations"Fiora
2014-09-01Rename Log2 and add IsPow2 to MathUtils for future useFiora
Also remove unused pow2/pow2f functions.
2014-07-18Support Sampler binding in the shader.Ryan Houdek
In the cases where we support the binding layout keyword, use it for more than binding UBO location. This changes it so it is supported for samplers as well. Instances when this is enabled is if a device supports GL_ARB_shading_language_420pack, or if it supports GLES 3.10.
2014-07-13Fix warnings unearthed by #579Tillmann Karras
2014-07-11mark all local functions as staticdegasus
2014-04-22Fix texture conversion shaders for GLSL ES.Ryan Houdek
Noticed this while messing with EFB to RAM. We were having an implicit conversion from integer to float, GLSL ES doesn't allow implicit conversion. Changes it to a explicit conversion to float.
2014-03-11Fixes spacing for "for", "while", "switch" and "if"Matthew Parlane
Also moved && and || to ends of lines instead of start. Fixed misc vertical alignments and some { needed newlining.
2014-03-09clang-modernize -use-nullptrTillmann Karras
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-03-09Fixes include order of TextureConversionShader.cppMatthew Parlane
2014-02-28Various changes suggested by cppcheckTillmann Karras
- remove unused variables - reduce the scope where it makes sense - correct limits (did you know that strcat()'s last parameter does not include the \0 that is always added?) - set some free()'d pointers to NULL
2014-02-26comment fixesdegasus
2014-02-26Merge duplicate parts of sampler into headerdegasus
2014-02-26calculate constant values on shader compilationdegasus
2014-02-26Rewrite texture tiling implementationdegasus
inline halfxb So we know which is the first pixel by masking. inline xl inline xb a bit inline yl inline uv1.x shift remove likely wrong guessed ternary operator add pixel layout comment inline xel optimize the shifts a bit inline xb optimize shifts in a second step extract xb rename all variables calculate cache line by position.x Revert 5115b459f40d53044cd7a858f52e6e876e1211b4 "optimize the shifts a bit" It seems I was wrong, the other way is the more natural. use x_virtual_position instead of uv1.x for x_offset_in_block This looks more natural and the offset should be masked anyway. substitude factor with cache_lines move 32bit logic in a conditional block
2014-02-26TextureConverter: Use Log2() and shifts instead of multiplications/divisionsdegasus
2014-02-26merge common parts of encoding shadersdegasus
2014-02-20Fix more header sorting issues in VideoCommon/ (now check-includes clean).Pierre Bourdon