vk: print 'vk/module' in logs

This commit is contained in:
Ivan Avdeev 2023-12-04 11:25:35 -05:00
parent b06081047a
commit 0549822d53
17 changed files with 58 additions and 47 deletions

View File

@ -1,3 +1,7 @@
# 2023-12-04 E341
- [ ] investigate envlight missing #680
- [x] add more logs for the above
# 2023-12-01 E340
- [x] Better resolution changes:
- [x] Dynamic max resolution (start with current one, then grow by some growth factor)

View File

@ -18,8 +18,8 @@
#include <memory.h>
#include <math.h>
#define LOG_MODULE LogModule_Textures
#define MODULE_NAME "textures"
#define LOG_MODULE tex
vk_textures_global_t tglob = {0};

View File

@ -26,7 +26,7 @@
#include <memory.h>
#define MODULE_NAME "brush"
#define LOG_MODULE LogModule_Brush
#define LOG_MODULE brush
typedef struct {
int surfaces_count;

View File

@ -25,7 +25,7 @@
#include "pmtrace.h"
#define MODULE_NAME "light"
#define LOG_MODULE LogModule_Lights
#define LOG_MODULE light
#define PROFILER_SCOPES(X) \
X(finalize , "RT_LightsFrameEnd"); \

View File

@ -7,17 +7,9 @@ static const struct log_pair_t {
const char *name;
uint32_t bit;
} g_log_module_pairs[] = {
{"misc", LogModule_Misc},
{"tex", LogModule_Textures},
{"brush", LogModule_Brush},
{"light", LogModule_Lights},
{"studio", LogModule_Studio},
{"patch", LogModule_Patch},
{"mat", LogModule_Material},
{"meat", LogModule_Meatpipe},
{"rt", LogModule_RT},
{"rmain", LogModule_RMain},
{"sprite", LogModule_Sprite},
#define X(m) {LOG_NAME(m), LOG_BIT(m)},
LIST_LOG_MODULES(X)
#undef X
};
void R_LogSetVerboseModules( const char *p ) {

View File

@ -2,18 +2,23 @@
#include "vk_common.h"
#define LIST_LOG_MODULES(X) \
X(misc) \
X(tex) \
X(brush) \
X(light) \
X(studio) \
X(patch) \
X(mat) \
X(meat) \
X(rt) \
X(rmain) \
X(sprite) \
enum {
LogModule_Misc = (1<<0),
LogModule_Textures = (1<<1),
LogModule_Brush = (1<<2),
LogModule_Lights = (1<<3),
LogModule_Studio = (1<<4),
LogModule_Patch = (1<<5),
LogModule_Material = (1<<6),
LogModule_Meatpipe = (1<<7),
LogModule_RT = (1<<8),
LogModule_RMain = (1<<9),
LogModule_Sprite = (1<<10),
#define X(m) LogModule_##m,
LIST_LOG_MODULES(X)
#undef X
};
extern uint32_t g_log_debug_bits;
@ -24,26 +29,32 @@ extern uint32_t g_log_debug_bits;
// - file:line in message
// - consistent prefixes (see THROTTLED variant)
#define DEBUG(msg, ...) \
#define LOG_BIT(m) (1 << LogModule_##m)
#define LOG_NAME(m) #m
#define LOG_VERBOSE_IMPL(m) (g_log_debug_bits & LOG_BIT(m))
#define LOG_VERBOSE LOG_VERBOSE_IMPL(LOG_MODULE)
#define DEBUG_IMPL(module, msg, ...) \
do { \
if (g_log_debug_bits & (LOG_MODULE)) { \
gEngine.Con_Reportf("vk: " msg "\n", ##__VA_ARGS__); \
if (g_log_debug_bits & LOG_BIT(module)) { \
gEngine.Con_Reportf("vk/" LOG_NAME(module) ": " msg "\n", ##__VA_ARGS__); \
} \
} while(0)
#define WARN(msg, ...) \
#define WARN_IMPL(module, msg, ...) \
do { \
gEngine.Con_Printf(S_WARN "vk: " msg "\n", ##__VA_ARGS__); \
gEngine.Con_Printf(S_WARN "vk/" LOG_NAME(module) ": " msg "\n", ##__VA_ARGS__); \
} while(0)
#define ERR(msg, ...) \
#define ERR_IMPL(module, msg, ...) \
do { \
gEngine.Con_Printf(S_ERROR "vk: " msg "\n", ##__VA_ARGS__); \
gEngine.Con_Printf(S_ERROR "vk/" LOG_NAME(module) ": " msg "\n", ##__VA_ARGS__); \
} while(0)
#define INFO(msg, ...) \
#define INFO_IMPL(module, msg, ...) \
do { \
gEngine.Con_Printf("vk: " msg "\n", ##__VA_ARGS__); \
gEngine.Con_Printf("vk/" LOG_NAME(module) ": " msg "\n", ##__VA_ARGS__); \
} while(0)
#define PRINT_THROTTLED(delay, prefix, msg, ...) \
@ -57,6 +68,11 @@ extern uint32_t g_log_debug_bits;
++called; \
} while(0)
#define DEBUG(msg, ...) DEBUG_IMPL(LOG_MODULE, msg, ##__VA_ARGS__)
#define WARN(msg, ...) WARN_IMPL(LOG_MODULE, msg, ##__VA_ARGS__)
#define ERR(msg, ...) ERR_IMPL(LOG_MODULE, msg, ##__VA_ARGS__)
#define INFO(msg, ...) INFO_IMPL(LOG_MODULE, msg, ##__VA_ARGS__)
#define ERROR_THROTTLED(delay, msg, ...) PRINT_THROTTLED(delay, S_ERROR "vk: ", msg, ##__VA_ARGS__)
#define WARN_THROTTLED(delay, msg, ...) PRINT_THROTTLED(delay, S_WARN "vk: ", msg, ##__VA_ARGS__)

View File

@ -9,7 +9,7 @@
#include <string.h>
#include <ctype.h>
#define LOG_MODULE LogModule_Patch
#define LOG_MODULE patch
xvk_map_entities_t g_map_entities;
@ -640,7 +640,7 @@ static void appendExcludedSingles(const entity_props_t *props) {
memcpy(g_map_entities.smoothing.excluded + g_map_entities.smoothing.excluded_count, props->_xvk_smoothing_excluded.values, count * sizeof(int));
if (g_log_debug_bits & LOG_MODULE) {
if (LOG_VERBOSE) {
DEBUG("Adding %d smoothing-excluded surfaces", props->_xvk_smoothing_excluded.num);
for (int i = 0; i < props->_xvk_smoothing_excluded.num; ++i) {
DEBUG("%d", props->_xvk_smoothing_excluded.values[i]);

View File

@ -8,7 +8,7 @@
#include <stdio.h>
#define LOG_MODULE LogModule_Material
#define LOG_MODULE mat
#define MAX_INCLUDE_DEPTH 4

View File

@ -9,7 +9,7 @@
#include "profiler.h"
#define LOG_MODULE LogModule_Meatpipe
#define LOG_MODULE meat
#define MIN(a,b) ((a)<(b)?(a):(b))

View File

@ -15,9 +15,8 @@
#include "xash3d_mathlib.h"
#define LOG_MODULE LogModule_RT
#define MODULE_NAME "accel"
#define LOG_MODULE rt
typedef struct rt_blas_s {
const char *debug_name;

View File

@ -21,7 +21,7 @@
#include <memory.h>
#define LOG_MODULE LogModule_RMain
#define LOG_MODULE rmain
ref_api_t gEngine = {0};
ref_globals_t *gpGlobals = NULL;

View File

@ -26,7 +26,7 @@
#include <string.h>
#define LOG_MODULE LogModule_RT
#define LOG_MODULE rt
#define MAX_FRAMES_IN_FLIGHT 2

View File

@ -30,7 +30,7 @@
#include <stdlib.h> // qsort
#include <memory.h>
#define LOG_MODULE LogModule_Misc
#define LOG_MODULE misc
#define PROFILER_SCOPES(X) \
X(scene_render, "VK_SceneRender"); \

View File

@ -17,7 +17,7 @@
#include <memory.h>
#define MODULE_NAME "sprite"
#define LOG_MODULE LogModule_Sprite
#define LOG_MODULE sprite
// it's a Valve default value for LoadMapSprite (probably must be power of two)
#define MAPSPRITE_SIZE 128

View File

@ -28,7 +28,7 @@
#include <stdlib.h>
#define MODULE_NAME "studio"
#define LOG_MODULE LogModule_Studio
#define LOG_MODULE studio
#define EVENT_CLIENT 5000 // less than this value it's a server-side studio events
#define MAX_LOCALLIGHTS 4

View File

@ -6,7 +6,7 @@
#include "xash3d_mathlib.h"
#define MODULE_NAME "studio"
#define LOG_MODULE LogModule_Studio
#define LOG_MODULE studio
typedef struct {
const studiohdr_t *studio_header_key;

View File

@ -19,7 +19,7 @@
#include <math.h> // sqrt
#define LOG_MODULE LogModule_Textures
#define LOG_MODULE tex
#define MODULE_NAME "textures"
#define MAX_SAMPLERS 8 // TF_NEAREST x 2 * TF_BORDER x 2 * TF_CLAMP x 2