Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,5 @@ profile
*.opensdf
*.suo
/.vs
/out/install/x64-Debug
/CMakeSettings.json
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ option(BUILD_SERVER "Build dedicated server" ON)
option(BUILD_CLIENT "Build client" ON)
option(BUILD_RENDERER_GL1 "Build GL1 renderer" ON)
option(BUILD_RENDERER_GL2 "Build GL2 renderer" ON)
option(BUILD_RENDERER_VULKAN "Build Vulkan renderer" ON)
option(BUILD_GAME_LIBRARIES "Build game module libraries" ON)
option(BUILD_GAME_QVMS "Build game module qvms" ON)
option(BUILD_STANDALONE "Build binaries for standalone games" OFF)
Expand Down Expand Up @@ -91,6 +92,7 @@ include(libraries/all)
include(server)
include(renderer_gl1)
include(renderer_gl2)
include(renderer_vulkan)
include(client)
include(basegame)
include(missionpack)
Expand Down
18 changes: 9 additions & 9 deletions cmake/renderer_common.cmake
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
include_guard(GLOBAL)

set(RENDERER_COMMON_SOURCES
${SOURCE_DIR}/renderercommon/tr_font.c
${SOURCE_DIR}/renderercommon/tr_image_bmp.c
${SOURCE_DIR}/renderercommon/tr_image_jpg.c
${SOURCE_DIR}/renderercommon/tr_image_pcx.c
${SOURCE_DIR}/renderercommon/tr_image_png.c
${SOURCE_DIR}/renderercommon/tr_image_tga.c
${SOURCE_DIR}/renderercommon/tr_noise.c
${SOURCE_DIR}/renderercommon/puff.c
${SOURCE_DIR}/renderer/renderercommon/tr_font.c
${SOURCE_DIR}/renderer/renderercommon/tr_image_bmp.c
${SOURCE_DIR}/renderer/renderercommon/tr_image_jpg.c
${SOURCE_DIR}/renderer/renderercommon/tr_image_pcx.c
${SOURCE_DIR}/renderer/renderercommon/tr_image_png.c
${SOURCE_DIR}/renderer/renderercommon/tr_image_tga.c
${SOURCE_DIR}/renderer/renderercommon/tr_noise.c
${SOURCE_DIR}/renderer/renderercommon/puff.c
)

