mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-07 03:13:49 +00:00
Replace glMapBuffer by GLES3 compatible glMapBufferRange.
This commit is contained in:
parent
82ce16f5fc
commit
70b1b9ad03
|
@ -935,7 +935,9 @@ void FrameBufferToRDRAM::CopyToRDRAM(u32 _address)
|
||||||
#ifndef GLES2
|
#ifndef GLES2
|
||||||
PBOBinder binder(GL_PIXEL_PACK_BUFFER, m_PBO);
|
PBOBinder binder(GL_PIXEL_PACK_BUFFER, m_PBO);
|
||||||
glReadPixels(0, 0, VI.width, VI.height, GL_RGBA, GL_UNSIGNED_BYTE, 0);
|
glReadPixels(0, 0, VI.width, VI.height, GL_RGBA, GL_UNSIGNED_BYTE, 0);
|
||||||
GLubyte* pixelData = (GLubyte*)glMapBuffer(GL_PIXEL_PACK_BUFFER, GL_READ_ONLY);
|
isGLError();
|
||||||
|
GLubyte* pixelData = (GLubyte*)glMapBufferRange(GL_PIXEL_PACK_BUFFER, 0, VI.width * VI.height * 4, GL_MAP_READ_BIT);
|
||||||
|
isGLError();
|
||||||
if(pixelData == NULL)
|
if(pixelData == NULL)
|
||||||
return;
|
return;
|
||||||
#else
|
#else
|
||||||
|
@ -1101,7 +1103,7 @@ bool DepthBufferToRDRAM::CopyToRDRAM( u32 _address) {
|
||||||
glBindFramebuffer(GL_READ_FRAMEBUFFER, m_FBO);
|
glBindFramebuffer(GL_READ_FRAMEBUFFER, m_FBO);
|
||||||
glReadPixels(0, 0, VI.width, VI.height, GL_DEPTH_COMPONENT, GL_FLOAT, 0);
|
glReadPixels(0, 0, VI.width, VI.height, GL_DEPTH_COMPONENT, GL_FLOAT, 0);
|
||||||
|
|
||||||
GLubyte* pixelData = (GLubyte*)glMapBuffer(GL_PIXEL_PACK_BUFFER, GL_READ_ONLY);
|
GLubyte* pixelData = (GLubyte*)glMapBufferRange(GL_PIXEL_PACK_BUFFER, 0, VI.width * VI.height * 4, GL_MAP_READ_BIT);
|
||||||
if(pixelData == NULL)
|
if(pixelData == NULL)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -1197,7 +1199,7 @@ void RDRAMtoFrameBuffer::CopyFromRDRAM( u32 _address, bool _bUseAlpha)
|
||||||
#ifndef GLES2
|
#ifndef GLES2
|
||||||
PBOBinder binder(GL_PIXEL_UNPACK_BUFFER, m_PBO);
|
PBOBinder binder(GL_PIXEL_UNPACK_BUFFER, m_PBO);
|
||||||
glBufferData(GL_PIXEL_UNPACK_BUFFER, dataSize, NULL, GL_DYNAMIC_DRAW);
|
glBufferData(GL_PIXEL_UNPACK_BUFFER, dataSize, NULL, GL_DYNAMIC_DRAW);
|
||||||
GLubyte* ptr = (GLubyte*)glMapBuffer(GL_PIXEL_UNPACK_BUFFER, GL_WRITE_ONLY);
|
GLubyte* ptr = (GLubyte*)glMapBufferRange(GL_PIXEL_UNPACK_BUFFER, 0, dataSize, GL_MAP_WRITE_BIT);
|
||||||
#else
|
#else
|
||||||
m_PBO = (GLubyte*)malloc(dataSize);
|
m_PBO = (GLubyte*)malloc(dataSize);
|
||||||
GLubyte* ptr = m_PBO;
|
GLubyte* ptr = m_PBO;
|
||||||
|
|
|
@ -135,7 +135,9 @@ void NoiseTexture::update()
|
||||||
#ifndef GLES2
|
#ifndef GLES2
|
||||||
PBOBinder binder(GL_PIXEL_UNPACK_BUFFER, m_PBO);
|
PBOBinder binder(GL_PIXEL_UNPACK_BUFFER, m_PBO);
|
||||||
glBufferData(GL_PIXEL_UNPACK_BUFFER, dataSize, NULL, GL_DYNAMIC_DRAW);
|
glBufferData(GL_PIXEL_UNPACK_BUFFER, dataSize, NULL, GL_DYNAMIC_DRAW);
|
||||||
GLubyte* ptr = (GLubyte*)glMapBuffer(GL_PIXEL_UNPACK_BUFFER, GL_WRITE_ONLY);
|
isGLError();
|
||||||
|
GLubyte* ptr = (GLubyte*)glMapBufferRange(GL_PIXEL_UNPACK_BUFFER, 0, dataSize, GL_MAP_WRITE_BIT);
|
||||||
|
isGLError();
|
||||||
#else
|
#else
|
||||||
m_PBO = (GLubyte*)malloc(dataSize);
|
m_PBO = (GLubyte*)malloc(dataSize);
|
||||||
GLubyte* ptr = m_PBO;
|
GLubyte* ptr = m_PBO;
|
||||||
|
|
|
@ -52,6 +52,7 @@ extern PFNGLGENBUFFERSPROC glGenBuffers;
|
||||||
extern PFNGLBINDBUFFERPROC glBindBuffer;
|
extern PFNGLBINDBUFFERPROC glBindBuffer;
|
||||||
extern PFNGLBUFFERDATAPROC glBufferData;
|
extern PFNGLBUFFERDATAPROC glBufferData;
|
||||||
extern PFNGLMAPBUFFERPROC glMapBuffer;
|
extern PFNGLMAPBUFFERPROC glMapBuffer;
|
||||||
|
extern PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
|
||||||
extern PFNGLUNMAPBUFFERPROC glUnmapBuffer;
|
extern PFNGLUNMAPBUFFERPROC glUnmapBuffer;
|
||||||
extern PFNGLDELETEBUFFERSPROC glDeleteBuffers;
|
extern PFNGLDELETEBUFFERSPROC glDeleteBuffers;
|
||||||
extern PFNGLBINDIMAGETEXTUREPROC glBindImageTexture;
|
extern PFNGLBINDIMAGETEXTUREPROC glBindImageTexture;
|
||||||
|
|
|
@ -54,6 +54,7 @@ PFNGLGENBUFFERSPROC glGenBuffers;
|
||||||
PFNGLBINDBUFFERPROC glBindBuffer;
|
PFNGLBINDBUFFERPROC glBindBuffer;
|
||||||
PFNGLBUFFERDATAPROC glBufferData;
|
PFNGLBUFFERDATAPROC glBufferData;
|
||||||
PFNGLMAPBUFFERPROC glMapBuffer;
|
PFNGLMAPBUFFERPROC glMapBuffer;
|
||||||
|
PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
|
||||||
PFNGLUNMAPBUFFERPROC glUnmapBuffer;
|
PFNGLUNMAPBUFFERPROC glUnmapBuffer;
|
||||||
PFNGLDELETEBUFFERSPROC glDeleteBuffers;
|
PFNGLDELETEBUFFERSPROC glDeleteBuffers;
|
||||||
PFNGLBINDIMAGETEXTUREPROC glBindImageTexture;
|
PFNGLBINDIMAGETEXTUREPROC glBindImageTexture;
|
||||||
|
@ -120,6 +121,7 @@ void initGLFunctions()
|
||||||
glBindBuffer = (PFNGLBINDBUFFERPROC)wglGetProcAddress( "glBindBuffer" );
|
glBindBuffer = (PFNGLBINDBUFFERPROC)wglGetProcAddress( "glBindBuffer" );
|
||||||
glBufferData = (PFNGLBUFFERDATAPROC)wglGetProcAddress( "glBufferData" );
|
glBufferData = (PFNGLBUFFERDATAPROC)wglGetProcAddress( "glBufferData" );
|
||||||
glMapBuffer = (PFNGLMAPBUFFERPROC)wglGetProcAddress( "glMapBuffer" );
|
glMapBuffer = (PFNGLMAPBUFFERPROC)wglGetProcAddress( "glMapBuffer" );
|
||||||
|
glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)wglGetProcAddress("glMapBufferRange");
|
||||||
glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)wglGetProcAddress( "glUnmapBuffer" );
|
glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)wglGetProcAddress( "glUnmapBuffer" );
|
||||||
glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)wglGetProcAddress( "glDeleteBuffers" );
|
glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)wglGetProcAddress( "glDeleteBuffers" );
|
||||||
glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)wglGetProcAddress( "glBindImageTexture" );
|
glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)wglGetProcAddress( "glBindImageTexture" );
|
||||||
|
|
Loading…
Reference in New Issue
Block a user