summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/TextureConverter.cpp
AgeCommit message (Collapse)Author
2018-11-07TextureCache: Implement deferred/batched EFB copiesStenzek
2018-05-22EFB2RAM: Apply copy filter as a float coefficient after samplingStenzek
Using 8-bit integer math here lead to precision loss for depth copies, which broke various effects in games, e.g. lens flare in MK:DD. It's unlikely the console implements this as a floating-point multiply (fixed-point perhaps), but since we have the float round trip in our EFB2RAM shaders anyway, it's not going to make things any worse. If we do rewrite our shaders to use integer math completely, then it might be worth switching this conversion back to integers. However, the range of the values (format) should be known, or we should expand all values out to 24-bits first.
2018-04-29Implement EFB copy filter and gamma in hardware backendsStenzek
Also makes y_scale a dynamic parameter for EFB copies, as it doesn't make sense to keep it as part of the uid, otherwise we're generating redundant shaders.
2018-03-01AbstractTexture: Support multisampled abstract textureStenzek
2018-03-01VideoBackends: Restore the framebuffer as part of the API stateStenzek
It's not often we switch out to draw to the EFB anyway.
2018-02-22OGL: Track state of last bound vertex array objectStenzek
This reduces the overhead of calling glBindVertexArray() every time RestoreAPIState() is called, even when it is redundant.
2018-01-22AbstractTexture: Move Bind() method to RendererStenzek
This makes state tracking simpler, and enables easier porting to command lists later on.
2017-12-03OGL/TextureConverter: Remove unnecessary using declarationLioncash
2017-12-03OGL/TextureConverter: Resolve -Wmissing-variable-declaration warningsLioncash
2017-12-02VideoCommon: Rename TextureConversionShader namespace.degasus
2017-11-22OGL: Use new readback methods for EFB2RAMStenzek
2017-11-17Remove old XFB logiciwubcode
2017-11-17Video Backends: Implement vertical scaling for xfb copies. This fixes theiwubcode
display of PAL games that run in 50hz mode.
2017-11-03Fix incorrect handling of auto IRJosJuice
Some lines of code in Dolphin just plainly grabbed the value of g_ActiveConfig.iEFBScale, which resulted in Auto being treated as 0x rather than the actual automatically selected scale.
2017-08-08Remove non-integer IRsJosJuice
2017-08-03Video: Clearly separate Texture and EFB Copy formatsN.E.C
Improve bookkeeping around formats. Hopefully make code less confusing. - Rename TlutFormat -> TLUTFormat to follow conventions. - Use enum classes to prevent using a Texture format where an EFB Copy format is expected or vice-versa. - Use common EFBCopyFormat names regardless of depth and YUV configurations.
2017-06-13Video Backends: Split texture cache code out into separate files, introduce ↵iwubcode
'AbstractTexture'
2017-04-12VideoBackends: Support updated texture encoding shader generatorsStenzek
2017-02-01ShaderGenCommon: Remove unnecessary includesLioncash
2017-02-01LightingShaderGen: Remove unnecessary includesLioncash
2016-12-26TextureCache: Extract BP enum check to VideoCommon.degasus
We have TOO many video backends.
2016-12-12OpenGL: Always use a PBO in EncodeToRamUsingShaderhthh
This improves performance significantly on macOS, particularly noticeably in the Super Mario Sunshine transition, which goes from ~5FPS to ~17FPS.
2016-09-07EFB2RAM: Downsample higher resolutions with linear filtering.Scott Mansell
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
2015-11-15TextureCache: Rewrite EFB Copy control flowdegasus
2015-11-15OGL-TextureConverter: Keep care about the global state ifselfdegasus
2015-11-15OGL: Remove TCache::Entry usage in TextureConverterdegasus
2015-10-22TextureCacheBase: Change CacheLinesPerRow to BytesPerRowLioncash
2015-09-28Fix building with PCH disabled.Rohit Nirmal
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-12[GLES] Fix real XFB.Ryan Houdek
GLES doesn't support the BGRA texture format type, just use RGBA.
2015-07-25Video: stride in bytes rather than pixelsbooto
2015-07-25Video: respect stride of efb copies to xfbbooto
2015-05-29OGL: Always use sampler objects.degasus
We are used to use the texture parameter for all util draw calls, but AMD seems to have a bug where they use the sampler parameter of stage 0 if no sampler is bound to the used stage. So as workaround (and a bit as nicer code), we now use sampler objects everywhere.
2015-05-27OGL: use GL_TEXTURE* constantsTillmann Karras
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-01-28Silence -Wunused-variable warning.Rohit Nirmal
2015-01-25Make sure EFB2RAM buffer is wide enough for new coordinate system.magumagu
2015-01-25Fix OpenGL coordinate computation.magumagu
2014-12-11OGL: Ensure a VAO is bound for all attributeless.Unknown W. Brackets
Unfortunately, some of these cases are not well tested, because I don't know how to reproduce them.
2014-12-05FramebufferManager: Bind only the first framebuffer layer when the EFB only ↵Jules Blok
has one layer.
2014-11-28Merge pull request #1439 from Armada651/ogl-stereo-3dRyan Houdek
OGL: Stereoscopic 3D Support
2014-11-24More formatting and consistency fixesStevoisiak
2014-11-23use GL_TEXTURE_2D_ARRAY for most of our texturesdegasus
2014-11-13Various formatting and consistency fixesStevoisiak
2014-10-26OGL: Get rid of error macrosLioncash
2014-08-19msvc: resolve all warnings in VideoBackends/OGL.Shawn Hoffman
2014-08-15OGL: Fix brace and body placementsLioncash
Also got rid of void argument specifiers. These are a carryover from C.