46
46
ifndef BUILD_RENDERER_OPENGL2
47
47
BUILD_RENDERER_OPENGL2 =
48
48
endif
49
+ ifndef BUILD_RENDERER_VULKAN
50
+ BUILD_RENDERER_VULKAN =
51
+ endif
49
52
ifndef BUILD_AUTOUPDATER # DON'T build unless you mean to!
50
53
BUILD_AUTOUPDATER =0
51
54
endif
@@ -264,6 +267,7 @@ SDIR=$(MOUNT_DIR)/server
264
267
RCOMMONDIR =$(MOUNT_DIR ) /renderercommon
265
268
RGL1DIR =$(MOUNT_DIR ) /renderergl1
266
269
RGL2DIR =$(MOUNT_DIR ) /renderergl2
270
+ RVULKANDIR =$(MOUNT_DIR ) /renderervk
267
271
CMDIR =$(MOUNT_DIR ) /qcommon
268
272
SDLDIR =$(MOUNT_DIR ) /sdl
269
273
ASMDIR =$(MOUNT_DIR ) /asm
@@ -1168,13 +1172,19 @@ ifneq ($(BUILD_CLIENT),0)
1168
1172
ifneq ($(BUILD_RENDERER_OPENGL2),0)
1169
1173
TARGETS += $(B ) /renderer_opengl2_$(SHLIBNAME )
1170
1174
endif
1175
+ ifneq ($(BUILD_RENDERER_VULKAN),0)
1176
+ TARGETS += $(B ) /renderer_vulkan_$(SHLIBNAME )
1177
+ endif
1171
1178
else
1172
1179
ifneq ($(BUILD_RENDERER_OPENGL1),0)
1173
1180
TARGETS += $(B ) /$(CLIENTBIN )$(FULLBINEXT )
1174
1181
endif
1175
1182
ifneq ($(BUILD_RENDERER_OPENGL2),0)
1176
1183
TARGETS += $(B ) /$(CLIENTBIN ) _opengl2$(FULLBINEXT )
1177
1184
endif
1185
+ ifneq ($(BUILD_RENDERER_VULKAN),0)
1186
+ TARGETS += $(B ) /$(CLIENTBIN ) _vulkan$(FULLBINEXT )
1187
+ endif
1178
1188
endif
1179
1189
endif
1180
1190
@@ -1642,6 +1652,7 @@ makedirs:
1642
1652
@$(MKDIR ) $(B ) /renderergl1
1643
1653
@$(MKDIR ) $(B ) /renderergl2
1644
1654
@$(MKDIR ) $(B ) /renderergl2/glsl
1655
+ @$(MKDIR ) $(B ) /renderervk
1645
1656
@$(MKDIR ) $(B ) /ded
1646
1657
@$(MKDIR ) $(B ) /$(BASEGAME ) /cgame
1647
1658
@$(MKDIR ) $(B ) /$(BASEGAME ) /game
@@ -1997,6 +2008,88 @@ else
1997
2008
endif
1998
2009
endif
1999
2010
2011
+ Q3VKOBJ = \
2012
+ $(B ) /renderervk/matrix_multiplication.o \
2013
+ $(B ) /renderervk/tr_globals.o \
2014
+ $(B ) /renderervk/tr_cvar.o \
2015
+ $(B ) /renderervk/tr_animation.o \
2016
+ $(B ) /renderervk/tr_bsp.o \
2017
+ $(B ) /renderervk/tr_cmds.o \
2018
+ $(B ) /renderervk/tr_curve.o \
2019
+ $(B ) /renderervk/tr_fonts.o \
2020
+ $(B ) /renderervk/tr_image.o \
2021
+ $(B ) /renderervk/R_FindShader.o \
2022
+ $(B ) /renderervk/R_ListShader.o \
2023
+ $(B ) /renderervk/R_ImageProcess.o \
2024
+ $(B ) /renderervk/tr_init.o \
2025
+ $(B ) /renderervk/tr_light.o \
2026
+ $(B ) /renderervk/tr_main.o \
2027
+ $(B ) /renderervk/tr_marks.o \
2028
+ $(B ) /renderervk/tr_mesh.o \
2029
+ $(B ) /renderervk/tr_model.o \
2030
+ $(B ) /renderervk/tr_model_iqm.o \
2031
+ $(B ) /renderervk/RE_RegisterModel.o \
2032
+ $(B ) /renderervk/R_ModelBounds.o \
2033
+ $(B ) /renderervk/R_LoadMD3.o \
2034
+ $(B ) /renderervk/R_LoadMDR.o \
2035
+ $(B ) /renderervk/R_LerpTag.o \
2036
+ $(B ) /renderervk/tr_noise.o \
2037
+ $(B ) /renderervk/tr_scene.o \
2038
+ $(B ) /renderervk/tr_shade.o \
2039
+ $(B ) /renderervk/tr_shade_calc.o \
2040
+ $(B ) /renderervk/tr_shader.o \
2041
+ $(B ) /renderervk/tr_shadows.o \
2042
+ $(B ) /renderervk/tr_sky.o \
2043
+ $(B ) /renderervk/tr_surface.o \
2044
+ $(B ) /renderervk/tr_flares.o \
2045
+ $(B ) /renderervk/tr_fog.o \
2046
+ $(B ) /renderervk/tr_world.o \
2047
+ $(B ) /renderervk/vk_instance.o \
2048
+ $(B ) /renderervk/vk_init.o \
2049
+ $(B ) /renderervk/vk_cmd.o \
2050
+ $(B ) /renderervk/vk_image.o \
2051
+ $(B ) /renderervk/vk_image_sampler2.o \
2052
+ $(B ) /renderervk/vk_pipelines.o \
2053
+ $(B ) /renderervk/vk_frame.o \
2054
+ $(B ) /renderervk/vk_swapchain.o \
2055
+ $(B ) /renderervk/vk_screenshot.o \
2056
+ $(B ) /renderervk/vk_shade_geometry.o \
2057
+ $(B ) /renderervk/vk_depth_attachment.o \
2058
+ \
2059
+ $(B ) /renderervk/vk_shaders.o \
2060
+ $(B ) /renderervk/multi_texture_clipping_plane_vert.o \
2061
+ $(B ) /renderervk/multi_texture_frag.o \
2062
+ $(B ) /renderervk/multi_texture_vert.o \
2063
+ $(B ) /renderervk/single_texture_clipping_plane_vert.o \
2064
+ $(B ) /renderervk/single_texture_frag.o \
2065
+ $(B ) /renderervk/single_texture_vert.o \
2066
+ \
2067
+ $(B ) /renderervk/R_StretchRaw.o \
2068
+ $(B ) /renderervk/R_DebugGraphics.o \
2069
+ $(B ) /renderervk/RB_ShowImages.o \
2070
+ $(B ) /renderervk/RB_DrawNormals.o \
2071
+ $(B ) /renderervk/RB_DrawTris.o \
2072
+ $(B ) /renderervk/RB_SurfaceAnim.o \
2073
+ $(B ) /renderervk/tr_backend.o \
2074
+ $(B ) /renderervk/tr_Cull.o \
2075
+ $(B ) /renderervk/glConfig.o \
2076
+ $(B ) /renderervk/R_Parser.o \
2077
+ $(B ) /renderervk/R_PortalPlane.o \
2078
+ $(B ) /renderervk/R_PrintMat.o \
2079
+ \
2080
+ $(B ) /renderervk/R_LoadImage2.o \
2081
+ $(B ) /renderervk/R_LoadImage.o \
2082
+ $(B ) /renderervk/R_ImageJPG.o \
2083
+ $(B ) /renderervk/R_ImageTGA.o \
2084
+ $(B ) /renderervk/R_ImagePNG.o \
2085
+ $(B ) /renderervk/R_ImageBMP.o \
2086
+ $(B ) /renderervk/R_ImagePCX.o \
2087
+ \
2088
+ $(B ) /renderervk/ref_import.o \
2089
+ $(B ) /renderervk/render_export.o \
2090
+ \
2091
+ $(B ) /renderervk/vk_create_window_SDL.o
2092
+
2000
2093
Q3R2OBJ = \
2001
2094
$(B ) /renderergl2/tr_animation.o \
2002
2095
$(B ) /renderergl2/tr_backend.o \
@@ -2116,6 +2209,11 @@ ifneq ($(USE_RENDERER_DLOPEN), 0)
2116
2209
$(B ) /renderergl1/puff.o \
2117
2210
$(B ) /renderergl1/q_math.o \
2118
2211
$(B ) /renderergl1/tr_subs.o
2212
+
2213
+ Q3VKOBJ += \
2214
+ $(B ) /renderergl1/q_shared.o \
2215
+ $(B ) /renderergl1/puff.o \
2216
+ $(B ) /renderergl1/q_math.o
2119
2217
endif
2120
2218
2121
2219
ifneq ($(USE_INTERNAL_JPEG ) ,0)
@@ -2426,6 +2524,11 @@ $(B)/renderer_opengl2_$(SHLIBNAME): $(Q3R2OBJ) $(Q3R2STRINGOBJ) $(JPGOBJ)
2426
2524
$(echo_cmd ) " LD $@ "
2427
2525
$(Q )$(CC ) $(CFLAGS ) $(SHLIBLDFLAGS ) -o $@ $(Q3R2OBJ ) $(Q3R2STRINGOBJ ) $(JPGOBJ ) \
2428
2526
$(THREAD_LIBS ) $(LIBSDLMAIN ) $(RENDERER_LIBS ) $(LIBS )
2527
+
2528
+ $(B ) /renderer_vulkan_$(SHLIBNAME ) : $(Q3VKOBJ ) $(JPGOBJ )
2529
+ $(echo_cmd ) " LD $@ "
2530
+ $(Q )$(CC ) $(CFLAGS ) $(SHLIBLDFLAGS ) -o $@ $(Q3VKOBJ ) $(JPGOBJ ) \
2531
+ $(THREAD_LIBS) $(LIBSDLMAIN) $(RENDERER_LIBS) $(LIBS)
2429
2532
else
2430
2533
$(B ) /$(CLIENTBIN )$(FULLBINEXT ) : $(Q3OBJ ) $(Q3ROBJ ) $(JPGOBJ ) $(LIBSDLMAIN )
2431
2534
$(echo_cmd ) " LD $@ "
@@ -2438,6 +2541,12 @@ $(B)/$(CLIENTBIN)_opengl2$(FULLBINEXT): $(Q3OBJ) $(Q3R2OBJ) $(Q3R2STRINGOBJ) $(J
2438
2541
$(Q )$(CC ) $(CLIENT_CFLAGS ) $(CFLAGS ) $(CLIENT_LDFLAGS ) $(LDFLAGS ) $(NOTSHLIBLDFLAGS ) \
2439
2542
-o $@ $(Q3OBJ ) $(Q3R2OBJ ) $(Q3R2STRINGOBJ ) $(JPGOBJ ) \
2440
2543
$(LIBSDLMAIN ) $(CLIENT_LIBS ) $(RENDERER_LIBS ) $(LIBS )
2544
+
2545
+ $(B ) /$(CLIENTBIN ) _vulkan$(FULLBINEXT ) : $(Q3OBJ ) $(Q3VKOBJ ) $(JPGOBJ ) $(LIBSDLMAIN )
2546
+ $(echo_cmd ) " LD $@ "
2547
+ $(Q )$(CC ) $(CLIENT_CFLAGS ) $(CFLAGS ) $(CLIENT_LDFLAGS ) $(LDFLAGS ) $(NOTSHLIBLDFLAGS ) \
2548
+ -o $@ $(Q3OBJ ) $(Q3VKOBJ ) $(JPGOBJ ) \
2549
+ $(LIBSDLMAIN ) $(CLIENT_LIBS ) $(RENDERER_LIBS ) $(LIBS )
2441
2550
endif
2442
2551
2443
2552
ifneq ($(strip $(LIBSDLMAIN ) ) ,)
@@ -2967,6 +3076,24 @@ $(B)/renderergl2/%.o: $(RCOMMONDIR)/%.c
2967
3076
$(B ) /renderergl2/% .o : $(RGL2DIR ) /% .c
2968
3077
$(DO_REF_CC )
2969
3078
3079
+ $(B ) /renderervk/% .o : $(CMDIR ) /% .c
3080
+ $(DO_REF_CC )
3081
+
3082
+ $(B ) /renderervk/% .o : $(SDLDIR ) /% .c
3083
+ $(DO_REF_CC )
3084
+
3085
+ $(B ) /renderervk/% .o : $(JPDIR ) /% .c
3086
+ $(DO_REF_CC )
3087
+
3088
+ $(B ) /renderervk/% .o : $(RCOMMONDIR ) /% .c
3089
+ $(DO_REF_CC )
3090
+
3091
+ $(B ) /renderervk/% .o : $(RVULKANDIR ) /% .c
3092
+ $(DO_REF_CC )
3093
+
3094
+ $(B ) /renderervk/% .o : $(MOUNT_DIR ) /renderervk/shaders/Compiled/% .c
3095
+ $(DO_REF_CC )
3096
+
2970
3097
2971
3098
$(B ) /ded/% .o : $(ASMDIR ) /% .s
2972
3099
$(DO_AS )
@@ -3104,7 +3231,7 @@ $(B)/$(CLIENTBIN)-config.json: $(WEBDIR)/client-config.json
3104
3231
# MISC
3105
3232
# ############################################################################
3106
3233
3107
- OBJ = $(Q3OBJ ) $(Q3ROBJ ) $(Q3R2OBJ ) $(Q3DOBJ ) $(JPGOBJ ) \
3234
+ OBJ = $(Q3OBJ ) $(Q3ROBJ ) $(Q3R2OBJ ) $(Q3VKOBJ ) $( Q3DOBJ ) $(JPGOBJ ) \
3108
3235
$(MPGOBJ ) $(Q3GOBJ ) $(Q3CGOBJ ) $(MPCGOBJ ) $(Q3UIOBJ ) $(MPUIOBJ ) \
3109
3236
$(MPGVMOBJ ) $(Q3GVMOBJ ) $(Q3CGVMOBJ ) $(MPCGVMOBJ ) $(Q3UIVMOBJ ) $(MPUIVMOBJ )
3110
3237
TOOLSOBJ = $(LBURGOBJ ) $(Q3CPPOBJ ) $(Q3RCCOBJ ) $(Q3LCCOBJ ) $(Q3ASMOBJ )
@@ -3131,13 +3258,19 @@ ifneq ($(BUILD_CLIENT),0)
3131
3258
ifneq ($(BUILD_RENDERER_OPENGL2),0)
3132
3259
$(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/renderer_opengl2_$(SHLIBNAME) $(COPYBINDIR)/renderer_opengl2_$(SHLIBNAME)
3133
3260
endif
3261
+ ifneq ($(BUILD_RENDERER_VULKAN),0)
3262
+ $(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/renderer_vulkan_$(SHLIBNAME) $(COPYBINDIR)/renderer_vulkan_$(SHLIBNAME)
3263
+ endif
3134
3264
else
3135
3265
ifneq ($(BUILD_RENDERER_OPENGL1),0)
3136
3266
$(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/$(CLIENTBIN)$(FULLBINEXT) $(COPYBINDIR)/$(CLIENTBIN)$(FULLBINEXT)
3137
3267
endif
3138
3268
ifneq ($(BUILD_RENDERER_OPENGL2),0)
3139
3269
$(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/$(CLIENTBIN)_opengl2$(FULLBINEXT) $(COPYBINDIR)/$(CLIENTBIN)_opengl2$(FULLBINEXT)
3140
3270
endif
3271
+ ifneq ($(BUILD_RENDERER_VULKAN),0)
3272
+ $(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/$(CLIENTBIN)_vulkan$(FULLBINEXT) $(COPYBINDIR)/$(CLIENTBIN)_vulkan$(FULLBINEXT)
3273
+ endif
3141
3274
endif
3142
3275
endif
3143
3276
@@ -3185,6 +3318,7 @@ clean2:
3185
3318
@rm -f $(OBJ_D_FILES )
3186
3319
@rm -f $(STRINGOBJ )
3187
3320
@rm -f $(TARGETS )
3321
+ @rm -rf $(Q3VKOBJ )
3188
3322
@rm -f $(GENERATEDTARGETS )
3189
3323
3190
3324
toolsclean : toolsclean-debug toolsclean-release
0 commit comments