Various maintenance for tiling and opencl#21075
Conversation
|
@TurboGit still checking
BTW, Could we add a |
a648af3 to
fedbc45
Compare
|
@TurboGit TIA i just added a third bug-fixing-commit. That's about fixing overestimations of tiling requirements when blending is involved! |
1. Various functions are just internal helpers not used outside of the source scope and thus should not be exposed. dt_opencl_read_host_from_device_rowpitch() dt_opencl_write_host_to_device_rowpitch() 2. Some correct use of #defines and constify
1. dt_print_pipe() got a minor improvement, it now shows a leading `T` in the pipe name if in tiling mode. 2. use dt_print_pipe() variant where automatic display of roi is helping 3. overlap added to logs where helping 4. some logs are shown only in -d verbose mode 5. some logs are also relevant for -d pipe logs 6. added log for skipped tiles in ptp mode 7. added module instance in control logs 8. For extensive debug logs we now have compile time option DT_TILING_DEBUG 9. some constify, subtle simplifications and use of float where intended
If we blend a piece output there are additional requirements for memory to be checked. Some calculations lead to higher results than necessary if no feathering was involved.
b8f2872 to
8bb62f1
Compare
| tiling->align = 1; | ||
|
|
||
| dt_develop_blend_params_t *const bldata = piece->blendop_data; | ||
| if(bldata) |
There was a problem hiding this comment.
Not part of the description on this PR. Just to be sure before when bldata == NULL we were falling back to the end of the routine:
const float basic = 2.5f + outnorm; // in + out + (guide, tmp) + two quarter buffers for the mask
tiling->factor += basic;
tiling->factor_cl += basic;
So at least having 2.5f in factor, now we early return with 0.0f.
That's ok?
There was a problem hiding this comment.
Intended :-) the more important point is, if we blend but do not feather we dont add the 2.5! That was the bad boy leading to larger tiles or even lead to tiling where not required.
A bit of OpenCL maintenance
dt_opencl_read_host_from_device_rowpitch()dt_opencl_write_host_to_device_rowpitch()Improved tiling related logs
dt_print_pipe()got a minor improvement, it now shows a leadingTin the pipe name if in tiling mode.dt_print_pipe()variant where automatic display of roi is helping-d verbosemode-d pipelogsDT_TILING_DEBUG