Commit graph

34 commits

Author SHA1 Message Date
Dominik Laskowski
3cb3d4e390 SF: Redesign API to query display information
The DisplayInfo list returned by ISurfaceComposer for display configs
contains display information/state redundant across configs.

Extract config information to DisplayConfig, and repurpose DisplayInfo
for immutable information about a physical display. In a future CL, SF
will populate DisplayInfo with additional data (e.g. connection type,
EDID fields) on initial connection. DisplayConfigs retain the ability
to reload on subsequent connections. Introduce ui::DisplayState for
transactional state applicable to both physical and virtual displays.

Bug: 144601064
Test: dumpsys display
Change-Id: I72003e8ef71483ef483d0de85d28b859a6c9f5fc
2020-01-29 13:59:26 -08:00
Dominik Laskowski
dcb38bbd32 SF: Plumb physical display IDs to libgui
This CL replaces ISurfaceComposer::{eDisplayIdMain,eDisplayIdHdmi} with
the stable 64-bit display IDs generated by SF. Note that the 64-bit IDs
fall back to the old values if the HWC API for display identification is
not supported.

Bug: 74619554
Test: LocalDisplayAdapter and Choreographer receive 64-bit IDs
Test: 64-bit IDs fall back to 0 and 1 on HWC 2.2 and below
Change-Id: I3c08eff6eb8bb179ecce596ab2820a2aa44c8649
2019-02-02 10:14:22 -08:00
Yi Kong
c67f9a4cf0 [cmds] Modernize codebase by replacing NULL with nullptr
Fixes -Wzero-as-null-pointer-constant warning.

Test: m
Bug: 68236239
Change-Id: I73a0a82e3e32001f8ffb0880250c7023dd8290d3
2018-07-20 15:37:19 -07:00
Chih-hung Hsieh
e36e7be0fe Merge "Use -Werror in frameworks/native/cmds" am: ea6c6b9f85 am: f27645c993
am: 0c328734f5

Change-Id: I75c23bf84de1158e9c3105f23c18c33251552bac
2017-11-07 21:57:44 +00:00
Chih-Hung Hsieh
1642dc6860 Use -Werror in frameworks/native/cmds
* Remove unused variables.

Bug: 66996870
Test: build with WITH_TIDY=1
Change-Id: Ifde10b651abbdb2ab1e236ebe47e25bf6c4c9b23
2017-11-07 11:32:00 -08:00
Robert Carr
4cdc58f684 SurfaceFlinger Transactions as distinct objects.
Essentially a process global singleton for transactions is not so useful once
we make surface control public API as process isn't something an app developer
is really thinking about. It's also nice that we get to delete two of the plumbing layers.

Test: Boots
Change-Id: I8864bd7e2f5865e3c0a425cf82f9928211911774
2017-10-11 14:31:20 -07:00
Mathias Agopian
0556d79eac get rid of IGraphicBufferAlloc
Buffers can now be allocated directly through
the graphic allocator HAL.

Test: marlin: run full camera cts
Test: angler: take screenshot, take photo w/ and w/o HDR, video, panorama, refocus, slo-mo
Bug: 36462585
Bug: 36333314
Change-Id: Ie5222c53c3b9462e0ac7a41568718aad131eb328
2017-04-13 21:58:17 -07:00
Romain Guy
f8b4ca5111 Revert "Get rid of IGraphicBufferAlloc"
This reverts commit 78491c9f69.

Change-Id: I78d5c0a30ab80265f697f681387872b6763b2d1e
2017-03-16 18:39:20 +00:00
Mathias Agopian
78491c9f69 Get rid of IGraphicBufferAlloc
This reverts commit 527747dce1.

selinux policy allowing this change fixed.

Test: took a screenshot
Test: ran ImageReaderTest CTS
Bug: 36194109
Change-Id: I72ac17b6c252750aa2a66cd1d94bd8b4e21b5e9d
2017-03-15 18:16:52 -07:00
Chia-I Wu
527747dce1 Revert "get rid of IGraphicBufferAlloc"
This reverts commit 1da94dfed6.

Bug: 36176799
Bug: 36175706
Change-Id: I6dd5fe8df564f0efa4392a800fb316e27a05076e
2017-03-13 20:38:48 +00:00
Mathias Agopian
1da94dfed6 get rid of IGraphicBufferAlloc
buffers can now be allocated in-process.

Test: compile & run
Bug: cleanup
Change-Id: I3d4317a9bed20a6d8be2b7ac8fbb85738efb3657
2017-03-08 20:00:21 -08:00
Manoj Gupta
412211887e Fix clang static analyzer warnings.
frameworks/native/cmds/flatland/GLHelper.cpp:366:9: warning: Potential
leak of memory pointed to by 'src'

Test: Warning no longer appears
Change-Id: I2721d292cf1f387f34fb2e69f8370f1abff3f01f
2016-11-01 17:30:24 -07:00
Aurimas Liutikas
4d04afa0a6 Merge "Fix -Wgnu-designator warnigns in cmds/flatland/Main.cpp" am: f4475023e7
am: 8b8d7741e6

* commit '8b8d7741e68ea10648369e1b80f8697413c22bfc':
  Fix -Wgnu-designator warnigns in cmds/flatland/Main.cpp
2016-02-16 20:46:45 +00:00
Aurimas Liutikas
2660c7a85b Fix -Wgnu-designator warnigns in cmds/flatland/Main.cpp
Bug: http://b/27068438
Change-Id: I3064950f761411fe5271c6259867ad437c71e66d
2016-02-16 10:42:52 -08:00
Dan Stoza
70982a5f95 Revert "libgui: Remove custom BufferQueue allocators"
This reverts commit acd5615057.

Change-Id: I877f63a57fbddb4dcff71b3909b460ecc05981eb
2016-01-11 23:40:44 +00:00
Dan Stoza
acd5615057 libgui: Remove custom BufferQueue allocators
Removes the ability to set a custom GraphicBuffer allocator for a
BufferQueue. Custom-allocated buffers may still be used through the
attachBuffer call.

Change-Id: I127bdfb496fc089a61c7e266c8bd2b906d41f32e
2016-01-08 09:36:21 -08:00
Pablo Ceballos
19e3e06e3c BQ: Modify consumer buffer count interfaces
- Rename setDefaultMaxBufferCount() to setMaxBufferCount(). Modify it
  to be hard maximum on the number of buffers that can't be overwritten
  by the producer.
- Enforce the maximum buffer count in setMaxAcquiredBufferCount(),
  setMaxDequeuedBufferCount(), and setAsyncMode().
- Remove mOverrideMaxBufferCount as it's no longer needed since
  overriding is no longer possible.
- Expose setMaxAcquiredBufferCount() in GLConsumer.
- Remove disableAsyncBuffer(), it was only being used for single buffer
  mode. Single buffer mode is now achievable with setMaxBufferCount().

Bug 13174928

Change-Id: Ia33799f42751272a711fbd8559f7602ce9f18e4f
2015-09-02 17:38:19 -07:00
Dan Stoza
e49ba8e2ed GLConsumer: Stop using default constructor params
Removes the dependency on default constructor parameters for
GLConsumer so that a different constructor prototype can safely be
added.

Change-Id: I0da924bbd4c141edbf305598c1be8bc575654680
2014-06-24 13:09:19 -07:00
wsmlby
57c9a00616 Add dual mode to flatland
Change-Id: I3544e12c9c911cfdd73fa20d038068c9eccb4161
2014-06-05 14:12:41 -07:00
Dan Stoza
2c22093c1c Merge "Remove deprecated BufferQueue constructor" 2014-03-17 18:46:14 +00:00
Mark Salyzyn
993146092f am d4dabf87: am cdbf28b3: Merge "native frameworks: 64-bit compile issues"
* commit 'd4dabf872ac0a12e12aebae9032f7d62762c2aeb':
  native frameworks: 64-bit compile issues
2014-03-13 23:12:09 +00:00
Dan Stoza
6780a2d6a5 Remove deprecated BufferQueue constructor
Bug: 13415624
Change-Id: I1c17833511b5961af5a9bbb9cc3d627ce558d424
2014-03-13 11:31:43 -07:00
Mark Salyzyn
92dc3fc52c native frameworks: 64-bit compile issues
- Fix format (print/scanf)
- Suppress unused argument warning messages (bonus)

Change-Id: I05c7724d2aba6da1e82a86000e11f3a8fef4e728
2014-03-12 13:12:44 -07:00
Xia Wang
b7925f1364 Build the benchmark test to /data/local/tmp/ for automated test
Change-Id: I27a5ee24636ff9752a35dbab793821f6b7a79221
2014-02-26 18:04:50 -08:00
Rom Lemarchand
b3fb0ae7fd fix incorrect aspect ratio label
2048x1536 was labeled as 3:2 when it is 4:3.

Change-Id: I981af139ba3d1c6f111772aeaccf95c679999370
2013-08-29 16:19:18 -07:00
Mathias Agopian
5bbe0ab655 fix build. optional test broke.
Change-Id: I0ed5e2cd4c8945ee95673ed0eec5820d9def5097
2013-08-14 18:22:02 -07:00
Mathias Agopian
595264f1af BufferQueue improvements and APIs changes
this is the first step of a series of improvements to
BufferQueue. A few things happen in this change:

- setSynchronousMode() goes away as well as the SynchronousModeAllowed flag
- BufferQueue now defaults to (what used to be) synchronous mode
- a new "controlled by app" flag is passed when creating consumers and producers
  those flags are used to put the BufferQueue in a mode where it
  will never block if both flags are set. This is achieved by:
  - returning an error from dequeueBuffer() if it would block
  - making sure a buffer is always available by replacing
    the previous buffer with the new one in queueBuffer()
    (note: this is similar to what asynchrnous mode used to be)

Note: in this change EGL's swap-interval 0 is broken; this will be
fixed in another change.

Change-Id: I691f9507d6e2e158287e3039f2a79a4d4434211d
2013-07-18 22:28:18 -07:00
Mathias Agopian
8f938a5338 always pass the BufferQueue explicitely to consumers
Change-Id: I883b0a7b19d8e722f9ab714ba6f49e658b02ca86
2013-07-12 22:06:26 -07:00
Erik Gilling
63d076e339 flatland: add 1920x1200 to 16:10 resolutions
Change-Id: Ie7540c1ca4ec2c7ea8a307ce118d35479cdf499c
2013-05-07 12:32:59 -07:00
Erik Gilling
7bfdf27539 flatland: add 3:2 tests
Change-Id: I90496207fbf972c9a8e6baa2188a7732a282f879
2013-05-07 12:32:59 -07:00
Mathias Agopian
b7daa0dade fix build: SurfaceTextureClient to Surface rename
Change-Id: Ibcf98337940f9195bcff7b5e8bddb6e912e65163
2013-02-15 14:48:52 -08:00
Mathias Agopian
e3c697fb92 Refactoring: Rename SurfaceTextureClient to Surface
Change-Id: Ibed34175ae273608393aaa5f0a7df207dc40d709
2013-02-14 19:19:05 -08:00
Jamie Gennis
c52e16cbf9 flatland: remove an unneeded #include
Change-Id: I50831d4efd543664ff7df7aaef35d842aebf1bd6
2013-02-12 18:15:38 -08:00
Jamie Gennis
9c183f2493 flatland: add a GPU hardware benchmark
This change adds a GPU benchmark named 'flatland' that is intended to measure
GPU performance of UI rendering and compositing scenarios at a fixed a clock
frequency.  This initial version includes only window compositing scenarios.

Change-Id: I5577863aa3be5c6da8b49cb5d53cc49dec2f7081
2012-12-21 18:07:58 -08:00