Commit e0ee9e2a authored by Andrey Filippov's avatar Andrey Filippov

CLAUDE: GpuQuadJna override updateQuadCLT + resetBayer (skip null gpuTileProcessor.bayer_set)

updateQuadCLT sets quadCLT + flag-only resetGeometryCorrection*(); skips the base's
gpuTileProcessor.bayer_set clear (N/A natively - bayer re-uploaded each convert). resetBayer no-op.
Fixes the second JNA NPE (updateQuadCLT:263).
Co-Authored-By: 's avatarClaude Opus 4.8 (1M context) <noreply@anthropic.com>
parent e640aa3a
...@@ -55,6 +55,17 @@ public class GpuQuadJna extends GpuQuad { ...@@ -55,6 +55,17 @@ public class GpuQuadJna extends GpuQuad {
// (num_pairs / sel_pairs / color_weights / corr_out_rad) is known at first use. // (num_pairs / sel_pairs / color_weights / corr_out_rad) is known at first use.
} }
// Switch this shared GpuQuad to a different scene's QuadCLT. Base also clears
// gpuTileProcessor.bayer_set (null here) — N/A natively: bayer + geometry are re-uploaded on the next
// exec, kernels are unchanged. resetGeometryCorrection*/() are flag-only (safe to call).
@Override public void updateQuadCLT(final QuadCLT quadCLT) {
this.quadCLT = quadCLT;
resetGeometryCorrection();
resetGeometryCorrectionVector();
}
// Native re-uploads bayer each convert_direct -> nothing to reset (base clears the null gpuTileProcessor flag).
@Override public void resetBayer() { /* no-op for the native backend */ }
/** Native handles for the override implementations (added incrementally). */ /** Native handles for the override implementations (added incrementally). */
protected TpJna lib() { return lib; } protected TpJna lib() { return lib; }
protected Pointer module() { return module; } protected Pointer module() { return module; }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment