mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-05-30 16:30:43 +00:00
[build] Add support for building with Tracy
Tracy is a frame profiler: https://github.com/wolfpld/tracy This uses Tracy's C API to instrument the code (already added in several places). It turns out there is something very weird with the fence behavior between the staging buffers and render commands as the inter-frame delay occurs in a very strangle place (in the draw code's packet acquisition rather than the fence waiter that's there for that purpose). I suspect some tangled dependencies.
This commit is contained in:
parent
cba1866360
commit
010c658653
41 changed files with 206 additions and 10 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -44,6 +44,7 @@ core
|
||||||
/quakeforge-config
|
/quakeforge-config
|
||||||
/quakeforge.lsm
|
/quakeforge.lsm
|
||||||
/test-driver
|
/test-driver
|
||||||
|
/tracy
|
||||||
/ylwrap
|
/ylwrap
|
||||||
|
|
||||||
# /RPM/
|
# /RPM/
|
||||||
|
|
11
Makefile.am
11
Makefile.am
|
@ -25,8 +25,9 @@ NOCONV_DIST= \
|
||||||
$(distdir)/include/win32/resources/icon1XP.ico
|
$(distdir)/include/win32/resources/icon1XP.ico
|
||||||
|
|
||||||
BUILT_SOURCES = $(top_srcdir)/.version
|
BUILT_SOURCES = $(top_srcdir)/.version
|
||||||
#AM_CFLAGS= @PREFER_NON_PIC@
|
AM_CFLAGS= $(TRACY_CFLAGS) -funwind-tables -include qftracy.h
|
||||||
AM_CPPFLAGS= -I$(top_srcdir)/include $(PTHREAD_CFLAGS) $(FNM_FLAGS) $(NCURSES_CFLAGS) $(FREETYPE_CFLAGS) $(HARFBUZZ_CFLAGS) $(VULKAN_CPPFLAGS) $(LIBCURL_CFLAGS)
|
AM_CXXFLAGS= $(TRACY_CFLAGS) -include qftracy.h
|
||||||
|
AM_CPPFLAGS= -I$(top_srcdir)/include $(UNWIND_CFLAGS) $(PTHREAD_CFLAGS) $(FNM_FLAGS) $(NCURSES_CFLAGS) $(FREETYPE_CFLAGS) $(HARFBUZZ_CFLAGS) $(VULKAN_CPPFLAGS) $(LIBCURL_CFLAGS)
|
||||||
|
|
||||||
common_ldflags= -export-dynamic @STATIC@ @PTHREAD_LDFLAGS@
|
common_ldflags= -export-dynamic @STATIC@ @PTHREAD_LDFLAGS@
|
||||||
|
|
||||||
|
@ -60,6 +61,12 @@ YFLAGS = -v -d -Wno-yacc -Werror
|
||||||
PTHREAD_LDFLAGS=@PTHREAD_LDFLAGS@
|
PTHREAD_LDFLAGS=@PTHREAD_LDFLAGS@
|
||||||
PTHREAD_CFLAGS=@PTHREAD_CFLAGS@
|
PTHREAD_CFLAGS=@PTHREAD_CFLAGS@
|
||||||
|
|
||||||
|
if HAVE_TRACY
|
||||||
|
tracy_src=tracy/public/TracyClient.cpp
|
||||||
|
else
|
||||||
|
tracy_src=
|
||||||
|
endif
|
||||||
|
|
||||||
lib_ldflags=-version-info $(QUAKE_LIBRARY_VERSION_INFO) \
|
lib_ldflags=-version-info $(QUAKE_LIBRARY_VERSION_INFO) \
|
||||||
-rpath $(libdir) -no-undefined
|
-rpath $(libdir) -no-undefined
|
||||||
plugin_ldflags= @plugin_ldflags@ -avoid-version -module -rpath $(plugindir)
|
plugin_ldflags= @plugin_ldflags@ -avoid-version -module -rpath $(plugindir)
|
||||||
|
|
|
@ -64,7 +64,7 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||||
#include <winsock.h>
|
#include <winsock.h>
|
||||||
]], [[
|
]], [[
|
||||||
connect(0, NULL, 42);
|
connect(0, NULL, 42);
|
||||||
]])],[NET_LIBS="$NET_LIBS -lwsock32 -lwinmm"
|
]])],[NET_LIBS="$NET_LIBS -lwsock32"
|
||||||
ac_cv_func_connect=yes
|
ac_cv_func_connect=yes
|
||||||
ac_cv_func_gethostbyname=yes
|
ac_cv_func_gethostbyname=yes
|
||||||
HAVE_WSOCK=yes
|
HAVE_WSOCK=yes
|
||||||
|
@ -72,6 +72,21 @@ connect(0, NULL, 42);
|
||||||
])
|
])
|
||||||
LIBS="$SAVELIBS"
|
LIBS="$SAVELIBS"
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([for WSAPoll in -lws2_32])
|
||||||
|
SAVELIBS="$LIBS"
|
||||||
|
LIBS="$LIBS -lws2_32"
|
||||||
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||||
|
#include <winsock.h>
|
||||||
|
]], [[
|
||||||
|
WSAPoll(NULL, 0, 42);
|
||||||
|
]])],[NET_LIBS="$NET_LIBS -lws2_32 -lwinmm"
|
||||||
|
ac_cv_func_connect=yes
|
||||||
|
ac_cv_func_gethostbyname=yes
|
||||||
|
HAVE_WS2=yes
|
||||||
|
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||||
|
])
|
||||||
|
LIBS="$SAVELIBS"
|
||||||
|
|
||||||
AC_MSG_CHECKING(for UDP support)
|
AC_MSG_CHECKING(for UDP support)
|
||||||
if test "x$ac_cv_func_connect" = "xyes" -a "x$ac_cv_func_gethostbyname" = "xyes"; then
|
if test "x$ac_cv_func_connect" = "xyes" -a "x$ac_cv_func_gethostbyname" = "xyes"; then
|
||||||
HAVE_UDP=yes
|
HAVE_UDP=yes
|
||||||
|
|
|
@ -4,6 +4,7 @@ dnl ==================================================================
|
||||||
|
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
|
AC_PROG_CXX
|
||||||
AC_PROG_CPP
|
AC_PROG_CPP
|
||||||
AC_PROG_LN_S
|
AC_PROG_LN_S
|
||||||
AC_PROG_RANLIB
|
AC_PROG_RANLIB
|
||||||
|
|
35
config.d/tracy.m4
Normal file
35
config.d/tracy.m4
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
AC_ARG_ENABLE(tracy,
|
||||||
|
AS_HELP_STRING(
|
||||||
|
[--disable-tracy],
|
||||||
|
[disable use of tracy profiler]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
HAVE_TRACY=no
|
||||||
|
if test "x$enable_tracy" = "xyes"; then
|
||||||
|
tracy_dir=${srcdir}/tracy/public
|
||||||
|
if test -d ${tracy_dir}; then
|
||||||
|
TRACY_CFLAGS="-I ${tracy_dir} -DHAVE_TRACY"
|
||||||
|
HAVE_TRACY=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST(TRACY_CFLAGS)
|
||||||
|
AC_SUBST(TRACY_SRC)
|
||||||
|
AM_CONDITIONAL(HAVE_TRACY, test "x$HAVE_TRACY" = "xyes")
|
||||||
|
|
||||||
|
if test "x$HAVE_TRACY" = "xyes"; then
|
||||||
|
AC_MSG_CHECKING([for SymFromAddr in -ldbghelp])
|
||||||
|
SAVELIBS="$LIBS"
|
||||||
|
LIBS="$LIBS -ldbghelp"
|
||||||
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||||
|
#include <windows.h>
|
||||||
|
#include <dbghelp.h>
|
||||||
|
]], [[
|
||||||
|
SymFromAddr(NULL, 0, NULL, NULL);
|
||||||
|
]])],[NET_LIBS="$NET_LIBS -ldbghelp"
|
||||||
|
ac_cv_func_connect=yes
|
||||||
|
ac_cv_func_gethostbyname=yes
|
||||||
|
HAVE_WS2=yes
|
||||||
|
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
|
||||||
|
])
|
||||||
|
LIBS="$SAVELIBS"
|
||||||
|
fi
|
|
@ -140,6 +140,7 @@ m4_include(config.d/paths.m4)
|
||||||
|
|
||||||
m4_include(config.d/build_control.m4)
|
m4_include(config.d/build_control.m4)
|
||||||
m4_include(config.d/qfcc.m4)
|
m4_include(config.d/qfcc.m4)
|
||||||
|
m4_include(config.d/tracy.m4)
|
||||||
|
|
||||||
AC_ARG_ENABLE(static-doc,
|
AC_ARG_ENABLE(static-doc,
|
||||||
AS_HELP_STRING([--enable-static-doc],
|
AS_HELP_STRING([--enable-static-doc],
|
||||||
|
|
50
include/qftracy.h
Normal file
50
include/qftracy.h
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
// do not include this directly: it's meant for -include
|
||||||
|
#ifdef HAVE_TRACY
|
||||||
|
// tracy includes math.h but _GNU_SOURCE is needed for sincosf
|
||||||
|
#ifndef _GNU_SOURCE
|
||||||
|
#define _GNU_SOURCE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// enable tracy
|
||||||
|
#define TRACY_ENABLE
|
||||||
|
#include "tracy/TracyC.h"
|
||||||
|
|
||||||
|
inline void __qfZoneEnd (TracyCZoneCtx **ctxptr)
|
||||||
|
{
|
||||||
|
TracyCZoneEnd (**ctxptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define qfConcatInternal(a,b) a##b
|
||||||
|
#define qfConcat(a,b) qfConcatInternal(a, b)
|
||||||
|
|
||||||
|
#define qfFrameMark TracyCFrameMark
|
||||||
|
#define qfZoneNamed(varname, active) \
|
||||||
|
TracyCZone (varname, active) \
|
||||||
|
__attribute__((cleanup(__qfZoneEnd))) \
|
||||||
|
TracyCZoneCtx *qfConcat(__qfZone, __COUNTER__) = &varname
|
||||||
|
|
||||||
|
#define qfZoneEnd(varname) TracyCZoneEnd (varname)
|
||||||
|
|
||||||
|
#define qfZoneName(ctx, name, size) TracyCZoneName (ctx, name, size)
|
||||||
|
#define qfZoneColor(ctx, color) TracyCZoneColor (ctx, color)
|
||||||
|
#define qfZoneValue(ctx, value) TracyCZoneValue (ctx, value)
|
||||||
|
|
||||||
|
#define qfZoneNamedN(varname, name, active) \
|
||||||
|
TracyCZoneN (varname, name, active) \
|
||||||
|
__attribute__((cleanup(__qfZoneEnd))) \
|
||||||
|
TracyCZoneCtx *qfConcat(__qfZone, __COUNTER__) = &varname
|
||||||
|
|
||||||
|
#define qfMessageL(msg) TracyCMessageL(msg)
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define qfFrameMark
|
||||||
|
#define qfZoneNamed(varname, active)
|
||||||
|
#define qfZoneEnd(varname)
|
||||||
|
#define qfZoneName(ctx, name, size)
|
||||||
|
#define qfZoneColor(ctx, color)
|
||||||
|
#define qfZoneValue(ctx, value)
|
||||||
|
#define qfZoneNamedN(varname, name, active)
|
||||||
|
#define qfMessageL(msg)
|
||||||
|
|
||||||
|
#endif
|
|
@ -169,6 +169,7 @@ SCR_CShift (view_pos_t abs, view_pos_t len)
|
||||||
static void
|
static void
|
||||||
scr_draw_views (void)
|
scr_draw_views (void)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
if (scr_showturtle) {
|
if (scr_showturtle) {
|
||||||
static int count;
|
static int count;
|
||||||
if (r_data->frametime < 0.1) {
|
if (r_data->frametime < 0.1) {
|
||||||
|
@ -325,6 +326,7 @@ CL_Init_Screen (void)
|
||||||
void
|
void
|
||||||
CL_UpdateScreen (viewstate_t *vs)
|
CL_UpdateScreen (viewstate_t *vs)
|
||||||
{
|
{
|
||||||
|
qfZoneNamedN (us_zone, "CL_UpdateScreen", true);
|
||||||
_vs = vs;
|
_vs = vs;
|
||||||
|
|
||||||
//FIXME not every time
|
//FIXME not every time
|
||||||
|
|
|
@ -666,6 +666,7 @@ CL_UpdateExplosions (double time, TEntContext_t *ctx)
|
||||||
void
|
void
|
||||||
CL_UpdateTEnts (double time, TEntContext_t *ctx)
|
CL_UpdateTEnts (double time, TEntContext_t *ctx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamedN (ut_zone, "CL_UpdateTEnts", true);
|
||||||
free_stale_entities ();
|
free_stale_entities ();
|
||||||
CL_UpdateBeams (time, ctx);
|
CL_UpdateBeams (time, ctx);
|
||||||
CL_UpdateExplosions (time, ctx);
|
CL_UpdateExplosions (time, ctx);
|
||||||
|
|
|
@ -632,6 +632,7 @@ V_DropCShift (cshift_t *cs, double time, float droprate)
|
||||||
void
|
void
|
||||||
V_PrepBlend (viewstate_t *vs)
|
V_PrepBlend (viewstate_t *vs)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
if (cl_cshift_powerup
|
if (cl_cshift_powerup
|
||||||
|
@ -931,6 +932,7 @@ DropPunchAngle (viewstate_t *vs)
|
||||||
void
|
void
|
||||||
V_RenderView (viewstate_t *vs)
|
V_RenderView (viewstate_t *vs)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
if (!vs->active) {
|
if (!vs->active) {
|
||||||
if (Transform_Valid (vs->camera_transform)) {
|
if (Transform_Valid (vs->camera_transform)) {
|
||||||
vec4f_t base = { 0, 0, 0, 1 };
|
vec4f_t base = { 0, 0, 0, 1 };
|
||||||
|
|
|
@ -1754,6 +1754,7 @@ Sbar_DrawCenterPrint (void)
|
||||||
void
|
void
|
||||||
Sbar_Update (double time)
|
Sbar_Update (double time)
|
||||||
{
|
{
|
||||||
|
qfZoneNamedN (sbu_zone, "Sbar_Update", true);
|
||||||
fps_count++;
|
fps_count++;
|
||||||
sbar_time = time;
|
sbar_time = time;
|
||||||
if (!sbar_active) {
|
if (!sbar_active) {
|
||||||
|
|
|
@ -791,6 +791,7 @@ setup_console (void)
|
||||||
static void
|
static void
|
||||||
C_DrawConsole (void)
|
C_DrawConsole (void)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
if (con_debug) {
|
if (con_debug) {
|
||||||
Con_Debug_Draw ();
|
Con_Debug_Draw ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,6 +167,7 @@ typedef void (*canvas_sysfunc_f) (canvas_system_t *canvas_sys,
|
||||||
static void
|
static void
|
||||||
draw_update (canvas_system_t *canvas_sys, ecs_pool_t *pool, ecs_range_t range)
|
draw_update (canvas_system_t *canvas_sys, ecs_pool_t *pool, ecs_range_t range)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
||||||
uint32_t count = range.end - range.start;
|
uint32_t count = range.end - range.start;
|
||||||
uint32_t *ent = pool->dense + range.start;
|
uint32_t *ent = pool->dense + range.start;
|
||||||
|
@ -180,6 +181,7 @@ static void
|
||||||
draw_tile_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
draw_tile_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
||||||
ecs_range_t range)
|
ecs_range_t range)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
||||||
uint32_t count = range.end - range.start;
|
uint32_t count = range.end - range.start;
|
||||||
uint32_t *ent = pool->dense + range.start;
|
uint32_t *ent = pool->dense + range.start;
|
||||||
|
@ -197,6 +199,7 @@ static void
|
||||||
draw_pic_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
draw_pic_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
||||||
ecs_range_t range)
|
ecs_range_t range)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
||||||
uint32_t count = range.end - range.start;
|
uint32_t count = range.end - range.start;
|
||||||
uint32_t *ent = pool->dense + range.start;
|
uint32_t *ent = pool->dense + range.start;
|
||||||
|
@ -215,6 +218,7 @@ static void
|
||||||
draw_fitpic_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
draw_fitpic_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
||||||
ecs_range_t range)
|
ecs_range_t range)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
||||||
uint32_t count = range.end - range.start;
|
uint32_t count = range.end - range.start;
|
||||||
uint32_t *ent = pool->dense + range.start;
|
uint32_t *ent = pool->dense + range.start;
|
||||||
|
@ -234,6 +238,7 @@ static void
|
||||||
draw_subpic_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
draw_subpic_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
||||||
ecs_range_t range)
|
ecs_range_t range)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
||||||
uint32_t count = range.end - range.start;
|
uint32_t count = range.end - range.start;
|
||||||
uint32_t *ent = pool->dense + range.start;
|
uint32_t *ent = pool->dense + range.start;
|
||||||
|
@ -253,6 +258,7 @@ static void
|
||||||
draw_cachepic_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
draw_cachepic_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
||||||
ecs_range_t range)
|
ecs_range_t range)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
||||||
uint32_t count = range.end - range.start;
|
uint32_t count = range.end - range.start;
|
||||||
uint32_t *ent = pool->dense + range.start;
|
uint32_t *ent = pool->dense + range.start;
|
||||||
|
@ -272,6 +278,7 @@ static void
|
||||||
draw_fill_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
draw_fill_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
||||||
ecs_range_t range)
|
ecs_range_t range)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
||||||
uint32_t count = range.end - range.start;
|
uint32_t count = range.end - range.start;
|
||||||
uint32_t *ent = pool->dense + range.start;
|
uint32_t *ent = pool->dense + range.start;
|
||||||
|
@ -291,6 +298,7 @@ static void
|
||||||
draw_charbuff_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
draw_charbuff_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
||||||
ecs_range_t range)
|
ecs_range_t range)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
||||||
uint32_t count = range.end - range.start;
|
uint32_t count = range.end - range.start;
|
||||||
uint32_t *ent = pool->dense + range.start;
|
uint32_t *ent = pool->dense + range.start;
|
||||||
|
@ -309,6 +317,7 @@ static void
|
||||||
draw_func_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
draw_func_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
||||||
ecs_range_t range)
|
ecs_range_t range)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
||||||
uint32_t count = range.end - range.start;
|
uint32_t count = range.end - range.start;
|
||||||
uint32_t *ent = pool->dense + range.start;
|
uint32_t *ent = pool->dense + range.start;
|
||||||
|
@ -328,6 +337,7 @@ static void
|
||||||
draw_outline_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
draw_outline_views (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
||||||
ecs_range_t range)
|
ecs_range_t range)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
ecs_system_t viewsys = { canvas_sys->reg, canvas_sys->view_base };
|
||||||
uint32_t count = range.end - range.start;
|
uint32_t count = range.end - range.start;
|
||||||
uint32_t *ent = pool->dense + range.start;
|
uint32_t *ent = pool->dense + range.start;
|
||||||
|
@ -378,6 +388,7 @@ draw_box (view_pos_t *abs, view_pos_t *len, uint32_t ind, int c)
|
||||||
static void
|
static void
|
||||||
draw_glyphs (canvas_system_t *canvas_sys, ecs_pool_t *pool, ecs_range_t range)
|
draw_glyphs (canvas_system_t *canvas_sys, ecs_pool_t *pool, ecs_range_t range)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto reg = canvas_sys->reg;
|
auto reg = canvas_sys->reg;
|
||||||
uint32_t glyphs = canvas_sys->text_base + text_glyphs;
|
uint32_t glyphs = canvas_sys->text_base + text_glyphs;
|
||||||
uint32_t color = canvas_sys->text_base + text_color;
|
uint32_t color = canvas_sys->text_base + text_color;
|
||||||
|
@ -402,6 +413,7 @@ static void
|
||||||
draw_passage_glyphs (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
draw_passage_glyphs (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
||||||
ecs_range_t range)
|
ecs_range_t range)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto reg = canvas_sys->reg;
|
auto reg = canvas_sys->reg;
|
||||||
uint32_t glyphs = canvas_sys->text_base + text_glyphs;
|
uint32_t glyphs = canvas_sys->text_base + text_glyphs;
|
||||||
uint32_t color = canvas_sys->text_base + text_color;
|
uint32_t color = canvas_sys->text_base + text_color;
|
||||||
|
@ -440,6 +452,7 @@ draw_passage_glyphs (canvas_system_t *canvas_sys, ecs_pool_t *pool,
|
||||||
void
|
void
|
||||||
Canvas_Draw (canvas_system_t canvas_sys)
|
Canvas_Draw (canvas_system_t canvas_sys)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
static canvas_sysfunc_f draw_func[canvas_comp_count] = {
|
static canvas_sysfunc_f draw_func[canvas_comp_count] = {
|
||||||
[canvas_update] = draw_update,
|
[canvas_update] = draw_update,
|
||||||
[canvas_updateonce] = draw_update,
|
[canvas_updateonce] = draw_update,
|
||||||
|
|
|
@ -288,6 +288,7 @@ SCR_UpdateScreen_legacy (SCR_Func *scr_funcs)
|
||||||
void
|
void
|
||||||
SCR_UpdateScreen (transform_t camera, double realtime, SCR_Func *scr_funcs)
|
SCR_UpdateScreen (transform_t camera, double realtime, SCR_Func *scr_funcs)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
R_RunParticles (r_data->frametime);
|
R_RunParticles (r_data->frametime);
|
||||||
|
|
||||||
if (scr_skipupdate || !scr_initialized) {
|
if (scr_skipupdate || !scr_initialized) {
|
||||||
|
|
|
@ -345,6 +345,7 @@ vulkan_set_2d (int scaled)
|
||||||
static void
|
static void
|
||||||
vulkan_UpdateScreen (SCR_Func *scr_funcs)
|
vulkan_UpdateScreen (SCR_Func *scr_funcs)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
vulkan_set_2d (1);//FIXME
|
vulkan_set_2d (1);//FIXME
|
||||||
Vulkan_SetScrFuncs (scr_funcs, vulkan_ctx);
|
Vulkan_SetScrFuncs (scr_funcs, vulkan_ctx);
|
||||||
QFV_RunRenderJob (vulkan_ctx);
|
QFV_RunRenderJob (vulkan_ctx);
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
static void
|
static void
|
||||||
capture_initiate (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
capture_initiate (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
|
|
||||||
|
@ -158,6 +159,7 @@ is_bgr (VkFormat format)
|
||||||
static void
|
static void
|
||||||
capture_finalize (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
capture_finalize (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,7 @@ static void
|
||||||
mousepick_initiate (const exprval_t **params, exprval_t *result,
|
mousepick_initiate (const exprval_t **params, exprval_t *result,
|
||||||
exprctx_t *ectx)
|
exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
|
|
||||||
|
@ -86,6 +87,7 @@ static void
|
||||||
mousepick_finalize (const exprval_t **params, exprval_t *result,
|
mousepick_finalize (const exprval_t **params, exprval_t *result,
|
||||||
exprctx_t *ectx)
|
exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
|
|
||||||
|
|
|
@ -152,6 +152,9 @@ run_subpass (qfv_subpass_t *sp, qfv_taskctx_t *taskctx)
|
||||||
static void
|
static void
|
||||||
run_renderpass (qfv_renderpass_t *rp, vulkan_ctx_t *ctx, void *data)
|
run_renderpass (qfv_renderpass_t *rp, vulkan_ctx_t *ctx, void *data)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
|
qfZoneName (zone, rp->label.name, rp->label.name_len);
|
||||||
|
qfZoneColor (zone, rp->label.color32);
|
||||||
qfv_device_t *device = ctx->device;
|
qfv_device_t *device = ctx->device;
|
||||||
qfv_devfuncs_t *dfunc = device->funcs;
|
qfv_devfuncs_t *dfunc = device->funcs;
|
||||||
__auto_type rctx = ctx->render_context;
|
__auto_type rctx = ctx->render_context;
|
||||||
|
@ -223,6 +226,9 @@ run_compute_pipeline (qfv_pipeline_t *pipeline, VkCommandBuffer cmd,
|
||||||
static void
|
static void
|
||||||
run_compute (qfv_compute_t *comp, vulkan_ctx_t *ctx, qfv_step_t *step)
|
run_compute (qfv_compute_t *comp, vulkan_ctx_t *ctx, qfv_step_t *step)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
|
qfZoneName (zone, step->label.name, step->label.name_len);
|
||||||
|
qfZoneColor (zone, step->label.color32);
|
||||||
qfv_device_t *device = ctx->device;
|
qfv_device_t *device = ctx->device;
|
||||||
qfv_devfuncs_t *dfunc = device->funcs;
|
qfv_devfuncs_t *dfunc = device->funcs;
|
||||||
__auto_type rctx = ctx->render_context;
|
__auto_type rctx = ctx->render_context;
|
||||||
|
@ -251,6 +257,9 @@ run_compute (qfv_compute_t *comp, vulkan_ctx_t *ctx, qfv_step_t *step)
|
||||||
static void
|
static void
|
||||||
run_process (qfv_process_t *proc, vulkan_ctx_t *ctx)
|
run_process (qfv_process_t *proc, vulkan_ctx_t *ctx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
|
qfZoneName (zone, proc->label.name, proc->label.name_len);
|
||||||
|
qfZoneColor (zone, proc->label.color32);
|
||||||
qfv_taskctx_t taskctx = {
|
qfv_taskctx_t taskctx = {
|
||||||
.ctx = ctx,
|
.ctx = ctx,
|
||||||
};
|
};
|
||||||
|
@ -261,6 +270,7 @@ void
|
||||||
QFV_RunRenderPass (vulkan_ctx_t *ctx, qfv_renderpass_t *renderpass,
|
QFV_RunRenderPass (vulkan_ctx_t *ctx, qfv_renderpass_t *renderpass,
|
||||||
uint32_t width, uint32_t height, void *data)
|
uint32_t width, uint32_t height, void *data)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
qfv_output_t output = {
|
qfv_output_t output = {
|
||||||
.extent = {
|
.extent = {
|
||||||
.width = width,
|
.width = width,
|
||||||
|
@ -274,6 +284,7 @@ QFV_RunRenderPass (vulkan_ctx_t *ctx, qfv_renderpass_t *renderpass,
|
||||||
void
|
void
|
||||||
QFV_RunRenderJob (vulkan_ctx_t *ctx)
|
QFV_RunRenderJob (vulkan_ctx_t *ctx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto rctx = ctx->render_context;
|
auto rctx = ctx->render_context;
|
||||||
auto job = rctx->job;
|
auto job = rctx->job;
|
||||||
int64_t start = Sys_LongTime ();
|
int64_t start = Sys_LongTime ();
|
||||||
|
@ -426,6 +437,7 @@ QFV_CreateFramebuffer (vulkan_ctx_t *ctx, qfv_renderpass_t *rp,
|
||||||
static void
|
static void
|
||||||
wait_on_fence (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
wait_on_fence (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
@ -445,6 +457,7 @@ static void
|
||||||
update_framebuffer (const exprval_t **params, exprval_t *result,
|
update_framebuffer (const exprval_t **params, exprval_t *result,
|
||||||
exprctx_t *ectx)
|
exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto job = ctx->render_context->job;
|
auto job = ctx->render_context->job;
|
||||||
|
|
|
@ -227,6 +227,7 @@ acquire_space (qfv_packet_t *packet, size_t size)
|
||||||
qfv_packet_t *
|
qfv_packet_t *
|
||||||
QFV_PacketAcquire (qfv_stagebuf_t *stage)
|
QFV_PacketAcquire (qfv_stagebuf_t *stage)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
qfv_device_t *device = stage->device;
|
qfv_device_t *device = stage->device;
|
||||||
qfv_devfuncs_t *dfunc = device->funcs;
|
qfv_devfuncs_t *dfunc = device->funcs;
|
||||||
|
|
||||||
|
@ -234,8 +235,10 @@ QFV_PacketAcquire (qfv_stagebuf_t *stage)
|
||||||
if (!RB_SPACE_AVAILABLE (stage->packets)) {
|
if (!RB_SPACE_AVAILABLE (stage->packets)) {
|
||||||
// need to wait for a packet to become available
|
// need to wait for a packet to become available
|
||||||
packet = RB_PEEK_DATA (stage->packets, 0);
|
packet = RB_PEEK_DATA (stage->packets, 0);
|
||||||
|
qfMessageL ("waiting on fence");
|
||||||
dfunc->vkWaitForFences (device->dev, 1, &packet->fence, VK_TRUE,
|
dfunc->vkWaitForFences (device->dev, 1, &packet->fence, VK_TRUE,
|
||||||
~0ull);
|
~0ull);
|
||||||
|
qfMessageL ("got fence");
|
||||||
release_space (stage, packet->offset, packet->length);
|
release_space (stage, packet->offset, packet->length);
|
||||||
RB_RELEASE (stage->packets, 1);
|
RB_RELEASE (stage->packets, 1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -258,6 +258,7 @@ alias_draw_ent (qfv_taskctx_t *taskctx, entity_t ent, bool pass,
|
||||||
static void
|
static void
|
||||||
alias_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
alias_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto pass = *(int *) params[0]->value;
|
auto pass = *(int *) params[0]->value;
|
||||||
auto stage = *(int *) params[1]->value;
|
auto stage = *(int *) params[1]->value;
|
||||||
|
|
|
@ -1177,6 +1177,7 @@ create_notexture (vulkan_ctx_t *ctx)
|
||||||
static void
|
static void
|
||||||
bsp_reset_queues (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
bsp_reset_queues (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto bctx = ctx->bsp_context;
|
auto bctx = ctx->bsp_context;
|
||||||
|
@ -1191,6 +1192,7 @@ bsp_reset_queues (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
static void
|
static void
|
||||||
bsp_draw_queue (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
bsp_draw_queue (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
@ -1259,6 +1261,7 @@ bsp_draw_queue (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
static void
|
static void
|
||||||
bsp_visit_world (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
bsp_visit_world (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto bctx = ctx->bsp_context;
|
auto bctx = ctx->bsp_context;
|
||||||
|
|
|
@ -71,6 +71,7 @@ static VkWriteDescriptorSet base_image_write = {
|
||||||
static void
|
static void
|
||||||
compose_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
compose_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
|
|
@ -524,6 +524,7 @@ static uint32_t
|
||||||
create_quad (int x, int y, int w, int h, qpic_t *pic, uint32_t *vertex_index,
|
create_quad (int x, int y, int w, int h, qpic_t *pic, uint32_t *vertex_index,
|
||||||
VkBuffer buffer, vulkan_ctx_t *ctx)
|
VkBuffer buffer, vulkan_ctx_t *ctx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
__auto_type pd = (picdata_t *) pic->data;
|
__auto_type pd = (picdata_t *) pic->data;
|
||||||
|
|
||||||
float sl = 0, sr = 1, st = 0, sb = 1;
|
float sl = 0, sr = 1, st = 0, sb = 1;
|
||||||
|
@ -566,6 +567,7 @@ make_static_quad (int w, int h, qpic_t *pic, vulkan_ctx_t *ctx)
|
||||||
static int
|
static int
|
||||||
make_dyn_quad (int x, int y, int w, int h, qpic_t *pic, vulkan_ctx_t *ctx)
|
make_dyn_quad (int x, int y, int w, int h, qpic_t *pic, vulkan_ctx_t *ctx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
drawctx_t *dctx = ctx->draw_context;
|
drawctx_t *dctx = ctx->draw_context;
|
||||||
drawframe_t *frame = &dctx->frames.a[ctx->curFrame];
|
drawframe_t *frame = &dctx->frames.a[ctx->curFrame];
|
||||||
|
|
||||||
|
@ -916,6 +918,7 @@ draw_lines (qfv_taskctx_t *taskctx)
|
||||||
static void
|
static void
|
||||||
flush_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
flush_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
flush_draw_scrap (ctx);
|
flush_draw_scrap (ctx);
|
||||||
|
@ -924,6 +927,7 @@ flush_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
static void
|
static void
|
||||||
slice_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
slice_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
@ -959,6 +963,7 @@ slice_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
static void
|
static void
|
||||||
line_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
line_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
@ -990,6 +995,7 @@ line_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
static void
|
static void
|
||||||
draw_scr_funcs (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
draw_scr_funcs (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto dctx = ctx->draw_context;
|
auto dctx = ctx->draw_context;
|
||||||
|
@ -1425,6 +1431,7 @@ Vulkan_Draw_SubPic (int x, int y, qpic_t *pic,
|
||||||
int srcx, int srcy, int width, int height,
|
int srcx, int srcy, int width, int height,
|
||||||
vulkan_ctx_t *ctx)
|
vulkan_ctx_t *ctx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
drawctx_t *dctx = ctx->draw_context;
|
drawctx_t *dctx = ctx->draw_context;
|
||||||
drawframe_t *frame = &dctx->frames.a[ctx->curFrame];
|
drawframe_t *frame = &dctx->frames.a[ctx->curFrame];
|
||||||
|
|
||||||
|
|
|
@ -270,6 +270,7 @@ iqm_draw_ent (qfv_taskctx_t *taskctx, entity_t ent, bool pass)
|
||||||
static void
|
static void
|
||||||
iqm_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
iqm_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
int pass = *(int *) params[0]->value;
|
int pass = *(int *) params[0]->value;
|
||||||
|
|
||||||
|
|
|
@ -160,6 +160,7 @@ static void
|
||||||
lighting_setup_shadow (const exprval_t **params, exprval_t *result,
|
lighting_setup_shadow (const exprval_t **params, exprval_t *result,
|
||||||
exprctx_t *ectx)
|
exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto lctx = ctx->lighting_context;
|
auto lctx = ctx->lighting_context;
|
||||||
|
@ -287,6 +288,7 @@ static void
|
||||||
lighting_draw_shadow_maps (const exprval_t **params, exprval_t *result,
|
lighting_draw_shadow_maps (const exprval_t **params, exprval_t *result,
|
||||||
exprctx_t *ectx)
|
exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto lctx = ctx->lighting_context;
|
auto lctx = ctx->lighting_context;
|
||||||
|
@ -457,6 +459,7 @@ static void
|
||||||
lighting_update_lights (const exprval_t **params, exprval_t *result,
|
lighting_update_lights (const exprval_t **params, exprval_t *result,
|
||||||
exprctx_t *ectx)
|
exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto lctx = ctx->lighting_context;
|
auto lctx = ctx->lighting_context;
|
||||||
|
@ -619,6 +622,7 @@ static void
|
||||||
lighting_update_descriptors (const exprval_t **params, exprval_t *result,
|
lighting_update_descriptors (const exprval_t **params, exprval_t *result,
|
||||||
exprctx_t *ectx)
|
exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
@ -676,6 +680,7 @@ static void
|
||||||
lighting_bind_descriptors (const exprval_t **params, exprval_t *result,
|
lighting_bind_descriptors (const exprval_t **params, exprval_t *result,
|
||||||
exprctx_t *ectx)
|
exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
@ -728,6 +733,7 @@ static void
|
||||||
lighting_draw_splats (const exprval_t **params, exprval_t *result,
|
lighting_draw_splats (const exprval_t **params, exprval_t *result,
|
||||||
exprctx_t *ectx)
|
exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
@ -751,6 +757,7 @@ static void
|
||||||
lighting_draw_lights (const exprval_t **params, exprval_t *result,
|
lighting_draw_lights (const exprval_t **params, exprval_t *result,
|
||||||
exprctx_t *ectx)
|
exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
|
|
@ -129,6 +129,7 @@ Vulkan_SetSkyMatrix (vulkan_ctx_t *ctx, mat4f_t sky)
|
||||||
static void
|
static void
|
||||||
update_matrices (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
update_matrices (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
|
|
@ -65,6 +65,7 @@
|
||||||
static void
|
static void
|
||||||
acquire_output (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
acquire_output (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
@ -135,6 +136,7 @@ acquire_output (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
static void
|
static void
|
||||||
update_input (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
update_input (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
@ -165,6 +167,7 @@ static void
|
||||||
output_select_pipeline (const exprval_t **params, exprval_t *result,
|
output_select_pipeline (const exprval_t **params, exprval_t *result,
|
||||||
exprctx_t *ectx)
|
exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto output = QFV_GetStep (params[0], ctx->render_context->job);
|
auto output = QFV_GetStep (params[0], ctx->render_context->job);
|
||||||
|
@ -192,6 +195,7 @@ static void
|
||||||
output_select_renderpass (const exprval_t **params, exprval_t *result,
|
output_select_renderpass (const exprval_t **params, exprval_t *result,
|
||||||
exprctx_t *ectx)
|
exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto main = QFV_GetStep (params[0], ctx->render_context->job);
|
auto main = QFV_GetStep (params[0], ctx->render_context->job);
|
||||||
|
@ -234,6 +238,7 @@ output_draw (qfv_taskctx_t *taskctx,
|
||||||
static void
|
static void
|
||||||
output_draw_flat (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
output_draw_flat (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
output_draw (taskctx, 0, 0);
|
output_draw (taskctx, 0, 0);
|
||||||
}
|
}
|
||||||
|
@ -241,6 +246,7 @@ output_draw_flat (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
static void
|
static void
|
||||||
output_draw_waterwarp (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
output_draw_waterwarp (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
float time = vr_data.realtime;
|
float time = vr_data.realtime;
|
||||||
qfv_push_constants_t push_constants[] = {
|
qfv_push_constants_t push_constants[] = {
|
||||||
|
@ -252,6 +258,7 @@ output_draw_waterwarp (const exprval_t **params, exprval_t *result, exprctx_t *e
|
||||||
static void
|
static void
|
||||||
output_draw_fisheye (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
output_draw_fisheye (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
float width = r_refdef.vrect.width;
|
float width = r_refdef.vrect.width;
|
||||||
float height = r_refdef.vrect.height;
|
float height = r_refdef.vrect.height;
|
||||||
|
|
|
@ -163,6 +163,7 @@ create_buffers (vulkan_ctx_t *ctx)
|
||||||
static void
|
static void
|
||||||
particles_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
particles_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
@ -198,6 +199,7 @@ particles_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
static void
|
static void
|
||||||
update_particles (const exprval_t **p, exprval_t *result, exprctx_t *ectx)
|
update_particles (const exprval_t **p, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
@ -332,6 +334,7 @@ wait_on_event (VkBuffer states, VkBuffer params, VkBuffer system,
|
||||||
static void
|
static void
|
||||||
particle_physics (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
particle_physics (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
@ -373,6 +376,7 @@ static void
|
||||||
particle_wait_physics (const exprval_t **params, exprval_t *result,
|
particle_wait_physics (const exprval_t **params, exprval_t *result,
|
||||||
exprctx_t *ectx)
|
exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
|
|
@ -90,6 +90,7 @@ make_plane (vec4f_t s, vec4f_t t, vec4f_t scolor, vec4f_t tcolor)
|
||||||
static void
|
static void
|
||||||
debug_planes_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
debug_planes_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
|
|
@ -145,6 +145,7 @@ static void
|
||||||
scene_draw_viewmodel (const exprval_t **params, exprval_t *result,
|
scene_draw_viewmodel (const exprval_t **params, exprval_t *result,
|
||||||
exprctx_t *ectx)
|
exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
entity_t ent = vr_data.view_model;
|
entity_t ent = vr_data.view_model;
|
||||||
if (!Entity_Valid (ent)) {
|
if (!Entity_Valid (ent)) {
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -182,6 +182,7 @@ sprite_draw_ent (qfv_taskctx_t *taskctx, entity_t ent)
|
||||||
static void
|
static void
|
||||||
sprite_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
sprite_draw (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
|
|
@ -131,6 +131,7 @@ trans_create_buffers (vulkan_ctx_t *ctx)
|
||||||
static void
|
static void
|
||||||
clear_translucent (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
clear_translucent (const exprval_t **params, exprval_t *result, exprctx_t *ectx)
|
||||||
{
|
{
|
||||||
|
qfZoneNamed (zone, true);
|
||||||
auto taskctx = (qfv_taskctx_t *) ectx;
|
auto taskctx = (qfv_taskctx_t *) ectx;
|
||||||
auto ctx = taskctx->ctx;
|
auto ctx = taskctx->ctx;
|
||||||
auto device = ctx->device;
|
auto device = ctx->device;
|
||||||
|
|
|
@ -91,7 +91,7 @@ nq_x11_libs= \
|
||||||
libs/models/libQFmodels.la \
|
libs/models/libQFmodels.la \
|
||||||
libs/video/targets/libQFx11.la \
|
libs/video/targets/libQFx11.la \
|
||||||
$(nq_client_LIBS)
|
$(nq_client_LIBS)
|
||||||
nq_x11_SOURCES= nq/source/sys_unix.c
|
nq_x11_SOURCES= nq/source/sys_unix.c $(tracy_src)
|
||||||
nq_x11_LDADD= $(nq_x11_libs) \
|
nq_x11_LDADD= $(nq_x11_libs) \
|
||||||
$(VIDMODE_LIBS) $(DGA_LIBS) ${XFIXES_LIBS} $(XI2_LIBS) $(X_LIBS) \
|
$(VIDMODE_LIBS) $(DGA_LIBS) ${XFIXES_LIBS} $(XI2_LIBS) $(X_LIBS) \
|
||||||
-lX11 $(X_EXTRA_LIBS) $(X_SHM_LIB) $(NET_LIBS) $(DL_LIBS)
|
-lX11 $(X_EXTRA_LIBS) $(X_SHM_LIB) $(NET_LIBS) $(DL_LIBS)
|
||||||
|
@ -106,7 +106,7 @@ nq_win_libs= \
|
||||||
libs/models/libQFmodels.la \
|
libs/models/libQFmodels.la \
|
||||||
libs/video/targets/libQFwin.la \
|
libs/video/targets/libQFwin.la \
|
||||||
$(nq_client_LIBS)
|
$(nq_client_LIBS)
|
||||||
nq_win_SOURCES= nq/source/sys_win.c
|
nq_win_SOURCES= nq/source/sys_win.c $(tracy_src)
|
||||||
nq_win_LDADD= $(nq_win_libs) -lgdi32 -lcomctl32 -lwinmm $(NET_LIBS)
|
nq_win_LDADD= $(nq_win_libs) -lgdi32 -lcomctl32 -lwinmm $(NET_LIBS)
|
||||||
nq_win_LDFLAGS= $(common_ldflags)
|
nq_win_LDFLAGS= $(common_ldflags)
|
||||||
nq_win_DEPENDENCIES= $(nq_win_libs)
|
nq_win_DEPENDENCIES= $(nq_win_libs)
|
||||||
|
@ -120,6 +120,6 @@ endif
|
||||||
EXTRA_DIST += nq/source/sys_wind.c nq/source/sys_unixd.c nq/source/sv_ded.c
|
EXTRA_DIST += nq/source/sys_wind.c nq/source/sys_unixd.c nq/source/sv_ded.c
|
||||||
|
|
||||||
nq_server_LDFLAGS= $(common_ldflags)
|
nq_server_LDFLAGS= $(common_ldflags)
|
||||||
nq_server_SOURCES= $(ded_sources)
|
nq_server_SOURCES= $(ded_sources) $(tracy_src)
|
||||||
nq_server_LDADD= $(server_libs) $(nq_server_LIBS)
|
nq_server_LDADD= $(server_libs) $(nq_server_LIBS) $(UNWIND_LIBS)
|
||||||
nq_server_DEPENDENCIES= $(server_libs) $(nq_server_LIB_DEPS)
|
nq_server_DEPENDENCIES= $(server_libs) $(nq_server_LIB_DEPS)
|
||||||
|
|
|
@ -164,6 +164,7 @@ set_entity_model (int ent_ind, int modelindex)
|
||||||
void
|
void
|
||||||
CL_RelinkEntities (void)
|
CL_RelinkEntities (void)
|
||||||
{
|
{
|
||||||
|
qfZoneNamedN (re_zzone, "CL_RelinkEntities", true);
|
||||||
entity_t ent;
|
entity_t ent;
|
||||||
entity_state_t *new, *old;
|
entity_state_t *new, *old;
|
||||||
float bobjrotate, frac, f;
|
float bobjrotate, frac, f;
|
||||||
|
|
|
@ -506,6 +506,7 @@ CL_PrintEntities_f (void)
|
||||||
int
|
int
|
||||||
CL_ReadFromServer (void)
|
CL_ReadFromServer (void)
|
||||||
{
|
{
|
||||||
|
qfZoneNamedN (rfzzone, "CL_ReadFromServer", true);
|
||||||
int ret;
|
int ret;
|
||||||
TEntContext_t tentCtx = {
|
TEntContext_t tentCtx = {
|
||||||
cl.viewstate.player_origin,
|
cl.viewstate.player_origin,
|
||||||
|
@ -635,6 +636,7 @@ write_capture (tex_t *tex, void *data)
|
||||||
void
|
void
|
||||||
CL_PreFrame (void)
|
CL_PreFrame (void)
|
||||||
{
|
{
|
||||||
|
qfZoneNamedN (pfzone, "CL_PreFrame", true);
|
||||||
IN_ProcessEvents ();
|
IN_ProcessEvents ();
|
||||||
|
|
||||||
GIB_Thread_Execute ();
|
GIB_Thread_Execute ();
|
||||||
|
@ -647,6 +649,7 @@ CL_PreFrame (void)
|
||||||
void
|
void
|
||||||
CL_Frame (void)
|
CL_Frame (void)
|
||||||
{
|
{
|
||||||
|
qfZoneNamedN (fzone, "CL_Frame", true);
|
||||||
static double time1 = 0, time2 = 0, time3 = 0;
|
static double time1 = 0, time2 = 0, time3 = 0;
|
||||||
int pass1, pass2, pass3;
|
int pass1, pass2, pass3;
|
||||||
|
|
||||||
|
|
|
@ -718,6 +718,7 @@ CL_SetStat (int stat, int value)
|
||||||
void
|
void
|
||||||
CL_ParseServerMessage (void)
|
CL_ParseServerMessage (void)
|
||||||
{
|
{
|
||||||
|
qfZoneNamedN (psm_zone, "CL_ParseServerMessage", true);
|
||||||
int cmd = 0, i, j;
|
int cmd = 0, i, j;
|
||||||
const char *str;
|
const char *str;
|
||||||
static dstring_t *stuffbuf;
|
static dstring_t *stuffbuf;
|
||||||
|
|
|
@ -678,6 +678,7 @@ Host_FilterTime (float time)
|
||||||
static void
|
static void
|
||||||
_Host_Frame (float time)
|
_Host_Frame (float time)
|
||||||
{
|
{
|
||||||
|
qfZoneNamedN (hfzone, "_Host_Frame", true);
|
||||||
static int first = 1;
|
static int first = 1;
|
||||||
float sleeptime;
|
float sleeptime;
|
||||||
|
|
||||||
|
|
|
@ -88,6 +88,7 @@ main (int argc, const char **argv)
|
||||||
|
|
||||||
oldtime = Sys_DoubleTime () - 0.1;
|
oldtime = Sys_DoubleTime () - 0.1;
|
||||||
while (1) { // Main message loop
|
while (1) { // Main message loop
|
||||||
|
qfFrameMark;
|
||||||
// find time spent rendering last frame
|
// find time spent rendering last frame
|
||||||
newtime = Sys_DoubleTime ();
|
newtime = Sys_DoubleTime ();
|
||||||
time = newtime - oldtime;
|
time = newtime - oldtime;
|
||||||
|
|
|
@ -117,7 +117,7 @@ qw_client_x11_libs= \
|
||||||
libs/models/libQFmodels.la \
|
libs/models/libQFmodels.la \
|
||||||
libs/video/targets/libQFx11.la \
|
libs/video/targets/libQFx11.la \
|
||||||
$(qw_client_LIBS)
|
$(qw_client_LIBS)
|
||||||
qw_client_x11_SOURCES= qw/source/cl_sys_unix.c
|
qw_client_x11_SOURCES= qw/source/cl_sys_unix.c $(tracy_src)
|
||||||
qw_client_x11_LDADD= $(qw_client_x11_libs) \
|
qw_client_x11_LDADD= $(qw_client_x11_libs) \
|
||||||
$(VIDMODE_LIBS) $(DGA_LIBS) ${XFIXES_LIBS} $(XI2_LIBS) $(X_LIBS) \
|
$(VIDMODE_LIBS) $(DGA_LIBS) ${XFIXES_LIBS} $(XI2_LIBS) $(X_LIBS) \
|
||||||
-lX11 $(X_EXTRA_LIBS) $(X_SHM_LIB) $(NET_LIBS) $(LIBCURL_LIBS) \
|
-lX11 $(X_EXTRA_LIBS) $(X_SHM_LIB) $(NET_LIBS) $(LIBCURL_LIBS) \
|
||||||
|
@ -133,7 +133,7 @@ qw_client_win_libs= \
|
||||||
libs/models/libQFmodels.la \
|
libs/models/libQFmodels.la \
|
||||||
libs/video/targets/libQFwin.la \
|
libs/video/targets/libQFwin.la \
|
||||||
$(qw_client_LIBS)
|
$(qw_client_LIBS)
|
||||||
qw_client_win_SOURCES= qw/source/cl_sys_win.c
|
qw_client_win_SOURCES= qw/source/cl_sys_win.c $(tracy_src)
|
||||||
qw_client_win_LDADD= $(qw_client_win_libs) -lgdi32 -lwinmm $(NET_LIBS) $(LIBCURL_LIBS)
|
qw_client_win_LDADD= $(qw_client_win_libs) -lgdi32 -lwinmm $(NET_LIBS) $(LIBCURL_LIBS)
|
||||||
qw_client_win_LDFLAGS= $(common_ldflags)
|
qw_client_win_LDFLAGS= $(common_ldflags)
|
||||||
qw_client_win_DEPENDENCIES= $(qw_client_win_libs)
|
qw_client_win_DEPENDENCIES= $(qw_client_win_libs)
|
||||||
|
|
|
@ -120,7 +120,7 @@ qwaq_x11_libs= \
|
||||||
ruamoko_qwaq_qwaq_x11_SOURCES= \
|
ruamoko_qwaq_qwaq_x11_SOURCES= \
|
||||||
ruamoko/qwaq/builtins/main.c \
|
ruamoko/qwaq/builtins/main.c \
|
||||||
ruamoko/qwaq/builtins/qwaq-graphics.c \
|
ruamoko/qwaq/builtins/qwaq-graphics.c \
|
||||||
ruamoko/qwaq/builtins/graphics.c
|
ruamoko/qwaq/builtins/graphics.c $(tracy_src)
|
||||||
ruamoko_qwaq_qwaq_x11_LDADD= $(qwaq_x11_libs) $(QWAQ_LIBS) \
|
ruamoko_qwaq_qwaq_x11_LDADD= $(qwaq_x11_libs) $(QWAQ_LIBS) \
|
||||||
$(VIDMODE_LIBS) $(DGA_LIBS) ${XFIXES_LIBS} $(XI2_LIBS) $(X_LIBS) \
|
$(VIDMODE_LIBS) $(DGA_LIBS) ${XFIXES_LIBS} $(XI2_LIBS) $(X_LIBS) \
|
||||||
-lX11 $(X_EXTRA_LIBS) $(X_SHM_LIB) $(PTHREAD_LDFLAGS) $(DL_LIBS)
|
-lX11 $(X_EXTRA_LIBS) $(X_SHM_LIB) $(PTHREAD_LDFLAGS) $(DL_LIBS)
|
||||||
|
|
|
@ -114,6 +114,7 @@ bi_newscene (progs_t *pr, void *_res)
|
||||||
static void
|
static void
|
||||||
bi_refresh (progs_t *pr, void *_res)
|
bi_refresh (progs_t *pr, void *_res)
|
||||||
{
|
{
|
||||||
|
qfFrameMark;
|
||||||
con_realtime = Sys_DoubleTime () - basetime;
|
con_realtime = Sys_DoubleTime () - basetime;
|
||||||
con_frametime = con_realtime - old_conrealtime;
|
con_frametime = con_realtime - old_conrealtime;
|
||||||
old_conrealtime = con_realtime;
|
old_conrealtime = con_realtime;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue