[Mesa-dev] [PATCH 0/9] gallium: batch query objects and related cleanups

2015-11-13 Thread Nicolai Hähnle
Hi,

the main point of this patch series is to introduce batch query objects.

For AMD_performance_monitor, hardware may not be able to start and stop
performance counters independently of each other. The current query interface
does not fit such hardware well.

With this series, drivers can mark driver-specific queries with the
PIPE_DRIVER_QUERY_FLAG_BATCH flag, which indicates that those queries require
the use of batch query objects. Batch query objects are created with an
immutable list of queries, which requires a new entry point in pipe_context,
but apart from that they use the same begin_query/end_query/etc. entry points.

The radeon-specific part that actually makes use of this feature is not quite
ready yet, but I already wanted to get this part out there for feedback.
Please review!

Thanks,
Nicolai
---
 gallium/auxiliary/hud/hud_context.c   |   24 ++
 gallium/auxiliary/hud/hud_driver_query.c  |  249 +-
 gallium/auxiliary/hud/hud_private.h   |   13 +
 gallium/drivers/nouveau/nvc0/nvc0_query.c |4 
 gallium/include/pipe/p_context.h  |3 
 gallium/include/pipe/p_defines.h  |   36 ++--
 mesa/state_tracker/st_cb_perfmon.c|  247 -
 mesa/state_tracker/st_cb_perfmon.h|   32 +++
 mesa/state_tracker/st_context.h   |3 
 9 files changed, 437 insertions(+), 174 deletions(-)

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 0/9] gallium: batch query objects and related cleanups

2015-11-13 Thread Samuel Pitoiset

Hi Nicolai,

Did you run amd_performance_monitor piglit tests to make sure all of 
your changes didn't break anything?


Did you test on nvc0 driver which is the only driver that currently 
exposes GL_AMD_performance_monitor? In case you didn't, I'll test it 
myself in the next few days. You might not have the hardware. :-)


Thanks.

On 11/13/2015 04:57 PM, Nicolai Hähnle wrote:

Hi,

the main point of this patch series is to introduce batch query objects.

For AMD_performance_monitor, hardware may not be able to start and stop
performance counters independently of each other. The current query interface
does not fit such hardware well.

With this series, drivers can mark driver-specific queries with the
PIPE_DRIVER_QUERY_FLAG_BATCH flag, which indicates that those queries require
the use of batch query objects. Batch query objects are created with an
immutable list of queries, which requires a new entry point in pipe_context,
but apart from that they use the same begin_query/end_query/etc. entry points.

The radeon-specific part that actually makes use of this feature is not quite
ready yet, but I already wanted to get this part out there for feedback.
Please review!

Thanks,
Nicolai
---
  gallium/auxiliary/hud/hud_context.c   |   24 ++
  gallium/auxiliary/hud/hud_driver_query.c  |  249 
+-
  gallium/auxiliary/hud/hud_private.h   |   13 +
  gallium/drivers/nouveau/nvc0/nvc0_query.c |4
  gallium/include/pipe/p_context.h  |3
  gallium/include/pipe/p_defines.h  |   36 ++--
  mesa/state_tracker/st_cb_perfmon.c|  247 -
  mesa/state_tracker/st_cb_perfmon.h|   32 +++
  mesa/state_tracker/st_context.h   |3
  9 files changed, 437 insertions(+), 174 deletions(-)

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev



--
-Samuel
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 0/9] gallium: batch query objects and related cleanups

2015-11-13 Thread Nicolai Hähnle

Hi Samuel,

thanks for taking a look!

On 13.11.2015 18:35, Samuel Pitoiset wrote:

Did you run amd_performance_monitor piglit tests to make sure all of
your changes didn't break anything?


Yes, everything passes here.



Did you test on nvc0 driver which is the only driver that currently
exposes GL_AMD_performance_monitor? In case you didn't, I'll test it
myself in the next few days. You might not have the hardware. :-)


Sorry, I don't have the hardware.

Thanks,
Nicolai



Thanks.

On 11/13/2015 04:57 PM, Nicolai Hähnle wrote:

Hi,

the main point of this patch series is to introduce batch query objects.

For AMD_performance_monitor, hardware may not be able to start and stop
performance counters independently of each other. The current query
interface
does not fit such hardware well.

With this series, drivers can mark driver-specific queries with the
PIPE_DRIVER_QUERY_FLAG_BATCH flag, which indicates that those queries
require
the use of batch query objects. Batch query objects are created with an
immutable list of queries, which requires a new entry point in
pipe_context,
but apart from that they use the same begin_query/end_query/etc. entry
points.

The radeon-specific part that actually makes use of this feature is
not quite
ready yet, but I already wanted to get this part out there for feedback.
Please review!

Thanks,
Nicolai
---
  gallium/auxiliary/hud/hud_context.c   |   24 ++
  gallium/auxiliary/hud/hud_driver_query.c  |  249
+-
  gallium/auxiliary/hud/hud_private.h   |   13 +
  gallium/drivers/nouveau/nvc0/nvc0_query.c |4
  gallium/include/pipe/p_context.h  |3
  gallium/include/pipe/p_defines.h  |   36 ++--
  mesa/state_tracker/st_cb_perfmon.c|  247
-
  mesa/state_tracker/st_cb_perfmon.h|   32 +++
  mesa/state_tracker/st_context.h   |3
  9 files changed, 437 insertions(+), 174 deletions(-)

___
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


Re: [Mesa-dev] [PATCH 0/9] gallium: batch query objects and related cleanups

2015-11-13 Thread Samuel Pitoiset



On 11/13/2015 07:29 PM, Nicolai Hähnle wrote:

Hi Samuel,

thanks for taking a look!

On 13.11.2015 18:35, Samuel Pitoiset wrote:

Did you run amd_performance_monitor piglit tests to make sure all of
your changes didn't break anything?


Yes, everything passes here.


Looks good. Thanks.





Did you test on nvc0 driver which is the only driver that currently
exposes GL_AMD_performance_monitor? In case you didn't, I'll test it
myself in the next few days. You might not have the hardware. :-)


Sorry, I don't have the hardware.


That's not a problem, I'll test on NVIDIA GPUs.



Thanks,
Nicolai



Thanks.

On 11/13/2015 04:57 PM, Nicolai Hähnle wrote:

Hi,

the main point of this patch series is to introduce batch query objects.

For AMD_performance_monitor, hardware may not be able to start and stop
performance counters independently of each other. The current query
interface
does not fit such hardware well.

With this series, drivers can mark driver-specific queries with the
PIPE_DRIVER_QUERY_FLAG_BATCH flag, which indicates that those queries
require
the use of batch query objects. Batch query objects are created with an
immutable list of queries, which requires a new entry point in
pipe_context,
but apart from that they use the same begin_query/end_query/etc. entry
points.

The radeon-specific part that actually makes use of this feature is
not quite
ready yet, but I already wanted to get this part out there for feedback.
Please review!

Thanks,
Nicolai
---
  gallium/auxiliary/hud/hud_context.c   |   24 ++
  gallium/auxiliary/hud/hud_driver_query.c  |  249
+-
  gallium/auxiliary/hud/hud_private.h   |   13 +
  gallium/drivers/nouveau/nvc0/nvc0_query.c |4
  gallium/include/pipe/p_context.h  |3
  gallium/include/pipe/p_defines.h  |   36 ++--
  mesa/state_tracker/st_cb_perfmon.c|  247
-
  mesa/state_tracker/st_cb_perfmon.h|   32 +++
  mesa/state_tracker/st_context.h   |3
  9 files changed, 437 insertions(+), 174 deletions(-)

___
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