+ //\r
+ // Re-initialize the frame buffer configure when mode changes.\r
+ //\r
+ Status = FrameBufferBltConfigure (\r
+ (VOID*) (UINTN) This->Mode->FrameBufferBase,\r
+ This->Mode->Info,\r
+ Private->FrameBufferBltConfigure,\r
+ &Private->FrameBufferBltConfigureSize\r
+ );\r
+ if (Status == RETURN_BUFFER_TOO_SMALL) {\r
+ //\r
+ // Frame buffer configure may be larger in new mode.\r
+ //\r
+ if (Private->FrameBufferBltConfigure != NULL) {\r
+ FreePool (Private->FrameBufferBltConfigure);\r
+ }\r
+ Private->FrameBufferBltConfigure =\r
+ AllocatePool (Private->FrameBufferBltConfigureSize);\r
+ ASSERT (Private->FrameBufferBltConfigure != NULL);\r
+\r
+ //\r
+ // Create the configuration for FrameBufferBltLib\r
+ //\r
+ Status = FrameBufferBltConfigure (\r
+ (VOID*) (UINTN) This->Mode->FrameBufferBase,\r
+ This->Mode->Info,\r
+ Private->FrameBufferBltConfigure,\r
+ &Private->FrameBufferBltConfigureSize\r
+ );\r
+ }\r
+ ASSERT (Status == RETURN_SUCCESS);\r