GPU tonemapper should tonemap only the source pixels within unaligned
width and height. The aligned width and height of the source buffer
can have padding due to alignment requirements, hence GPU tonemapper
should not tonemap on the aligned width and height of the source.
CRs-Fixed: 2048764
Change-Id: I71e9dcca6da2be9663053adc744f9958cc5c1148
- HWC tonemapper passes secure flag to GPU tonemapper to create object
with secure EGL context.
- Tonemapper object gets created with secure EGL context for the tone
mapping of secure HDR layer.
CRs-Fixed: 2048764
Change-Id: I7129505283527dbab17f1e9731d8f141b48bb310
Tone mapper engine setting the current eglContext and never
restored it. With multiple eglContexts used in same thread
by SurfaceFlinger and GPU Tonemapper, it lead to incorrect
eglContexts being used, hence always store the restore the
eglContext in each GPUTonemapper call.
CRs-Fixed: 2009259
Change-Id: Ic9fe73818ddfe3881e5fa82f7853dce130bba24e
- The fd's used for book-keeping can change when the clients
close and reopen sessions, hence they are not reliable and
can lead to incorrect virtual address usage causing
corruption or stale data.
- Hence use ion cookie for book-keeping which is unique for a
given memory fd.
- Use LRU method free up/reuse on reaching max limit.
- Remove Tonemapper_destroy which is not needed anymore.
Change-Id: I5777649b34210977c18ce20c65e0aa2baa8e7d26
Crs-fixed: 1110175
- Use individual EGL contexts for each tone-mapping
session.
- Having one context make multiple sessions serial, this
helps in making this parallel when possible.
- Resolves error messages which happened when the context
was deleted during mirroring.
Change-Id: Ia8738551b4189dccffb233320a9d69fcfd7f0118
Crs-fixed: 1115057
Need to switch to current egl context before deleting the
program other wise it leads to errors and may not clean up
cleanly on deletion.
Change-Id: Ib4c59511e6aec7c7dd7b27ea26e26b189f9bc87f
Crs-fixed: 1113295
Crs-fixed: 1110936
Fix the in-correct handling of the verticies in the forward
tonemap shader which led to the vertical flip of tonemap out.
Change-Id: I17ed607c35f41a349fd39646066b108c792534a0
Crs-fixed: 1106032
Tonemapper does not clear the eglImage/fd mappings in the destructor,
which leads to incorrect usage of those fds, when a tone map session
gets deleted and a new session gets created, leading to artifcats.
CRs-Fixed: 1104823
Change-Id: I9697eff93f9e5f150796a582f471246bca3b2816
Buffers used for gpu tone mapping were getting
leaked as eglImage was not destroyed.
Free eglImage on termination.
Change-Id: I4473bc01efd2d7c8e19b7d3cbcd8330eff591081
Crs-fixed: 1106899
GPU tonemapper library which is used by HWC to tone
map the layers from one Gamut to another based on the
3D LUT.
Change-Id: Iccaa38e40989e832fd3891a24eca494aba696d9a
Crs-fixed: 1094964