Setup WebGPU logging
This commit is contained in:
parent
cb4a8e836f
commit
6581143837
3 changed files with 61 additions and 0 deletions
|
|
@ -8,6 +8,7 @@
|
|||
#include <psemek/gfx/init.hpp>
|
||||
#elif defined(PSEMEK_SDL2_WEBGPU)
|
||||
#include <psemek/wgpu/instance.hpp>
|
||||
#include <psemek/wgpu/logging.hpp>
|
||||
#endif
|
||||
|
||||
#include <SDL2/SDL_syswm.h>
|
||||
|
|
@ -61,6 +62,8 @@ namespace psemek::sdl2
|
|||
|
||||
gfx::init();
|
||||
#elif defined(PSEMEK_SDL2_WEBGPU)
|
||||
wgpu::setup_logging(log::level::error);
|
||||
|
||||
auto instance = wgpu::instance::create({});
|
||||
|
||||
SDL_SysWMinfo wminfo;
|
||||
|
|
|
|||
10
libs/wgpu/include/psemek/wgpu/logging.hpp
Normal file
10
libs/wgpu/include/psemek/wgpu/logging.hpp
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#pragma once
|
||||
|
||||
#include <psemek/log/level.hpp>
|
||||
|
||||
namespace psemek::wgpu
|
||||
{
|
||||
|
||||
void setup_logging(log::level level);
|
||||
|
||||
}
|
||||
48
libs/wgpu/source/logging.cpp
Normal file
48
libs/wgpu/source/logging.cpp
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
#include <psemek/wgpu/logging.hpp>
|
||||
#include <psemek/wgpu/external/wgpu.h>
|
||||
#include <psemek/log/log.hpp>
|
||||
#include <psemek/util/enum.hpp>
|
||||
|
||||
namespace psemek::wgpu
|
||||
{
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
log::level to_psemek_log_level(WGPULogLevel level)
|
||||
{
|
||||
switch (level)
|
||||
{
|
||||
case WGPULogLevel_Off: return log::level::error;
|
||||
case WGPULogLevel_Error: return log::level::error;
|
||||
case WGPULogLevel_Warn: return log::level::warning;
|
||||
case WGPULogLevel_Info: return log::level::info;
|
||||
case WGPULogLevel_Debug: return log::level::debug;
|
||||
case WGPULogLevel_Trace: return log::level::debug;
|
||||
default: return log::level::error;
|
||||
}
|
||||
}
|
||||
|
||||
WGPULogLevel to_wgpu_log_level(log::level level)
|
||||
{
|
||||
switch (level)
|
||||
{
|
||||
case log::level::debug: return WGPULogLevel_Debug;
|
||||
case log::level::info: return WGPULogLevel_Info;
|
||||
case log::level::warning: return WGPULogLevel_Warn;
|
||||
case log::level::error: return WGPULogLevel_Error;
|
||||
default: return WGPULogLevel_Error;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void setup_logging(log::level level)
|
||||
{
|
||||
wgpuSetLogLevel(to_wgpu_log_level(level));
|
||||
wgpuSetLogCallback([](WGPULogLevel level, char const * message, void * /* userdata */){
|
||||
log::log(to_psemek_log_level(level)) << "WebGPU: " << message;
|
||||
}, nullptr);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue