Skip to content

Various fixes and maintenance#20811

Merged
TurboGit merged 5 commits intodarktable-org:masterfrom
jenshannoschwalm:various_fixes_and_maintenance
Apr 15, 2026
Merged

Various fixes and maintenance#20811
TurboGit merged 5 commits intodarktable-org:masterfrom
jenshannoschwalm:various_fixes_and_maintenance

Conversation

@jenshannoschwalm
Copy link
Copy Markdown
Collaborator

@TurboGit

  1. no regressions in integration tests. 0048 is now working ok and should get the cpu/gpu diffs and expected image updated (The cpu code was not only slower but just wrong).
  2. 7d24e8d has been taken from @aurelienpierre ansel work. I think this way of copyrighting is ok? This gives a demosaic perf gain of ~5% depending on OpenCL architecture.

@jenshannoschwalm jenshannoschwalm added this to the 5.6 milestone Apr 14, 2026
@jenshannoschwalm jenshannoschwalm added bugfix pull request fixing a bug scope: image processing correcting pixels scope: codebase making darktable source code easier to manage OpenCL Related to darktable OpenCL code labels Apr 14, 2026
@ralfbrown
Copy link
Copy Markdown
Collaborator

You probably know this already, but it's also possible to add someone beside yourself as (co)author of a commit, which preserves attribution in things like git annotate. For commandline, git commit --author="who" ...

1. Rename kernel code to be equivalent for CPU and OpenCL also with other implementations.
2. minor improvements
3. The relevant part is the clipping for VH/PQ dirs while mixing.
   As we don't have fully-normalized data the PQ values can be above 1 resulting in some
    - (very subtle) overshoots in bright areas
    - diffs between OpenCL and CPU code because of compiler flags and OpenCL mix() undefined
      for mixers outside the 0->1 range.
   The amount of diffs may be up to 1e-6 for signals in the range of ~1.0 so no need to
   revamp module version.
1. some use of PI float representation
2. more use of dt_fast_hypot()
3. some square instead of powf()
4. some sinf/cosf instead of sin/cos where correct
Fixes a bug leading to wrong data for full VNG/VNG4 demosaicing in dark areas.
@jenshannoschwalm jenshannoschwalm force-pushed the various_fixes_and_maintenance branch from 07c7c96 to 549497f Compare April 15, 2026 03:11
aurelienpierre and others added 2 commits April 15, 2026 05:31
Taken from ansel code ...

Step 1.1 + 1.2: preload one CFA tile and derive the directional discrimination locally
so we avoid materializing two full-frame high-pass buffers in global memory.
Calling kernel with dt interface
@jenshannoschwalm jenshannoschwalm force-pushed the various_fixes_and_maintenance branch from 549497f to f4305ed Compare April 15, 2026 03:35
@jenshannoschwalm
Copy link
Copy Markdown
Collaborator Author

@TurboGit fixed copyrighting as you suggested. Ok to you?

Copy link
Copy Markdown
Member

@TurboGit TurboGit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, thanks!

@TurboGit TurboGit merged commit f05600d into darktable-org:master Apr 15, 2026
5 checks passed
@jenshannoschwalm jenshannoschwalm deleted the various_fixes_and_maintenance branch April 15, 2026 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix pull request fixing a bug OpenCL Related to darktable OpenCL code scope: codebase making darktable source code easier to manage scope: image processing correcting pixels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants