1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00
Commit Graph

56 Commits

Author SHA1 Message Date
Bartosz Taudul 1b6bc1b69a Send Vulkan GPU calibration messages. 2020-07-07 21:25:35 +02:00
Bartosz Taudul 54a029356d Explicitly store GPU context type. 2020-05-27 18:16:53 +02:00
Bartosz Taudul fad7e72fd4 Harden against uninitialized rpmalloc.
Initialize rpmalloc either by explicitly calling InitRPMallocThread(),
or by forcing initialization of thread local variables block.
2020-05-19 13:51:11 +02:00
Bartosz Taudul 2b584a94c5 Fix GLES check. 2020-03-02 17:06:25 +01:00
Bartosz Taudul ac9479aa3f Change OpenGL headers comment to compilation error. 2020-01-27 17:50:44 +01:00
Bartosz Taudul 35a2baf5ef GPU zones may also be inactive. 2020-01-25 17:44:46 +01:00
Bartosz Taudul 55d03cb03e Hide async queue setup/commit behind macros. 2020-01-19 15:06:11 +01:00
Alexander Bock ce8f10f2b1 Removed unused parameter for the case when the TracyOpenGL.hpp is included by TRACY_ENABLE is not defined 2019-12-28 14:33:47 +00:00
Bartosz Taudul 0f68e1e981 Send thread id in GPU zone end message.
We don't care about OpenGL zone thread ids, so the identifier is zeroed.
2019-09-23 16:06:14 +02:00
Bartosz Taudul a6a3f45810 Fill in thread id during dequeue, not during enqueue. 2019-07-30 01:15:14 +02:00
Bartosz Taudul 89928fde7b Queue must be always able to alloc. 2019-07-29 22:13:16 +02:00
Bartosz Taudul dc992266fd Simplify OpenGL query checks. 2019-07-16 19:42:06 +02:00
Bartosz Taudul 06a41708a7 Move TLS accesses close together. 2019-06-24 19:38:44 +02:00
Bartosz Taudul 5e6bc30bab Support GL_EXT_disjoint_timer_query with EXT postfix. 2019-06-18 16:34:27 +02:00
Bartosz Taudul 3f914834b7 Hide rest of statics. 2019-02-19 19:33:37 +01:00
Bartosz Taudul 2421e05c27 Prevent direct access to s_profiler. 2019-02-19 18:38:08 +01:00
Bartosz Taudul d865d1cc87 Disallow direct access to s_token. 2019-02-19 18:27:00 +01:00
Bartosz Taudul 9040953e13 Proper constructors are needed. 2019-02-18 14:57:46 +01:00
Bartosz Taudul c9c4d2845a Provide empty {Gpu,Vk}CtxScope classes if tracy is disabled.
This may be needed if some wrapping is done, abstracting the OpenGL and
Vulkan tracing.
2019-02-18 14:45:09 +01:00
Bartosz Taudul 537cee911c Allow forcing call stack capture. 2018-12-13 14:43:37 +01:00
Bartosz Taudul 31c2ddb8ac Rename client's SourceLocation to SourceLocationData. 2018-07-28 00:34:04 +02:00
Bartosz Taudul dbdc530f1c Named GPU zones. 2018-07-26 20:15:39 +02:00
Bartosz Taudul 3737e122cf Of course, this can't work without stupid fuckery. 2018-07-26 19:59:55 +02:00
Bartosz Taudul 1111980f1f Make source location names unique. 2018-07-26 19:22:19 +02:00
Arvid Gerstmann 6b87aecdce Wrap concurrentqueue in tracy namespace 2018-07-13 20:01:27 +02:00
Bartosz Taudul dacbfbd031 Support on-demand OpenGL tracing. 2018-07-11 17:10:53 +02:00
Bartosz Taudul d0868b5004 Early exit in GpuCtx::Collect(). 2018-07-11 17:10:34 +02:00
Bartosz Taudul 1f7246f6b9 Defer OpenGL/Vulkan context announce. 2018-07-11 15:00:30 +02:00
Bartosz Taudul e5b133073c Disable all tracing if TRACY_ON_DEMAND is defined. 2018-07-10 20:49:51 +02:00
Bartosz Taudul a347ddd753 OpenGL needs query id translation. 2018-06-22 16:46:47 +02:00
Bartosz Taudul af0c64c888 Remove GPU resync support.
The whole concept is not really reliable. And it forces CPU to GPU sync,
which is bad.
2018-06-22 16:34:51 +02:00
Bartosz Taudul 62267399bc Send query ids of GPU times. 2018-06-22 16:19:53 +02:00
Bartosz Taudul 51c5f47ae2 Transfer query ids of GPU events. 2018-06-22 15:57:54 +02:00
Bartosz Taudul 55ddb64352 GPU context counter is now 8 bit. 2018-06-22 15:10:23 +02:00
Bartosz Taudul 3a885bb8fd Support callstack collection for OpenGL GPU zones. 2018-06-22 02:13:35 +02:00
Bartosz Taudul 684ba455a2 Send GPU zone thread handle. 2018-06-17 18:55:38 +02:00
Bartosz Taudul 8495e5b094 Send timestamp period in GPU context announcement. 2018-06-17 18:21:15 +02:00
Bartosz Taudul 3b03e849f0 Harden client code against unaligned memory access.
There shouldn't be any changes in generated code on modern
architectures, as the memcpy will be reduced to a store/load operation
identical to the one generated with plain struct member access.

GetTime( cpu ) needs special handling, as the MSVC intrinsic for rdtscp
can't store cpu identifier in a register. Using intermediate variable
would cause store to stack, read from stack, store to the destination
address. Since rdtscp is only available on x86, which handles unaligned
stores without any problems, we can have one place with direct struct
member access.
2018-03-31 14:15:04 +02:00
Bartosz Taudul 71ad3c3b0c Use named colors. 2017-11-25 15:33:10 +01:00
Bartosz Taudul 6008c85999 Move common variables out of the loop. 2017-11-25 13:41:12 +01:00
Bartosz Taudul a515bf8878 Perform GPU to CPU resynchronization on each collect event. 2017-11-25 13:33:57 +01:00
Bartosz Taudul 0100266234 Use consistent names. 2017-11-25 13:14:16 +01:00
Bartosz Taudul a71c81bc41 Remove unused GpuCtx stub class. 2017-11-22 15:31:04 +01:00
Bartosz Taudul 4708f819b9 Bump number of query slots to 64K. 2017-11-22 14:01:44 +01:00
Bartosz Taudul 2514cff283 Apple can't into standards compliance.
https://lists.apple.com/archives/mac-opengl/2014/Nov/msg00005.html
2017-11-20 13:44:08 +01:00
Bartosz Taudul c251690722 Query OpenGL time stamp accuracy. 2017-11-17 14:07:42 +01:00
Bartosz Taudul c15e692ee4 Context is no longer passed to OpenGL macros. 2017-11-16 15:41:22 +01:00
Bartosz Taudul 2f669aea41 Workaround gcc issues. 2017-11-15 10:56:27 +01:00
Bartosz Taudul c43eb29ce0 Don't send source location pointer in query reply.
Since reply order is the same as the query order, the server already
knows what source location it receives. This observation allows placing
zone name into the source location struct.
2017-11-14 23:06:45 +01:00
Bartosz Taudul 5c872b2137 Simplify GPU context handling. 2017-11-14 00:48:26 +01:00