Skip to content
Snippets Groups Projects
  1. Jan 24, 2024
    • Dominik Laskowski's avatar
      SF: Initialize all displays on boot/restart · a42d5399
      Dominik Laskowski authored
      Generalize SF::initializeDisplays (called on boot and restart) to:
          - Apply the transaction that clears DisplayState to all displays.
          - Power on all displays.
      
      The first change removes a special case for the primary display, setting
      the stage for multi-display boot animation. Each display is assigned its
      own LayerStack, and set up with a projection to its active resolution.
      
      The second change fixes a bug where DisplayCapability::BRIGHTNESS was
      not detected for secondary displays present during boot. SF queries
      capabilities when a display is first powered on, but DM asks SF about
      brightness when the display is hotplugged, regardless of power mode.
      The general fix (covering external displays) is for DM to defer its
      query, but this stopgap covers internal displays.
      
      Revert I3a2eae4efc4a5c6113700a9ca9e9b261e364a878, which let the initial
      power mode be std::nullopt. This effectively forced DM's first request
      to setPowerMode(<rear display>, OFF), which would otherwise be ignored
      because OFF had been the default power mode on DisplayDevice creation.
      However, that special case confusingly took the same branch as the OFF
      to ON transition, and is no longer needed now that all displays are ON
      (from SF's perspective, not just HWC's) until the boot animation ends.
      
      Fixes: 267633741
      Fixes: 150889228
      Bug: 269510347
      Test: Boot unfolded and folded.
      Test: Induce system_server crash.
      Test: InitializeDisplaysTest.initializesDisplays
      Change-Id: I5277a629f39b3b285452aa84d49ff84e3dc957ca
      a42d5399
  2. Jan 22, 2024
  3. Jan 20, 2024
    • Vishnu Nair's avatar
      Clean up dead code related to IGBP · 8af3ec98
      Vishnu Nair authored
      SF no longer creates IGBP for clients since blast was rolled out.
      This cl cleans up some dead code related to IGBPs.
      
      Test: presubmit
      Bug: 294915480
      Change-Id: I60bae115b77527f31db514fe58c67bce4e2b3592
      8af3ec98
  4. Jan 19, 2024
  5. Jan 18, 2024
  6. Jan 17, 2024
    • Prabir Pradhan's avatar
      InputDispatcher: Add InputTracerInterface for tracing input events · abcdf5cf
      Prabir Pradhan authored
      The interface documents how the tracer will interact with
      InputDispatcher.
      
      Bug: 210460522
      Test: Build
      Change-Id: Id97f9b0851f1248956b95e8b18b2302ecff1bff5
      abcdf5cf
    • Dominik Laskowski's avatar
      SF: Set an initial mode in response to hotplug for external displays · fb078ab3
      Dominik Laskowski authored
      Rebased and modified from Iec154c488ef7af9b8e1d6386509e97c9ce85103b,
      patch set 3. Does not include
      I688b0c922747a80e881965a1dc243d11ba2c7438, which was reverted.
      
      DM currently always picks 1080p@60 for an external display. More work
      (tracked in b/318534874) needs to be done in SF in order to use that
      mode initially. In the meantime, have SF pick the same mode on hotplug
      so that it avoids extra mode switches.
      
      Move "force" into DisplayModeRequest. If a request is already pending
      this allows forcing the final request if a pending request forced it,
      even if the new request does not. This matches how emitEvent is handled.
      
      If a DisplayModeRequest is forced, don't early exit in
      initiateDisplayModeChanges, which does not honor "force".
      
      When loading display modes for an external display, look for 1080p@60
      and treat it as the active mode. If the display does not have 1080p@60,
      pick a 60hz mode (if available) closest to 1080p. DM will pick an
      appropriate mode later. When adding that display, apply that active mode
      so it will be used by SF.
      
      Fixes: 305813445
      Test: libsurfaceflinger_unittest
      Test: YouTube is not frozen or choppy on external display hotplug.
      Test: Remove the option of 1080p@60 and connect.
      Change-Id: Idd48fbb0aab1b500a1a074ce0984c0a253a865c0
      fb078ab3
    • Trevor David Black's avatar
      Check for USAGE_FRONT_BUFFER after GPDIFP2 · 02926f5c
      Trevor David Black authored
      Bug: 288286529
      Test: atest CtsDeqpTestCases -- --module-arg 'CtsDeqpTestCases:include-filter:dEQP-VK.wsi.*'
      Change-Id: I2ee886b18b194016e638f44907aa8e2fdcb8fe6e
      02926f5c
Loading