summaryrefslogtreecommitdiff
path: root/src/render/shaders/glsl/CM.glsl
Commit message (Collapse)AuthorAgeFilesLines
* renderer: shader variants refactor (#13434)UjinT342026-03-061-302/+23
| | | Part 0 of renderer reworks.
* render/cm: add ICC profile pipeline (#12711)Vaxry2026-03-041-7/+35
| | | Adds an ICC profile pipeline, loading via config and applying via 3D LUTs.
* renderer: add surface shader variants with less branching and uniforms (#13030)UjinT342026-01-211-145/+6
| | | | | | | | | * shader variant features * getSurfaceShader variant with feats * split surface shaders by features * cleanup old shaders
* renderer: optimise shader usage further, split shaders and add more caching ↵Tom Englund2026-01-171-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#12992) * shader: split CM rgba/rgbx into discard ones make it branchless if we have no discards. * shader: ensure we dont stall on vbo uv buffer if we render a new texture before the previous was done gpu wise its going to stall until done, call glBufferData to orphan the data. this allows the driver to return a new memory block immediately if the GPU is still reading from the previous one * protocols: ensure we reset GL_PACK_ALIGNMENT reset GL_PACK_ALIGNMENT back to the default initial value of 4 * shader: use unsigned short in VAO loose a tiny bit of precision but gain massive bandwidth reductions. use GL_UNSIGNED_SHORT and set it as normalized. clamp and round the UV for uint16_t in customUv. * shader: interleave vertex buffers use std::array for fullverts, use a single interleaved buffer for position and uv, should in theory improve cache locality. and also remove the need to have two buffers around. * shader: revert precision drop we need the float precision because we might have 1.01 or similiar floats entering CM shader maths, and rounding/clamping those means the maths turns out wrong. so revert back to float, sadly higher bandwidth usage. * update doColorManagement api * convert primaries to XYZ on cpu * remove unused primaries uniform --------- Co-authored-by: UjinT34 <ujint34@mail.ru>
* renderer/cm: higher-quality tonemapping (#12204)Dominick DiMaggio2025-12-071-16/+10
|
* renderer/cm: allow gamma 2.2 instead of sRGB EOTF (#12094)Dominick DiMaggio2025-10-291-1/+1
|
* renderer: implement wp-color-management-v1 transfer functions (#11084)Thomas Müller2025-07-201-69/+157
|
* cm: Use precomputed primaries conversion (#9814)UjinT342025-04-291-80/+52
|
* renderer/opengl: Extract shaders from source (#9600)UjinT342025-03-291-0/+364
--------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>