mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-13 21:31:53 +00:00
OPENGL: Do not access Surface::bytesPerPixel anymore.
This commit is contained in:
parent
f90bbf9cfa
commit
911b7b311f
@ -355,9 +355,9 @@ void OpenGLGraphicsManager::copyRectToScreen(const byte *buf, int pitch, int x,
|
||||
|
||||
// Copy buffer data to game screen internal buffer
|
||||
const byte *src = buf;
|
||||
byte *dst = (byte *)_screenData.pixels + y * _screenData.pitch + x * _screenData.bytesPerPixel;
|
||||
byte *dst = (byte *)_screenData.pixels + y * _screenData.pitch + x * _screenData.format.bytesPerPixel;
|
||||
for (int i = 0; i < h; i++) {
|
||||
memcpy(dst, src, w * _screenData.bytesPerPixel);
|
||||
memcpy(dst, src, w * _screenData.format.bytesPerPixel);
|
||||
src += pitch;
|
||||
dst += _screenData.pitch;
|
||||
}
|
||||
@ -466,7 +466,7 @@ void OpenGLGraphicsManager::clearOverlay() {
|
||||
}
|
||||
|
||||
void OpenGLGraphicsManager::grabOverlay(OverlayColor *buf, int pitch) {
|
||||
assert(_overlayData.bytesPerPixel == sizeof(buf[0]));
|
||||
assert(_overlayData.format.bytesPerPixel == sizeof(buf[0]));
|
||||
const byte *src = (byte *)_overlayData.pixels;
|
||||
for (int i = 0; i < _overlayData.h; i++) {
|
||||
// Copy overlay data to buffer
|
||||
@ -519,7 +519,7 @@ void OpenGLGraphicsManager::copyRectToOverlay(const OverlayColor *buf, int pitch
|
||||
const byte *src = (const byte *)buf;
|
||||
byte *dst = (byte *)_overlayData.pixels + y * _overlayData.pitch;
|
||||
for (int i = 0; i < h; i++) {
|
||||
memcpy(dst + x * _overlayData.bytesPerPixel, src, w * _overlayData.bytesPerPixel);
|
||||
memcpy(dst + x * _overlayData.format.bytesPerPixel, src, w * _overlayData.format.bytesPerPixel);
|
||||
src += pitch * sizeof(buf[0]);
|
||||
dst += _overlayData.pitch;
|
||||
}
|
||||
@ -616,7 +616,7 @@ void OpenGLGraphicsManager::setMouseCursor(const byte *buf, uint w, uint h, int
|
||||
|
||||
// Allocate space for cursor data
|
||||
if (_cursorData.w != w || _cursorData.h != h ||
|
||||
_cursorData.bytesPerPixel != _cursorFormat.bytesPerPixel)
|
||||
_cursorData.format.bytesPerPixel != _cursorFormat.bytesPerPixel)
|
||||
_cursorData.create(w, h, _cursorFormat);
|
||||
|
||||
// Save cursor data
|
||||
@ -699,13 +699,13 @@ void OpenGLGraphicsManager::refreshGameScreen() {
|
||||
int w = _screenDirtyRect.width();
|
||||
int h = _screenDirtyRect.height();
|
||||
|
||||
if (_screenData.bytesPerPixel == 1) {
|
||||
if (_screenData.format.bytesPerPixel == 1) {
|
||||
// Create a temporary RGB888 surface
|
||||
byte *surface = new byte[w * h * 3];
|
||||
|
||||
// Convert the paletted buffer to RGB888
|
||||
const byte *src = (byte *)_screenData.pixels + y * _screenData.pitch;
|
||||
src += x * _screenData.bytesPerPixel;
|
||||
src += x * _screenData.format.bytesPerPixel;
|
||||
byte *dst = surface;
|
||||
for (int i = 0; i < h; i++) {
|
||||
for (int j = 0; j < w; j++) {
|
||||
@ -725,7 +725,7 @@ void OpenGLGraphicsManager::refreshGameScreen() {
|
||||
} else {
|
||||
// Update the texture
|
||||
_gameTexture->updateBuffer((byte *)_screenData.pixels + y * _screenData.pitch +
|
||||
x * _screenData.bytesPerPixel, _screenData.pitch, x, y, w, h);
|
||||
x * _screenData.format.bytesPerPixel, _screenData.pitch, x, y, w, h);
|
||||
}
|
||||
|
||||
_screenNeedsRedraw = false;
|
||||
@ -741,13 +741,13 @@ void OpenGLGraphicsManager::refreshOverlay() {
|
||||
int w = _overlayDirtyRect.width();
|
||||
int h = _overlayDirtyRect.height();
|
||||
|
||||
if (_overlayData.bytesPerPixel == 1) {
|
||||
if (_overlayData.format.bytesPerPixel == 1) {
|
||||
// Create a temporary RGB888 surface
|
||||
byte *surface = new byte[w * h * 3];
|
||||
|
||||
// Convert the paletted buffer to RGB888
|
||||
const byte *src = (byte *)_overlayData.pixels + y * _overlayData.pitch;
|
||||
src += x * _overlayData.bytesPerPixel;
|
||||
src += x * _overlayData.format.bytesPerPixel;
|
||||
byte *dst = surface;
|
||||
for (int i = 0; i < h; i++) {
|
||||
for (int j = 0; j < w; j++) {
|
||||
@ -767,7 +767,7 @@ void OpenGLGraphicsManager::refreshOverlay() {
|
||||
} else {
|
||||
// Update the texture
|
||||
_overlayTexture->updateBuffer((byte *)_overlayData.pixels + y * _overlayData.pitch +
|
||||
x * _overlayData.bytesPerPixel, _overlayData.pitch, x, y, w, h);
|
||||
x * _overlayData.format.bytesPerPixel, _overlayData.pitch, x, y, w, h);
|
||||
}
|
||||
|
||||
_overlayNeedsRedraw = false;
|
||||
|
Loading…
Reference in New Issue
Block a user