Loading libs/nativewindow/AHardwareBuffer.cpp +86 −5 Original line number Diff line number Diff line Loading @@ -113,6 +113,22 @@ static_assert( AHARDWAREBUFFER_FORMAT_R10G10B10A10_UNORM, "HAL and AHardwareBuffer pixel format don't match"); static enum AHardwareBufferStatus filterStatus(status_t status) { switch (status) { case STATUS_OK: return AHARDWAREBUFFER_STATUS_OK; case STATUS_NO_MEMORY: return AHARDWAREBUFFER_STATUS_NO_MEMORY; case STATUS_BAD_VALUE: return AHARDWAREBUFFER_STATUS_BAD_VALUE; case STATUS_UNKNOWN_TRANSACTION: case STATUS_INVALID_OPERATION: return AHARDWAREBUFFER_STATUS_UNSUPPORTED; default: return AHARDWAREBUFFER_STATUS_UNKNOWN_ERROR; } } // ---------------------------------------------------------------------------- // Public functions // ---------------------------------------------------------------------------- Loading Loading @@ -511,6 +527,24 @@ binder_status_t AHardwareBuffer_writeToParcel(const AHardwareBuffer* _Nonnull bu return AParcel_viewPlatformParcel(parcel)->write(*gb); } ADataSpace AHardwareBuffer_getDataSpace(const AHardwareBuffer* _Nonnull buffer) { const GraphicBuffer* gb = AHardwareBuffer_to_GraphicBuffer(buffer); if (!gb) return ADATASPACE_UNKNOWN; ui::Dataspace dataspace = ui::Dataspace::UNKNOWN; status_t status = gb->getDataspace(&dataspace); if (status != OK) { return ADATASPACE_UNKNOWN; } return static_cast<ADataSpace>(dataspace); } enum AHardwareBufferStatus AHardwareBuffer_setDataSpace(AHardwareBuffer* buffer, ADataSpace dataspace) { GraphicBuffer* gb = AHardwareBuffer_to_GraphicBuffer(buffer); auto& mapper = GraphicBufferMapper::get(); return filterStatus(mapper.setDataspace(gb->handle, static_cast<ui::Dataspace>(dataspace))); } // ---------------------------------------------------------------------------- // VNDK functions // ---------------------------------------------------------------------------- Loading Loading @@ -552,6 +586,56 @@ int AHardwareBuffer_createFromHandle(const AHardwareBuffer_Desc* desc, return NO_ERROR; } enum AHardwareBufferStatus AHardwareBuffer_allocate2( const AHardwareBuffer_Desc* desc, const AHardwareBufferLongOptions* additionalOptions, size_t additionalOptionsSize, AHardwareBuffer** outBuffer) { (void)additionalOptions; (void)additionalOptionsSize; if (!outBuffer || !desc) return AHARDWAREBUFFER_STATUS_BAD_VALUE; if (!AHardwareBuffer_isValidDescription(desc, /*log=*/true)) { return AHARDWAREBUFFER_STATUS_BAD_VALUE; } int format = AHardwareBuffer_convertToPixelFormat(desc->format); uint64_t usage = AHardwareBuffer_convertToGrallocUsageBits(desc->usage); std::vector<GraphicBufferAllocator::AdditionalOptions> extras; extras.reserve(additionalOptionsSize); for (size_t i = 0; i < additionalOptionsSize; i++) { extras.push_back(GraphicBufferAllocator::AdditionalOptions{additionalOptions[i].name, additionalOptions[i].value}); } const auto extrasCount = extras.size(); auto gbuffer = sp<GraphicBuffer>::make(GraphicBufferAllocator::AllocationRequest{ .importBuffer = true, .width = desc->width, .height = desc->height, .format = format, .layerCount = desc->layers, .usage = usage, .requestorName = std::string("AHardwareBuffer pid [") + std::to_string(getpid()) + "]", .extras = std::move(extras), }); status_t err = gbuffer->initCheck(); if (err != 0 || gbuffer->handle == nullptr) { if (err == NO_MEMORY) { GraphicBuffer::dumpAllocationsToSystemLog(); } ALOGE("GraphicBuffer(w=%u, h=%u, lc=%u, extrasCount=%zd) failed (%s), handle=%p", desc->width, desc->height, desc->layers, extrasCount, strerror(-err), gbuffer->handle); return filterStatus(err == 0 ? UNKNOWN_ERROR : err); } *outBuffer = AHardwareBuffer_from_GraphicBuffer(gbuffer.get()); // Ensure the buffer doesn't get destroyed when the sp<> goes away. AHardwareBuffer_acquire(*outBuffer); return AHARDWAREBUFFER_STATUS_OK; } // ---------------------------------------------------------------------------- // Helpers implementation // ---------------------------------------------------------------------------- Loading Loading @@ -652,12 +736,9 @@ uint32_t AHardwareBuffer_convertToPixelFormat(uint32_t ahardwarebuffer_format) { return ahardwarebuffer_format; } // TODO: Remove, this is just to make an overly aggressive ABI checker happy int32_t AHardwareBuffer_getDataSpace(AHardwareBuffer* buffer) { GraphicBuffer* gb = AHardwareBuffer_to_GraphicBuffer(buffer); auto& mapper = GraphicBufferMapper::get(); ui::Dataspace dataspace = ui::Dataspace::UNKNOWN; mapper.getDataspace(gb->handle, &dataspace); return static_cast<int32_t>(dataspace); return ::AHardwareBuffer_getDataSpace(buffer); } uint64_t AHardwareBuffer_convertToGrallocUsageBits(uint64_t usage) { Loading libs/nativewindow/ANativeWindow.cpp +50 −25 Original line number Diff line number Diff line Loading @@ -152,31 +152,56 @@ int32_t ANativeWindow_setBuffersTransform(ANativeWindow* window, int32_t transfo int32_t ANativeWindow_setBuffersDataSpace(ANativeWindow* window, int32_t dataSpace) { static_assert(static_cast<int>(ADATASPACE_UNKNOWN) == static_cast<int>(HAL_DATASPACE_UNKNOWN)); static_assert(static_cast<int>(STANDARD_MASK) == static_cast<int>(HAL_DATASPACE_STANDARD_MASK)); static_assert(static_cast<int>(STANDARD_UNSPECIFIED) == static_cast<int>(HAL_DATASPACE_STANDARD_UNSPECIFIED)); static_assert(static_cast<int>(STANDARD_BT709) == static_cast<int>(HAL_DATASPACE_STANDARD_BT709)); static_assert(static_cast<int>(STANDARD_BT601_625) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_625)); static_assert(static_cast<int>(STANDARD_BT601_625_UNADJUSTED) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_625_UNADJUSTED)); static_assert(static_cast<int>(STANDARD_BT601_525) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_525)); static_assert(static_cast<int>(STANDARD_BT601_525_UNADJUSTED) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_525_UNADJUSTED)); static_assert(static_cast<int>(STANDARD_BT470M) == static_cast<int>(HAL_DATASPACE_STANDARD_BT470M)); static_assert(static_cast<int>(STANDARD_FILM) == static_cast<int>(HAL_DATASPACE_STANDARD_FILM)); static_assert(static_cast<int>(STANDARD_DCI_P3) == static_cast<int>(HAL_DATASPACE_STANDARD_DCI_P3)); static_assert(static_cast<int>(STANDARD_ADOBE_RGB) == static_cast<int>(HAL_DATASPACE_STANDARD_ADOBE_RGB)); static_assert(static_cast<int>(TRANSFER_MASK) == static_cast<int>(HAL_DATASPACE_TRANSFER_MASK)); static_assert(static_cast<int>(TRANSFER_UNSPECIFIED) == static_cast<int>(HAL_DATASPACE_TRANSFER_UNSPECIFIED)); static_assert(static_cast<int>(TRANSFER_LINEAR) == static_cast<int>(HAL_DATASPACE_TRANSFER_LINEAR)); static_assert(static_cast<int>(TRANSFER_SMPTE_170M) == static_cast<int>(HAL_DATASPACE_TRANSFER_SMPTE_170M)); static_assert(static_cast<int>(TRANSFER_GAMMA2_2) == static_cast<int>(HAL_DATASPACE_TRANSFER_GAMMA2_2)); static_assert(static_cast<int>(TRANSFER_GAMMA2_6) == static_cast<int>(HAL_DATASPACE_TRANSFER_GAMMA2_6)); static_assert(static_cast<int>(TRANSFER_GAMMA2_8) == static_cast<int>(HAL_DATASPACE_TRANSFER_GAMMA2_8)); static_assert(static_cast<int>(TRANSFER_ST2084) == static_cast<int>(HAL_DATASPACE_TRANSFER_ST2084)); static_assert(static_cast<int>(TRANSFER_HLG) == static_cast<int>(HAL_DATASPACE_TRANSFER_HLG)); static_assert(static_cast<int>(RANGE_MASK) == static_cast<int>(HAL_DATASPACE_RANGE_MASK)); static_assert(static_cast<int>(RANGE_UNSPECIFIED) == static_cast<int>(HAL_DATASPACE_RANGE_UNSPECIFIED)); static_assert(static_cast<int>(RANGE_FULL) == static_cast<int>(HAL_DATASPACE_RANGE_FULL)); static_assert(static_cast<int>(RANGE_LIMITED) == static_cast<int>(HAL_DATASPACE_RANGE_LIMITED)); static_assert(static_cast<int>(RANGE_EXTENDED) == static_cast<int>(HAL_DATASPACE_RANGE_EXTENDED)); static_assert(static_cast<int>(ADATASPACE_STANDARD_MASK) == static_cast<int>(HAL_DATASPACE_STANDARD_MASK)); static_assert(static_cast<int>(ADATASPACE_STANDARD_UNSPECIFIED) == static_cast<int>(HAL_DATASPACE_STANDARD_UNSPECIFIED)); static_assert(static_cast<int>(ADATASPACE_STANDARD_BT709) == static_cast<int>(HAL_DATASPACE_STANDARD_BT709)); static_assert(static_cast<int>(ADATASPACE_STANDARD_BT601_625) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_625)); static_assert(static_cast<int>(ADATASPACE_STANDARD_BT601_625_UNADJUSTED) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_625_UNADJUSTED)); static_assert(static_cast<int>(ADATASPACE_STANDARD_BT601_525) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_525)); static_assert(static_cast<int>(ADATASPACE_STANDARD_BT601_525_UNADJUSTED) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_525_UNADJUSTED)); static_assert(static_cast<int>(ADATASPACE_STANDARD_BT470M) == static_cast<int>(HAL_DATASPACE_STANDARD_BT470M)); static_assert(static_cast<int>(ADATASPACE_STANDARD_FILM) == static_cast<int>(HAL_DATASPACE_STANDARD_FILM)); static_assert(static_cast<int>(ADATASPACE_STANDARD_DCI_P3) == static_cast<int>(HAL_DATASPACE_STANDARD_DCI_P3)); static_assert(static_cast<int>(ADATASPACE_STANDARD_ADOBE_RGB) == static_cast<int>(HAL_DATASPACE_STANDARD_ADOBE_RGB)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_MASK) == static_cast<int>(HAL_DATASPACE_TRANSFER_MASK)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_UNSPECIFIED) == static_cast<int>(HAL_DATASPACE_TRANSFER_UNSPECIFIED)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_LINEAR) == static_cast<int>(HAL_DATASPACE_TRANSFER_LINEAR)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_SMPTE_170M) == static_cast<int>(HAL_DATASPACE_TRANSFER_SMPTE_170M)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_GAMMA2_2) == static_cast<int>(HAL_DATASPACE_TRANSFER_GAMMA2_2)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_GAMMA2_6) == static_cast<int>(HAL_DATASPACE_TRANSFER_GAMMA2_6)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_GAMMA2_8) == static_cast<int>(HAL_DATASPACE_TRANSFER_GAMMA2_8)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_ST2084) == static_cast<int>(HAL_DATASPACE_TRANSFER_ST2084)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_HLG) == static_cast<int>(HAL_DATASPACE_TRANSFER_HLG)); static_assert(static_cast<int>(ADATASPACE_RANGE_MASK) == static_cast<int>(HAL_DATASPACE_RANGE_MASK)); static_assert(static_cast<int>(ADATASPACE_RANGE_UNSPECIFIED) == static_cast<int>(HAL_DATASPACE_RANGE_UNSPECIFIED)); static_assert(static_cast<int>(ADATASPACE_RANGE_FULL) == static_cast<int>(HAL_DATASPACE_RANGE_FULL)); static_assert(static_cast<int>(ADATASPACE_RANGE_LIMITED) == static_cast<int>(HAL_DATASPACE_RANGE_LIMITED)); static_assert(static_cast<int>(ADATASPACE_RANGE_EXTENDED) == static_cast<int>(HAL_DATASPACE_RANGE_EXTENDED)); static_assert(static_cast<int>(ADATASPACE_SRGB) == static_cast<int>(HAL_DATASPACE_V0_SRGB)); static_assert(static_cast<int>(ADATASPACE_SCRGB) == static_cast<int>(HAL_DATASPACE_V0_SCRGB)); static_assert(static_cast<int>(ADATASPACE_DISPLAY_P3) == static_cast<int>(HAL_DATASPACE_DISPLAY_P3)); Loading libs/nativewindow/include-private/private/android/AHardwareBufferHelpers.h +2 −7 Original line number Diff line number Diff line Loading @@ -27,8 +27,8 @@ #include <stdint.h> struct AHardwareBuffer; struct AHardwareBuffer_Desc; #include <vndk/hardware_buffer.h> struct ANativeWindowBuffer; namespace android { Loading @@ -46,11 +46,6 @@ uint32_t AHardwareBuffer_convertFromPixelFormat(uint32_t format); // convert HAL format to AHardwareBuffer format (note: this is a no-op) uint32_t AHardwareBuffer_convertToPixelFormat(uint32_t format); // retrieves a dataspace from the AHardwareBuffer metadata, if the device // support gralloc metadata. Returns UNKNOWN if gralloc metadata is not // supported. int32_t AHardwareBuffer_getDataSpace(AHardwareBuffer* buffer); // convert AHardwareBuffer usage bits to HAL usage bits (note: this is a no-op) uint64_t AHardwareBuffer_convertFromGrallocUsageBits(uint64_t usage); Loading libs/nativewindow/include/android/data_space.h +94 −48 File changed.Preview size limit exceeded, changes collapsed. Show changes libs/nativewindow/include/android/hardware_buffer.h +3 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,9 @@ #define ANDROID_HARDWARE_BUFFER_H #include <android/rect.h> #define ADATASPACE_SKIP_LEGACY_DEFINES #include <android/data_space.h> #undef ADATASPACE_SKIP_LEGACY_DEFINES #include <inttypes.h> #include <sys/cdefs.h> Loading Loading
libs/nativewindow/AHardwareBuffer.cpp +86 −5 Original line number Diff line number Diff line Loading @@ -113,6 +113,22 @@ static_assert( AHARDWAREBUFFER_FORMAT_R10G10B10A10_UNORM, "HAL and AHardwareBuffer pixel format don't match"); static enum AHardwareBufferStatus filterStatus(status_t status) { switch (status) { case STATUS_OK: return AHARDWAREBUFFER_STATUS_OK; case STATUS_NO_MEMORY: return AHARDWAREBUFFER_STATUS_NO_MEMORY; case STATUS_BAD_VALUE: return AHARDWAREBUFFER_STATUS_BAD_VALUE; case STATUS_UNKNOWN_TRANSACTION: case STATUS_INVALID_OPERATION: return AHARDWAREBUFFER_STATUS_UNSUPPORTED; default: return AHARDWAREBUFFER_STATUS_UNKNOWN_ERROR; } } // ---------------------------------------------------------------------------- // Public functions // ---------------------------------------------------------------------------- Loading Loading @@ -511,6 +527,24 @@ binder_status_t AHardwareBuffer_writeToParcel(const AHardwareBuffer* _Nonnull bu return AParcel_viewPlatformParcel(parcel)->write(*gb); } ADataSpace AHardwareBuffer_getDataSpace(const AHardwareBuffer* _Nonnull buffer) { const GraphicBuffer* gb = AHardwareBuffer_to_GraphicBuffer(buffer); if (!gb) return ADATASPACE_UNKNOWN; ui::Dataspace dataspace = ui::Dataspace::UNKNOWN; status_t status = gb->getDataspace(&dataspace); if (status != OK) { return ADATASPACE_UNKNOWN; } return static_cast<ADataSpace>(dataspace); } enum AHardwareBufferStatus AHardwareBuffer_setDataSpace(AHardwareBuffer* buffer, ADataSpace dataspace) { GraphicBuffer* gb = AHardwareBuffer_to_GraphicBuffer(buffer); auto& mapper = GraphicBufferMapper::get(); return filterStatus(mapper.setDataspace(gb->handle, static_cast<ui::Dataspace>(dataspace))); } // ---------------------------------------------------------------------------- // VNDK functions // ---------------------------------------------------------------------------- Loading Loading @@ -552,6 +586,56 @@ int AHardwareBuffer_createFromHandle(const AHardwareBuffer_Desc* desc, return NO_ERROR; } enum AHardwareBufferStatus AHardwareBuffer_allocate2( const AHardwareBuffer_Desc* desc, const AHardwareBufferLongOptions* additionalOptions, size_t additionalOptionsSize, AHardwareBuffer** outBuffer) { (void)additionalOptions; (void)additionalOptionsSize; if (!outBuffer || !desc) return AHARDWAREBUFFER_STATUS_BAD_VALUE; if (!AHardwareBuffer_isValidDescription(desc, /*log=*/true)) { return AHARDWAREBUFFER_STATUS_BAD_VALUE; } int format = AHardwareBuffer_convertToPixelFormat(desc->format); uint64_t usage = AHardwareBuffer_convertToGrallocUsageBits(desc->usage); std::vector<GraphicBufferAllocator::AdditionalOptions> extras; extras.reserve(additionalOptionsSize); for (size_t i = 0; i < additionalOptionsSize; i++) { extras.push_back(GraphicBufferAllocator::AdditionalOptions{additionalOptions[i].name, additionalOptions[i].value}); } const auto extrasCount = extras.size(); auto gbuffer = sp<GraphicBuffer>::make(GraphicBufferAllocator::AllocationRequest{ .importBuffer = true, .width = desc->width, .height = desc->height, .format = format, .layerCount = desc->layers, .usage = usage, .requestorName = std::string("AHardwareBuffer pid [") + std::to_string(getpid()) + "]", .extras = std::move(extras), }); status_t err = gbuffer->initCheck(); if (err != 0 || gbuffer->handle == nullptr) { if (err == NO_MEMORY) { GraphicBuffer::dumpAllocationsToSystemLog(); } ALOGE("GraphicBuffer(w=%u, h=%u, lc=%u, extrasCount=%zd) failed (%s), handle=%p", desc->width, desc->height, desc->layers, extrasCount, strerror(-err), gbuffer->handle); return filterStatus(err == 0 ? UNKNOWN_ERROR : err); } *outBuffer = AHardwareBuffer_from_GraphicBuffer(gbuffer.get()); // Ensure the buffer doesn't get destroyed when the sp<> goes away. AHardwareBuffer_acquire(*outBuffer); return AHARDWAREBUFFER_STATUS_OK; } // ---------------------------------------------------------------------------- // Helpers implementation // ---------------------------------------------------------------------------- Loading Loading @@ -652,12 +736,9 @@ uint32_t AHardwareBuffer_convertToPixelFormat(uint32_t ahardwarebuffer_format) { return ahardwarebuffer_format; } // TODO: Remove, this is just to make an overly aggressive ABI checker happy int32_t AHardwareBuffer_getDataSpace(AHardwareBuffer* buffer) { GraphicBuffer* gb = AHardwareBuffer_to_GraphicBuffer(buffer); auto& mapper = GraphicBufferMapper::get(); ui::Dataspace dataspace = ui::Dataspace::UNKNOWN; mapper.getDataspace(gb->handle, &dataspace); return static_cast<int32_t>(dataspace); return ::AHardwareBuffer_getDataSpace(buffer); } uint64_t AHardwareBuffer_convertToGrallocUsageBits(uint64_t usage) { Loading
libs/nativewindow/ANativeWindow.cpp +50 −25 Original line number Diff line number Diff line Loading @@ -152,31 +152,56 @@ int32_t ANativeWindow_setBuffersTransform(ANativeWindow* window, int32_t transfo int32_t ANativeWindow_setBuffersDataSpace(ANativeWindow* window, int32_t dataSpace) { static_assert(static_cast<int>(ADATASPACE_UNKNOWN) == static_cast<int>(HAL_DATASPACE_UNKNOWN)); static_assert(static_cast<int>(STANDARD_MASK) == static_cast<int>(HAL_DATASPACE_STANDARD_MASK)); static_assert(static_cast<int>(STANDARD_UNSPECIFIED) == static_cast<int>(HAL_DATASPACE_STANDARD_UNSPECIFIED)); static_assert(static_cast<int>(STANDARD_BT709) == static_cast<int>(HAL_DATASPACE_STANDARD_BT709)); static_assert(static_cast<int>(STANDARD_BT601_625) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_625)); static_assert(static_cast<int>(STANDARD_BT601_625_UNADJUSTED) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_625_UNADJUSTED)); static_assert(static_cast<int>(STANDARD_BT601_525) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_525)); static_assert(static_cast<int>(STANDARD_BT601_525_UNADJUSTED) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_525_UNADJUSTED)); static_assert(static_cast<int>(STANDARD_BT470M) == static_cast<int>(HAL_DATASPACE_STANDARD_BT470M)); static_assert(static_cast<int>(STANDARD_FILM) == static_cast<int>(HAL_DATASPACE_STANDARD_FILM)); static_assert(static_cast<int>(STANDARD_DCI_P3) == static_cast<int>(HAL_DATASPACE_STANDARD_DCI_P3)); static_assert(static_cast<int>(STANDARD_ADOBE_RGB) == static_cast<int>(HAL_DATASPACE_STANDARD_ADOBE_RGB)); static_assert(static_cast<int>(TRANSFER_MASK) == static_cast<int>(HAL_DATASPACE_TRANSFER_MASK)); static_assert(static_cast<int>(TRANSFER_UNSPECIFIED) == static_cast<int>(HAL_DATASPACE_TRANSFER_UNSPECIFIED)); static_assert(static_cast<int>(TRANSFER_LINEAR) == static_cast<int>(HAL_DATASPACE_TRANSFER_LINEAR)); static_assert(static_cast<int>(TRANSFER_SMPTE_170M) == static_cast<int>(HAL_DATASPACE_TRANSFER_SMPTE_170M)); static_assert(static_cast<int>(TRANSFER_GAMMA2_2) == static_cast<int>(HAL_DATASPACE_TRANSFER_GAMMA2_2)); static_assert(static_cast<int>(TRANSFER_GAMMA2_6) == static_cast<int>(HAL_DATASPACE_TRANSFER_GAMMA2_6)); static_assert(static_cast<int>(TRANSFER_GAMMA2_8) == static_cast<int>(HAL_DATASPACE_TRANSFER_GAMMA2_8)); static_assert(static_cast<int>(TRANSFER_ST2084) == static_cast<int>(HAL_DATASPACE_TRANSFER_ST2084)); static_assert(static_cast<int>(TRANSFER_HLG) == static_cast<int>(HAL_DATASPACE_TRANSFER_HLG)); static_assert(static_cast<int>(RANGE_MASK) == static_cast<int>(HAL_DATASPACE_RANGE_MASK)); static_assert(static_cast<int>(RANGE_UNSPECIFIED) == static_cast<int>(HAL_DATASPACE_RANGE_UNSPECIFIED)); static_assert(static_cast<int>(RANGE_FULL) == static_cast<int>(HAL_DATASPACE_RANGE_FULL)); static_assert(static_cast<int>(RANGE_LIMITED) == static_cast<int>(HAL_DATASPACE_RANGE_LIMITED)); static_assert(static_cast<int>(RANGE_EXTENDED) == static_cast<int>(HAL_DATASPACE_RANGE_EXTENDED)); static_assert(static_cast<int>(ADATASPACE_STANDARD_MASK) == static_cast<int>(HAL_DATASPACE_STANDARD_MASK)); static_assert(static_cast<int>(ADATASPACE_STANDARD_UNSPECIFIED) == static_cast<int>(HAL_DATASPACE_STANDARD_UNSPECIFIED)); static_assert(static_cast<int>(ADATASPACE_STANDARD_BT709) == static_cast<int>(HAL_DATASPACE_STANDARD_BT709)); static_assert(static_cast<int>(ADATASPACE_STANDARD_BT601_625) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_625)); static_assert(static_cast<int>(ADATASPACE_STANDARD_BT601_625_UNADJUSTED) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_625_UNADJUSTED)); static_assert(static_cast<int>(ADATASPACE_STANDARD_BT601_525) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_525)); static_assert(static_cast<int>(ADATASPACE_STANDARD_BT601_525_UNADJUSTED) == static_cast<int>(HAL_DATASPACE_STANDARD_BT601_525_UNADJUSTED)); static_assert(static_cast<int>(ADATASPACE_STANDARD_BT470M) == static_cast<int>(HAL_DATASPACE_STANDARD_BT470M)); static_assert(static_cast<int>(ADATASPACE_STANDARD_FILM) == static_cast<int>(HAL_DATASPACE_STANDARD_FILM)); static_assert(static_cast<int>(ADATASPACE_STANDARD_DCI_P3) == static_cast<int>(HAL_DATASPACE_STANDARD_DCI_P3)); static_assert(static_cast<int>(ADATASPACE_STANDARD_ADOBE_RGB) == static_cast<int>(HAL_DATASPACE_STANDARD_ADOBE_RGB)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_MASK) == static_cast<int>(HAL_DATASPACE_TRANSFER_MASK)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_UNSPECIFIED) == static_cast<int>(HAL_DATASPACE_TRANSFER_UNSPECIFIED)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_LINEAR) == static_cast<int>(HAL_DATASPACE_TRANSFER_LINEAR)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_SMPTE_170M) == static_cast<int>(HAL_DATASPACE_TRANSFER_SMPTE_170M)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_GAMMA2_2) == static_cast<int>(HAL_DATASPACE_TRANSFER_GAMMA2_2)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_GAMMA2_6) == static_cast<int>(HAL_DATASPACE_TRANSFER_GAMMA2_6)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_GAMMA2_8) == static_cast<int>(HAL_DATASPACE_TRANSFER_GAMMA2_8)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_ST2084) == static_cast<int>(HAL_DATASPACE_TRANSFER_ST2084)); static_assert(static_cast<int>(ADATASPACE_TRANSFER_HLG) == static_cast<int>(HAL_DATASPACE_TRANSFER_HLG)); static_assert(static_cast<int>(ADATASPACE_RANGE_MASK) == static_cast<int>(HAL_DATASPACE_RANGE_MASK)); static_assert(static_cast<int>(ADATASPACE_RANGE_UNSPECIFIED) == static_cast<int>(HAL_DATASPACE_RANGE_UNSPECIFIED)); static_assert(static_cast<int>(ADATASPACE_RANGE_FULL) == static_cast<int>(HAL_DATASPACE_RANGE_FULL)); static_assert(static_cast<int>(ADATASPACE_RANGE_LIMITED) == static_cast<int>(HAL_DATASPACE_RANGE_LIMITED)); static_assert(static_cast<int>(ADATASPACE_RANGE_EXTENDED) == static_cast<int>(HAL_DATASPACE_RANGE_EXTENDED)); static_assert(static_cast<int>(ADATASPACE_SRGB) == static_cast<int>(HAL_DATASPACE_V0_SRGB)); static_assert(static_cast<int>(ADATASPACE_SCRGB) == static_cast<int>(HAL_DATASPACE_V0_SCRGB)); static_assert(static_cast<int>(ADATASPACE_DISPLAY_P3) == static_cast<int>(HAL_DATASPACE_DISPLAY_P3)); Loading
libs/nativewindow/include-private/private/android/AHardwareBufferHelpers.h +2 −7 Original line number Diff line number Diff line Loading @@ -27,8 +27,8 @@ #include <stdint.h> struct AHardwareBuffer; struct AHardwareBuffer_Desc; #include <vndk/hardware_buffer.h> struct ANativeWindowBuffer; namespace android { Loading @@ -46,11 +46,6 @@ uint32_t AHardwareBuffer_convertFromPixelFormat(uint32_t format); // convert HAL format to AHardwareBuffer format (note: this is a no-op) uint32_t AHardwareBuffer_convertToPixelFormat(uint32_t format); // retrieves a dataspace from the AHardwareBuffer metadata, if the device // support gralloc metadata. Returns UNKNOWN if gralloc metadata is not // supported. int32_t AHardwareBuffer_getDataSpace(AHardwareBuffer* buffer); // convert AHardwareBuffer usage bits to HAL usage bits (note: this is a no-op) uint64_t AHardwareBuffer_convertFromGrallocUsageBits(uint64_t usage); Loading
libs/nativewindow/include/android/data_space.h +94 −48 File changed.Preview size limit exceeded, changes collapsed. Show changes
libs/nativewindow/include/android/hardware_buffer.h +3 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,9 @@ #define ANDROID_HARDWARE_BUFFER_H #include <android/rect.h> #define ADATASPACE_SKIP_LEGACY_DEFINES #include <android/data_space.h> #undef ADATASPACE_SKIP_LEGACY_DEFINES #include <inttypes.h> #include <sys/cdefs.h> Loading