CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!
Path: blob/master/Common/GPU/OpenGL/GLCommon.h
Views: 1401
#pragma once12#include "ppsspp_config.h"34#if PPSSPP_PLATFORM(IOS)5#include <OpenGLES/ES3/gl.h>6#include <OpenGLES/ES3/glext.h>7#elif defined(USING_GLES2)8#include <GLES2/gl2.h>9#include <GLES2/gl2ext.h>10#define GL_BGRA_EXT 0x80E111#else // OpenGL12#include "GL/glew.h"13#if defined(__APPLE__)14#include <OpenGL/gl.h>15#else16#include <GL/gl.h>17#endif18#endif1920#ifdef USING_GLES221// Support OpenGL ES 3.022// This uses the "DYNAMIC" approach from the gles3jni NDK sample.23#include "Common/GPU/OpenGL/gl3stub.h"24#endif252627#ifdef USING_GLES22829#ifndef GL_MIN_EXT30#define GL_MIN_EXT 0x800731#endif3233#ifndef GL_MAX_EXT34#define GL_MAX_EXT 0x800835#endif3637#if defined(__ANDROID__)38#include <EGL/egl.h>39// Additional extensions not included in GLES2/gl2ext.h from the NDK4041typedef uint64_t EGLuint64NV;42typedef EGLuint64NV(EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);43typedef EGLuint64NV(EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);44extern PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC eglGetSystemTimeFrequencyNV;45extern PFNEGLGETSYSTEMTIMENVPROC eglGetSystemTimeNV;4647typedef GLvoid* (GL_APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);48extern PFNGLMAPBUFFERPROC glMapBuffer;4950typedef void (EGLAPIENTRYP PFNGLDRAWTEXTURENVPROC) (GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);51extern PFNGLDRAWTEXTURENVPROC glDrawTextureNV;52#if !PPSSPP_ARCH(ARM64)53typedef void (EGLAPIENTRYP PFNGLBLITFRAMEBUFFERNVPROC) (54GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,55GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,56GLbitfield mask, GLenum filter);57#endif58extern PFNGLBLITFRAMEBUFFERNVPROC glBlitFramebufferNV;5960#if PPSSPP_PLATFORM(IOS)61extern PFNGLDISCARDFRAMEBUFFEREXTPROC glDiscardFramebufferEXT;62extern PFNGLGENVERTEXARRAYSOESPROC glGenVertexArraysOES;63extern PFNGLBINDVERTEXARRAYOESPROC glBindVertexArrayOES;64extern PFNGLDELETEVERTEXARRAYSOESPROC glDeleteVertexArraysOES;65extern PFNGLISVERTEXARRAYOESPROC glIsVertexArrayOES;6667// Rename standard functions to the OES version.68#define glGenVertexArrays glGenVertexArraysOES69#define glBindVertexArray glBindVertexArrayOES70#define glDeleteVertexArrays glDeleteVertexArraysOES71#define glIsVertexArray glIsVertexArrayOES72#endif7374#endif7576#ifndef GL_READ_FRAMEBUFFER77#define GL_READ_FRAMEBUFFER GL_FRAMEBUFFER78#define GL_DRAW_FRAMEBUFFER GL_FRAMEBUFFER79#endif80#ifndef GL_DEPTH_COMPONENT2481#define GL_DEPTH_COMPONENT24 GL_DEPTH_COMPONENT24_OES82#endif8384#ifndef GL_RGBA885#define GL_RGBA8 GL_RGBA86#endif8788#endif /* EGL_NV_system_time */8990#ifndef GL_DEPTH24_STENCIL8_OES91#define GL_DEPTH24_STENCIL8_OES 0x88F092#endif939495