All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.opengles.QCOMExtendedGet Maven / Gradle / Ivy

Go to download

A royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems - including consoles, phones, appliances and vehicles.

There is a newer version: 3.3.4
Show newest version
/*
 * Copyright LWJGL. All rights reserved.
 * License terms: https://www.lwjgl.org/license
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.opengles;

import java.nio.*;

import org.lwjgl.*;

import org.lwjgl.system.*;

import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
import static org.lwjgl.system.MemoryStack.*;
import static org.lwjgl.system.MemoryUtil.*;

/**
 * Native bindings to the QCOM_extended_get extension.
 * This extension enables instrumenting the driver for debugging of OpenGL ES applications.
 */
public class QCOMExtendedGet {

    /** Accepted by the {@code pname} parameter of ExtGetTexLevelParameterivQCOM. */
    public static final int
        GL_TEXTURE_WIDTH_QCOM           = 0x8BD2,
        GL_TEXTURE_HEIGHT_QCOM          = 0x8BD3,
        GL_TEXTURE_DEPTH_QCOM           = 0x8BD4,
        GL_TEXTURE_INTERNAL_FORMAT_QCOM = 0x8BD5,
        GL_TEXTURE_FORMAT_QCOM          = 0x8BD6,
        GL_TEXTURE_TYPE_QCOM            = 0x8BD7,
        GL_TEXTURE_IMAGE_VALID_QCOM     = 0x8BD8,
        GL_TEXTURE_NUM_LEVELS_QCOM      = 0x8BD9,
        GL_TEXTURE_TARGET_QCOM          = 0x8BDA,
        GL_TEXTURE_OBJECT_VALID_QCOM    = 0x8BDB;

    /** Accepted by the {@code pname} parameter of ExtTexObjectStateOverrideiQCOM. */
    public static final int GL_STATE_RESTORE = 0x8BDC;

    static { GLES.initialize(); }

    protected QCOMExtendedGet() {
        throw new UnsupportedOperationException();
    }

    static boolean isAvailable(GLESCapabilities caps) {
        return checkFunctions(
            caps.glExtGetTexturesQCOM, caps.glExtGetBuffersQCOM, caps.glExtGetRenderbuffersQCOM, caps.glExtGetFramebuffersQCOM, 
            caps.glExtGetTexLevelParameterivQCOM, caps.glExtTexObjectStateOverrideiQCOM, caps.glExtGetTexSubImageQCOM, caps.glExtGetBufferPointervQCOM
        );
    }

    // --- [ glExtGetTexturesQCOM ] ---

    public static native void nglExtGetTexturesQCOM(long textures, int maxTextures, long numTextures);

    public static void glExtGetTexturesQCOM(IntBuffer textures, IntBuffer numTextures) {
        if (CHECKS) {
            checkSafe(numTextures, 1);
        }
        nglExtGetTexturesQCOM(memAddressSafe(textures), remainingSafe(textures), memAddressSafe(numTextures));
    }

    // --- [ glExtGetBuffersQCOM ] ---

    public static native void nglExtGetBuffersQCOM(long buffers, int maxBuffers, long numBuffers);

    public static void glExtGetBuffersQCOM(IntBuffer buffers, IntBuffer numBuffers) {
        if (CHECKS) {
            checkSafe(numBuffers, 1);
        }
        nglExtGetBuffersQCOM(memAddressSafe(buffers), remainingSafe(buffers), memAddressSafe(numBuffers));
    }

    // --- [ glExtGetRenderbuffersQCOM ] ---

    public static native void nglExtGetRenderbuffersQCOM(long renderbuffers, int maxRenderbuffers, long numRenderbuffers);

    public static void glExtGetRenderbuffersQCOM(IntBuffer renderbuffers, IntBuffer numRenderbuffers) {
        if (CHECKS) {
            checkSafe(numRenderbuffers, 1);
        }
        nglExtGetRenderbuffersQCOM(memAddressSafe(renderbuffers), remainingSafe(renderbuffers), memAddressSafe(numRenderbuffers));
    }

    // --- [ glExtGetFramebuffersQCOM ] ---

    public static native void nglExtGetFramebuffersQCOM(long framebuffers, int maxFramebuffers, long numFramebuffers);

    public static void glExtGetFramebuffersQCOM(IntBuffer framebuffers, IntBuffer numFramebuffers) {
        if (CHECKS) {
            checkSafe(numFramebuffers, 1);
        }
        nglExtGetFramebuffersQCOM(memAddressSafe(framebuffers), remainingSafe(framebuffers), memAddressSafe(numFramebuffers));
    }

    // --- [ glExtGetTexLevelParameterivQCOM ] ---

    public static native void nglExtGetTexLevelParameterivQCOM(int texture, int face, int level, int pname, long params);

    public static void glExtGetTexLevelParameterivQCOM(int texture, int face, int level, int pname, IntBuffer params) {
        if (CHECKS) {
            check(params, 1);
        }
        nglExtGetTexLevelParameterivQCOM(texture, face, level, pname, memAddress(params));
    }

    public static int glExtGetTexLevelParameteriQCOM(int texture, int face, int level, int pname) {
        MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
        try {
            IntBuffer params = stack.callocInt(1);
            nglExtGetTexLevelParameterivQCOM(texture, face, level, pname, memAddress(params));
            return params.get(0);
        } finally {
            stack.setPointer(stackPointer);
        }
    }

    // --- [ glExtTexObjectStateOverrideiQCOM ] ---

    public static native void glExtTexObjectStateOverrideiQCOM(int target, int pname, int param);

    // --- [ glExtGetTexSubImageQCOM ] ---

    public static native void nglExtGetTexSubImageQCOM(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, long texels);

    public static void glExtGetTexSubImageQCOM(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, ByteBuffer texels) {
        nglExtGetTexSubImageQCOM(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, memAddress(texels));
    }

    // --- [ glExtGetBufferPointervQCOM ] ---

    public static native void nglExtGetBufferPointervQCOM(int target, long params);

    public static void glExtGetBufferPointervQCOM(int target, PointerBuffer params) {
        if (CHECKS) {
            check(params, 1);
        }
        nglExtGetBufferPointervQCOM(target, memAddress(params));
    }

    public static long glExtGetBufferPointerQCOM(int target) {
        MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
        try {
            PointerBuffer params = stack.callocPointer(1);
            nglExtGetBufferPointervQCOM(target, memAddress(params));
            return params.get(0);
        } finally {
            stack.setPointer(stackPointer);
        }
    }

    /** Array version of: {@link #glExtGetTexturesQCOM ExtGetTexturesQCOM} */
    public static void glExtGetTexturesQCOM(int[] textures, int[] numTextures) {
        long __functionAddress = GLES.getICD().glExtGetTexturesQCOM;
        if (CHECKS) {
            check(__functionAddress);
            checkSafe(numTextures, 1);
        }
        callPPV(__functionAddress, textures, lengthSafe(textures), numTextures);
    }

    /** Array version of: {@link #glExtGetBuffersQCOM ExtGetBuffersQCOM} */
    public static void glExtGetBuffersQCOM(int[] buffers, int[] numBuffers) {
        long __functionAddress = GLES.getICD().glExtGetBuffersQCOM;
        if (CHECKS) {
            check(__functionAddress);
            checkSafe(numBuffers, 1);
        }
        callPPV(__functionAddress, buffers, lengthSafe(buffers), numBuffers);
    }

    /** Array version of: {@link #glExtGetRenderbuffersQCOM ExtGetRenderbuffersQCOM} */
    public static void glExtGetRenderbuffersQCOM(int[] renderbuffers, int[] numRenderbuffers) {
        long __functionAddress = GLES.getICD().glExtGetRenderbuffersQCOM;
        if (CHECKS) {
            check(__functionAddress);
            checkSafe(numRenderbuffers, 1);
        }
        callPPV(__functionAddress, renderbuffers, lengthSafe(renderbuffers), numRenderbuffers);
    }

    /** Array version of: {@link #glExtGetFramebuffersQCOM ExtGetFramebuffersQCOM} */
    public static void glExtGetFramebuffersQCOM(int[] framebuffers, int[] numFramebuffers) {
        long __functionAddress = GLES.getICD().glExtGetFramebuffersQCOM;
        if (CHECKS) {
            check(__functionAddress);
            checkSafe(numFramebuffers, 1);
        }
        callPPV(__functionAddress, framebuffers, lengthSafe(framebuffers), numFramebuffers);
    }

    /** Array version of: {@link #glExtGetTexLevelParameterivQCOM ExtGetTexLevelParameterivQCOM} */
    public static void glExtGetTexLevelParameterivQCOM(int texture, int face, int level, int pname, int[] params) {
        long __functionAddress = GLES.getICD().glExtGetTexLevelParameterivQCOM;
        if (CHECKS) {
            check(__functionAddress);
            check(params, 1);
        }
        callPV(__functionAddress, texture, face, level, pname, params);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy