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("libGLESv2.gni") 21 22angle_code_affecting_program_serialize = libangle_common_sources 23angle_code_affecting_program_serialize += libangle_headers 24angle_code_affecting_program_serialize += libangle_sources 25angle_code_affecting_program_serialize += libangle_gl_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 += 40 angle_translator_glsl_symbol_table_sources 41angle_code_affecting_program_serialize += angle_translator_lib_msl_sources 42angle_code_affecting_program_serialize += angle_preprocessor_sources 43 44vulkan_backend_dir = "libANGLE/renderer/vulkan/" 45angle_code_affecting_program_serialize += 46 rebase_path(vulkan_backend_sources, angle_root, vulkan_backend_dir) 47 48gl_backend_dir = "libANGLE/renderer/gl/" 49angle_code_affecting_program_serialize += 50 rebase_path(gl_backend_sources, angle_root, gl_backend_dir) 51 52d3d_backend_dir = "libANGLE/renderer/d3d/" 53angle_code_affecting_program_serialize += 54 rebase_path(d3d_shared_sources, angle_root, d3d_backend_dir) 55 56if (angle_enable_d3d9) { 57 angle_code_affecting_program_serialize += 58 rebase_path(d3d9_backend_sources, angle_root, d3d_backend_dir) 59} 60 61if (angle_enable_d3d11) { 62 angle_code_affecting_program_serialize += 63 rebase_path(d3d11_backend_sources, angle_root, d3d_backend_dir) 64} 65 66null_backend_dir = "libANGLE/renderer/null/" 67angle_code_affecting_program_serialize += 68 rebase_path(null_backend_sources, angle_root, null_backend_dir) 69 70metal_backend_dir = "libANGLE/renderer/metal/" 71angle_code_affecting_program_serialize += 72 rebase_path(metal_backend_sources, angle_root, metal_backend_dir) 73 74if (angle_has_frame_capture) { 75 angle_code_affecting_program_serialize += libangle_capture_sources 76} 77