85 lines
4.2 KiB
HTML
85 lines
4.2 KiB
HTML
<html>
|
|
|
|
<head>
|
|
<title>Newdisp </title>
|
|
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<h1>Newdisp - Windows NT 5.0 Display Driver Tool<font SIZE="2"><b></h1>
|
|
|
|
<p>Newdisp</b> is a tool that provides two capabilities: it can be used to dynamically
|
|
reload a GDI display driver without rebooting, and it can be used to adjust the maximum
|
|
graphics acceleration level that the system allows the display driver to do.</p>
|
|
|
|
<p>(After NT 5.0 Beta Two, a slider control will be added to the control panel video
|
|
applet to allow users to control the acceleration level via the user interface, as is done
|
|
in Windows 95 and Windows 98. The <b>newdisp</b> tool is useful for allowing this value to
|
|
be set by testing automation.)</p>
|
|
|
|
<p>To run <b>newdisp</b>, first close all Direct3D and OpenGL applications. Then invoke it
|
|
as follows, with an optional acceleration level parameter:</p>
|
|
<b>
|
|
|
|
<p>newdisp [-Ln]</p>
|
|
|
|
<blockquote>
|
|
<blockquote>
|
|
<p>n</b> is the optional maximum graphics acceleration level that the system will allow.
|
|
It may be any of the following values:</p>
|
|
<b><blockquote>
|
|
<blockquote>
|
|
</b><p>0 - All display driver accelerations are permitted;</p>
|
|
<p>1 - DrvSetPointerShape and DrvCreateDeviceBitmap are disabled;</p>
|
|
<p>2 - In addition to 1, more sophisticated GDI accelerations are disallowed, including
|
|
DrvStretchBlt, DrvFillPath, DrvGradientFill, DrvLineTo, DrvAlphaBlend, and
|
|
DrvTransparentBlt;</p>
|
|
<p>3 - In addition to 2, all DirectDraw and Direct3D accelerations are disallowed;</p>
|
|
<p>4 - In addition to 3, almost all GDI accelerations are disallowed, except for solid
|
|
color fills, DrvCopyBits, DrvTextOut, and DrvStrokePath. DrvEscape is disabled;</p>
|
|
<p>5 - No hardware accelerations are allowed at all. The driver will only be called to do
|
|
blts from a system memory surface to the screen.</p>
|
|
</blockquote>
|
|
</blockquote>
|
|
</blockquote>
|
|
</blockquote>
|
|
|
|
<p>Every time <b>newdisp</b> is invoked, it will reload the GDI display driver. In this
|
|
way, the display driver can be updated without rebooting, by copying the new driver to the
|
|
<i>\system32 </i>directory and invoking <b>newdisp</b>. This capability is intended only
|
|
for easing the burden of display driver development, so that during development reboots
|
|
aren’t needed as frequently when updating display driver code.</p>
|
|
|
|
<p>Note that <b>newdisp </b>does not currently cause the miniport to be reloaded.
|
|
Consequently, if the miniport is changed, the system will still have to be rebooted.</p>
|
|
|
|
<p> <b></p>
|
|
|
|
<p>Newdisp</b> accomplishes the dynamic reload by doing the following, assuming that no
|
|
driver references exist at the time of invocation. First, it does a ChangeDisplaySettings
|
|
call to 640x480x16 colors, which causes the system to load and run the 16 color VGA
|
|
display driver .DLL, and at the same causes the old display driver .DLL to be unloaded
|
|
from memory<i><b>. </b></i>Then, <b>newdisp</b> immediately does a ChangeDisplaySettings
|
|
call back to the original mode, which causes the new display driver .DLL to be loaded from
|
|
<i>\system32</i> directory, and the 16 color VGA display driver .DLL to be unloaded.</p>
|
|
|
|
<p>A reference to the driver instance will exist if the driver has active Direct3D,
|
|
WNDOBJ, or DRIVEROBJ objects. When <b>newdisp</b> is run while a reference to the driver
|
|
instance exists, the old display driver .DLL will never be unloaded, and correspondingly
|
|
the new display driver .DLL will never be loaded. </p>
|
|
|
|
<p>Thus, by copying an updated version of the display driver .DLL to the <i>\system32</i>
|
|
directory and then invoking <b>newdisp</b>, the display driver is reloaded without having
|
|
to wait for a reboot.</p>
|
|
|
|
<p> <b></p>
|
|
|
|
<p>Newdisp </b>relies on dynamic driver loading functionality that has been added to NT
|
|
5.0 to reload the driver, and consequently will not work on NT 4.0 or older systems. It
|
|
will also not work if the VGA driver cannot be loaded on the graphics device, or if the
|
|
native display driver supports a mode of 640x480x16 colors, instead of letting that mode
|
|
be handled by the VGA driver.</font></p>
|
|
</body>
|
|
</html>
|