VirtualBox

source: vbox/trunk/src/libs/dxvk-native-1.9.2a/Makefile.kmk@ 96497

最後變更 在這個檔案從96497是 96497,由 vboxsync 提交於 3 年 前

libs/dxvk-native-1.9.2a: export to OSE

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 12.7 KB
 
1# $Id: Makefile.kmk 96497 2022-08-25 17:04:27Z vboxsync $
2## @file
3# Sub-Makefile for the dxvk-native library.
4#
5
6#
7# Copyright (C) 2022 Oracle and/or its affiliates.
8#
9# Oracle Corporation confidential
10#
11
12SUB_DEPTH = ../../..
13include $(KBUILD_PATH)/subheader.kmk
14
15#
16# Targets.
17#
18LIBRARIES += VBox-DxVkNativeUtil VBox-DxVkNativeDxVk VBox-DxVkNativeD3D11
19DLLS += VBoxDxVk
20
21#
22# Globals.
23#
24VBOX_PATH_DXVK := $(PATH_SUB_CURRENT)
25
26# The HLSL to Spir-V shader compiler
27VBOX_GLSLANGVALIDATOR_PATH ?= $(lastword $(sort $(wildcard $(KBUILD_DEVTOOLS_TRG)/glslang/v11*)))
28ifeq ($(VBOX_GLSLANGVALIDATOR_PATH),)
29 VBOX_GLSLANGVALIDATOR ?= glslangValidator$(HOSTSUFF_EXE)
30else
31 VBOX_GLSLANGVALIDATOR ?= $(VBOX_GLSLANGVALIDATOR_PATH)/glslangValidator$(HOSTSUFF_EXE)
32endif
33
34#
35# Some stuff for compiling shares into header files and making the target depend on these.
36#
37
38## Internal.
39## @param 1 full path to shader source.
40define def_VBoxDxVkCompileShader
41$(1)/shaders/$(basename $(notdir $(2))).h: $(2) | $$$$(dir $$$$@)
42 $(VBOX_GLSLANGVALIDATOR) -V --vn "$(basename $(notdir $(2)))" "$$<" -o "$$@"
43endef
44
45## Process the VBOX_SHADERS for a target.
46## @param 1 target name
47define def_VBoxDxVkCompilerShaders
48$$(call KB_FN_DO_PASS0_ON_TARGET,$(1))
49$(1)_INCS += $$($(1)_0_OUTDIR)/shaders
50$(1)_BLDDIRS += $$($(1)_0_OUTDIR)/shaders
51$(1)_INTERMEDIATES := $$(foreach shader,$$($(1)_VBOX_SHADERS) \
52 ,$$($(1)_0_OUTDIR)/shaders/$$(basename $$(notdir $$(shader))).h)
53$$(foreach shader,$$($(1)_VBOX_SHADERS),$$(evalcall2 def_VBoxDxVkCompileShader,$$($(1)_0_OUTDIR),$$(shader)))
54endef
55
56
57#
58# DXK utilities static library
59#
60VBox-DxVkNativeUtil_TEMPLATE = VBoxR3RuntimeDllNonPedantic
61VBox-DxVkNativeUtil_DEFS = \
62 DXVK_NATIVE \
63 NOMINMAX \
64 _WIN32_WINNT=0xa00
65VBox-DxVkNativeUtil_DEFS += \
66 DXVK_PLATFORM_LINUX \
67 DXVK_WSI_HEADLESS
68VBox-DxVkNativeUtil_CXXFLAGS.linux += \
69 -std=c++17
70VBox-DxVkNativeUtil_CXXFLAGS.darwin += \
71 -std=c++17
72VBox-DxVkNativeUtil_INCS = \
73 $(VBOX_PATH_DXVK) \
74 $(VBOX_PATH_DXVK)/include/ \
75 $(VBOX_PATH_DXVK)/src/util/ \
76 $(VBOX_PATH_DXVK)/include/native/ \
77 $(VBOX_PATH_DXVK)/include/native/windows \
78 $(VBOX_PATH_DXVK)/include/native/directx
79VBox-DxVkNativeUtil_SOURCES = \
80 src/util/util_env.cpp \
81 src/util/util_fps_limiter.cpp \
82 src/util/util_matrix.cpp \
83 src/util/util_monitor.cpp \
84 src/util/com/com_guid.cpp \
85 src/util/com/com_private_data.cpp \
86 src/util/config/config.cpp \
87 src/util/log/log.cpp \
88 src/util/log/log_debug.cpp \
89 src/util/sha1/sha1.c \
90 src/util/sha1/sha1_util.cpp \
91 src/util/sync/sync_recursive.cpp \
92 src/util/platform/util_luid_linux.cpp \
93 src/util/platform/util_env_linux.cpp \
94 src/util/platform/util_string_linux.cpp \
95 src/util/platform/thread_native.cpp \
96 src/spirv/spirv_code_buffer.cpp \
97 src/spirv/spirv_compression.cpp \
98 src/spirv/spirv_module.cpp \
99 src/vulkan/vulkan_loader.cpp \
100 src/vulkan/vulkan_names.cpp \
101 src/vulkan/vulkan_presenter_headless.cpp \
102 src/dxgi/dxgi_adapter.cpp \
103 src/dxgi/dxgi_enums.cpp \
104 src/dxgi/dxgi_factory.cpp \
105 src/dxgi/dxgi_format.cpp \
106 src/dxgi/dxgi_main.cpp \
107 src/dxgi/dxgi_monitor.cpp \
108 src/dxgi/dxgi_options.cpp \
109 src/dxgi/dxgi_output.cpp \
110 src/dxgi/dxgi_swapchain.cpp \
111 src/dxbc/dxbc_analysis.cpp \
112 src/dxbc/dxbc_chunk_isgn.cpp \
113 src/dxbc/dxbc_chunk_shex.cpp \
114 src/dxbc/dxbc_common.cpp \
115 src/dxbc/dxbc_compiler.cpp \
116 src/dxbc/dxbc_defs.cpp \
117 src/dxbc/dxbc_decoder.cpp \
118 src/dxbc/dxbc_header.cpp \
119 src/dxbc/dxbc_module.cpp \
120 src/dxbc/dxbc_names.cpp \
121 src/dxbc/dxbc_options.cpp \
122 src/dxbc/dxbc_reader.cpp \
123 src/dxbc/dxbc_util.cpp \
124 src/dxso/dxso_common.cpp \
125 src/dxso/dxso_options.cpp \
126 src/dxso/dxso_module.cpp \
127 src/dxso/dxso_reader.cpp \
128 src/dxso/dxso_header.cpp \
129 src/dxso/dxso_ctab.cpp \
130 src/dxso/dxso_util.cpp \
131 src/dxso/dxso_code.cpp \
132 src/dxso/dxso_tables.cpp \
133 src/dxso/dxso_decoder.cpp \
134 src/dxso/dxso_analysis.cpp \
135 src/dxso/dxso_compiler.cpp \
136 src/dxso/dxso_enums.cpp \
137 src/wsi/headless/wsi_mode_headless.cpp \
138 src/wsi/headless/wsi_monitor_headless.cpp \
139 src/wsi/headless/wsi_presenter_headless.cpp \
140 src/wsi/headless/wsi_window_headless.cpp
141
142#
143# Core DXVK library.
144#
145VBox-DxVkNativeDxVk_TEMPLATE = VBoxR3RuntimeDllNonPedantic
146VBox-DxVkNativeDxVk_DEFS = \
147 DXVK_NATIVE \
148 NOMINMAX \
149 _WIN32_WINNT=0xa00
150VBox-DxVkNativeDxVk_DEFS += \
151 DXVK_PLATFORM_LINUX \
152 DXVK_WSI_HEADLESS
153VBox-DxVkNativeDxVk_CXXFLAGS.linux += \
154 -std=c++17
155VBox-DxVkNativeDxVk_CXXFLAGS.darwin += \
156 -std=c++17
157VBox-DxVkNativeDxVk_INCS = \
158 $(VBOX_PATH_DXVK) \
159 $(VBOX_PATH_DXVK)/include/ \
160 $(VBOX_PATH_DXVK)/src/util/ \
161 $(VBOX_PATH_DXVK)/include/native/ \
162 $(VBOX_PATH_DXVK)/include/native/windows \
163 $(VBOX_PATH_DXVK)/include/native/directx
164VBox-DxVkNativeDxVk_SOURCES = \
165 src/dxvk/dxvk_adapter.cpp \
166 src/dxvk/dxvk_barrier.cpp \
167 src/dxvk/dxvk_buffer.cpp \
168 src/dxvk/dxvk_cmdlist.cpp \
169 src/dxvk/dxvk_compute.cpp \
170 src/dxvk/dxvk_context.cpp \
171 src/dxvk/dxvk_cs.cpp \
172 src/dxvk/dxvk_data.cpp \
173 src/dxvk/dxvk_descriptor.cpp \
174 src/dxvk/dxvk_device.cpp \
175 src/dxvk/dxvk_device_filter.cpp \
176 src/dxvk/dxvk_extensions.cpp \
177 src/dxvk/dxvk_format.cpp \
178 src/dxvk/dxvk_framebuffer.cpp \
179 src/dxvk/dxvk_gpu_event.cpp \
180 src/dxvk/dxvk_gpu_query.cpp \
181 src/dxvk/dxvk_graphics.cpp \
182 src/dxvk/dxvk_image.cpp \
183 src/dxvk/dxvk_instance.cpp \
184 src/dxvk/dxvk_lifetime.cpp \
185 src/dxvk/dxvk_main.cpp \
186 src/dxvk/dxvk_memory.cpp \
187 src/dxvk/dxvk_meta_blit.cpp \
188 src/dxvk/dxvk_meta_clear.cpp \
189 src/dxvk/dxvk_meta_copy.cpp \
190 src/dxvk/dxvk_meta_mipgen.cpp \
191 src/dxvk/dxvk_meta_pack.cpp \
192 src/dxvk/dxvk_meta_resolve.cpp \
193 src/dxvk/dxvk_options.cpp \
194 src/dxvk/dxvk_pipecache.cpp \
195 src/dxvk/dxvk_pipelayout.cpp \
196 src/dxvk/dxvk_pipemanager.cpp \
197 src/dxvk/dxvk_queue.cpp \
198 src/dxvk/dxvk_renderpass.cpp \
199 src/dxvk/dxvk_resource.cpp \
200 src/dxvk/dxvk_sampler.cpp \
201 src/dxvk/dxvk_shader.cpp \
202 src/dxvk/dxvk_shader_key.cpp \
203 src/dxvk/dxvk_signal.cpp \
204 src/dxvk/dxvk_spec_const.cpp \
205 src/dxvk/dxvk_staging.cpp \
206 src/dxvk/dxvk_state_cache.cpp \
207 src/dxvk/dxvk_stats.cpp \
208 src/dxvk/dxvk_swapchain_blitter.cpp \
209 src/dxvk/dxvk_unbound.cpp \
210 src/dxvk/dxvk_util.cpp \
211 src/dxvk/hud/dxvk_hud.cpp \
212 src/dxvk/hud/dxvk_hud_font.cpp \
213 src/dxvk/hud/dxvk_hud_item.cpp \
214 src/dxvk/hud/dxvk_hud_renderer.cpp \
215 src/dxvk/platform/dxvk_headless_exts.cpp
216VBox-DxVkNativeDxVk_VBOX_SHADERS := \
217 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_blit_frag_1d.frag \
218 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_blit_frag_2d.frag \
219 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_blit_frag_3d.frag \
220 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_buffer_f.comp \
221 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_buffer_u.comp \
222 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image1d_f.comp \
223 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image1d_u.comp \
224 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image1darr_f.comp \
225 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image1darr_u.comp \
226 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image2d_f.comp \
227 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image2d_u.comp \
228 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image2darr_f.comp \
229 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image2darr_u.comp \
230 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image3d_f.comp \
231 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_clear_image3d_u.comp \
232 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_buffer_image.comp \
233 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_color_1d.frag \
234 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_color_2d.frag \
235 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_color_ms.frag \
236 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_depth_1d.frag \
237 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_depth_2d.frag \
238 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_depth_ms.frag \
239 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_depth_stencil_1d.frag \
240 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_depth_stencil_2d.frag \
241 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_copy_depth_stencil_ms.frag \
242 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_fullscreen_geom.geom \
243 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_fullscreen_layer_vert.vert \
244 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_fullscreen_vert.vert \
245 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_pack_d24s8.comp \
246 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_pack_d32s8.comp \
247 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_present_frag.frag \
248 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_present_frag_blit.frag \
249 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_present_frag_ms.frag \
250 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_present_frag_ms_amd.frag \
251 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_present_vert.vert \
252 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_resolve_frag_d.frag \
253 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_resolve_frag_ds.frag \
254 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_resolve_frag_f.frag \
255 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_resolve_frag_f_amd.frag \
256 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_resolve_frag_i.frag \
257 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_resolve_frag_u.frag \
258 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_unpack_d24s8.comp \
259 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_unpack_d24s8_as_d32s8.comp \
260 $(PATH_SUB_CURRENT)/src/dxvk/shaders/dxvk_unpack_d32s8.comp \
261 $(PATH_SUB_CURRENT)/src/dxvk/hud/shaders/hud_line_frag.frag \
262 $(PATH_SUB_CURRENT)/src/dxvk/hud/shaders/hud_line_vert.vert \
263 $(PATH_SUB_CURRENT)/src/dxvk/hud/shaders/hud_text_frag.frag \
264 $(PATH_SUB_CURRENT)/src/dxvk/hud/shaders/hud_text_vert.vert
265$(evalcall2 def_VBoxDxVkCompilerShaders,VBox-DxVkNativeDxVk)
266
267
268#
269# DXVK D3D11 interface library
270#
271VBox-DxVkNativeD3D11_TEMPLATE = VBoxR3RuntimeDllNonPedantic
272VBox-DxVkNativeD3D11_DEFS = \
273 DXVK_NATIVE \
274 NOMINMAX \
275 _WIN32_WINNT=0xa00
276VBox-DxVkNativeD3D11_DEFS += \
277 DXVK_PLATFORM_LINUX \
278 DXVK_WSI_HEADLESS
279VBox-DxVkNativeD3D11_CXXFLAGS.linux += \
280 -std=c++17
281VBox-DxVkNativeD3D11_CXXFLAGS.darwin += \
282 -std=c++17
283VBox-DxVkNativeD3D11_INCS = \
284 $(VBOX_PATH_DXVK) \
285 $(VBOX_PATH_DXVK)/include/ \
286 $(VBOX_PATH_DXVK)/src/util/ \
287 $(VBOX_PATH_DXVK)/include/native/ \
288 $(VBOX_PATH_DXVK)/include/native/windows \
289 $(VBOX_PATH_DXVK)/include/native/directx
290VBox-DxVkNativeD3D11_SOURCES = \
291 src/dxgi/dxgi_format.cpp \
292 src/dxgi/dxgi_monitor.cpp \
293 src/dxgi/dxgi_swapchain.cpp \
294 src/d3d11/d3d11_annotation.cpp \
295 src/d3d11/d3d11_blend.cpp \
296 src/d3d11/d3d11_buffer.cpp \
297 src/d3d11/d3d11_class_linkage.cpp \
298 src/d3d11/d3d11_cmdlist.cpp \
299 src/d3d11/d3d11_context.cpp \
300 src/d3d11/d3d11_context_def.cpp \
301 src/d3d11/d3d11_context_ext.cpp \
302 src/d3d11/d3d11_context_imm.cpp \
303 src/d3d11/d3d11_cuda.cpp \
304 src/d3d11/d3d11_depth_stencil.cpp \
305 src/d3d11/d3d11_device.cpp \
306 src/d3d11/d3d11_enums.cpp \
307 src/d3d11/d3d11_initializer.cpp \
308 src/d3d11/d3d11_input_layout.cpp \
309 src/d3d11/d3d11_interop.cpp \
310 src/d3d11/d3d11_main.cpp \
311 src/d3d11/d3d11_options.cpp \
312 src/d3d11/d3d11_query.cpp \
313 src/d3d11/d3d11_rasterizer.cpp \
314 src/d3d11/d3d11_resource.cpp \
315 src/d3d11/d3d11_sampler.cpp \
316 src/d3d11/d3d11_shader.cpp \
317 src/d3d11/d3d11_state.cpp \
318 src/d3d11/d3d11_state_object.cpp \
319 src/d3d11/d3d11_swapchain.cpp \
320 src/d3d11/d3d11_texture.cpp \
321 src/d3d11/d3d11_util.cpp \
322 src/d3d11/d3d11_video.cpp \
323 src/d3d11/d3d11_view_dsv.cpp \
324 src/d3d11/d3d11_view_rtv.cpp \
325 src/d3d11/d3d11_view_srv.cpp \
326 src/d3d11/d3d11_view_uav.cpp \
327 src/d3d10/d3d10_blend.cpp \
328 src/d3d10/d3d10_buffer.cpp \
329 src/d3d10/d3d10_depth_stencil.cpp \
330 src/d3d10/d3d10_device.cpp \
331 src/d3d10/d3d10_input_layout.cpp \
332 src/d3d10/d3d10_multithread.cpp \
333 src/d3d10/d3d10_query.cpp \
334 src/d3d10/d3d10_rasterizer.cpp \
335 src/d3d10/d3d10_sampler.cpp \
336 src/d3d10/d3d10_texture.cpp \
337 src/d3d10/d3d10_util.cpp \
338 src/d3d10/d3d10_view_dsv.cpp \
339 src/d3d10/d3d10_view_rtv.cpp \
340 src/d3d10/d3d10_view_srv.cpp
341VBox-DxVkNativeD3D11_VBOX_SHADERS := \
342 $(PATH_SUB_CURRENT)/src/d3d11/shaders/d3d11_video_blit_frag.frag \
343 $(PATH_SUB_CURRENT)/src/d3d11/shaders/d3d11_video_blit_vert.vert
344$(evalcall2 def_VBoxDxVkCompilerShaders,VBox-DxVkNativeD3D11)
345
346#
347# VBoxDxVk - Shared Object / DLL version.
348#
349VBoxDxVk_TEMPLATE = VBoxR3DllNonPedantic
350VBoxDxVk_DEFS = \
351 DXVK_NATIVE \
352 NOMINMAX \
353 _WIN32_WINNT=0xa00
354VBoxDxVk_INCS = \
355 $(VBOX_PATH_DXVK) \
356 $(VBOX_PATH_DXVK)/include/ \
357 $(VBOX_PATH_DXVK)/src/util/ \
358 $(VBOX_PATH_DXVK)/include/native/ \
359 $(VBOX_PATH_DXVK)/include/native/windows \
360 $(VBOX_PATH_DXVK)/include/native/directx
361VBoxDxVk_CXXFLAGS.linux += \
362 -std=c++17
363VBoxDxVk_SOURCES = \
364 VBoxDxVkDeps.cpp
365VBoxDxVk_LIBS = \
366 $(PATH_STAGE_LIB)/VBox-DxVkNativeD3D11$(VBOX_SUFF_LIB) \
367 $(PATH_STAGE_LIB)/VBox-DxVkNativeDxVk$(VBOX_SUFF_LIB) \
368 $(PATH_STAGE_LIB)/VBox-DxVkNativeUtil$(VBOX_SUFF_LIB) \
369 $(LIB_RUNTIME)
370
371include $(FILE_KBUILD_SUB_FOOTER)
372
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette