dolphin/Source/Core/VideoBackends/Vulkan
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 Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
BoundingBox.h Vulkan: Remove parameters/members of single-instance classes 2016-11-03 22:01:54 +10:00
CMakeLists.txt Vulkan/CMakeLists: Migrate off add_dolphin_library 2018-04-02 08:29:37 -04:00
CommandBufferManager.cpp Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
CommandBufferManager.h Vulkan: Only use oldSwapchain in response to VK_ERROR_OUT_OF_DATE_KHR 2017-10-10 23:21:40 +10:00
Constants.h Move shader caches to VideoCommon 2018-03-10 15:56:30 +10:00
FramebufferManager.cpp Reformat all the things! 2018-04-12 21:28:39 +02:00
FramebufferManager.h Vulkan: Fix possible mismatch between EFB framebuffer and render pass 2018-01-11 16:02:31 +10:00
ObjectCache.cpp Move shader caches to VideoCommon 2018-03-10 15:56:30 +10:00
ObjectCache.h Vulkan: Move render pass management to ObjectCache 2018-01-11 15:21:34 +10:00
PerfQuery.cpp Reformat all the things! 2018-04-12 21:28:39 +02:00
PerfQuery.h Vulkan: Remove parameters/members of single-instance classes 2016-11-03 22:01:54 +10:00
PostProcessing.cpp Vulkan/PostProcessing: Make file-scope std::string instances const char arrays 2018-05-21 12:29:05 -04:00
PostProcessing.h Vulkan: Implement post-processing backend 2017-04-25 14:27:02 +10:00
RasterFont.cpp VideoCommon: Add helpers for generating common render states 2017-09-11 20:01:52 +10:00
RasterFont.h Vulkan: Implement post-processing backend 2017-04-25 14:27:02 +10:00
Renderer.cpp Implement EFB copy filter and gamma in hardware backends 2018-04-29 19:05:20 +10:00
Renderer.h Implement EFB copy filter and gamma in hardware backends 2018-04-29 19:05:20 +10:00
ShaderCache.cpp Move shader caches to VideoCommon 2018-03-10 15:56:30 +10:00
ShaderCache.h Reformat all the things! 2018-04-12 21:28:39 +02:00
ShaderCompiler.cpp Reformat all the things! 2018-04-12 21:28:39 +02:00
ShaderCompiler.h Vulkan: Use VK_NV_glsl extension where available, and skip glslang 2017-10-11 23:15:41 +10:00
StagingBuffer.cpp Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
StagingBuffer.h VideoBackends: Add AbstractStagingTexture class 2017-11-22 18:47:04 +10:00
StateTracker.cpp Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
StateTracker.h Move shader caches to VideoCommon 2018-03-10 15:56:30 +10:00
StreamBuffer.cpp Reformat all the things! 2018-04-12 21:28:39 +02:00
StreamBuffer.h ShaderGenCommon: Remove unnecessary includes 2017-02-01 12:19:55 -05:00
SwapChain.cpp Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
SwapChain.h Vulkan: Move render pass management to ObjectCache 2018-01-11 15:21:34 +10:00
Texture2D.cpp Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
Texture2D.h Vulkan: Compute shader support 2017-04-01 12:32:57 +10: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
Util.cpp Reformat all the things! 2018-04-12 21:28:39 +02:00
Util.h Vulkan: Use VK_NV_glsl extension where available, and skip glslang 2017-10-11 23:15:41 +10:00
VKPipeline.cpp Assert: Remove unused parameter from DEBUG_ASSERT 2018-03-16 13:01:11 -04:00
VKPipeline.h VKPipeline: Fix render pass and add pipeline layout fields 2018-03-10 15:56:13 +10:00
VKShader.cpp Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
VKShader.h VideoBackends: Add AbstractShader and AbstractPipeline classes 2018-02-22 22:02:34 +10:00
VKTexture.cpp Reformat all the things! 2018-04-12 21:28:39 +02:00
VKTexture.h VideoCommon: Add support for Abstract Framebuffers 2018-03-02 20:20:48 +10:00
VertexFormat.cpp Assert: Uppercase assertion macros 2018-03-14 22:03:12 -04:00
VertexFormat.h NativeVertexFormat: Drop unused virtual method SetupVertexPointers 2017-07-30 17:43:59 +10:00
VertexManager.cpp Implement "Skip" ubershader mode 2018-03-26 01:57:41 +10:00
VertexManager.h VertexManagerBase: Make CreateNativeVertexFormat return a unique_ptr 2017-02-18 03:16:24 -05:00
VideoBackend.h [UI] Remove experimental tag from Vulkan 2018-03-21 15:12:12 -07:00
Vulkan.vcxproj VideoBackends: Add AbstractShader and AbstractPipeline classes 2018-02-22 22:02:34 +10:00
VulkanContext.cpp Common/Logging/Log: Wrap GENERIC_LOG macro's body in do { } while (0) 2018-04-16 12:11:32 -04:00
VulkanContext.h Vulkan: Provide a more accurate method of detecting drivers/vendors 2018-03-14 02:48:53 +10:00
VulkanEntryPoints.inl Implement experimental Vulkan backend 2016-10-01 02:40:01 +10:00
VulkanLoader.cpp Vulkan: Fix headless framedumping without USE_X11 set 2017-11-23 17:00:32 +10:00
VulkanLoader.h Use __func__ instead of __FUNCTION__ where applicable 2018-03-16 13:41:53 -04:00
main.cpp Move shader caches to VideoCommon 2018-03-10 15:56:30 +10:00