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.Alternate; 35 import org.lwjgl.util.generator.Check; 36 import org.lwjgl.util.generator.OutParameter; 37 import org.lwjgl.util.generator.StripPostfix; 38 import org.lwjgl.util.generator.opengl.*; 39 40 import java.nio.IntBuffer; 41 import java.nio.LongBuffer; 42 43 public interface NV_present_video { 44 45 /** 46 * Accepted by the <type> parameter of PresentFrameKeyedNV and 47 * PresentFrameDualFillNV: 48 */ 49 int GL_FRAME_NV = 0x8E26, 50 FIELDS_NV = 0x8E27; 51 52 /** 53 * Accepted by the <pname> parameter of GetVideoivNV, GetVideouivNV, 54 * GetVideoi64vNV, GetVideoui64vNV: 55 */ 56 int GL_CURRENT_TIME_NV = 0x8E28, 57 GL_NUM_FILL_STREAMS_NV = 0x8E29; 58 59 /** Accepted by the <target> parameter of GetQueryiv: */ 60 int GL_PRESENT_TIME_NV = 0x8E2A, 61 GL_PRESENT_DURATION_NV = 0x8E2B; 62 63 /** Accepted by the <attribute> parameter of NVPresentVideoUtil.glQueryContextNV: */ 64 int GL_NUM_VIDEO_SLOTS_NV = 0x20F0; // GLX_NUM_VIDEO_SLOTS_NV & WGL_NUM_VIDEO_SLOTS_NV 65 glPresentFrameKeyedNV(@Luint int video_slot, @GLuint64EXT long minPresentTime, @GLuint int beginPresentTimeId, @GLuint int presentDurationId, @GLenum int type, @GLenum int target0, @GLuint int fill0, @GLuint int key0, @GLenum int target1, @GLuint int fill1, @GLuint int key1)66 void glPresentFrameKeyedNV(@GLuint int video_slot, 67 @GLuint64EXT long minPresentTime, 68 @GLuint int beginPresentTimeId, 69 @GLuint int presentDurationId, 70 @GLenum int type, 71 @GLenum int target0, @GLuint int fill0, @GLuint int key0, 72 @GLenum int target1, @GLuint int fill1, @GLuint int key1); 73 glPresentFrameDualFillNV(@Luint int video_slot, @GLuint64EXT long minPresentTime, @GLuint int beginPresentTimeId, @GLuint int presentDurationId, @GLenum int type, @GLenum int target0, @GLuint int fill0, @GLenum int target1, @GLuint int fill1, @GLenum int target2, @GLuint int fill2, @GLenum int target3, @GLuint int fill3)74 void glPresentFrameDualFillNV(@GLuint int video_slot, 75 @GLuint64EXT long minPresentTime, 76 @GLuint int beginPresentTimeId, 77 @GLuint int presentDurationId, 78 @GLenum int type, 79 @GLenum int target0, @GLuint int fill0, 80 @GLenum int target1, @GLuint int fill1, 81 @GLenum int target2, @GLuint int fill2, 82 @GLenum int target3, @GLuint int fill3); 83 84 @StripPostfix("params") glGetVideoivNV(@Luint int video_slot, @GLenum int pname, @OutParameter @Check(R) IntBuffer params)85 void glGetVideoivNV(@GLuint int video_slot, @GLenum int pname, @OutParameter @Check("1") IntBuffer params); 86 87 @Alternate("glGetVideoivNV") 88 @GLreturn("params") 89 @StripPostfix(value = "params", hasPostfix = false) glGetVideoivNV2(@Luint int video_slot, @GLenum int pname, @OutParameter IntBuffer params)90 void glGetVideoivNV2(@GLuint int video_slot, @GLenum int pname, @OutParameter IntBuffer params); 91 92 @StripPostfix("params") glGetVideouivNV(@Luint int video_slot, @GLenum int pname, @OutParameter @Check(R) @GLuint IntBuffer params)93 void glGetVideouivNV(@GLuint int video_slot, @GLenum int pname, @OutParameter @Check("1") @GLuint IntBuffer params); 94 95 @Alternate("glGetVideouivNV") 96 @GLreturn("params") 97 @StripPostfix(value = "params", hasPostfix = false) glGetVideouivNV2(@Luint int video_slot, @GLenum int pname, @OutParameter @GLuint IntBuffer params)98 void glGetVideouivNV2(@GLuint int video_slot, @GLenum int pname, @OutParameter @GLuint IntBuffer params); 99 100 @StripPostfix("params") glGetVideoi64vNV(@Luint int video_slot, @GLenum int pname, @OutParameter @Check(R) @GLint64EXT LongBuffer params)101 void glGetVideoi64vNV(@GLuint int video_slot, @GLenum int pname, @OutParameter @Check("1") @GLint64EXT LongBuffer params); 102 103 @Alternate("glGetVideoi64vNV") 104 @GLreturn("params") 105 @StripPostfix(value = "params", hasPostfix = false) glGetVideoi64vNV2(@Luint int video_slot, @GLenum int pname, @OutParameter @GLint64EXT LongBuffer params)106 void glGetVideoi64vNV2(@GLuint int video_slot, @GLenum int pname, @OutParameter @GLint64EXT LongBuffer params); 107 108 @StripPostfix("params") glGetVideoui64vNV(@Luint int video_slot, @GLenum int pname, @OutParameter @Check(R) @GLuint64EXT LongBuffer params)109 void glGetVideoui64vNV(@GLuint int video_slot, @GLenum int pname, @OutParameter @Check("1") @GLuint64EXT LongBuffer params); 110 111 @Alternate("glGetVideoui64vNV") 112 @GLreturn("params") 113 @StripPostfix(value = "params", hasPostfix = false) glGetVideoui64vNV2(@Luint int video_slot, @GLenum int pname, @OutParameter @GLuint64EXT LongBuffer params)114 void glGetVideoui64vNV2(@GLuint int video_slot, @GLenum int pname, @OutParameter @GLuint64EXT LongBuffer params); 115 116 }