File: dvr_config.h

package info (click to toggle)
android-platform-tools 34.0.5-12
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 150,900 kB
  • sloc: cpp: 805,786; java: 293,500; ansic: 128,288; xml: 127,491; python: 41,481; sh: 14,245; javascript: 9,665; cs: 3,846; asm: 2,049; makefile: 1,917; yacc: 440; awk: 368; ruby: 183; sql: 140; perl: 88; lex: 67
file content (34 lines) | stat: -rw-r--r-- 1,174 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef ANDROID_DVR_CONFIG_H
#define ANDROID_DVR_CONFIG_H

// This header is shared by VrCore and Android and must be kept in sync.

#include <stdint.h>
#include <sys/cdefs.h>

__BEGIN_DECLS

// This is a shared memory buffer for passing config data from VrCore to
// libvrflinger in SurfaceFlinger.
struct __attribute__((packed, aligned(16))) DvrConfig {
  // Offset before vsync to submit frames to hardware composer.
  int32_t frame_post_offset_ns{4000000};

  // If the number of pending fences goes over this count at the point when we
  // are about to submit a new frame to HWC, we will drop the frame. This
  // should be a signal that the display driver has begun queuing frames. Note
  // that with smart displays (with RAM), the fence is signaled earlier than
  // the next vsync, at the point when the DMA to the display completes.
  // Currently we use a smart display and the EDS timing coincides with zero
  // pending fences, so this is 0.
  int32_t allowed_pending_fence_count{0};

  // New fields should always be added to the end for backwards compat.

  // Reserved padding to 16 bytes.
  uint8_t pad[8];
};

__END_DECLS

#endif  // ANDROID_DVR_CONFIG_H