Re: [Mesa-dev] [PATCH 1/2] clover: Call end_query before getting timestamp result v2

2014-07-17 Thread Francisco Jerez
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

2014-07-16 Thread Tom Stellard
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

2014-07-16 Thread Niels Ole Salscheider
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

2014-07-16 Thread Tom Stellard
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

2014-07-16 Thread Niels Ole Salscheider
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