diff options
| author | 2018-04-04 00:46:46 +0000 | |
|---|---|---|
| committer | 2018-04-04 00:46:46 +0000 | |
| commit | bcb9443c1840d54ca3140c47491f7ad3e6105a75 (patch) | |
| tree | 9ae71e0138cd976bf3cfd8f2f2cce2debb29b298 /libs/nativewindow/AHardwareBuffer.cpp | |
| parent | 25503383adecdc68a101f9d48bf81bcda1d4f67b (diff) | |
| parent | 00bf64278b0d2c13a6f1a2f8616736881414597b (diff) | |
Merge "Do not allocate protected AHardwareBuffers with CPU access." into pi-dev
Diffstat (limited to 'libs/nativewindow/AHardwareBuffer.cpp')
| -rw-r--r-- | libs/nativewindow/AHardwareBuffer.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/nativewindow/AHardwareBuffer.cpp b/libs/nativewindow/AHardwareBuffer.cpp index f37ef289b3..49ffc8f221 100644 --- a/libs/nativewindow/AHardwareBuffer.cpp +++ b/libs/nativewindow/AHardwareBuffer.cpp @@ -60,6 +60,13 @@ int AHardwareBuffer_allocate(const AHardwareBuffer_Desc* desc, AHardwareBuffer** return BAD_VALUE; } + if ((desc->usage & (AHARDWAREBUFFER_USAGE_CPU_READ_MASK | AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK)) && + (desc->usage & AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT)) { + ALOGE("AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT requires AHARDWAREBUFFER_USAGE_CPU_READ_NEVER " + "and AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER"); + return BAD_VALUE; + } + uint64_t usage = AHardwareBuffer_convertToGrallocUsageBits(desc->usage); sp<GraphicBuffer> gbuffer(new GraphicBuffer( desc->width, desc->height, format, desc->layers, usage, |