Use barrier packets for event profiling
Use barrier packets for every profile marker that gets submitted and use the completion signal to get GPU ts. This gives most accurate dispatch time. Club cache flushes with profile marker if there is a pending dispatch that needs cache flush. This optimization saves on extra barrier and helps wall time Change-Id: Ib62d6d7aabf4743827b561be6c9c5afa813203da
这个提交包含在:
1 父节点
36c328842f
当前提交
59c6cb0268
3 个文件已更改
+106
-16
没有与搜索条件相匹配的文件
@@ -97,7 +97,7 @@ class Event : public RuntimeObject {
|
||||
static const EventWaitList nullWaitList;
|
||||
|
||||
struct ProfilingInfo {
|
||||
ProfilingInfo(bool enabled = false) : enabled_(enabled), waves_(0) {
|
||||
ProfilingInfo(bool enabled = false) : enabled_(enabled), waves_(0), marker_ts_(false) {
|
||||
if (enabled) {
|
||||
clear();
|
||||
callback_ = nullptr;
|
||||
@@ -111,6 +111,7 @@ class Event : public RuntimeObject {
|
||||
bool enabled_; //!< Profiling enabled for the wave limiter
|
||||
uint32_t waves_; //!< The number of waves used in a dispatch
|
||||
ProfilingCallback* callback_;
|
||||
bool marker_ts_;
|
||||
void clear() {
|
||||
queued_ = 0ULL;
|
||||
submitted_ = 0ULL;
|
||||
|
||||
在新工单中引用
屏蔽一个用户