kdrive: fix bug in vesa 4plane in 8bpp mode

This commit is contained in:
Keith Packard 2000-09-19 23:50:48 +00:00
parent 5b9f49f64c
commit 02777941e6
2 changed files with 7 additions and 3 deletions

View File

@ -19,7 +19,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. THE SOFTWARE.
*/ */
/* $XFree86$ */ /* $XFree86: xc/programs/Xserver/hw/kdrive/vesa/vesa.c,v 1.5 2000/09/15 07:25:13 keithp Exp $ */
#include "vesa.h" #include "vesa.h"
@ -327,6 +327,7 @@ vesaScreenInitialize (KdScreenInfo *screen, VesaScreenPrivPtr pscr)
return FALSE; return FALSE;
pscr->shadow = vesa_shadow; pscr->shadow = vesa_shadow;
pscr->origDepth = screen->fb[0].depth;
if (vesa_linear_fb) if (vesa_linear_fb)
pscr->mapping = VESA_LINEAR; pscr->mapping = VESA_LINEAR;
else else
@ -334,7 +335,7 @@ vesaScreenInitialize (KdScreenInfo *screen, VesaScreenPrivPtr pscr)
vmib = &pscr->mode->vmib; vmib = &pscr->mode->vmib;
depth = vesaDepth (vmib);; depth = vesaDepth (vmib);
bpp = vmib->BitsPerPixel; bpp = vmib->BitsPerPixel;
switch (vmib->MemoryModel) { switch (vmib->MemoryModel) {
@ -793,6 +794,8 @@ vesaScreenFini(KdScreenInfo *screen)
if (pscr->fb) if (pscr->fb)
VbeUnmapFramebuffer(priv->vi, &pscr->mode->vmib, pscr->fb); VbeUnmapFramebuffer(priv->vi, &pscr->mode->vmib, pscr->fb);
screen->fb[0].depth = pscr->origDepth;
return; return;
} }

View File

@ -19,7 +19,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. THE SOFTWARE.
*/ */
/* $XFree86$ */ /* $XFree86: xc/programs/Xserver/hw/kdrive/vesa/vesa.h,v 1.5 2000/09/15 07:25:13 keithp Exp $ */
#ifndef _VESA_H_ #ifndef _VESA_H_
#define _VESA_H_ #define _VESA_H_
@ -51,6 +51,7 @@ typedef struct _VesaScreenPriv {
Bool shadow; Bool shadow;
Bool rotate; Bool rotate;
int mapping; int mapping;
int origDepth;
void *fb; void *fb;
} VesaScreenPrivRec, *VesaScreenPrivPtr; } VesaScreenPrivRec, *VesaScreenPrivPtr;