GRIM: Enable screenshot saving on ES2

This commit is contained in:
Dries Harnie 2014-10-11 12:26:32 +02:00
parent 66bcfa4ca6
commit 0a73f11e9c

View file

@ -2034,8 +2034,8 @@ static void readPixels(int x, int y, int width, int height, byte *buffer) {
}
Bitmap *GfxOpenGLS::getScreenshot(int w, int h, bool useStored) {
#ifndef USE_GLES2
Graphics::PixelBuffer src(Graphics::PixelFormat(4, 8, 8, 8, 8, 0, 8, 16, 24), _screenWidth * _screenHeight, DisposeAfterUse::YES);
#ifndef USE_GLES2
if (useStored) {
glBindTexture(GL_TEXTURE_2D, _storedDisplay);
char *buffer = new char[_screenWidth * _screenHeight * 4];
@ -2044,13 +2044,12 @@ Bitmap *GfxOpenGLS::getScreenshot(int w, int h, bool useStored) {
memcpy(src.getRawBuffer(), buffer, _screenWidth * _screenHeight * 4);
delete[] buffer;
} else {
} else
#endif
{
readPixels(0, 0, _screenWidth, _screenHeight, src.getRawBuffer());
}
return createScreenshotBitmap(src, w, h, false);
#else
return nullptr;
#endif
return createScreenshotBitmap(src, w, h, true);
}
void GfxOpenGLS::createSpecialtyTextureFromScreen(uint id, uint8 *data, int x, int y, int width, int height) {