1 #pragma once 2 3 #include <aidl/android/hardware/graphics/common/BufferUsage.h> 4 5 #include <cstdint> 6 7 namespace pixel::graphics { 8 9 using FrameworkUsage = aidl::android::hardware::graphics::common::BufferUsage; 10 11 #define MapUsage(f) f = static_cast<uint32_t>(FrameworkUsage::f) 12 13 enum Usage : uint64_t { 14 MapUsage(CPU_READ_MASK), 15 MapUsage(CPU_READ_NEVER), 16 MapUsage(CPU_READ_RARELY), 17 MapUsage(CPU_READ_OFTEN), 18 MapUsage(CPU_WRITE_MASK), 19 MapUsage(CPU_WRITE_NEVER), 20 MapUsage(CPU_WRITE_RARELY), 21 MapUsage(CPU_WRITE_OFTEN), 22 MapUsage(GPU_TEXTURE), 23 MapUsage(GPU_RENDER_TARGET), 24 MapUsage(COMPOSER_OVERLAY), 25 MapUsage(COMPOSER_CLIENT_TARGET), 26 MapUsage(PROTECTED), 27 MapUsage(COMPOSER_CURSOR), 28 MapUsage(VIDEO_ENCODER), 29 MapUsage(CAMERA_OUTPUT), 30 MapUsage(CAMERA_INPUT), 31 MapUsage(RENDERSCRIPT), 32 MapUsage(VIDEO_DECODER), 33 MapUsage(SENSOR_DIRECT_DATA), 34 MapUsage(GPU_DATA_BUFFER), 35 MapUsage(GPU_CUBE_MAP), 36 MapUsage(GPU_MIPMAP_COMPLETE), 37 MapUsage(HW_IMAGE_ENCODER), 38 MapUsage(FRONT_BUFFER), 39 MapUsage(VENDOR_MASK), 40 MapUsage(VENDOR_MASK_HI), 41 42 // Pixel specific usage 43 NO_COMPRESSION = 1ULL << 29, 44 }; 45 46 #undef MapUsage 47 48 } // namespace pixel::graphics 49