xref: /aosp_15_r20/external/angle/src/angle_program_serialize_data_version.gni (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1# Copyright 2022 The ANGLE Project Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5# Define a list of source files that ANGLE_PROGRAM_VERSION hash value is
6# generated from. When any of the files listed below changes, the
7# ANGLE_PROGRAM_VERSION should change and we will invalidate shader program
8# cache blobs: applications will compile shader programs from scratch and not
9# loading from blob caches.
10
11# The path of all the files added to angle_code_affecting_program_serialize
12# must be relative to angle_root.
13
14import("compiler.gni")
15import("libANGLE/renderer/d3d/d3d_backend.gni")
16import("libANGLE/renderer/gl/gl_backend.gni")
17import("libANGLE/renderer/metal/metal_backend.gni")
18import("libANGLE/renderer/null/null_backend.gni")
19import("libANGLE/renderer/vulkan/vulkan_backend.gni")
20import("libANGLE/renderer/wgpu/wgpu_sources.gni")
21import("libGLESv2.gni")
22
23angle_code_affecting_program_serialize = libangle_common_sources
24angle_code_affecting_program_serialize += libangle_headers
25angle_code_affecting_program_serialize += libangle_sources
26angle_code_affecting_program_serialize += libangle_includes
27angle_code_affecting_program_serialize += angle_translator_exported_headers
28angle_code_affecting_program_serialize += angle_translator_sources
29angle_code_affecting_program_serialize += angle_translator_glsl_base_sources
30angle_code_affecting_program_serialize +=
31    angle_translator_glsl_and_vulkan_base_sources
32angle_code_affecting_program_serialize += angle_translator_essl_sources
33angle_code_affecting_program_serialize += angle_translator_glsl_sources
34angle_code_affecting_program_serialize += angle_translator_glsl_apple_sources
35angle_code_affecting_program_serialize += angle_translator_hlsl_sources
36angle_code_affecting_program_serialize += angle_translator_lib_spirv_sources
37angle_code_affecting_program_serialize +=
38    angle_translator_essl_symbol_table_sources
39angle_code_affecting_program_serialize += angle_translator_lib_msl_sources
40angle_code_affecting_program_serialize += angle_translator_lib_wgsl_sources
41angle_code_affecting_program_serialize += angle_preprocessor_sources
42
43angle_dependencies_affecting_program_serialize = []
44
45vulkan_backend_dir = "libANGLE/renderer/vulkan/"
46angle_code_affecting_program_serialize +=
47    rebase_path(vulkan_backend_sources, angle_root, vulkan_backend_dir)
48
49gl_backend_dir = "libANGLE/renderer/gl/"
50angle_code_affecting_program_serialize +=
51    rebase_path(gl_backend_sources, angle_root, gl_backend_dir)
52
53d3d_backend_dir = "libANGLE/renderer/d3d/"
54angle_code_affecting_program_serialize +=
55    rebase_path(d3d_shared_sources, angle_root, d3d_backend_dir)
56
57if (angle_enable_d3d9) {
58  angle_code_affecting_program_serialize +=
59      rebase_path(d3d9_backend_sources, angle_root, d3d_backend_dir)
60}
61
62if (angle_enable_d3d11) {
63  angle_code_affecting_program_serialize +=
64      rebase_path(d3d11_backend_sources, angle_root, d3d_backend_dir)
65}
66
67null_backend_dir = "libANGLE/renderer/null/"
68angle_code_affecting_program_serialize +=
69    rebase_path(null_backend_sources, angle_root, null_backend_dir)
70
71if (angle_enable_metal) {
72  metal_backend_dir = "libANGLE/renderer/metal/"
73  angle_code_affecting_program_serialize +=
74      rebase_path(metal_backend_sources, angle_root, metal_backend_dir)
75  if (metal_internal_shader_compilation_supported) {
76    angle_dependencies_affecting_program_serialize +=
77        [ "src/libANGLE/renderer/metal:angle_metal_internal_shaders" ]
78  }
79}
80
81if (angle_enable_wgpu) {
82  wgpu_backend_dir = "libANGLE/renderer/wgpu/"
83  angle_code_affecting_program_serialize +=
84      rebase_path(wgpu_backend_sources, angle_root, wgpu_backend_dir)
85}
86
87if (angle_has_frame_capture) {
88  angle_code_affecting_program_serialize += libangle_capture_sources
89}
90