android_external_minigbm/cros_gralloc/gralloc4/CrosGralloc4Utils.h
Jason Macnak 3957b416fa Fix convertToFenceHandle()
... to not return address to a local stack variable.

Noticed by dustingreen@

Bug: b/287536665
Test: cvd start && vts -m VtsHalGraphicsMapperV4_0Target
Change-Id: Iba486270a7ae3f8fbe50b41e3ea4c32aa0c4acad
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/4615434
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Auto-Submit: Jason Macnak <natsu@google.com>
Tested-by: Jason Macnak <natsu@google.com>
Commit-Queue: Jason Macnak <natsu@google.com>
2023-06-16 20:31:01 +00:00

40 lines
1.5 KiB
C++

/*
* Copyright 2020 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include <string>
#include <vector>
#include <aidl/android/hardware/graphics/common/PlaneLayout.h>
#include <android/hardware/graphics/common/1.2/types.h>
#include <android/hardware/graphics/mapper/4.0/IMapper.h>
#include <hidl/HidlSupport.h>
struct cros_gralloc_buffer_descriptor;
std::string getPixelFormatString(android::hardware::graphics::common::V1_2::PixelFormat format);
std::string getUsageString(
android::hardware::hidl_bitfield<android::hardware::graphics::common::V1_2::BufferUsage>
usage);
int convertToDrmFormat(android::hardware::graphics::common::V1_2::PixelFormat format,
uint32_t* outDrmFormat);
int convertToBufferUsage(uint64_t grallocUsage, uint64_t* outBufferUsage);
int convertToCrosDescriptor(
const android::hardware::graphics::mapper::V4_0::IMapper::BufferDescriptorInfo& descriptor,
struct cros_gralloc_buffer_descriptor* outCrosDescriptor);
int convertToMapUsage(uint64_t grallocUsage, uint32_t* outMapUsage);
int convertToFenceFd(const android::hardware::hidl_handle& fence_handle, int* out_fence_fd);
android::hardware::hidl_handle convertToFenceHandle(int fence_fd, char* native_handle_storage);
int getPlaneLayouts(
uint32_t drm_format,
std::vector<aidl::android::hardware::graphics::common::PlaneLayout>* out_layouts);