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

set noparent
# layers
pdr@chromium.org
wangxianzhu@chromium.org

# mac-specific
ccameron@chromium.org

# scheduling / begin frames
sunnyps@chromium.org
szager@chromium.org

# tiles, tile management, and raster work
vmpstr@chromium.org

# texture uploading
sunnyps@chromium.org

# math / geometry
dbaron@chromium.org
flackr@chromium.org

# property trees
chrishtr@chromium.org
pdr@chromium.org
wangxianzhu@chromium.org

# animation
flackr@chromium.org
smcgruer@chromium.org

# images
vmpstr@chromium.org

# surfaces
kylechar@chromium.org
jonross@chromium.org

# input, scrolling
bokan@chromium.org
flackr@chromium.org
skobes@chromium.org

# metrics
sadrul@chromium.org

# paint
sunnyps@chromium.org
vasilyt@chromium.org
reed@google.com
fmalita@chromium.org

# general
vmpstr@chromium.org
khushalsagar@chromium.org
