mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
Add a couple of NV gl extensions
This commit is contained in:
1 parent
676844413d
commit
b1065271c9
4 files changed
+33
-1
No files matched your search
@@ -298,3 +298,7 @@ void fbo_get_dimensions(FBO *fbo, int *w, int *h) {
|
||||
*w = fbo->width;
|
||||
*h = fbo->height;
|
||||
}
|
||||
|
||||
int fbo_get_color_texture(FBO *fbo) {
|
||||
return fbo->color_texture;
|
||||
}
|
||||
+3
-1
@@ -31,4 +31,6 @@ void fbo_bind_color_as_texture(FBO *fbo, int color);
|
||||
void fbo_bind_for_read(FBO *fbo);
|
||||
void fbo_unbind();
|
||||
void fbo_destroy(FBO *fbo);
|
||||
void fbo_get_dimensions(FBO *fbo, int *w, int *h);
|
||||
void fbo_get_dimensions(FBO *fbo, int *w, int *h);
|
||||
|
||||
int fbo_get_color_texture(FBO *fbo);
|
||||
@@ -9,6 +9,8 @@
|
||||
PFNGLALPHAFUNCQCOMPROC glAlphaFuncQCOM;
|
||||
PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC eglGetSystemTimeFrequencyNV;
|
||||
PFNEGLGETSYSTEMTIMENVPROC eglGetSystemTimeNV;
|
||||
PFNGLDRAWTEXTURENVPROC glDrawTextureNV;
|
||||
PFNGLCOPYIMAGESUBDATANVPROC glCopyImageSubDataNV ;
|
||||
PFNGLMAPBUFFERPROC glMapBuffer;
|
||||
#endif
|
||||
#if !defined(IOS) && !defined(__SYMBIAN32__) && !defined(MEEGO_EDITION_HARMATTAN) && !defined(MAEMO)
|
||||
@@ -124,6 +126,14 @@ void CheckGLExtensions() {
|
||||
gl_extensions.OES_mapbuffer = strstr(extString, "GL_OES_mapbuffer") != 0;
|
||||
gl_extensions.EXT_blend_minmax = strstr(extString, "GL_EXT_blend_minmax") != 0;
|
||||
gl_extensions.EXT_shader_framebuffer_fetch = (strstr(extString, "GL_EXT_shader_framebuffer_fetch") != 0) || (strstr(extString, "GL_NV_shader_framebuffer_fetch") != 0);
|
||||
gl_extensions.NV_draw_texture = strstr(extString, "GL_NV_draw_texture") != 0;
|
||||
gl_extensions.NV_copy_image = strstr(extString, "GL_NV_copy_image") != 0;
|
||||
if (gl_extensions.NV_draw_texture) {
|
||||
glDrawTextureNV = (PFNGLDRAWTEXTURENVPROC)eglGetProcAddress("glDrawTextureNV");
|
||||
}
|
||||
if (gl_extensions.NV_copy_image) {
|
||||
glCopyImageSubDataNV = (PFNGLCOPYIMAGESUBDATANVPROC)eglGetProcAddress("glCopyImageSubDataNV");
|
||||
}
|
||||
#if defined(IOS) || defined(__SYMBIAN32__) || defined(MEEGO_EDITION_HARMATTAN) || defined(MAEMO)
|
||||
gl_extensions.OES_vertex_array_object = false;
|
||||
gl_extensions.EXT_discard_framebuffer = false;
|
||||
|
||||
@@ -32,8 +32,18 @@ extern PFNEGLGETSYSTEMTIMENVPROC eglGetSystemTimeNV;
|
||||
|
||||
typedef GLvoid* (GL_APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
|
||||
extern PFNGLMAPBUFFERPROC glMapBuffer;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
typedef 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);
|
||||
extern PFNGLDRAWTEXTURENVPROC glDrawTextureNV;
|
||||
typedef void (EGLAPIENTRYP PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum
|
||||
srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName,
|
||||
GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei
|
||||
width, GLsizei height, GLsizei depth);
|
||||
extern PFNGLCOPYIMAGESUBDATANVPROC glCopyImageSubDataNV;
|
||||
|
||||
#if !defined(IOS) && !defined(__SYMBIAN32__) && !defined(MEEGO_EDITION_HARMATTAN) && !defined(MAEMO)
|
||||
extern PFNGLDISCARDFRAMEBUFFEREXTPROC glDiscardFramebufferEXT;
|
||||
extern PFNGLGENVERTEXARRAYSOESPROC glGenVertexArraysOES;
|
||||
@@ -289,6 +299,10 @@ public:
|
||||
|
||||
extern OpenGLState glstate;
|
||||
|
||||
// Extensions to look at using:
|
||||
// GL_NV_draw_texture
|
||||
// GL_NV_copy_image
|
||||
// GL_NV_map_buffer_range (same as GL_ARB_map_buffer_range ?)
|
||||
|
||||
// WARNING: This gets memset-d - so no strings please
|
||||
struct GLExtensions {
|
||||
@@ -307,6 +321,8 @@ struct GLExtensions {
|
||||
bool EXT_shader_framebuffer_fetch;
|
||||
bool EXT_blend_minmax;
|
||||
bool ATIClampBug;
|
||||
bool NV_draw_texture;
|
||||
bool NV_copy_image;
|
||||
|
||||
// EGL extensions
|
||||
|
||||
|
||||
Reference in new issue
Block a user