xref: /aosp_15_r20/external/angle/src/libANGLE/renderer/vulkan/vulkan_backend.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.
4import("../../../../gni/angle.gni")
5
6vulkan_backend_sources = [
7  "AllocatorHelperPool.cpp",
8  "AllocatorHelperPool.h",
9  "AllocatorHelperRing.cpp",
10  "AllocatorHelperRing.h",
11  "BufferVk.cpp",
12  "BufferVk.h",
13  "CommandProcessor.cpp",
14  "CommandProcessor.h",
15  "CompilerVk.cpp",
16  "CompilerVk.h",
17  "ContextVk.cpp",
18  "ContextVk.h",
19  "DebugAnnotatorVk.cpp",
20  "DebugAnnotatorVk.h",
21  "DeviceVk.cpp",
22  "DeviceVk.h",
23  "DisplayVk.cpp",
24  "DisplayVk.h",
25  "DisplayVk_api.h",
26  "FenceNVVk.cpp",
27  "FenceNVVk.h",
28  "FramebufferVk.cpp",
29  "FramebufferVk.h",
30  "ImageVk.cpp",
31  "ImageVk.h",
32  "MemoryObjectVk.cpp",
33  "MemoryObjectVk.h",
34  "MemoryTracking.cpp",
35  "MemoryTracking.h",
36  "OverlayVk.cpp",
37  "OverlayVk.h",
38  "PersistentCommandPool.cpp",
39  "PersistentCommandPool.h",
40  "ProgramExecutableVk.cpp",
41  "ProgramExecutableVk.h",
42  "ProgramPipelineVk.cpp",
43  "ProgramPipelineVk.h",
44  "ProgramVk.cpp",
45  "ProgramVk.h",
46  "QueryVk.cpp",
47  "QueryVk.h",
48  "RenderTargetVk.cpp",
49  "RenderTargetVk.h",
50  "RenderbufferVk.cpp",
51  "RenderbufferVk.h",
52  "SamplerVk.cpp",
53  "SamplerVk.h",
54  "SecondaryCommandBuffer.cpp",
55  "SecondaryCommandBuffer.h",
56  "SecondaryCommandPool.cpp",
57  "SecondaryCommandPool.h",
58  "SemaphoreVk.cpp",
59  "SemaphoreVk.h",
60  "ShaderInterfaceVariableInfoMap.cpp",
61  "ShaderInterfaceVariableInfoMap.h",
62  "ShaderVk.cpp",
63  "ShaderVk.h",
64  "ShareGroupVk.cpp",
65  "ShareGroupVk.h",
66  "Suballocation.cpp",
67  "Suballocation.h",
68  "SurfaceVk.cpp",
69  "SurfaceVk.h",
70  "SyncVk.cpp",
71  "SyncVk.h",
72  "TextureVk.cpp",
73  "TextureVk.h",
74  "TransformFeedbackVk.cpp",
75  "TransformFeedbackVk.h",
76  "UtilsVk.cpp",
77  "UtilsVk.h",
78  "VertexArrayVk.cpp",
79  "VertexArrayVk.h",
80  "VkImageImageSiblingVk.cpp",
81  "VkImageImageSiblingVk.h",
82  "VulkanSecondaryCommandBuffer.cpp",
83  "VulkanSecondaryCommandBuffer.h",
84  "android/vk_android_utils.cpp",
85  "android/vk_android_utils.h",
86  "spv_utils.cpp",
87  "spv_utils.h",
88  "vk_cache_utils.cpp",
89  "vk_cache_utils.h",
90  "vk_caps_utils.cpp",
91  "vk_caps_utils.h",
92  "vk_command_buffer_utils.h",
93  "vk_format_table_autogen.cpp",
94  "vk_format_utils.cpp",
95  "vk_format_utils.h",
96  "vk_helpers.cpp",
97  "vk_helpers.h",
98  "vk_internal_shaders_autogen.cpp",
99  "vk_internal_shaders_autogen.h",
100  "vk_mandatory_format_support_table_autogen.cpp",
101  "vk_ref_counted_event.cpp",
102  "vk_ref_counted_event.h",
103  "vk_renderer.cpp",
104  "vk_renderer.h",
105  "vk_resource.cpp",
106  "vk_resource.h",
107  "vk_utils.cpp",
108  "vk_utils.h",
109  "vk_wrapper.h",
110]
111
112if (angle_enable_cl) {
113  vulkan_backend_sources += [
114    "CLCommandQueueVk.cpp",
115    "CLCommandQueueVk.h",
116    "CLContextVk.cpp",
117    "CLContextVk.h",
118    "CLDeviceVk.cpp",
119    "CLDeviceVk.h",
120    "CLEventVk.cpp",
121    "CLEventVk.h",
122    "CLKernelVk.cpp",
123    "CLKernelVk.h",
124    "CLMemoryVk.cpp",
125    "CLMemoryVk.h",
126    "CLPlatformVk.cpp",
127    "CLPlatformVk.h",
128    "CLProgramVk.cpp",
129    "CLProgramVk.h",
130    "CLSamplerVk.cpp",
131    "CLSamplerVk.h",
132    "cl_types.h",
133    "clspv_utils.cpp",
134    "clspv_utils.h",
135    "vk_cl_utils.cpp",
136    "vk_cl_utils.h",
137  ]
138}
139
140if (angle_use_vulkan_null_display) {
141  vulkan_backend_sources += [
142    "null/DisplayVkNull.cpp",
143    "null/DisplayVkNull.h",
144  ]
145}
146
147vulkan_backend_dma_buf_sources = [
148  "linux/DeviceVkLinux.cpp",
149  "linux/DeviceVkLinux.h",
150  "linux/DisplayVkLinux.cpp",
151  "linux/DisplayVkLinux.h",
152  "linux/DisplayVkOffscreen.cpp",
153  "linux/DisplayVkOffscreen.h",
154  "linux/DmaBufImageSiblingVkLinux.cpp",
155  "linux/DmaBufImageSiblingVkLinux.h",
156  "linux/display/DisplayVkSimple.cpp",
157  "linux/display/DisplayVkSimple.h",
158  "linux/display/WindowSurfaceVkSimple.cpp",
159  "linux/display/WindowSurfaceVkSimple.h",
160  "linux/headless/DisplayVkHeadless.cpp",
161  "linux/headless/DisplayVkHeadless.h",
162  "linux/headless/WindowSurfaceVkHeadless.cpp",
163  "linux/headless/WindowSurfaceVkHeadless.h",
164]
165
166if (is_linux || is_chromeos) {
167  vulkan_backend_sources += vulkan_backend_dma_buf_sources
168}
169
170if (is_android) {
171  vulkan_backend_sources += [
172    "android/AHBFunctions.cpp",
173    "android/AHBFunctions.h",
174    "android/DisplayVkAndroid.cpp",
175    "android/DisplayVkAndroid.h",
176    "android/HardwareBufferImageSiblingVkAndroid.cpp",
177    "android/HardwareBufferImageSiblingVkAndroid.h",
178    "android/WindowSurfaceVkAndroid.cpp",
179    "android/WindowSurfaceVkAndroid.h",
180  ]
181}
182
183if (is_win) {
184  vulkan_backend_sources += [
185    "win32/DisplayVkWin32.cpp",
186    "win32/DisplayVkWin32.h",
187    "win32/WindowSurfaceVkWin32.cpp",
188    "win32/WindowSurfaceVkWin32.h",
189  ]
190}
191
192if (angle_use_x11) {
193  vulkan_backend_sources += [
194    "linux/xcb/DisplayVkXcb.cpp",
195    "linux/xcb/DisplayVkXcb.h",
196    "linux/xcb/WindowSurfaceVkXcb.cpp",
197    "linux/xcb/WindowSurfaceVkXcb.h",
198  ]
199}
200
201if (angle_use_wayland) {
202  vulkan_backend_sources += [
203    "linux/wayland/DisplayVkWayland.cpp",
204    "linux/wayland/DisplayVkWayland.h",
205    "linux/wayland/WindowSurfaceVkWayland.cpp",
206    "linux/wayland/WindowSurfaceVkWayland.h",
207  ]
208}
209
210if (angle_has_build && angle_use_gbm) {
211  vulkan_backend_sources += [
212    "linux/gbm/DisplayVkGbm.cpp",
213    "linux/gbm/DisplayVkGbm.h",
214  ]
215}
216
217if (is_fuchsia) {
218  vulkan_backend_sources += [
219    "fuchsia/DisplayVkFuchsia.cpp",
220    "fuchsia/DisplayVkFuchsia.h",
221    "fuchsia/WindowSurfaceVkFuchsia.cpp",
222    "fuchsia/WindowSurfaceVkFuchsia.h",
223  ]
224}
225
226if (is_ggp) {
227  vulkan_backend_sources += [
228    "ggp/DisplayVkGGP.cpp",
229    "ggp/DisplayVkGGP.h",
230    "ggp/WindowSurfaceVkGGP.cpp",
231    "ggp/WindowSurfaceVkGGP.h",
232  ]
233}
234
235if (is_mac) {
236  vulkan_backend_sources += [
237    "mac/DisplayVkMac.h",
238    "mac/DisplayVkMac.mm",
239    "mac/IOSurfaceSurfaceVkMac.h",
240    "mac/IOSurfaceSurfaceVkMac.mm",
241    "mac/WindowSurfaceVkMac.h",
242    "mac/WindowSurfaceVkMac.mm",
243  ]
244}
245