mirror of
https://github.com/wolfpld/tracy.git
synced 2026-07-02 03:58:56 +00:00
Compare commits
1 Commits
master
...
slomp/quer
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
75499a4944 |
@@ -185,7 +185,7 @@ if(NOT NO_FILESELECTOR AND NOT EMSCRIPTEN)
|
||||
CPMAddPackage(
|
||||
NAME nfd
|
||||
GITHUB_REPOSITORY btzy/nativefiledialog-extended
|
||||
GIT_TAG 3cd252a8f7ca32419b1ca235c2990ba6a0ecba7c
|
||||
GIT_TAG v1.3.0
|
||||
EXCLUDE_FROM_ALL TRUE
|
||||
OPTIONS
|
||||
"NFD_PORTAL ${NFD_PORTAL}"
|
||||
@@ -218,7 +218,7 @@ CPMAddPackage(
|
||||
CPMAddPackage(
|
||||
NAME md4c
|
||||
GITHUB_REPOSITORY mity/md4c
|
||||
GIT_TAG 65c6c9d72cebd9a731aaa5597414ce04d9ea5de3
|
||||
GIT_TAG 755ce49acdc7cd682d4502b4796db5ed6a1230fb
|
||||
OPTIONS
|
||||
"BUILD_SHARED_LIBS OFF"
|
||||
EXCLUDE_FROM_ALL TRUE
|
||||
@@ -257,7 +257,7 @@ if(NOT EMSCRIPTEN)
|
||||
CPMAddPackage(
|
||||
NAME usearch
|
||||
GITHUB_REPOSITORY unum-cloud/usearch
|
||||
GIT_TAG v2.25.3
|
||||
GIT_TAG v2.25.2
|
||||
EXCLUDE_FROM_ALL TRUE
|
||||
)
|
||||
|
||||
@@ -290,7 +290,7 @@ if(NOT EMSCRIPTEN)
|
||||
CPMAddPackage(
|
||||
NAME libcurl
|
||||
GITHUB_REPOSITORY curl/curl
|
||||
GIT_TAG curl-8_21_0
|
||||
GIT_TAG curl-8_20_0
|
||||
OPTIONS
|
||||
"BUILD_STATIC_LIBS ON"
|
||||
"BUILD_SHARED_LIBS OFF"
|
||||
|
||||
@@ -26,9 +26,6 @@ public:
|
||||
|
||||
float GetDpiScale();
|
||||
|
||||
size_t HandleType();
|
||||
void* Handle();
|
||||
|
||||
private:
|
||||
WindowPosition m_winPos;
|
||||
int m_w, m_h;
|
||||
|
||||
@@ -388,13 +388,3 @@ float Backend::GetDpiScale()
|
||||
{
|
||||
return EM_ASM_DOUBLE( { return window.devicePixelRatio; } );
|
||||
}
|
||||
|
||||
size_t Backend::HandleType()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void* Backend::Handle()
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -15,21 +15,10 @@
|
||||
#include "RunQueue.hpp"
|
||||
|
||||
#ifdef __APPLE__
|
||||
# include <objc/objc.h>
|
||||
# include <objc/message.h>
|
||||
# include <objc/runtime.h>
|
||||
# include "icon.hpp"
|
||||
#endif
|
||||
|
||||
#if !defined TRACY_NO_FILESELECTOR
|
||||
# if defined WIN32
|
||||
# define GLFW_EXPOSE_NATIVE_WIN32
|
||||
# elif defined __APPLE__
|
||||
# define GLFW_EXPOSE_NATIVE_COCOA
|
||||
# else
|
||||
# define GLFW_EXPOSE_NATIVE_X11
|
||||
# endif
|
||||
# include <nfd_glfw3.h>
|
||||
#include <objc/objc.h>
|
||||
#include <objc/message.h>
|
||||
#include <objc/runtime.h>
|
||||
#include "icon.hpp"
|
||||
#endif
|
||||
|
||||
|
||||
@@ -294,25 +283,3 @@ float Backend::GetDpiScale()
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
size_t Backend::HandleType()
|
||||
{
|
||||
#ifdef TRACY_NO_FILESELECTOR
|
||||
return 0;
|
||||
#else
|
||||
nfdwindowhandle_t handle = {};
|
||||
NFD_GetNativeWindowFromGLFWWindow( s_window, &handle );
|
||||
return handle.type;
|
||||
#endif
|
||||
}
|
||||
|
||||
void* Backend::Handle()
|
||||
{
|
||||
#ifdef TRACY_NO_FILESELECTOR
|
||||
return nullptr;
|
||||
#else
|
||||
nfdwindowhandle_t handle = {};
|
||||
NFD_GetNativeWindowFromGLFWWindow( s_window, &handle );
|
||||
return handle.handle;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -19,10 +19,6 @@
|
||||
#include <wayland-cursor.h>
|
||||
#include <wayland-egl.h>
|
||||
|
||||
#ifndef TRACY_NO_FILESELECTOR
|
||||
# include <nfd.h>
|
||||
#endif
|
||||
|
||||
#include "wayland-xdg-activation-client-protocol.h"
|
||||
#include "wayland-xdg-decoration-client-protocol.h"
|
||||
#include "wayland-xdg-shell-client-protocol.h"
|
||||
@@ -1138,10 +1134,6 @@ void Backend::Show()
|
||||
|
||||
void Backend::Run()
|
||||
{
|
||||
#ifndef TRACY_NO_FILESELECTOR
|
||||
NFD_SetWaylandDisplay( s_dpy );
|
||||
#endif
|
||||
|
||||
timespec zero = {};
|
||||
while( s_running && wl_display_dispatch_timeout( s_dpy, &zero ) != -1 )
|
||||
{
|
||||
@@ -1380,21 +1372,3 @@ float Backend::GetDpiScale()
|
||||
{
|
||||
return s_maxScale / 120.f;
|
||||
}
|
||||
|
||||
size_t Backend::HandleType()
|
||||
{
|
||||
#ifdef TRACY_NO_FILESELECTOR
|
||||
return 0;
|
||||
#else
|
||||
return NFD_WINDOW_HANDLE_TYPE_WAYLAND;
|
||||
#endif
|
||||
}
|
||||
|
||||
void* Backend::Handle()
|
||||
{
|
||||
#ifdef TRACY_NO_FILESELECTOR
|
||||
return nullptr;
|
||||
#else
|
||||
return s_surf;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -361,7 +361,7 @@ int main( int argc, char** argv )
|
||||
view.store( std::make_shared<tracy::View>( RunOnMainThread, connectTo, port, SetWindowTitleCallback, SetupScaleCallback, AttentionCallback, s_achievements ), std::memory_order_release );
|
||||
}
|
||||
|
||||
tracy::Fileselector::Init( backend.HandleType(), backend.Handle() );
|
||||
tracy::Fileselector::Init();
|
||||
s_isElevated = IsElevated();
|
||||
|
||||
backend.Show();
|
||||
|
||||
@@ -13,18 +13,10 @@ namespace tracy::Fileselector
|
||||
|
||||
static bool s_hasFailed = false;
|
||||
|
||||
#if !defined TRACY_NO_FILESELECTOR && !defined __EMSCRIPTEN__
|
||||
static nfdwindowhandle_t s_windowHandle;
|
||||
#endif
|
||||
|
||||
void Init( size_t type, void* handle )
|
||||
void Init()
|
||||
{
|
||||
#if !defined TRACY_NO_FILESELECTOR && !defined __EMSCRIPTEN__
|
||||
NFD_Init();
|
||||
s_windowHandle = {
|
||||
.type = type,
|
||||
.handle = handle
|
||||
};
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -85,12 +77,7 @@ static bool OpenFileImpl( const char* ext, const char* desc, const std::function
|
||||
# else
|
||||
nfdu8filteritem_t filter = { desc, ext };
|
||||
nfdu8char_t* fn;
|
||||
const nfdopendialogu8args_t args = {
|
||||
.filterList = &filter,
|
||||
.filterCount = 1,
|
||||
.parentWindow = s_windowHandle,
|
||||
};
|
||||
const auto res = NFD_OpenDialogU8_With( &fn, &args );
|
||||
const auto res = NFD_OpenDialogU8( &fn, &filter, 1, nullptr );
|
||||
if( res == NFD_OKAY )
|
||||
{
|
||||
callback( (const char*)fn );
|
||||
@@ -111,12 +98,7 @@ static bool SaveFileImpl( const char* ext, const char* desc, const std::function
|
||||
#if !defined TRACY_NO_FILESELECTOR && !defined __EMSCRIPTEN__
|
||||
nfdu8filteritem_t filter = { desc, ext };
|
||||
nfdu8char_t* fn;
|
||||
const nfdsavedialogu8args_t args = {
|
||||
.filterList = &filter,
|
||||
.filterCount = 1,
|
||||
.parentWindow = s_windowHandle,
|
||||
};
|
||||
const auto res = NFD_SaveDialogU8_With( &fn, &args );
|
||||
const auto res = NFD_SaveDialogU8( &fn, &filter, 1, nullptr, nullptr );
|
||||
if( res == NFD_OKAY )
|
||||
{
|
||||
callback( (const char*)fn );
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
#ifndef __TRACYFILESELECTOR_HPP__
|
||||
#define __TRACYFILESELECTOR_HPP__
|
||||
|
||||
#include <stddef.h>
|
||||
#include <functional>
|
||||
|
||||
namespace tracy::Fileselector
|
||||
{
|
||||
|
||||
void Init( size_t type, void* handle );
|
||||
void Init();
|
||||
void Shutdown();
|
||||
bool HasFailed();
|
||||
|
||||
|
||||
@@ -10,6 +10,9 @@
|
||||
#include "../common/TracyAlloc.hpp"
|
||||
#include "../common/TracySystem.hpp"
|
||||
|
||||
#include <shared_mutex>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
|
||||
#ifdef TRACY_HAS_CALLSTACK
|
||||
|
||||
@@ -1952,6 +1955,33 @@ CallstackEntryData DecodeCallstackPtr( uint64_t ptr )
|
||||
|
||||
#endif
|
||||
|
||||
TRACY_API const char* QuerySymbolName(void* ptr)
|
||||
{
|
||||
#ifndef TRACY_HAS_CALLSTACK
|
||||
return "[unavailable]";
|
||||
#else
|
||||
uint64_t address = uint64_t(ptr);
|
||||
|
||||
static std::unordered_map<uint64_t, std::string> s_cache;
|
||||
static std::shared_mutex s_mutex;
|
||||
|
||||
{
|
||||
std::shared_lock lock(s_mutex);
|
||||
auto it = s_cache.find(address);
|
||||
if (it != s_cache.end()) return it->second.c_str();
|
||||
}
|
||||
|
||||
std::unique_lock lock(s_mutex);
|
||||
auto [it, inserted] = s_cache.try_emplace(address);
|
||||
if (inserted)
|
||||
{
|
||||
const char* symbol = DecodeCallstackPtrFast(address);
|
||||
it->second = symbol;
|
||||
}
|
||||
return it->second.c_str();
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -26,6 +26,7 @@ namespace tracy
|
||||
{
|
||||
static constexpr bool has_callstack() { return false; }
|
||||
static tracy_force_inline void* Callstack( int32_t /*depth*/ ) { return nullptr; }
|
||||
TRACY_API const char* QuerySymbolName(void* address);
|
||||
}
|
||||
|
||||
#else
|
||||
@@ -87,6 +88,7 @@ void InitCallstack();
|
||||
void InitCallstackCritical();
|
||||
void EndCallstack();
|
||||
const char* GetKernelModulePath( uint64_t addr );
|
||||
TRACY_API const char* QuerySymbolName(void* address);
|
||||
|
||||
#ifdef __linux__
|
||||
void InitExternalImageCache( pid_t pid );
|
||||
|
||||
Reference in New Issue
Block a user