set(SDL_RENDERER_SOURCES
Expand All @@ -17,7 +17,7 @@ set(SDL_RENDERER_SOURCES
)

set(DYNAMIC_RENDERER_SOURCES
${SOURCE_DIR}/renderercommon/tr_subs.c
${SOURCE_DIR}/renderer/renderercommon/tr_subs.c
${SOURCE_DIR}/qcommon/q_shared.c
${SOURCE_DIR}/qcommon/q_math.c
)
Expand Down
46 changes: 23 additions & 23 deletions cmake/renderer_gl1.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,29 @@ include(utils/set_output_dirs)
include(renderer_common)

set(RENDERER_GL1_SOURCES
${SOURCE_DIR}/renderergl1/tr_altivec.c
${SOURCE_DIR}/renderergl1/tr_animation.c
${SOURCE_DIR}/renderergl1/tr_backend.c
${SOURCE_DIR}/renderergl1/tr_bsp.c
${SOURCE_DIR}/renderergl1/tr_cmds.c
${SOURCE_DIR}/renderergl1/tr_curve.c
${SOURCE_DIR}/renderergl1/tr_flares.c
${SOURCE_DIR}/renderergl1/tr_image.c
${SOURCE_DIR}/renderergl1/tr_init.c
${SOURCE_DIR}/renderergl1/tr_light.c
${SOURCE_DIR}/renderergl1/tr_main.c
${SOURCE_DIR}/renderergl1/tr_marks.c
${SOURCE_DIR}/renderergl1/tr_mesh.c
${SOURCE_DIR}/renderergl1/tr_model.c
${SOURCE_DIR}/renderergl1/tr_model_iqm.c
${SOURCE_DIR}/renderergl1/tr_scene.c
${SOURCE_DIR}/renderergl1/tr_shade.c
${SOURCE_DIR}/renderergl1/tr_shade_calc.c
${SOURCE_DIR}/renderergl1/tr_shader.c
${SOURCE_DIR}/renderergl1/tr_shadows.c
${SOURCE_DIR}/renderergl1/tr_sky.c
${SOURCE_DIR}/renderergl1/tr_surface.c
${SOURCE_DIR}/renderergl1/tr_world.c
${SOURCE_DIR}/renderer/renderergl1/tr_altivec.c
${SOURCE_DIR}/renderer/renderergl1/tr_animation.c
${SOURCE_DIR}/renderer/renderergl1/tr_backend.c
${SOURCE_DIR}/renderer/renderergl1/tr_bsp.c
${SOURCE_DIR}/renderer/renderergl1/tr_cmds.c
${SOURCE_DIR}/renderer/renderergl1/tr_curve.c
${SOURCE_DIR}/renderer/renderergl1/tr_flares.c
${SOURCE_DIR}/renderer/renderergl1/tr_image.c
${SOURCE_DIR}/renderer/renderergl1/tr_init.c
${SOURCE_DIR}/renderer/renderergl1/tr_light.c
${SOURCE_DIR}/renderer/renderergl1/tr_main.c
${SOURCE_DIR}/renderer/renderergl1/tr_marks.c
${SOURCE_DIR}/renderer/renderergl1/tr_mesh.c
${SOURCE_DIR}/renderer/renderergl1/tr_model.c
${SOURCE_DIR}/renderer/renderergl1/tr_model_iqm.c
${SOURCE_DIR}/renderer/renderergl1/tr_scene.c
${SOURCE_DIR}/renderer/renderergl1/tr_shade.c
${SOURCE_DIR}/renderer/renderergl1/tr_shade_calc.c
${SOURCE_DIR}/renderer/renderergl1/tr_shader.c
${SOURCE_DIR}/renderer/renderergl1/tr_shadows.c
${SOURCE_DIR}/renderer/renderergl1/tr_sky.c
${SOURCE_DIR}/renderer/renderergl1/tr_surface.c
${SOURCE_DIR}/renderer/renderergl1/tr_world.c
)

set(RENDERER_GL1_BASENAME renderer_opengl1)
Expand Down
62 changes: 31 additions & 31 deletions cmake/renderer_gl2.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,39 +6,39 @@ include(utils/set_output_dirs)
include(renderer_common)

set(RENDERER_GL2_SOURCES
${SOURCE_DIR}/renderergl2/tr_animation.c
${SOURCE_DIR}/renderergl2/tr_backend.c
${SOURCE_DIR}/renderergl2/tr_bsp.c
${SOURCE_DIR}/renderergl2/tr_cmds.c
${SOURCE_DIR}/renderergl2/tr_curve.c
${SOURCE_DIR}/renderergl2/tr_dsa.c
${SOURCE_DIR}/renderergl2/tr_extramath.c
${SOURCE_DIR}/renderergl2/tr_extensions.c
${SOURCE_DIR}/renderergl2/tr_fbo.c
${SOURCE_DIR}/renderergl2/tr_flares.c
${SOURCE_DIR}/renderergl2/tr_glsl.c
${SOURCE_DIR}/renderergl2/tr_image.c
${SOURCE_DIR}/renderergl2/tr_image_dds.c
${SOURCE_DIR}/renderergl2/tr_init.c
${SOURCE_DIR}/renderergl2/tr_light.c
${SOURCE_DIR}/renderergl2/tr_main.c
${SOURCE_DIR}/renderergl2/tr_marks.c
${SOURCE_DIR}/renderergl2/tr_mesh.c
${SOURCE_DIR}/renderergl2/tr_model.c
${SOURCE_DIR}/renderergl2/tr_model_iqm.c
${SOURCE_DIR}/renderergl2/tr_postprocess.c
${SOURCE_DIR}/renderergl2/tr_scene.c
${SOURCE_DIR}/renderergl2/tr_shade.c
${SOURCE_DIR}/renderergl2/tr_shade_calc.c
${SOURCE_DIR}/renderergl2/tr_shader.c
${SOURCE_DIR}/renderergl2/tr_shadows.c
${SOURCE_DIR}/renderergl2/tr_sky.c
${SOURCE_DIR}/renderergl2/tr_surface.c
${SOURCE_DIR}/renderergl2/tr_vbo.c
${SOURCE_DIR}/renderergl2/tr_world.c
${SOURCE_DIR}/renderer/renderergl2/tr_animation.c
${SOURCE_DIR}/renderer/renderergl2/tr_backend.c
${SOURCE_DIR}/renderer/renderergl2/tr_bsp.c
${SOURCE_DIR}/renderer/renderergl2/tr_cmds.c
${SOURCE_DIR}/renderer/renderergl2/tr_curve.c
${SOURCE_DIR}/renderer/renderergl2/tr_dsa.c
${SOURCE_DIR}/renderer/renderergl2/tr_extramath.c
${SOURCE_DIR}/renderer/renderergl2/tr_extensions.c
${SOURCE_DIR}/renderer/renderergl2/tr_fbo.c
${SOURCE_DIR}/renderer/renderergl2/tr_flares.c
${SOURCE_DIR}/renderer/renderergl2/tr_glsl.c
${SOURCE_DIR}/renderer/renderergl2/tr_image.c
${SOURCE_DIR}/renderer/renderergl2/tr_image_dds.c
${SOURCE_DIR}/renderer/renderergl2/tr_init.c
${SOURCE_DIR}/renderer/renderergl2/tr_light.c
${SOURCE_DIR}/renderer/renderergl2/tr_main.c
${SOURCE_DIR}/renderer/renderergl2/tr_marks.c
${SOURCE_DIR}/renderer/renderergl2/tr_mesh.c
${SOURCE_DIR}/renderer/renderergl2/tr_model.c
${SOURCE_DIR}/renderer/renderergl2/tr_model_iqm.c
${SOURCE_DIR}/renderer/renderergl2/tr_postprocess.c
${SOURCE_DIR}/renderer/renderergl2/tr_scene.c
${SOURCE_DIR}/renderer/renderergl2/tr_shade.c
${SOURCE_DIR}/renderer/renderergl2/tr_shade_calc.c
${SOURCE_DIR}/renderer/renderergl2/tr_shader.c
${SOURCE_DIR}/renderer/renderergl2/tr_shadows.c
${SOURCE_DIR}/renderer/renderergl2/tr_sky.c
${SOURCE_DIR}/renderer/renderergl2/tr_surface.c
${SOURCE_DIR}/renderer/renderergl2/tr_vbo.c
${SOURCE_DIR}/renderer/renderergl2/tr_world.c
)

file(GLOB RENDERER_GL2_SHADER_SOURCES ${SOURCE_DIR}/renderergl2/glsl/*.glsl)
file(GLOB RENDERER_GL2_SHADER_SOURCES ${SOURCE_DIR}/renderer/renderergl2/glsl/*.glsl)

set(SHADERS_DIR ${CMAKE_BINARY_DIR}/shaders.dir)
file(MAKE_DIRECTORY ${SHADERS_DIR})
Expand Down
121 changes: 121 additions & 0 deletions cmake/renderer_vulkan.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
if(NOT BUILD_CLIENT OR NOT BUILD_RENDERER_VULKAN)
return()
endif()

include(utils/set_output_dirs)
include(renderer_common)

set(RENDERER_VULKAN_LIBRARY_SOURCES ${RENDERER_LIBRARY_SOURCES})
set(RENDERER_VULKAN_DYNAMIC_SOURCES ${DYNAMIC_RENDERER_SOURCES})

list(FILTER RENDERER_VULKAN_DYNAMIC_SOURCES EXCLUDE REGEX "tr_subs\\.c$")
list(FILTER RENDERER_VULKAN_LIBRARY_SOURCES EXCLUDE REGEX "tr_subs\\.c$")

set(RENDERER_VULKAN_SOURCES
${SOURCE_DIR}/renderer/vulkan/matrix_multiplication.c
${SOURCE_DIR}/renderer/vulkan/tr_globals.c
${SOURCE_DIR}/renderer/vulkan/tr_cvar.c
${SOURCE_DIR}/renderer/vulkan/tr_animation.c
${SOURCE_DIR}/renderer/vulkan/tr_bsp.c
${SOURCE_DIR}/renderer/vulkan/tr_cmds.c
${SOURCE_DIR}/renderer/vulkan/tr_curve.c
${SOURCE_DIR}/renderer/vulkan/tr_fonts.c
${SOURCE_DIR}/renderer/vulkan/tr_image.c
${SOURCE_DIR}/renderer/vulkan/R_FindShader.c
${SOURCE_DIR}/renderer/vulkan/R_ListShader.c
${SOURCE_DIR}/renderer/vulkan/R_ImageProcess.c
${SOURCE_DIR}/renderer/vulkan/tr_init.c
${SOURCE_DIR}/renderer/vulkan/tr_light.c
${SOURCE_DIR}/renderer/vulkan/tr_main.c
${SOURCE_DIR}/renderer/vulkan/tr_marks.c
${SOURCE_DIR}/renderer/vulkan/tr_mesh.c
${SOURCE_DIR}/renderer/vulkan/tr_model.c
${SOURCE_DIR}/renderer/vulkan/tr_model_iqm.c
${SOURCE_DIR}/renderer/vulkan/RE_RegisterModel.c
${SOURCE_DIR}/renderer/vulkan/R_ModelBounds.c
${SOURCE_DIR}/renderer/vulkan/R_LoadMD3.c
${SOURCE_DIR}/renderer/vulkan/R_LoadMDR.c
${SOURCE_DIR}/renderer/vulkan/R_LerpTag.c
${SOURCE_DIR}/renderer/vulkan/tr_noise.c
${SOURCE_DIR}/renderer/vulkan/tr_scene.c
${SOURCE_DIR}/renderer/vulkan/tr_shade.c
${SOURCE_DIR}/renderer/vulkan/tr_shade_calc.c
${SOURCE_DIR}/renderer/vulkan/tr_shader.c
${SOURCE_DIR}/renderer/vulkan/tr_shadows.c
${SOURCE_DIR}/renderer/vulkan/tr_sky.c
${SOURCE_DIR}/renderer/vulkan/tr_surface.c
${SOURCE_DIR}/renderer/vulkan/tr_flares.c
${SOURCE_DIR}/renderer/vulkan/tr_fog.c
${SOURCE_DIR}/renderer/vulkan/tr_world.c

${SOURCE_DIR}/renderer/vulkan/vk_instance.c
${SOURCE_DIR}/renderer/vulkan/vk_init.c
${SOURCE_DIR}/renderer/vulkan/vk_cmd.c
${SOURCE_DIR}/renderer/vulkan/vk_image.c
${SOURCE_DIR}/renderer/vulkan/vk_image_sampler2.c
${SOURCE_DIR}/renderer/vulkan/vk_pipelines.c
${SOURCE_DIR}/renderer/vulkan/vk_frame.c
${SOURCE_DIR}/renderer/vulkan/vk_swapchain.c
${SOURCE_DIR}/renderer/vulkan/vk_screenshot.c
${SOURCE_DIR}/renderer/vulkan/vk_shade_geometry.c
${SOURCE_DIR}/renderer/vulkan/vk_depth_attachment.c
${SOURCE_DIR}/renderer/vulkan/vk_shaders.c

${SOURCE_DIR}/renderer/vulkan/R_StretchRaw.c
${SOURCE_DIR}/renderer/vulkan/R_DebugGraphics.c
${SOURCE_DIR}/renderer/vulkan/RB_ShowImages.c
${SOURCE_DIR}/renderer/vulkan/RB_DrawNormals.c
${SOURCE_DIR}/renderer/vulkan/RB_DrawTris.c
${SOURCE_DIR}/renderer/vulkan/RB_SurfaceAnim.c
${SOURCE_DIR}/renderer/vulkan/tr_backend.c
${SOURCE_DIR}/renderer/vulkan/tr_Cull.c
${SOURCE_DIR}/renderer/vulkan/glConfig.c
${SOURCE_DIR}/renderer/vulkan/R_Parser.c
${SOURCE_DIR}/renderer/vulkan/R_PortalPlane.c
${SOURCE_DIR}/renderer/vulkan/R_PrintMat.c

${SOURCE_DIR}/renderer/vulkan/R_LoadImage2.c
${SOURCE_DIR}/renderer/vulkan/R_LoadImage.c
${SOURCE_DIR}/renderer/vulkan/R_ImageJPG.c
${SOURCE_DIR}/renderer/vulkan/R_ImageTGA.c
${SOURCE_DIR}/renderer/vulkan/R_ImagePNG.c
${SOURCE_DIR}/renderer/vulkan/R_ImageBMP.c
${SOURCE_DIR}/renderer/vulkan/R_ImagePCX.c
${SOURCE_DIR}/renderer/vulkan/stb_image_impl.c

${SOURCE_DIR}/renderer/vulkan/ref_import.c
${SOURCE_DIR}/renderer/vulkan/render_export.c

${SOURCE_DIR}/renderer/vulkan/vk_create_window_SDL.c
${SOURCE_DIR}/qcommon/puff.c
)

# Auto-include the generated SPIR-V C stubs
file(GLOB RENDERER_VULKAN_SHADER_C_SOURCES
${SOURCE_DIR}/renderer/vulkan/shaders/Compiled/*.c
)

set(RENDERER_VULKAN_BASENAME renderer_vulkan)
set(RENDERER_VULKAN_BINARY ${RENDERER_VULKAN_BASENAME})

# IMPORTANT: Do *not* pull in RENDERER_COMMON_SOURCES or SDL_RENDERER_SOURCES here.
list(APPEND RENDERER_VULKAN_BINARY_SOURCES
${RENDERER_VULKAN_SOURCES}
${RENDERER_VULKAN_SHADER_C_SOURCES}
${RENDERER_VULKAN_LIBRARY_SOURCES}
)

if(USE_RENDERER_DLOPEN)
list(APPEND RENDERER_VULKAN_BINARY_SOURCES ${RENDERER_VULKAN_DYNAMIC_SOURCES})

add_library(${RENDERER_VULKAN_BINARY} SHARED ${RENDERER_VULKAN_BINARY_SOURCES})

target_link_libraries( ${RENDERER_VULKAN_BINARY} PRIVATE ${RENDERER_LIBRARIES})
target_include_directories( ${RENDERER_VULKAN_BINARY} PRIVATE ${RENDERER_INCLUDE_DIRS})
target_compile_definitions( ${RENDERER_VULKAN_BINARY} PRIVATE ${RENDERER_DEFINITIONS})
target_compile_options( ${RENDERER_VULKAN_BINARY} PRIVATE ${RENDERER_COMPILE_OPTIONS})
target_link_options( ${RENDERER_VULKAN_BINARY} PRIVATE ${RENDERER_LINK_OPTIONS})

set_output_dirs(${RENDERER_VULKAN_BINARY})
endif()

2 changes: 1 addition & 1 deletion code/cgame/cg_local.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
//
#include "../qcommon/q_shared.h"
#include "../renderercommon/tr_types.h"
#include "../renderer/renderercommon/tr_types.h"
#include "../game/bg_public.h"
#include "cg_public.h"

Expand Down
2 changes: 1 addition & 1 deletion code/client/client.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

#include "../qcommon/q_shared.h"
#include "../qcommon/qcommon.h"
#include "../renderercommon/tr_public.h"
#include "../renderer/renderercommon/tr_public.h"
#include "../ui/ui_public.h"
#include "keys.h"
#include "snd_public.h"
Expand Down
2 changes: 1 addition & 1 deletion code/q3_ui/ui_local.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#define __UI_LOCAL_H__

#include "../qcommon/q_shared.h"
#include "../renderercommon/tr_types.h"
#include "../renderer/renderercommon/tr_types.h"
//NOTE: include the ui_public.h from the new UI
#include "../ui/ui_public.h"
//redefine to old API version
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion code/renderercommon/puff.h → code/qcommon/puff.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
#ifndef __PUFF_H
#define __PUFF_H

#include "../qcommon/q_shared.h" /* for definitions of the <stdint.h> types */
#include "q_shared.h" /* for definitions of the <stdint.h> types */

/*
* See puff.c for purpose and usage.
Expand Down
6 changes: 6 additions & 0 deletions code/qcommon/q_shared.h
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,12 @@ typedef int clipHandle_t;

#define PADP(base, alignment) ((void *) PAD((intptr_t) (base), (alignment)))

#ifdef __GNUC__
#define QALIGN(x) __attribute__((aligned(x)))
#else
#define QALIGN(x)
#endif

#ifndef NULL
#define NULL ((void *)0)
#endif
Expand Down
File renamed without changes.
Loading