Class INTELPerformanceQuery



  • public class INTELPerformanceQuery
    extends java.lang.Object
    Native bindings to the INTEL_performance_query extension.

    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.

    Requires OpenGL 3.0.

    • Method Detail

      • glBeginPerfQueryINTEL

        public static void glBeginPerfQueryINTEL(int queryHandle)
      • glCreatePerfQueryINTEL

        public static void glCreatePerfQueryINTEL(int queryId,
                                                  java.nio.IntBuffer queryHandle)
      • glCreatePerfQueryINTEL

        public static int glCreatePerfQueryINTEL(int queryId)
      • glDeletePerfQueryINTEL

        public static void glDeletePerfQueryINTEL(int queryHandle)
      • glEndPerfQueryINTEL

        public static void glEndPerfQueryINTEL(int queryHandle)
      • glGetFirstPerfQueryIdINTEL

        public static void glGetFirstPerfQueryIdINTEL(java.nio.IntBuffer queryId)
      • glGetFirstPerfQueryIdINTEL

        public static int glGetFirstPerfQueryIdINTEL()
      • glGetNextPerfQueryIdINTEL

        public static void glGetNextPerfQueryIdINTEL(int queryId,
                                                     java.nio.IntBuffer nextQueryId)
      • glGetNextPerfQueryIdINTEL

        public static int glGetNextPerfQueryIdINTEL(int queryId)
      • glGetPerfCounterInfoINTEL

        public static void glGetPerfCounterInfoINTEL(int queryId,
                                                     int counterId,
                                                     java.nio.ByteBuffer counterName,
                                                     java.nio.ByteBuffer counterDesc,
                                                     java.nio.IntBuffer counterOffset,
                                                     java.nio.IntBuffer counterDataSize,
                                                     java.nio.IntBuffer counterTypeEnum,
                                                     java.nio.IntBuffer counterDataTypeEnum,
                                                     java.nio.LongBuffer rawCounterMaxValue)
      • glGetPerfQueryDataINTEL

        public static void glGetPerfQueryDataINTEL(int queryHandle,
                                                   int flags,
                                                   java.nio.ByteBuffer data,
                                                   java.nio.IntBuffer bytesWritten)
      • glGetPerfQueryIdByNameINTEL

        public static void glGetPerfQueryIdByNameINTEL(java.nio.ByteBuffer queryName,
                                                       java.nio.IntBuffer queryId)
      • glGetPerfQueryIdByNameINTEL

        public static void glGetPerfQueryIdByNameINTEL(java.lang.CharSequence queryName,
                                                       java.nio.IntBuffer queryId)
      • glGetPerfQueryIdByNameINTEL

        public static int glGetPerfQueryIdByNameINTEL(java.lang.CharSequence queryName)
      • glGetPerfQueryInfoINTEL

        public static void glGetPerfQueryInfoINTEL(int queryId,
                                                   java.nio.ByteBuffer queryName,
                                                   java.nio.IntBuffer dataSize,
                                                   java.nio.IntBuffer noCounters,
                                                   java.nio.IntBuffer noInstances,
                                                   java.nio.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,
                                                     java.nio.ByteBuffer counterName,
                                                     java.nio.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,
                                                   java.nio.ByteBuffer data,
                                                   int[] bytesWritten)
        Array version of: GetPerfQueryDataINTEL
      • glGetPerfQueryIdByNameINTEL

        public static void glGetPerfQueryIdByNameINTEL(java.nio.ByteBuffer queryName,
                                                       int[] queryId)
        
        public static void glGetPerfQueryIdByNameINTEL(java.lang.CharSequence queryName,
                                                       int[] queryId)
        
        Array version of: GetPerfQueryIdByNameINTEL
      • glGetPerfQueryInfoINTEL

        public static void glGetPerfQueryInfoINTEL(int queryId,
                                                   java.nio.ByteBuffer queryName,
                                                   int[] dataSize,
                                                   int[] noCounters,
                                                   int[] noInstances,
                                                   int[] capsMask)
        Array version of: GetPerfQueryInfoINTEL