diff options
Diffstat (limited to 'gpu_tonemapper/Tonemapper.cpp')
-rw-r--r-- | gpu_tonemapper/Tonemapper.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/gpu_tonemapper/Tonemapper.cpp b/gpu_tonemapper/Tonemapper.cpp index 957c1335..5f2f9741 100644 --- a/gpu_tonemapper/Tonemapper.cpp +++ b/gpu_tonemapper/Tonemapper.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, The Linux Foundation. All rights reserved. + * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. * Not a Contribution. * * Copyright 2015 The Android Open Source Project @@ -32,6 +32,7 @@ Tonemapper::Tonemapper() tonemapTexture = 0; lutXformTexture = 0; programID = 0; + eglImageWrapper = new EGLImageWrapper(); } //----------------------------------------------------------------------------- @@ -41,6 +42,13 @@ Tonemapper::~Tonemapper() engine_deleteInputBuffer(tonemapTexture); engine_deleteInputBuffer(lutXformTexture); engine_deleteProgram(programID); + + // clear EGLImage mappings + if (eglImageWrapper != 0) { + eglImageWrapper->destroy(); + delete eglImageWrapper; + eglImageWrapper = 0; + } } //----------------------------------------------------------------------------- @@ -95,8 +103,8 @@ int Tonemapper::blit(const void *dst, const void *src, int srcFenceFd) engine_bind(); // create eglimages if required - EGLImageBuffer *dst_buffer = EGLImageWrapper::wrap(dst); - EGLImageBuffer *src_buffer = EGLImageWrapper::wrap(src); + EGLImageBuffer *dst_buffer = eglImageWrapper->wrap(dst); + EGLImageBuffer *src_buffer = eglImageWrapper->wrap(src); // bind the program engine_setProgram(programID); |