mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 21:53:06 +00:00
- Use the miniport services to map the frame buffer.
svn path=/trunk/; revision=8767
This commit is contained in:
parent
32a05a4377
commit
9eb9832b02
3 changed files with 32 additions and 11 deletions
|
@ -1,9 +1,9 @@
|
||||||
/*
|
/*
|
||||||
* entry.c
|
* entry.c
|
||||||
*
|
*
|
||||||
* $Revision: 1.2 $
|
* $Revision: 1.3 $
|
||||||
* $Author: dwelch $
|
* $Author: dwelch $
|
||||||
* $Date: 2004/03/04 23:11:43 $
|
* $Date: 2004/03/16 21:11:44 $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -189,9 +189,6 @@ DrvEnableDriver(IN ULONG EngineVersion,
|
||||||
|
|
||||||
vgaPreCalc();
|
vgaPreCalc();
|
||||||
|
|
||||||
// FIXME: Use Vidport to map the memory properly
|
|
||||||
vidmem = (char *)(0xd0000000 + 0xa0000);
|
|
||||||
|
|
||||||
VGADDI_InitializeOffScreenMem((640 * 480) >> 3, 65536 - ((640 * 480) >> 3));
|
VGADDI_InitializeOffScreenMem((640 * 480) >> 3, 65536 - ((640 * 480) >> 3));
|
||||||
|
|
||||||
DriveEnableData->pdrvfn = FuncList;
|
DriveEnableData->pdrvfn = FuncList;
|
||||||
|
@ -367,6 +364,7 @@ DrvDisableSurface(IN DHPDEV PDev)
|
||||||
PDEVSURF pdsurf = ppdev->AssociatedSurf;
|
PDEVSURF pdsurf = ppdev->AssociatedSurf;
|
||||||
CHECKPOINT;
|
CHECKPOINT;
|
||||||
DPRINT( "KMDriver: %x\n", ppdev->KMDriver );
|
DPRINT( "KMDriver: %x\n", ppdev->KMDriver );
|
||||||
|
DeinitVGA(ppdev);
|
||||||
// EngFreeMem(pdsurf->BankSelectInfo);
|
// EngFreeMem(pdsurf->BankSelectInfo);
|
||||||
CHECKPOINT;
|
CHECKPOINT;
|
||||||
if (pdsurf->BankInfo != NULL) {
|
if (pdsurf->BankInfo != NULL) {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "../vgaddi.h"
|
#include "../vgaddi.h"
|
||||||
|
#include "../vgavideo/vgavideo.h"
|
||||||
|
|
||||||
static WORD PaletteBuffer[] = {
|
static WORD PaletteBuffer[] = {
|
||||||
16, 0, // 16 entries, start with 0
|
16, 0, // 16 entries, start with 0
|
||||||
|
@ -101,9 +102,33 @@ DWORD getAvailableModes(HANDLE Driver,
|
||||||
return modes.NumModes;
|
return modes.NumModes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL DeinitVGA(PPDEV ppdev)
|
||||||
|
{
|
||||||
|
VIDEO_MEMORY VideoMemory;
|
||||||
|
ULONG ReturnedDataLength;
|
||||||
|
|
||||||
|
VideoMemory.RequestedVirtualAddress = (PVOID)ppdev->fbScreen;
|
||||||
|
|
||||||
|
if (EngDeviceIoControl(ppdev->KMDriver,
|
||||||
|
IOCTL_VIDEO_UNMAP_VIDEO_MEMORY,
|
||||||
|
(PVOID)&VideoMemory,
|
||||||
|
sizeof(VIDEO_MEMORY),
|
||||||
|
NULL,
|
||||||
|
0,
|
||||||
|
&ReturnedDataLength))
|
||||||
|
{
|
||||||
|
DbgPrint("Failed to unmap video memory.\n");
|
||||||
|
DbgBreakPoint();
|
||||||
|
return(FALSE);
|
||||||
|
}
|
||||||
|
return(TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
BOOL InitVGA(PPDEV ppdev, BOOL bFirst)
|
BOOL InitVGA(PPDEV ppdev, BOOL bFirst)
|
||||||
{
|
{
|
||||||
ULONG ReturnedDataLength;
|
ULONG ReturnedDataLength;
|
||||||
|
VIDEO_MEMORY VideoMemory;
|
||||||
|
VIDEO_MEMORY_INFORMATION VideoMemoryInfo;
|
||||||
|
|
||||||
ppdev->sizeSurf.cx = 640;
|
ppdev->sizeSurf.cx = 640;
|
||||||
ppdev->sizeSurf.cy = 480;
|
ppdev->sizeSurf.cy = 480;
|
||||||
|
@ -142,11 +167,7 @@ BOOL InitVGA(PPDEV ppdev, BOOL bFirst)
|
||||||
return(FALSE);
|
return(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
if (bFirst) {
|
||||||
|
|
||||||
gotta fix this up.. it prevents drawing to vidmem right now
|
|
||||||
|
|
||||||
if (bFirst) {
|
|
||||||
// map video memory into virtual memory
|
// map video memory into virtual memory
|
||||||
VideoMemory.RequestedVirtualAddress = NULL;
|
VideoMemory.RequestedVirtualAddress = NULL;
|
||||||
|
|
||||||
|
@ -162,7 +183,8 @@ gotta fix this up.. it prevents drawing to vidmem right now
|
||||||
}
|
}
|
||||||
|
|
||||||
ppdev->fbScreen = VideoMemoryInfo.FrameBufferBase;
|
ppdev->fbScreen = VideoMemoryInfo.FrameBufferBase;
|
||||||
|
vidmem = (PUCHAR)ppdev->fbScreen;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -201,6 +201,7 @@ typedef VOID (*PFN_ScreenToScreenBlt)(PDEVSURF, PRECTL, PPOINTL, INT);
|
||||||
#define DEVSURF_IDENT ('V' + ('S' << 8) + ('R' << 16) + ('F' << 24))
|
#define DEVSURF_IDENT ('V' + ('S' << 8) + ('R' << 16) + ('F' << 24))
|
||||||
|
|
||||||
BOOL InitVGA(PPDEV ppdev, BOOL bFirst); // screen.c: initialize VGA mode
|
BOOL InitVGA(PPDEV ppdev, BOOL bFirst); // screen.c: initialize VGA mode
|
||||||
|
BOOL DeinitVGA(PPDEV ppdev); // screen.c: Free resources allocated in InitVGA
|
||||||
|
|
||||||
#define DRIVER_EXTRA_SIZE 0
|
#define DRIVER_EXTRA_SIZE 0
|
||||||
#define ALLOC_TAG TAG('D', 'v', 'g', 'a') // Dvga tag
|
#define ALLOC_TAG TAG('D', 'v', 'g', 'a') // Dvga tag
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue