Re: [Mesa-dev] [PATCH 1/2] clover: Call end_query before getting timestamp result v2
Tom Stellard thomas.stell...@amd.com writes: v2: - Move the end_query() call into the timestamp constructor. - Still pass false as the wait parameter to get_query_result(). Reviewed-by: Francisco Jerez curroje...@riseup.net --- src/gallium/state_trackers/clover/core/timestamp.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/state_trackers/clover/core/timestamp.cpp b/src/gallium/state_trackers/clover/core/timestamp.cpp index 481c4f9..3fd341f 100644 --- a/src/gallium/state_trackers/clover/core/timestamp.cpp +++ b/src/gallium/state_trackers/clover/core/timestamp.cpp @@ -30,6 +30,7 @@ using namespace clover; timestamp::query::query(command_queue q) : q(q), _query(q.pipe-create_query(q.pipe, PIPE_QUERY_TIMESTAMP, 0)) { + q.pipe-end_query(q.pipe, _query); } timestamp::query::query(query other) : -- 1.8.1.5 pgp6BHrKR3yXH.pgp Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 1/2] clover: Call end_query before getting timestamp result
Also change the wait parameter from false to true. --- I'm really not sure what is correct here, but this patch fixes event profiling on SI. src/gallium/state_trackers/clover/core/timestamp.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/state_trackers/clover/core/timestamp.cpp b/src/gallium/state_trackers/clover/core/timestamp.cpp index 481c4f9..a6edaf6 100644 --- a/src/gallium/state_trackers/clover/core/timestamp.cpp +++ b/src/gallium/state_trackers/clover/core/timestamp.cpp @@ -47,7 +47,8 @@ cl_ulong timestamp::query::operator()() const { pipe_query_result result; - if (!q().pipe-get_query_result(q().pipe, _query, false, result)) + q().pipe-end_query(q().pipe, _query); + if (!q().pipe-get_query_result(q().pipe, _query, true, result)) throw error(CL_PROFILING_INFO_NOT_AVAILABLE); return result.u64; -- 1.8.1.5 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/2] clover: Call end_query before getting timestamp result
On Wednesday 16 July 2014, 16:49:08, Tom Stellard wrote: Also change the wait parameter from false to true. --- I'm really not sure what is correct here, but this patch fixes event profiling on SI. I think you should call end_query in the constructor right after the call to create_query. That is because you want the corresponding packet to be emited as soon as the query is created and not when you are interested in the results (i. e. when the corresponding event has occured). src/gallium/state_trackers/clover/core/timestamp.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/state_trackers/clover/core/timestamp.cpp b/src/gallium/state_trackers/clover/core/timestamp.cpp index 481c4f9..a6edaf6 100644 --- a/src/gallium/state_trackers/clover/core/timestamp.cpp +++ b/src/gallium/state_trackers/clover/core/timestamp.cpp @@ -47,7 +47,8 @@ cl_ulong timestamp::query::operator()() const { pipe_query_result result; - if (!q().pipe-get_query_result(q().pipe, _query, false, result)) + q().pipe-end_query(q().pipe, _query); + if (!q().pipe-get_query_result(q().pipe, _query, true, result)) throw error(CL_PROFILING_INFO_NOT_AVAILABLE); return result.u64; -- 1.8.1.5 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 1/2] clover: Call end_query before getting timestamp result v2
v2: - Move the end_query() call into the timestamp constructor. - Still pass false as the wait parameter to get_query_result(). --- src/gallium/state_trackers/clover/core/timestamp.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/state_trackers/clover/core/timestamp.cpp b/src/gallium/state_trackers/clover/core/timestamp.cpp index 481c4f9..3fd341f 100644 --- a/src/gallium/state_trackers/clover/core/timestamp.cpp +++ b/src/gallium/state_trackers/clover/core/timestamp.cpp @@ -30,6 +30,7 @@ using namespace clover; timestamp::query::query(command_queue q) : q(q), _query(q.pipe-create_query(q.pipe, PIPE_QUERY_TIMESTAMP, 0)) { + q.pipe-end_query(q.pipe, _query); } timestamp::query::query(query other) : -- 1.8.1.5 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/2] clover: Call end_query before getting timestamp result v2
Reviewed-by: Niels Ole Salscheider niels_...@salscheider-online.de On Wednesday 16 July 2014, 17:37:48, Tom Stellard wrote: v2: - Move the end_query() call into the timestamp constructor. - Still pass false as the wait parameter to get_query_result(). --- src/gallium/state_trackers/clover/core/timestamp.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/state_trackers/clover/core/timestamp.cpp b/src/gallium/state_trackers/clover/core/timestamp.cpp index 481c4f9..3fd341f 100644 --- a/src/gallium/state_trackers/clover/core/timestamp.cpp +++ b/src/gallium/state_trackers/clover/core/timestamp.cpp @@ -30,6 +30,7 @@ using namespace clover; timestamp::query::query(command_queue q) : q(q), _query(q.pipe-create_query(q.pipe, PIPE_QUERY_TIMESTAMP, 0)) { + q.pipe-end_query(q.pipe, _query); } timestamp::query::query(query other) : -- 1.8.1.5 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev