diff options
author | Petri Latvala <petri.latvala@intel.com> | 2014-04-23 11:08:52 +0300 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2014-05-02 10:07:04 -0700 |
commit | dac82ceac5d726ff8851051f671396cfbd1abc63 (patch) | |
tree | bdc4d8190e5fbe5d82990a5fa06ead42838c6ea4 /src/mapi | |
parent | 6ccb98e88c3589dd8f09737ea0c47682bb19e4d3 (diff) |
mesa: Add core support for the GL_INTEL_performance_query extension.
Like AMD_performance_monitor, this extension provides an interface for
applications (and OpenGL-based tools) to access GPU performance
counters. Since the exact performance counters available vary between
vendors and hardware generations, the extension provides an API the
application can use to get the names, types, and minimum/maximum
values of all available counters.
Applications create performance queries based on available query
types, and begin/end measurement collection. Multiple queries can be
measuring simultaneously.
v2: Whitespace changes
v3: src/mapi/glapi/gen/gl_API.xml: Also expose the functions to GLES2.
v4: Whitespace changes, static_dispatch="false" for all functions, fix
dispatch_sanity test for GLES2 functions
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Diffstat (limited to 'src/mapi')
-rw-r--r-- | src/mapi/glapi/gen/INTEL_performance_query.xml | 93 | ||||
-rw-r--r-- | src/mapi/glapi/gen/Makefile.am | 1 | ||||
-rw-r--r-- | src/mapi/glapi/gen/gl_API.xml | 2 |
3 files changed, 96 insertions, 0 deletions
diff --git a/src/mapi/glapi/gen/INTEL_performance_query.xml b/src/mapi/glapi/gen/INTEL_performance_query.xml new file mode 100644 index 0000000000..25cd1817f5 --- /dev/null +++ b/src/mapi/glapi/gen/INTEL_performance_query.xml @@ -0,0 +1,93 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<OpenGLAPI> + +<category name="GL_INTEL_performance_query" number="443"> + + <function name="GetFirstPerfQueryIdINTEL" offset="assign" static_dispatch="false" es2="2.0"> + <param name="queryId" type="GLuint *"/> + </function> + + <function name="GetNextPerfQueryIdINTEL" offset="assign" static_dispatch="false" es2="2.0"> + <param name="queryId" type="GLuint"/> + <param name="nextQueryId" type="GLuint *"/> + </function> + + <function name="GetPerfQueryIdByNameINTEL" offset="assign" static_dispatch="false" es2="2.0"> + <param name="queryName" type="GLchar *"/> + <param name="queryId" type="GLuint *"/> + </function> + + <function name="GetPerfQueryInfoINTEL" offset="assign" static_dispatch="false" es2="2.0"> + <param name="queryId" type="GLuint"/> + <param name="queryNameLength" type="GLuint"/> + <param name="queryName" type="GLchar *"/> + <param name="dataSize" type="GLuint *"/> + <param name="noCounters" type="GLuint *"/> + <param name="noInstances" type="GLuint *"/> + <param name="capsMask" type="GLuint *"/> + </function> + + <function name="GetPerfCounterInfoINTEL" offset="assign" static_dispatch="false" es2="2.0"> + <param name="queryId" type="GLuint"/> + <param name="counterId" type="GLuint"/> + <param name="counterNameLength" type="GLuint"/> + <param name="counterName" type="GLchar *"/> + <param name="counterDescLength" type="GLuint"/> + <param name="counterDesc" type="GLchar *"/> + <param name="counterOffset" type="GLuint *"/> + <param name="counterDataSize" type="GLuint *"/> + <param name="counterTypeEnum" type="GLuint *"/> + <param name="counterDataTypeEnum" type="GLuint *"/> + <param name="rawCounterMaxValue" type="GLuint64 *"/> + </function> + + <function name="CreatePerfQueryINTEL" offset="assign" static_dispatch="false" es2="2.0"> + <param name="queryId" type="GLuint"/> + <param name="queryHandle" type="GLuint *"/> + </function> + + <function name="DeletePerfQueryINTEL" offset="assign" static_dispatch="false" es2="2.0"> + <param name="queryHandle" type="GLuint"/> + </function> + + <function name="BeginPerfQueryINTEL" offset="assign" static_dispatch="false" es2="2.0"> + <param name="queryHandle" type="GLuint"/> + </function> + + <function name="EndPerfQueryINTEL" offset="assign" static_dispatch="false" es2="2.0"> + <param name="queryHandle" type="GLuint"/> + </function> + + <function name="GetPerfQueryDataINTEL" offset="assign" static_dispatch="false" es2="2.0"> + <param name="queryHandle" type="GLuint"/> + <param name="flags" type="GLuint"/> + <param name="dataSize" type="GLsizei"/> + <param name="data" type="GLvoid *"/> + <param name="bytesWritten" type="GLuint *"/> + </function> + + <enum name="PERFQUERY_SINGLE_CONTEXT_INTEL" value="0x0000"/> + <enum name="PERFQUERY_GLOBAL_CONTEXT_INTEL" value="0x0001"/> + <enum name="PERFQUERY_WAIT_INTEL" value="0x83FB"/> + <enum name="PERFQUERY_FLUSH_INTEL" value="0x83FA"/> + <enum name="PERFQUERY_DONOT_FLUSH_INTEL" value="0x83F9"/> + <enum name="PERFQUERY_COUNTER_EVENT_INTEL" value="0x94F0"/> + <enum name="PERFQUERY_COUNTER_DURATION_NORM_INTEL" value="0x94F1"/> + <enum name="PERFQUERY_COUNTER_DURATION_RAW_INTEL" value="0x94F2"/> + <enum name="PERFQUERY_COUNTER_THROUGHPUT_INTEL" value="0x94F3"/> + <enum name="PERFQUERY_COUNTER_RAW_INTEL" value="0x94F4"/> + <enum name="PERFQUERY_COUNTER_TIMESTAMP_INTEL" value="0x94F5"/> + <enum name="PERFQUERY_COUNTER_DATA_UINT32_INTEL" value="0x94F8"/> + <enum name="PERFQUERY_COUNTER_DATA_UINT64_INTEL" value="0x94F9"/> + <enum name="PERFQUERY_COUNTER_DATA_FLOAT_INTEL" value="0x94FA"/> + <enum name="PERFQUERY_COUNTER_DATA_DOUBLE_INTEL" value="0x94FB"/> + <enum name="PERFQUERY_COUNTER_DATA_BOOL32_INTEL" value="0x94FC"/> + <enum name="PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL" value="0x94FD"/> + <enum name="PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL" value="0x94FE"/> + <enum name="PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL" value="0x94FF"/> + <enum name="PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL" value="0x9500"/> +</category> + +</OpenGLAPI> diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am index 35cf924da0..6f36989bcc 100644 --- a/src/mapi/glapi/gen/Makefile.am +++ b/src/mapi/glapi/gen/Makefile.am @@ -172,6 +172,7 @@ API_XML = \ EXT_texture_array.xml \ EXT_texture_integer.xml \ EXT_transform_feedback.xml \ + INTEL_performance_query.xml \ KHR_debug.xml \ NV_conditional_render.xml \ NV_primitive_restart.xml \ diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml index 46640397bc..d6f9b57877 100644 --- a/src/mapi/glapi/gen/gl_API.xml +++ b/src/mapi/glapi/gen/gl_API.xml @@ -12812,6 +12812,8 @@ <enum name="SKIP_DECODE_EXT" value="0x8A4A"/> </category> +<xi:include href="INTEL_performance_query.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> + <!-- Unnumbered extensions sorted by name. --> <category name="GL_ATI_blend_equation_separate"> |