dolphin/Source/Core/VideoBackends/OGL
Stenzek f74dbc794c EFB2RAM: Apply copy filter as a float coefficient after sampling
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-05-22 12:24:08 +10:00
..
BoundingBox.cpp videoconfig: add BBoxPreferStencilImplementation 2017-03-15 17:41:33 -07:00
BoundingBox.h OGL: only create stencil buffer when needed 2017-03-15 17:41:33 -07:00
CMakeLists.txt Remove SOIL altogether from the project. 2018-05-20 13:44:42 +02:00
FramebufferManager.cpp Fix syntax error in GLSL_GS 2018-05-12 15:42:18 +01:00
FramebufferManager.h Remove old XFB logic 2017-11-17 22:11:29 -06:00
GPUTimer.h OGL: Add GPUTimer class for measuring execution time of a draw/dispatch 2017-04-01 12:32:57 +10:00
NativeVertexFormat.cpp OGL/VertexManager: Make vertex and index buffer handles private 2017-09-02 20:51:54 -04:00
OGL.vcxproj VideoBackends: Add AbstractShader and AbstractPipeline classes 2018-02-22 22:02:34 +10:00
OGL.vcxproj.filters VideoBackends: Add AbstractShader and AbstractPipeline classes 2018-02-22 22:02:34 +10:00
OGLPipeline.cpp OGL: Re-implement async shader compiling 2018-03-10 15:56:34 +10:00
OGLPipeline.h VideoBackends: Add AbstractShader and AbstractPipeline classes 2018-02-22 22:02:34 +10:00
OGLShader.cpp OGLShader: Fix mismatched assignment in compute shader constructor 2018-03-16 17:44:23 -04:00
OGLShader.h OGLShader: Ensure m_id and m_compute_program_id are always initialized 2018-03-16 17:49:34 -04:00
OGLTexture.cpp Assert: Remove unused parameter from DEBUG_ASSERT 2018-03-16 13:01:11 -04:00
OGLTexture.h VideoCommon: Add support for Abstract Framebuffers 2018-03-02 20:20:48 +10:00
PerfQuery.cpp Improve PerfQuery accuracy 2016-07-04 18:54:49 +10:00
PerfQuery.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
PostProcessing.cpp Config: Fix template deduction for implicit conversions 2018-05-12 14:30:18 +02:00
PostProcessing.h VideoCommon: Move the blit methods to the backend class 2017-04-25 14:25:41 +10:00
ProgramShaderCache.cpp Assert: Remove unused parameter from DEBUG_ASSERT 2018-03-16 13:01:11 -04:00
ProgramShaderCache.h OGL: Re-implement async shader compiling 2018-03-10 15:56:34 +10:00
RasterFont.cpp OGL: Scale OSD text on big screens. 2018-03-12 20:38:06 +01:00
RasterFont.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Render.cpp Implement EFB copy filter and gamma in hardware backends 2018-04-29 19:05:20 +10:00
Render.h Implement EFB copy filter and gamma in hardware backends 2018-04-29 19:05:20 +10:00
SamplerCache.cpp Fixed fog, lava, water in Mario Galaxy (and possibly other games) in higher IRs by detecting & fixing the mipmaps that aren't just used for downscaling, but are handmade to create a gradient. 2017-10-27 00:45:20 -07:00
SamplerCache.h VideoBackends: Move SamplerState to common 2017-09-11 20:01:54 +10:00
StreamBuffer.cpp CommonFuncs: Convert ROUND_UP_POW2 macro to a function 2018-05-10 19:42:20 -04:00
StreamBuffer.h ShaderGenCommon: Remove unnecessary includes 2017-02-01 12:19:55 -05:00
TextureCache.cpp EFB2RAM: Apply copy filter as a float coefficient after sampling 2018-05-22 12:24:08 +10:00
TextureCache.h Implement EFB copy filter and gamma in hardware backends 2018-04-29 19:05:20 +10:00
TextureConverter.cpp EFB2RAM: Apply copy filter as a float coefficient after sampling 2018-05-22 12:24:08 +10:00
TextureConverter.h Implement EFB copy filter and gamma in hardware backends 2018-04-29 19:05:20 +10:00
VertexManager.cpp OGL: Ensure VAO is active before unmapping buffers 2018-03-15 00:32:39 +10:00
VertexManager.h VideoBackends: Add AbstractShader and AbstractPipeline classes 2018-02-22 22:02:34 +10:00
VideoBackend.h VideoBackend: Remove PeekMessages method 2018-01-27 13:53:55 +10:00
main.cpp GLUtil: Encapsulate functions in a namespace 2018-03-10 16:11:19 +10:00