# See https://chromium.googlesource.com/angle/angle/+/main/doc/ContributingCode.md#selecting-reviewers for more info
# Note: Owners must be split by domain to avoid git merge conflicts on platforms that cannot have
# email addresses from all platforms.  Also, to avoid downstream git merge conflicts, all changes
# to this file should be done in the upstream ANGLE repository's main branch.

# @chromium.org email addresses:
geofflang@chromium.org
kbr@chromium.org
syoussefi@chromium.org
ynovikov@chromium.org

# @google.com email addresses:
abdolrashidi@google.com
cclao@google.com
chrisforbes@google.com
cnorthrop@google.com
geofflang@google.com
ianelliott@google.com
lpy@google.com
romanl@google.com
solti@google.com
syoussefi@google.com
ynovikov@google.com
yuxinhu@google.com

# The auto-roller can also modify autogenerated files, so we give it ownership
# over all ANGLE files.
angle-autoroll@skia-public.iam.gserviceaccount.com

per-file AUTHORS=*
per-file CONTRIBUTORS=*
per-file DEPS=*
per-file WATCHLISTS=*

# Allow anyone to update gitlinks just like DEPS.
per-file build=*
per-file buildtools=*
per-file third_party/clang-format/script=*
per-file testing=*
per-file third_party/abseil-cpp=*
per-file third_party/android_build_tools=*
per-file third_party/android_deps=*
per-file third_party/android_platform=*
per-file third_party/android_sdk=*
per-file third_party/astc-encoder/src=*
per-file third_party/catapult=*
per-file third_party/cherry=*
per-file third_party/colorama/src=*
per-file third_party/cpu_features/src=*
per-file third_party/depot_tools=*
per-file third_party/dummy_chromium=*
per-file third_party/EGL-Registry/src=*
per-file third_party/flatbuffers/src=*
per-file third_party/gles1_conform=*
per-file third_party/glmark2/src=*
per-file third_party/glslang/src=*
per-file third_party/googletest=*
per-file third_party/ijar=*
per-file third_party/libdrm=*
per-file third_party/libjpeg_turbo=*
per-file third_party/libpng/src=*
per-file third_party/jinja2=*
per-file third_party/jsoncpp=*
per-file third_party/libc++/src=*
per-file third_party/libc++abi/src=*
per-file third_party/libunwind/src=*
per-file third_party/lunarg-vulkantools/src=*
per-file third_party/markupsafe=*
per-file third_party/mesa/src=*
per-file third_party/meson=*
per-file third_party/nasm=*
per-file third_party/OpenCL-CTS/src=*
per-file third_party/OpenCL-Docs/src=*
per-file third_party/OpenCL-ICD-Loader/src=*
per-file third_party/OpenGL-Registry/src=*
per-file third_party/perfetto=*
per-file third_party/protobuf=*
per-file third_party/Python-Markdown=*
per-file third_party/rapidjson/src=*
per-file third_party/requests/src=*
per-file third_party/rust=*
per-file third_party/six=*
per-file third_party/spirv-cross/src=*
per-file third_party/spirv-headers/src=*
per-file third_party/spirv-tools/src=*
per-file third_party/SwiftShader=*
per-file third_party/VK-GL-CTS/src=*
per-file third_party/vulkan-deps=*
per-file third_party/vulkan-headers/src=*
per-file third_party/vulkan-loader/src=*
per-file third_party/vulkan-tools/src=*
per-file third_party/vulkan-utility-libraries/src=*
per-file third_party/vulkan-validation-layers/src=*
per-file third_party/vulkan_memory_allocator=*
per-file third_party/wayland=*
per-file third_party/zlib=*
per-file tools/android=*
per-file tools/clang=*
per-file tools/mb=*
per-file tools/md_browser=*
per-file tools/memory=*
per-file tools/perf=*
per-file tools/protoc_wrapper=*
per-file tools/python=*
per-file tools/valgrind=*
