1 /* 2 * Copyright (c) 2002-2011 LWJGL Project 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: 8 * 9 * * Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 12 * * Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * * Neither the name of 'LWJGL' nor the names of 17 * its contributors may be used to endorse or promote products derived 18 * from this software without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 22 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 28 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 29 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 package org.lwjgl.opengles; 33 34 import org.lwjgl.util.generator.*; 35 import org.lwjgl.util.generator.opengl.*; 36 37 import java.nio.ByteBuffer; 38 import java.nio.IntBuffer; 39 40 public interface AMD_performance_monitor { 41 42 /** Accepted by the <pame> parameter of GetPerfMonitorCounterInfoAMD */ 43 int GL_COUNTER_TYPE_AMD = 0x8BC0; 44 int GL_COUNTER_RANGE_AMD = 0x8BC1; 45 46 /** 47 * Returned as a valid value in <data> parameter of 48 * GetPerfMonitorCounterInfoAMD if <pname> = COUNTER_TYPE_AMD 49 */ 50 int GL_UNSIGNED_INT64_AMD = 0x8BC2; 51 int GL_PERCENTAGE_AMD = 0x8BC3; 52 53 /** Accepted by the <pname> parameter of GetPerfMonitorCounterDataAMD */ 54 55 int GL_PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4; 56 int GL_PERFMON_RESULT_SIZE_AMD = 0x8BC5; 57 int GL_PERFMON_RESULT_AMD = 0x8BC6; 58 glGetPerfMonitorGroupsAMD(@utParameter @heckvalue = R, canBeNull = true) @Lint IntBuffer numGroups, @AutoSize(R) @GLsizei int groupsSize, @GLuint IntBuffer groups)59 void glGetPerfMonitorGroupsAMD(@OutParameter @Check(value = "1", canBeNull = true) @GLint IntBuffer numGroups, 60 @AutoSize("groups") @GLsizei int groupsSize, @GLuint IntBuffer groups); 61 glGetPerfMonitorCountersAMD(@Luint int group, @OutParameter @Check(value = R) @GLint IntBuffer numCounters, @OutParameter @Check(value = R) @GLint IntBuffer maxActiveCounters, @AutoSize(R) @GLsizei int countersSize, @GLuint IntBuffer counters)62 void glGetPerfMonitorCountersAMD(@GLuint int group, 63 @OutParameter @Check(value = "1") @GLint IntBuffer numCounters, 64 @OutParameter @Check(value = "1") @GLint IntBuffer maxActiveCounters, 65 @AutoSize("counters") @GLsizei int countersSize, 66 @GLuint IntBuffer counters); 67 glGetPerfMonitorGroupStringAMD(@Luint int group, @AutoSize(R) @GLsizei int bufSize, @OutParameter @GLsizei @Check(value = R, canBeNull = true) IntBuffer length, @OutParameter @GLchar ByteBuffer groupString)68 void glGetPerfMonitorGroupStringAMD(@GLuint int group, 69 @AutoSize("groupString") @GLsizei int bufSize, 70 @OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length, 71 @OutParameter @GLchar ByteBuffer groupString); 72 73 @Alternate("glGetPerfMonitorGroupStringAMD") 74 @GLreturn(value = "groupString", maxLength = "bufSize") glGetPerfMonitorGroupStringAMD2(@Luint int group, @GLsizei int bufSize, @OutParameter @GLsizei @Constant(R) IntBuffer length, @OutParameter @GLchar ByteBuffer groupString)75 void glGetPerfMonitorGroupStringAMD2(@GLuint int group, @GLsizei int bufSize, 76 @OutParameter @GLsizei @Constant("MemoryUtil.getAddress0(groupString_length)") IntBuffer length, 77 @OutParameter @GLchar ByteBuffer groupString); 78 glGetPerfMonitorCounterStringAMD(@Luint int group, @GLuint int counter, @AutoSize(R) @GLsizei int bufSize, @OutParameter @GLsizei @Check(value = R, canBeNull = true) IntBuffer length, @OutParameter @GLchar ByteBuffer counterString)79 void glGetPerfMonitorCounterStringAMD(@GLuint int group, @GLuint int counter, @AutoSize("counterString") @GLsizei int bufSize, 80 @OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length, 81 @OutParameter @GLchar ByteBuffer counterString); 82 83 @Alternate("glGetPerfMonitorCounterStringAMD") 84 @GLreturn(value = "counterString", maxLength = "bufSize") glGetPerfMonitorCounterStringAMD2(@Luint int group, @GLuint int counter, @GLsizei int bufSize, @OutParameter @GLsizei @Constant(R) IntBuffer length, @OutParameter @GLchar ByteBuffer counterString)85 void glGetPerfMonitorCounterStringAMD2(@GLuint int group, @GLuint int counter, @GLsizei int bufSize, 86 @OutParameter @GLsizei @Constant("MemoryUtil.getAddress0(counterString_length)") IntBuffer length, 87 @OutParameter @GLchar ByteBuffer counterString); 88 glGetPerfMonitorCounterInfoAMD(@Luint int group, @GLuint int counter, @GLenum int pname, @Check(value = R) @GLvoid ByteBuffer data)89 void glGetPerfMonitorCounterInfoAMD(@GLuint int group, @GLuint int counter, @GLenum int pname, @Check(value = "16") @GLvoid ByteBuffer data); 90 glGenPerfMonitorsAMD(@utoSizeR) @Lsizei int n, @OutParameter @GLuint IntBuffer monitors)91 void glGenPerfMonitorsAMD(@AutoSize("monitors") @GLsizei int n, @OutParameter @GLuint IntBuffer monitors); 92 93 @Alternate("glGenPerfMonitorsAMD") 94 @GLreturn("monitors") glGenPerfMonitorsAMD2(@onstantR) @Lsizei int n, @OutParameter @GLuint IntBuffer monitors)95 void glGenPerfMonitorsAMD2(@Constant("1") @GLsizei int n, @OutParameter @GLuint IntBuffer monitors); 96 glDeletePerfMonitorsAMD(@utoSizeR) @Lsizei int n, @GLuint IntBuffer monitors)97 void glDeletePerfMonitorsAMD(@AutoSize("monitors") @GLsizei int n, @GLuint IntBuffer monitors); 98 99 @Alternate("glDeletePerfMonitorsAMD") glDeletePerfMonitorsAMD(@onstantR) @Lsizei int n, @Constant(value = R, keepParam = true) int monitor)100 void glDeletePerfMonitorsAMD(@Constant("1") @GLsizei int n, @Constant(value = "APIUtil.getInt(monitor)", keepParam = true) int monitor); 101 glSelectPerfMonitorCountersAMD(@Luint int monitor, boolean enable, @GLuint int group, @AutoSize(R) int numCounters, @GLuint IntBuffer counterList)102 void glSelectPerfMonitorCountersAMD(@GLuint int monitor, boolean enable, @GLuint int group, @AutoSize("counterList") int numCounters, @GLuint IntBuffer counterList); 103 104 @Alternate("glSelectPerfMonitorCountersAMD") glSelectPerfMonitorCountersAMD(@Luint int monitor, boolean enable, @GLuint int group, @Constant(R) int numCounters, @Constant(value = R, keepParam = true) int counter)105 void glSelectPerfMonitorCountersAMD(@GLuint int monitor, boolean enable, @GLuint int group, @Constant("1") int numCounters, @Constant(value = "APIUtil.getInt(counter)", keepParam = true) int counter); 106 glBeginPerfMonitorAMD(@Luint int monitor)107 void glBeginPerfMonitorAMD(@GLuint int monitor); 108 glEndPerfMonitorAMD(@Luint int monitor)109 void glEndPerfMonitorAMD(@GLuint int monitor); 110 glGetPerfMonitorCounterDataAMD(@Luint int monitor, @GLenum int pname, @AutoSize(R) @GLsizei int dataSize, @OutParameter @GLuint IntBuffer data, @OutParameter @GLint @Check(value = R, canBeNull = true) IntBuffer bytesWritten)111 void glGetPerfMonitorCounterDataAMD(@GLuint int monitor, @GLenum int pname, @AutoSize("data") @GLsizei int dataSize, 112 @OutParameter @GLuint IntBuffer data, 113 @OutParameter @GLint @Check(value = "1", canBeNull = true) IntBuffer bytesWritten); 114 115 @Alternate("glGetPerfMonitorCounterDataAMD") 116 @GLreturn("data") glGetPerfMonitorCounterDataAMD2(@Luint int monitor, @GLenum int pname, @Constant(R) @GLsizei int dataSize, @OutParameter @GLuint IntBuffer data, @OutParameter @GLint @Constant(R) IntBuffer bytesWritten)117 void glGetPerfMonitorCounterDataAMD2(@GLuint int monitor, @GLenum int pname, @Constant("4") @GLsizei int dataSize, 118 @OutParameter @GLuint IntBuffer data, 119 @OutParameter @GLint @Constant("0L") IntBuffer bytesWritten); 120 121 }