Gpu如何将旋转后的buffer方向告诉给Surfaceflinger

 

[email protected]

|--    [email protected]

[email protected]

     |--QueueBufferInput input(timestamp, isAutoTimestamp,crop, mScalingMode, mTransform, mSwapIntervalZero, fence)

     |--mGraphicBufferProducer->queueBuffer(i, input, &output).

[email protected]

  updateTexImage@GLConsumer.cpp

      |--acquireBufferLocked@GLConsumer.cpp

      |--updateAndReleaseLocked@GLConsumer.cpp

          |-- mCurrentTransform = item.mTransform;

[email protected]

    |---

        const uint32_t transform(mSurfaceFlingerConsumer->getCurrentTransform());
        const uint32_t scalingMode(mSurfaceFlingerConsumer->getCurrentScalingMode());
        if ((crop != mCurrentCrop) ||
            (transform != mCurrentTransform) ||
            (scalingMode != mCurrentScalingMode))
        {
            mCurrentCrop = crop;
            mCurrentTransform = transform;
            mCurrentScalingMode = scalingMode;
            recomputeVisibleRegions = true;
        }
 

        

你可能感兴趣的:(android)