1 /* 2 * Copyright (c) 2002-2008 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.opengl; 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 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 GL_PERCENTAGE_AMD = 0x8BC3; 52 53 /** Accepted by the <pname> parameter of GetPerfMonitorCounterDataAMD */ 54 int GL_PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4, 55 GL_PERFMON_RESULT_SIZE_AMD = 0x8BC5, 56 GL_PERFMON_RESULT_AMD = 0x8BC6; 57 glGetPerfMonitorGroupsAMD(@utParameter @heckvalue = R, canBeNull = true) @Lint IntBuffer numGroups, @AutoSize(R) @GLsizei int groupsSize, @GLuint IntBuffer groups)58 void glGetPerfMonitorGroupsAMD(@OutParameter @Check(value = "1", canBeNull = true) @GLint IntBuffer numGroups, 59 @AutoSize("groups") @GLsizei int groupsSize, @GLuint IntBuffer groups); 60 glGetPerfMonitorCountersAMD(@Luint int group, @OutParameter @Check(value = R) @GLint IntBuffer numCounters, @OutParameter @Check(value = R) @GLint IntBuffer maxActiveCounters, @AutoSize(value = R, canBeNull = true) @GLsizei int countersSize, @Check(canBeNull = true) @GLuint IntBuffer counters)61 void glGetPerfMonitorCountersAMD(@GLuint int group, 62 @OutParameter @Check(value = "1") @GLint IntBuffer numCounters, 63 @OutParameter @Check(value = "1") @GLint IntBuffer maxActiveCounters, 64 @AutoSize(value = "counters", canBeNull = true) @GLsizei int countersSize, 65 @Check(canBeNull = true) @GLuint IntBuffer counters); 66 glGetPerfMonitorGroupStringAMD(@Luint int group, @AutoSize(value = R, canBeNull = true) @GLsizei int bufSize, @OutParameter @GLsizei @Check(value = R, canBeNull = true) IntBuffer length, @Check(canBeNull = true) @OutParameter @GLchar ByteBuffer groupString)67 void glGetPerfMonitorGroupStringAMD(@GLuint int group, 68 @AutoSize(value = "groupString", canBeNull = true) @GLsizei int bufSize, 69 @OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length, 70 @Check(canBeNull = true) @OutParameter @GLchar ByteBuffer groupString); 71 72 @Alternate("glGetPerfMonitorGroupStringAMD") 73 @GLreturn(value = "groupString", maxLength = "bufSize") glGetPerfMonitorGroupStringAMD2(@Luint int group, @GLsizei int bufSize, @OutParameter @GLsizei @Constant(R) IntBuffer length, @OutParameter @GLchar ByteBuffer groupString)74 void glGetPerfMonitorGroupStringAMD2(@GLuint int group, @GLsizei int bufSize, 75 @OutParameter @GLsizei @Constant("MemoryUtil.getAddress0(groupString_length)") IntBuffer length, 76 @OutParameter @GLchar ByteBuffer groupString); 77 glGetPerfMonitorCounterStringAMD(@Luint int group, @GLuint int counter, @AutoSize(value = R, canBeNull = true) @GLsizei int bufSize, @OutParameter @GLsizei @Check(value = R, canBeNull = true) IntBuffer length, @Check(canBeNull = true) @OutParameter @GLchar ByteBuffer counterString)78 void glGetPerfMonitorCounterStringAMD(@GLuint int group, @GLuint int counter, @AutoSize(value = "counterString", canBeNull = true) @GLsizei int bufSize, 79 @OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length, 80 @Check(canBeNull = true) @OutParameter @GLchar ByteBuffer counterString); 81 82 @Alternate("glGetPerfMonitorCounterStringAMD") 83 @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)84 void glGetPerfMonitorCounterStringAMD2(@GLuint int group, @GLuint int counter, @GLsizei int bufSize, 85 @OutParameter @GLsizei @Constant("MemoryUtil.getAddress0(counterString_length)") IntBuffer length, 86 @OutParameter @GLchar ByteBuffer counterString); 87 glGetPerfMonitorCounterInfoAMD(@Luint int group, @GLuint int counter, @GLenum int pname, @Check(value = R) @GLvoid ByteBuffer data)88 void glGetPerfMonitorCounterInfoAMD(@GLuint int group, @GLuint int counter, @GLenum int pname, @Check(value = "16") @GLvoid ByteBuffer data); 89 glGenPerfMonitorsAMD(@utoSizeR) @Lsizei int n, @OutParameter @GLuint IntBuffer monitors)90 void glGenPerfMonitorsAMD(@AutoSize("monitors") @GLsizei int n, @OutParameter @GLuint IntBuffer monitors); 91 92 @Alternate("glGenPerfMonitorsAMD") 93 @GLreturn("monitors") glGenPerfMonitorsAMD2(@onstantR) @Lsizei int n, @OutParameter @GLuint IntBuffer monitors)94 void glGenPerfMonitorsAMD2(@Constant("1") @GLsizei int n, @OutParameter @GLuint IntBuffer monitors); 95 glDeletePerfMonitorsAMD(@utoSizeR) @Lsizei int n, @GLuint IntBuffer monitors)96 void glDeletePerfMonitorsAMD(@AutoSize("monitors") @GLsizei int n, @GLuint IntBuffer monitors); 97 98 @Alternate("glDeletePerfMonitorsAMD") glDeletePerfMonitorsAMD(@onstantR) @Lsizei int n, @Constant(value = R, keepParam = true) int monitor)99 void glDeletePerfMonitorsAMD(@Constant("1") @GLsizei int n, @Constant(value = "APIUtil.getInt(caps, monitor)", keepParam = true) int monitor); 100 glSelectPerfMonitorCountersAMD(@Luint int monitor, boolean enable, @GLuint int group, @AutoSize(R) int numCounters, @GLuint IntBuffer counterList)101 void glSelectPerfMonitorCountersAMD(@GLuint int monitor, boolean enable, @GLuint int group, @AutoSize("counterList") int numCounters, @GLuint IntBuffer counterList); 102 103 @Alternate("glSelectPerfMonitorCountersAMD") glSelectPerfMonitorCountersAMD(@Luint int monitor, boolean enable, @GLuint int group, @Constant(R) int numCounters, @Constant(value = R, keepParam = true) int counter)104 void glSelectPerfMonitorCountersAMD(@GLuint int monitor, boolean enable, @GLuint int group, @Constant("1") int numCounters, @Constant(value = "APIUtil.getInt(caps, counter)", keepParam = true) int counter); 105 glBeginPerfMonitorAMD(@Luint int monitor)106 void glBeginPerfMonitorAMD(@GLuint int monitor); 107 glEndPerfMonitorAMD(@Luint int monitor)108 void glEndPerfMonitorAMD(@GLuint int monitor); 109 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)110 void glGetPerfMonitorCounterDataAMD(@GLuint int monitor, @GLenum int pname, @AutoSize("data") @GLsizei int dataSize, 111 @OutParameter @GLuint IntBuffer data, 112 @OutParameter @GLint @Check(value = "1", canBeNull = true) IntBuffer bytesWritten); 113 114 @Alternate("glGetPerfMonitorCounterDataAMD") 115 @GLreturn("data") glGetPerfMonitorCounterDataAMD2(@Luint int monitor, @GLenum int pname, @Constant(R) @GLsizei int dataSize, @OutParameter @GLuint IntBuffer data, @OutParameter @GLint @Constant(R) IntBuffer bytesWritten)116 void glGetPerfMonitorCounterDataAMD2(@GLuint int monitor, @GLenum int pname, @Constant("4") @GLsizei int dataSize, 117 @OutParameter @GLuint IntBuffer data, 118 @OutParameter @GLint @Constant("0L") IntBuffer bytesWritten); 119 120 }