diff options
| -rw-r--r-- | cmds/cmd/cmd.cpp | 5 | ||||
| -rw-r--r-- | libs/binder/tests/binderLibTest.cpp | 8 | ||||
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 10 | ||||
| -rw-r--r-- | vulkan/libvulkan/swapchain.cpp | 2 |
4 files changed, 14 insertions, 11 deletions
diff --git a/cmds/cmd/cmd.cpp b/cmds/cmd/cmd.cpp index 7e05d72eae..014c99593c 100644 --- a/cmds/cmd/cmd.cpp +++ b/cmds/cmd/cmd.cpp @@ -35,12 +35,11 @@ #include <fcntl.h> #include <sys/time.h> #include <errno.h> +#include <memory> #include "selinux/selinux.h" #include "selinux/android.h" -#include <UniquePtr.h> - #define DEBUG 0 using namespace android; @@ -55,7 +54,7 @@ struct SecurityContext_Delete { freecon(p); } }; -typedef UniquePtr<char[], SecurityContext_Delete> Unique_SecurityContext; +typedef std::unique_ptr<char[], SecurityContext_Delete> Unique_SecurityContext; class MyShellCallback : public BnShellCallback { diff --git a/libs/binder/tests/binderLibTest.cpp b/libs/binder/tests/binderLibTest.cpp index 757291cd2a..a04869ae62 100644 --- a/libs/binder/tests/binderLibTest.cpp +++ b/libs/binder/tests/binderLibTest.cpp @@ -681,10 +681,10 @@ TEST_F(BinderLibTest, CheckHandleZeroBinderHighBitsZeroCookie) { const flat_binder_object *fb = reply.readObject(false); ASSERT_TRUE(fb != NULL); - EXPECT_EQ(fb->type, BINDER_TYPE_HANDLE); - EXPECT_EQ(ProcessState::self()->getStrongProxyForHandle(fb->handle), m_server); - EXPECT_EQ(fb->cookie, (binder_uintptr_t)0); - EXPECT_EQ(fb->binder >> 32, (binder_uintptr_t)0); + EXPECT_EQ(BINDER_TYPE_HANDLE, fb->type); + EXPECT_EQ(m_server, ProcessState::self()->getStrongProxyForHandle(fb->handle)); + EXPECT_EQ((binder_uintptr_t)0, fb->cookie); + EXPECT_EQ((uint64_t)0, (uint64_t)fb->binder >> 32); } TEST_F(BinderLibTest, FreedBinder) { diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 4623be74da..06e2a7fd35 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -2865,10 +2865,12 @@ void SurfaceFlinger::setTransactionState( } } - // If a synchronous transaction is explicitly requested without any changes, - // force a transaction anyway. This can be used as a flush mechanism for - // previous async transactions. - if (transactionFlags == 0 && (flags & eSynchronous)) { + // If a synchronous transaction is explicitly requested without any changes, force a transaction + // anyway. This can be used as a flush mechanism for previous async transactions. + // Empty animation transaction can be used to simulate back-pressure, so also force a + // transaction for empty animation transactions. + if (transactionFlags == 0 && + ((flags & eSynchronous) || (flags & eAnimation))) { transactionFlags = eTransactionNeeded; } diff --git a/vulkan/libvulkan/swapchain.cpp b/vulkan/libvulkan/swapchain.cpp index 069fb36fd0..a346c0ac76 100644 --- a/vulkan/libvulkan/swapchain.cpp +++ b/vulkan/libvulkan/swapchain.cpp @@ -430,6 +430,8 @@ android_dataspace GetNativeDataspace(VkColorSpaceKHR colorspace) { return HAL_DATASPACE_DISPLAY_P3; case VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT: return HAL_DATASPACE_V0_SCRGB_LINEAR; + case VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT: + return HAL_DATASPACE_V0_SCRGB; case VK_COLOR_SPACE_DCI_P3_LINEAR_EXT: return HAL_DATASPACE_DCI_P3_LINEAR; case VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT: |