# For patches touching specific topics, try the topic-specific OWNERS. For
# patches that touch multiple areas or if you aren't sure, try the general
# OWNERS at the bottom.
#
# Folks listed as unofficial can't do OWNERS approvals but are good people to
# ask for informal reviews.

# display / resources / quads / passes
danakj@chromium.org
enne@chromium.org
ericrk@chromium.org
vmpstr@chromium.org
weiliangc@chromium.org

# CopyOutputRequests/Results and FrameSinkVideoCapture
miu@chromium.org

# renderers (GL/Skia/Software)
weiliangc@chromium.org
rjkroege@chromium.org
ccameron@chromium.org
penghuang@chromium.org
backer@chromium.org

# display_embedder / ozone
rjkroege@chromium.org
sadrul@chromium.org

# frame sinks / surfaces
enne@chromium.org
kylechar@chromium.org
samans@chromium.org
jonross@chromium.org

# gpu
danakj@chromium.org
ericrk@chromium.org
sadrul@chromium.org

# hit testing
rjkroege@chromium.org
sadrul@chromium.org

# math / geometry
flackr@chromium.org

# overlays
ccameron@chromium.org
dcastagna@chromium.org
khushalsagar@chromium.org

# scheduling / begin frames
sunnyps@chromium.org

# general
danakj@chromium.org
enne@chromium.org
vmpstr@chromium.org

# TEAM: graphics-dev@chromium.org
# COMPONENT: Internals>Compositing
