Refactor FrameBuffer state. This mainly groups the state that is used for generating a new blit routine into a second BlitState structure 'updateState'. It also allowed for the FrameBuffer's own parameters to not have a 'dest' prefix. Also, 'locked' was renamed to 'framebuffer', and 'target' to 'renderbuffer'. Change-Id: I64e26f0b06f9f4419b8ca67e6fbb0dee8272898a Reviewed-on: https://swiftshader-review.googlesource.com/11510 Reviewed-by: Nicolas Capens <nicolascapens@google.com> Reviewed-by: Alexis Hétu <sugoi@google.com> Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Main/FrameBufferDD.cpp b/src/Main/FrameBufferDD.cpp index 36570bd..1f87bdf 100644 --- a/src/Main/FrameBufferDD.cpp +++ b/src/Main/FrameBufferDD.cpp
@@ -38,7 +38,7 @@ frontBuffer = 0; backBuffer = 0; - locked = 0; + framebuffer = nullptr; ddraw = LoadLibrary("ddraw.dll"); DirectDrawCreate = (DIRECTDRAWCREATE)GetProcAddress(ddraw, "DirectDrawCreate"); @@ -106,13 +106,13 @@ switch(ddsd.ddpfPixelFormat.dwRGBBitCount) { - case 32: destFormat = FORMAT_X8R8G8B8; break; - case 24: destFormat = FORMAT_R8G8B8; break; - case 16: destFormat = FORMAT_R5G6B5; break; - default: destFormat = FORMAT_NULL; break; + case 32: format = FORMAT_X8R8G8B8; break; + case 24: format = FORMAT_R8G8B8; break; + case 16: format = FORMAT_R5G6B5; break; + default: format = FORMAT_NULL; break; } - if((result != DD_OK && result != DDERR_PRIMARYSURFACEALREADYEXISTS) || (destFormat == FORMAT_NULL)) + if((result != DD_OK && result != DDERR_PRIMARYSURFACEALREADYEXISTS) || (format == FORMAT_NULL)) { assert(!"Failed to initialize graphics: Incompatible display mode."); } @@ -206,17 +206,17 @@ do { - destFormat = FORMAT_X8R8G8B8; + format = FORMAT_X8R8G8B8; result = directDraw->SetDisplayMode(width, height, 32); if(result == DDERR_INVALIDMODE) { - destFormat = FORMAT_R8G8B8; + format = FORMAT_R8G8B8; result = directDraw->SetDisplayMode(width, height, 24); if(result == DDERR_INVALIDMODE) { - destFormat = FORMAT_R5G6B5; + format = FORMAT_R5G6B5; result = directDraw->SetDisplayMode(width, height, 16); if(result == DDERR_INVALIDMODE) @@ -404,14 +404,14 @@ void *FrameBufferDD::lock() { - if(locked) + if(framebuffer) { - return locked; + return framebuffer; } if(!readySurfaces()) { - return 0; + return nullptr; } DDSURFACEDESC DDSD; @@ -425,21 +425,21 @@ height = DDSD.dwHeight; stride = DDSD.lPitch; - locked = DDSD.lpSurface; + framebuffer = DDSD.lpSurface; - return locked; + return framebuffer; } - return 0; + return nullptr; } void FrameBufferDD::unlock() { - if(!locked || !backBuffer) return; + if(!framebuffer || !backBuffer) return; backBuffer->Unlock(0); - locked = 0; + framebuffer = nullptr; } void FrameBufferDD::drawText(int x, int y, const char *string, ...)