Class INTELPerformanceQuery
The purpose of this extension is to expose Intel proprietary hardware performance counters to the OpenGL applications. Performance counters may count:
- number of hardware events such as number of spawned vertex shaders. In this case the results represent the number of events.
- duration of certain activity, like time took by all fragment shader invocations. In that case the result usually represents the number of clocks in which the particular HW unit was busy. In order to use such counter efficiently, it should be normalized to the range of <0,1> by dividing its value by the number of render clocks.
- used throughput of certain memory types such as texture memory. In that case the result of performance counter usually represents the number of bytes transferred between GPU and memory.
This extension specifies universal API to manage performance counters on different Intel hardware platforms. Performance counters are grouped together into proprietary, hardware-specific, fixed sets of counters that are measured together by the GPU.
It is assumed that performance counters are started and ended on any arbitrary boundaries during rendering.
A set of performance counters is represented by a unique query type. Each query type is identified by assigned name and ID. Multiple query types (sets of performance counters) are supported by the Intel hardware. However each Intel hardware generation supports different sets of performance counters. Therefore the query types between hardware generations can be different. The definition of query types and their results structures can be learned through the API. It is also documented in a separate document of Intel OGL Performance Counters Specification issued per each new hardware generation.
The API allows to create multiple instances of any query type and to sample different fragments of 3D rendering with such instances. Query instances are identified with handles.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Returned by glGetPerfCounterInfoINTEL function as counter data type enumeration in location pointed by counterDataTypeEnum.static final int
Returned by glGetPerfCounterInfoINTEL function as counter data type enumeration in location pointed by counterDataTypeEnum.static final int
Returned by glGetPerfCounterInfoINTEL function as counter data type enumeration in location pointed by counterDataTypeEnum.static final int
Returned by glGetPerfCounterInfoINTEL function as counter data type enumeration in location pointed by counterDataTypeEnum.static final int
Returned by glGetPerfCounterInfoINTEL function as counter data type enumeration in location pointed by counterDataTypeEnum.static final int
Accepted by thepname
parameter of GetIntegerv.static final int
Returned by GetPerfCounterInfoINTEL function as counter type enumeration in location pointed by counterTypeEnum.static final int
Returned by GetPerfCounterInfoINTEL function as counter type enumeration in location pointed by counterTypeEnum.static final int
Returned by GetPerfCounterInfoINTEL function as counter type enumeration in location pointed by counterTypeEnum.static final int
Accepted by thepname
parameter of GetIntegerv.static final int
Returned by GetPerfCounterInfoINTEL function as counter type enumeration in location pointed by counterTypeEnum.static final int
Returned by GetPerfCounterInfoINTEL function as counter type enumeration in location pointed by counterTypeEnum.static final int
Returned by GetPerfCounterInfoINTEL function as counter type enumeration in location pointed by counterTypeEnum.static final int
Accepted by the flags parameter of GetPerfQueryDataINTEL.static final int
Accepted by the flags parameter of GetPerfQueryDataINTEL.static final int
Returned by the capsMask parameter of GetPerfQueryInfoINTEL.static final int
Accepted by thepname
parameter of GetBooleanv.static final int
Accepted by thepname
parameter of GetIntegerv.static final int
Returned by the capsMask parameter of GetPerfQueryInfoINTEL.static final int
Accepted by the flags parameter of GetPerfQueryDataINTEL. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
glBeginPerfQueryINTEL
(int queryHandle) static int
glCreatePerfQueryINTEL
(int queryId) static void
glCreatePerfQueryINTEL
(int queryId, int[] queryHandle) Array version of:CreatePerfQueryINTEL
static void
glCreatePerfQueryINTEL
(int queryId, IntBuffer queryHandle) static void
glDeletePerfQueryINTEL
(int queryHandle) static void
glEndPerfQueryINTEL
(int queryHandle) static int
static void
glGetFirstPerfQueryIdINTEL
(int[] queryId) Array version of:GetFirstPerfQueryIdINTEL
static void
glGetFirstPerfQueryIdINTEL
(IntBuffer queryId) static int
glGetNextPerfQueryIdINTEL
(int queryId) static void
glGetNextPerfQueryIdINTEL
(int queryId, int[] nextQueryId) Array version of:GetNextPerfQueryIdINTEL
static void
glGetNextPerfQueryIdINTEL
(int queryId, IntBuffer nextQueryId) static void
glGetPerfCounterInfoINTEL
(int queryId, int counterId, ByteBuffer counterName, ByteBuffer counterDesc, int[] counterOffset, int[] counterDataSize, int[] counterTypeEnum, int[] counterDataTypeEnum, long[] rawCounterMaxValue) Array version of:GetPerfCounterInfoINTEL
static void
glGetPerfCounterInfoINTEL
(int queryId, int counterId, ByteBuffer counterName, ByteBuffer counterDesc, IntBuffer counterOffset, IntBuffer counterDataSize, IntBuffer counterTypeEnum, IntBuffer counterDataTypeEnum, LongBuffer rawCounterMaxValue) static void
glGetPerfQueryDataINTEL
(int queryHandle, int flags, ByteBuffer data, int[] bytesWritten) Array version of:GetPerfQueryDataINTEL
static void
glGetPerfQueryDataINTEL
(int queryHandle, int flags, ByteBuffer data, IntBuffer bytesWritten) static int
glGetPerfQueryIdByNameINTEL
(CharSequence queryName) static void
glGetPerfQueryIdByNameINTEL
(CharSequence queryName, int[] queryId) Array version of:GetPerfQueryIdByNameINTEL
static void
glGetPerfQueryIdByNameINTEL
(CharSequence queryName, IntBuffer queryId) static void
glGetPerfQueryIdByNameINTEL
(ByteBuffer queryName, int[] queryId) Array version of:GetPerfQueryIdByNameINTEL
static void
glGetPerfQueryIdByNameINTEL
(ByteBuffer queryName, IntBuffer queryId) static void
glGetPerfQueryInfoINTEL
(int queryId, ByteBuffer queryName, int[] dataSize, int[] noCounters, int[] noInstances, int[] capsMask) Array version of:GetPerfQueryInfoINTEL
static void
glGetPerfQueryInfoINTEL
(int queryId, ByteBuffer queryName, IntBuffer dataSize, IntBuffer noCounters, IntBuffer noInstances, IntBuffer capsMask) static void
nglCreatePerfQueryINTEL
(int queryId, long queryHandle) static void
nglGetFirstPerfQueryIdINTEL
(long queryId) static void
nglGetNextPerfQueryIdINTEL
(int queryId, long nextQueryId) static void
nglGetPerfCounterInfoINTEL
(int queryId, int counterId, int counterNameLength, long counterName, int counterDescLength, long counterDesc, long counterOffset, long counterDataSize, long counterTypeEnum, long counterDataTypeEnum, long rawCounterMaxValue) static void
nglGetPerfQueryDataINTEL
(int queryHandle, int flags, int dataSize, long data, long bytesWritten) static void
nglGetPerfQueryIdByNameINTEL
(long queryName, long queryId) static void
nglGetPerfQueryInfoINTEL
(int queryId, int queryNameLength, long queryName, long dataSize, long noCounters, long noInstances, long capsMask)
-
Field Details
-
GL_PERFQUERY_SINGLE_CONTEXT_INTEL
public static final int GL_PERFQUERY_SINGLE_CONTEXT_INTELReturned by the capsMask parameter of GetPerfQueryInfoINTEL.- See Also:
-
GL_PERFQUERY_GLOBAL_CONTEXT_INTEL
public static final int GL_PERFQUERY_GLOBAL_CONTEXT_INTELReturned by the capsMask parameter of GetPerfQueryInfoINTEL.- See Also:
-
GL_PERFQUERY_WAIT_INTEL
public static final int GL_PERFQUERY_WAIT_INTELAccepted by the flags parameter of GetPerfQueryDataINTEL.- See Also:
-
GL_PERFQUERY_FLUSH_INTEL
public static final int GL_PERFQUERY_FLUSH_INTELAccepted by the flags parameter of GetPerfQueryDataINTEL.- See Also:
-
GL_PERFQUERY_DONOT_FLUSH_INTEL
public static final int GL_PERFQUERY_DONOT_FLUSH_INTELAccepted by the flags parameter of GetPerfQueryDataINTEL.- See Also:
-
GL_PERFQUERY_COUNTER_EVENT_INTEL
public static final int GL_PERFQUERY_COUNTER_EVENT_INTELReturned by GetPerfCounterInfoINTEL function as counter type enumeration in location pointed by counterTypeEnum.- See Also:
-
GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL
public static final int GL_PERFQUERY_COUNTER_DURATION_NORM_INTELReturned by GetPerfCounterInfoINTEL function as counter type enumeration in location pointed by counterTypeEnum.- See Also:
-
GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL
public static final int GL_PERFQUERY_COUNTER_DURATION_RAW_INTELReturned by GetPerfCounterInfoINTEL function as counter type enumeration in location pointed by counterTypeEnum.- See Also:
-
GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL
public static final int GL_PERFQUERY_COUNTER_THROUGHPUT_INTELReturned by GetPerfCounterInfoINTEL function as counter type enumeration in location pointed by counterTypeEnum.- See Also:
-
GL_PERFQUERY_COUNTER_RAW_INTEL
public static final int GL_PERFQUERY_COUNTER_RAW_INTELReturned by GetPerfCounterInfoINTEL function as counter type enumeration in location pointed by counterTypeEnum.- See Also:
-
GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL
public static final int GL_PERFQUERY_COUNTER_TIMESTAMP_INTELReturned by GetPerfCounterInfoINTEL function as counter type enumeration in location pointed by counterTypeEnum.- See Also:
-
GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL
public static final int GL_PERFQUERY_COUNTER_DATA_UINT32_INTELReturned by glGetPerfCounterInfoINTEL function as counter data type enumeration in location pointed by counterDataTypeEnum.- See Also:
-
GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL
public static final int GL_PERFQUERY_COUNTER_DATA_UINT64_INTELReturned by glGetPerfCounterInfoINTEL function as counter data type enumeration in location pointed by counterDataTypeEnum.- See Also:
-
GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL
public static final int GL_PERFQUERY_COUNTER_DATA_FLOAT_INTELReturned by glGetPerfCounterInfoINTEL function as counter data type enumeration in location pointed by counterDataTypeEnum.- See Also:
-
GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL
public static final int GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTELReturned by glGetPerfCounterInfoINTEL function as counter data type enumeration in location pointed by counterDataTypeEnum.- See Also:
-
GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL
public static final int GL_PERFQUERY_COUNTER_DATA_BOOL32_INTELReturned by glGetPerfCounterInfoINTEL function as counter data type enumeration in location pointed by counterDataTypeEnum.- See Also:
-
GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL
public static final int GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTELAccepted by thepname
parameter of GetIntegerv.- See Also:
-
GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL
public static final int GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTELAccepted by thepname
parameter of GetIntegerv.- See Also:
-
GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL
public static final int GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTELAccepted by thepname
parameter of GetIntegerv.- See Also:
-
GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL
public static final int GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTELAccepted by thepname
parameter of GetBooleanv.- See Also:
-
-
Method Details
-
glBeginPerfQueryINTEL
public static void glBeginPerfQueryINTEL(int queryHandle) -
nglCreatePerfQueryINTEL
public static void nglCreatePerfQueryINTEL(int queryId, long queryHandle) -
glCreatePerfQueryINTEL
-
glCreatePerfQueryINTEL
public static int glCreatePerfQueryINTEL(int queryId) -
glDeletePerfQueryINTEL
public static void glDeletePerfQueryINTEL(int queryHandle) -
glEndPerfQueryINTEL
public static void glEndPerfQueryINTEL(int queryHandle) -
nglGetFirstPerfQueryIdINTEL
public static void nglGetFirstPerfQueryIdINTEL(long queryId) -
glGetFirstPerfQueryIdINTEL
-
glGetFirstPerfQueryIdINTEL
public static int glGetFirstPerfQueryIdINTEL() -
nglGetNextPerfQueryIdINTEL
public static void nglGetNextPerfQueryIdINTEL(int queryId, long nextQueryId) -
glGetNextPerfQueryIdINTEL
-
glGetNextPerfQueryIdINTEL
public static int glGetNextPerfQueryIdINTEL(int queryId) -
nglGetPerfCounterInfoINTEL
public static void nglGetPerfCounterInfoINTEL(int queryId, int counterId, int counterNameLength, long counterName, int counterDescLength, long counterDesc, long counterOffset, long counterDataSize, long counterTypeEnum, long counterDataTypeEnum, long rawCounterMaxValue) -
glGetPerfCounterInfoINTEL
public static void glGetPerfCounterInfoINTEL(int queryId, int counterId, ByteBuffer counterName, ByteBuffer counterDesc, IntBuffer counterOffset, IntBuffer counterDataSize, IntBuffer counterTypeEnum, IntBuffer counterDataTypeEnum, LongBuffer rawCounterMaxValue) -
nglGetPerfQueryDataINTEL
public static void nglGetPerfQueryDataINTEL(int queryHandle, int flags, int dataSize, long data, long bytesWritten) -
glGetPerfQueryDataINTEL
public static void glGetPerfQueryDataINTEL(int queryHandle, int flags, ByteBuffer data, IntBuffer bytesWritten) -
nglGetPerfQueryIdByNameINTEL
public static void nglGetPerfQueryIdByNameINTEL(long queryName, long queryId) -
glGetPerfQueryIdByNameINTEL
-
glGetPerfQueryIdByNameINTEL
-
glGetPerfQueryIdByNameINTEL
-
nglGetPerfQueryInfoINTEL
public static void nglGetPerfQueryInfoINTEL(int queryId, int queryNameLength, long queryName, long dataSize, long noCounters, long noInstances, long capsMask) -
glGetPerfQueryInfoINTEL
public static void glGetPerfQueryInfoINTEL(int queryId, ByteBuffer queryName, IntBuffer dataSize, IntBuffer noCounters, IntBuffer noInstances, IntBuffer capsMask) -
glCreatePerfQueryINTEL
public static void glCreatePerfQueryINTEL(int queryId, int[] queryHandle) Array version of:CreatePerfQueryINTEL
-
glGetFirstPerfQueryIdINTEL
public static void glGetFirstPerfQueryIdINTEL(int[] queryId) Array version of:GetFirstPerfQueryIdINTEL
-
glGetNextPerfQueryIdINTEL
public static void glGetNextPerfQueryIdINTEL(int queryId, int[] nextQueryId) Array version of:GetNextPerfQueryIdINTEL
-
glGetPerfCounterInfoINTEL
public static void glGetPerfCounterInfoINTEL(int queryId, int counterId, ByteBuffer counterName, ByteBuffer counterDesc, int[] counterOffset, int[] counterDataSize, int[] counterTypeEnum, int[] counterDataTypeEnum, long[] rawCounterMaxValue) Array version of:GetPerfCounterInfoINTEL
-
glGetPerfQueryDataINTEL
public static void glGetPerfQueryDataINTEL(int queryHandle, int flags, ByteBuffer data, int[] bytesWritten) Array version of:GetPerfQueryDataINTEL
-
glGetPerfQueryIdByNameINTEL
Array version of:GetPerfQueryIdByNameINTEL
-
glGetPerfQueryIdByNameINTEL
Array version of:GetPerfQueryIdByNameINTEL
-
glGetPerfQueryInfoINTEL
public static void glGetPerfQueryInfoINTEL(int queryId, ByteBuffer queryName, int[] dataSize, int[] noCounters, int[] noInstances, int[] capsMask) Array version of:GetPerfQueryInfoINTEL
-