godot-module-template/drivers
clayjohn 2e59cb41f4 Optimize glow and tonemap gather step in the mobile renderer
Mobile devices are typically bandwidth bound which means we need to do as few texture samples as possible.

They typically use TBDR GPUs which means that all rendering takes place on special optimized tiles. As a side effect, reading back memory from tile to VRAM is really slow, especially on Mali devices.

This commit uses a technique where you do a small blur while downsampling, and then another small blur while upsampling to get really high quality glow. While this doesn't reduce the renderpass count very much, it does reduce the texture read bandwidth by almost 10 times. Overall glow was more texture-read bound than memory write, bound, so this was a huge win.

A side effect of this new technique is that we can gather the glow as we upsample instead of gathering the glow in the final tonemap pass. Doing so allows us to significantly reduce the cost of the tonemap pass as well.
2025-10-30 21:56:26 -07:00
..
accesskit Remove file_access.h and script_backtrace.h includes from logger.h. 2025-10-05 17:49:23 +09:00
alsa Move server files into their subfolders 2025-09-30 19:39:39 -07:00
alsamidi Core: Modernize C headers with C++ equivalents 2025-05-02 08:23:01 -05:00
apple Remove file_access.h and script_backtrace.h includes from logger.h. 2025-10-05 17:49:23 +09:00
apple_embedded Core: Cleanup headers in core/config 2025-10-06 09:20:56 -05:00
backtrace Revert "SCons: Add CPPEXTPATH for external includes" 2025-10-06 13:09:22 -05:00
coreaudio [macOS] Fix microphone issue 2025-10-15 15:37:48 -04:00
coremidi Introduce 'drivers/apple_embedded' abstract platform for code reuse 2025-05-19 15:37:13 -07:00
d3d12 Merge pull request #111658 from brycehutchings/bryceh_d3d12_native_handle_fixes 2025-10-16 12:48:04 -05:00
egl Remove file_access.h and script_backtrace.h includes from logger.h. 2025-10-05 17:49:23 +09:00
gl_context SCons: Remove system includes 2025-10-07 08:11:29 -05:00
gles3 Optimize glow and tonemap gather step in the mobile renderer 2025-10-30 21:56:26 -07:00
metal Metal: Fix texture_get_data other linear formats 2025-10-16 06:46:51 +11:00
png Revert "SCons: Add CPPEXTPATH for external includes" 2025-10-06 13:09:22 -05:00
pulseaudio Move server files into their subfolders 2025-09-30 19:39:39 -07:00
sdl Merge pull request #111192 from Nintorch/fix-joy-weird-presses 2025-10-07 14:34:05 +02:00
unix Merge pull request #111300 from stuartcarnie/net_unix_error_spam 2025-10-06 14:08:16 +02:00
vulkan Metal: Fix texture_get_data other linear formats 2025-10-16 06:46:51 +11:00
wasapi Move server files into their subfolders 2025-09-30 19:39:39 -07:00
windows Core: Add UNIX domain socket support 2025-09-26 05:46:19 +10:00
winmidi Core: Modernize C headers with C++ equivalents 2025-05-02 08:23:01 -05:00
xaudio2 Move server files into their subfolders 2025-09-30 19:39:39 -07:00
register_driver_types.cpp Remove unused header in drivers and modules. 2024-12-24 00:40:47 +08:00
register_driver_types.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
SCsub Add support for SDL3 joystick input driver 2025-06-25 01:28:50 +02:00