Intel® Graphics Media Accelerator

Production Version 15.4.50.1280

Release Notes

May 25, 2007 Microsoft Windows* Vista INTEL CONFIDENTIAL DISCLAIMER: Information in this document is provided in connection with Intel products. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. Except as provided in Intel’s Terms and Conditions of Sale for such products, Intel assumes no liability whatsoever, and Intel disclaims any express or implied warranty relating to sale and/or use of Intel products, including liability or warranties relating to fitness for a particular purpose, merchantability or infringement of any patent, copyright or other intellectual property right. Intel products are not intended for use in medical, lifesaving, or life-sustaining applications. Intel may make changes to specifications and product descriptions at any time, without notice. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. * Other names and brands may be claimed as the property of others. Copyright © Intel Corporation 2006-2007 This document contains information on products in the design phase of development. The information herein is subject to change without notice. Do not finalize a design with this information. Revision History
Date | Driver Revision | Description | Build Number
May 24, 2007 | 15.4.50.1280 | Production Version; fully validated | 1280
May 4, 2007 | 15.4.50.1270 | Beta engineering drop; not fully validated | 1270
May 3, 2007 | 15.4.1.1268 | Production Verison; fully validated | 1268
May 2, 2007 | 15.4.1.1268 | Production Candidate; fully validated | 1268
April 18, 2007 | 15.4.0.1255 | Production Version; fully validated | 1255
April 17, 2007 | 15.4.0.1255 | Production Candidate; fully validated | 1255
April 5, 2007 | 15.4.0.1246 | Beta engineering drop; not fully validated | 1246
March 22, 2007 | 15.4.0.1229 | Beta engineering drop; not fully validated | 1229
March 8, 2007 | 15.4.0.1219 | Beta engineering drop; not fully validated | 1219
February 23, 2007 | 15.4.0.1195 | Beta engineering drop; not fully validated | 1195
February 8, 2007 | 15.4.0.1179 | Alpha engineering drop; not fully validated | 1179
January 19, 2007 | 15.4.0.1166 | Alpha engineering drop; not fully validated | 1166
December 14, 2006 | 15.4.0.1143 | Alpha engineering drop; not fully validated | 1143
November 30, 2006 | 15.4.0.1133 | Pre-alpha engineering drop; not fully validated | 1133
Intel® Graphics Media Accelerator Driver The Intel® Graphics Media Accelerator Driver contains support for the following Intel Chipsets: · Intel® 945G Express Chipset · Intel® 945GZ Express Chipset · Intel® 946GZ Express Chipset · Intel® G965 Express Chipset · Intel® Q963 Express Chipset · Intel® Q965 Express Chipset · Mobile Intel® 940GML Express Chipset · Mobile Intel® 943GML Express Chipset · Mobile Intel® 945GM Express Chipset · Mobile Intel® 945GMS Express Chipset · Mobile Intel® GM965 Express Chipset New Features
Features Added in Baseline
Reference No. | Description | Driver Baseline
NA | Screen Scraper Defense | 15.4.50
Known Issues
Known Issues in Build 1280
Reference No. | Description | Affected Component(s) | Affected OS(s) | Affected Project's)
102933 | Functional Failure/ DVD player fails to respond when Hardware Acc. is activated in DPST mode. | N/A | Windows Vista* | Intel® 945GM Express Chipset
102372 | Refresh rate of secondary device cannot be changed to 75Hz with EXTD mode. | CUI2 | Windows Vista* Windows Vista*-64 | Intel® G965 Express Chipset
102269 | TPV CH7021 : Display driver stopped responding and has recovered error message is displayed after changing the Video Standard. | CUI COM | Windows Vista* Windows Vista*-64 | Intel® G965 Express Chipset
102264 | Missing Functionality / TV Wizard - TVWSetup - TV Wizard function is disappeared in IGT page. | TV Wizard | Windows Vista* Windows Media Center Windows* XP | Intel® G965 Express Chipset
102090 | WinDVD 8, Media Center - Abnormal subtitle color is displayed when playing the Batman and Robin DVD via Media Center application. | DVD | Windows Vista* Windows Vista*-64 | Intel® G965 Express Chipset Intel® 945GM Express Chipset Intel® GM965 Express Chipset
101579 | InterVideo WinDVD 8 - Incorrect color is displayed while playing the DVD Test Annex 3.0 movie. | DVD | Windows Vista* | Intel® G965 Express Chipset
101155 | CyberLink PowerDVD 7 - The movie lags while playing the imax-deep_sea_h1080_TMPG clip. | DVD | Windows Vista* | Intel® G965 Express Chipset Intel® 945GM Express Chipset Intel® GM965 Express Chipset
101100 | [VAL-AIM] CX25905 : Incorrect screen resolutions is displayed on IGT page while connect the TV device. | CUI2 | Windows Vista* Windows Vista*-64 | Intel® G965 Express Chipset
100568 | Abnormal screen is displayed on CRT while running the 3D Text screen saver after hot unplugging EFP. | Direct3D* | Windows Vista* Windows Vista*-64 | Intel® G965 Express Chipset Intel® 945GM Express Chipset
98736 | 1166 Notepad - Display Expansion setting is not changed back to Full Screen(no Border) after resuming from Suspend state (S3) and closing Notepad application. | CUI2 | Windows Vista* Windows Vista*-64 | Intel® GM965 Express Chipset
## Issues Resolved
Issues Resolved in Build 1280
Reference No. | Description | Affected Component(s) | Affected OS(s) | Affected Project(s)
BugID: 2440047 | Implementation of full overlay downscaling in Windows Vista*. | Direct3D*, DirectDraw*, CUISDK, KMD Render | Windows Vista*, Windows Vista*-64 | Intel® 945G Express Chipset Intel® 945GM Express Chipset Intel® G965 Express Chipset Intel® G965 Express Chipset Intel® GM965 Express Chipset
Resolution Description: Root Cause: This is for implementing full overlay downscaling in Windows Vista*. Current driver does not support downscaling more than 2:1. If the destination window's size is less than 1/2 the source window's size, then the current driver clips the destination to 1/2 the source. Updates add support so that the driver handles the downscale request to less than 2:1. This blt is done by using the 3D engine to do a blt from the original OS passed source to an intermediate surface with the destination window size. Then this intermediate surface is used to display the overlay. Impact: The overlay path is significantly impacted in that the 2:1 downscale path did not exist before. There is medium level impact to KMD Present path had to make sure present path is general enough that special flags weren’t passed. GMM has some minor-medium level impact - needed special DMA buffers to do the downscale blt. Additionally, the change allows CUISDK method of color control. The registry key values (CUIOverlayColorControl.r__) adds the registry based overlay color control keys. Note that some CUI SDK tests may fail if these registry entries are not added. The Disable_OverlayFeature.r__ / Enable_OverlayFeature.r__ turns the overlay feature on or off. The change takes effect after a reboot. By default, overlay feature is enabled if the reg key does not exist.
BugID: 2439406, 2440047, 2444879, 2327837, 2327874 | Implementation of full overlay downscaling in Windows Vista*. | Direct3D*, DirectDraw*, CUISDK, KMD Render | Windows Vista*, Windows Vista*-64 | Intel® 945G Express Chipset Intel® 945GM Express Chipset Intel® G965 Express Chipset Intel® G965 Express Chipset Intel® GM965 Express Chipset
Resolution Description: Root Cause: This is for implementing full overlay downscaling in Windows Vista*. Current driver does not support downscaling more than 2:1. If the destination window's size is less than 1/2 the source window's size, then the current driver clips the destination to 1/2 the source. Updates add support so that the driver handles the downscale request to less than 2:1. This blt is done by using the 3D engine to do a blt from the original OS passed source to an intermediate surface with the destination window size. Then this intermediate surface is used to display the overlay. Impact: The overlay path is significantly impacted in that the 2:1 downscale path did not exist before. There is medium level impact to KMD Present path had to make sure present path is general enough that special flags weren’t passed. GMM has some minor-medium level impact - needed special DMA buffers to do the downscale blt. Additionally, the change allows CUISDK method of color control. The registry key values (CUIOverlayColorControl.r__) adds the registry based overlay color control keys. Note that some CUI SDK tests may fail if these registry entries are not added. The Disable_OverlayFeature.r__ / Enable_OverlayFeature.r__ turns the overlay feature on or off. The change takes effect after a reboot. By default, overlay feature is enabled if the reg key does not exist.
BugID: N/A | Wait for MMIO flips to complete before destroying overlay, verify MMIO load before writing OVADD registers in mmioflip. | KMD Render | Windows Vista*, Windows Vista*-64 | Intel® 945G Express Chipset Intel® 945GM Express Chipset Intel® G965 Express Chipset Intel® G965 Express Chipset Intel® GM965 Express Chipset
Resolution Description: Root Cause: A destroy overlay will not verify that MMIO flips are completed before destroying the overlay context. This causes a hang when the MMIO flip attempts to complete with a now invalid overlay context. Also wait in FlipOverlay to verify that the previously submitted MMIO flip has been completed before writing OVADD registers to prevent frame drops.
BugID: N/A | To fix the opengl driver kernel memory leak and lock failures. | OpenGL* | Windows Vista*, Windows Vista*-64 | Intel® 945G Express Chipset Intel® 945GM Express Chipset Intel® G965 Express Chipset Intel® G965 Express Chipset Intel® GM965 Express Chipset
Resolution Description: Root Cause: This will fix the following issues. 1. An assert due to improper handling of GL_SMOOTH attribute enabling. 2. Lock with discard request failure -If the lock returns with a BUSY status, a special case handling is required. 3. A lock failure due to insufficient lockable surfaces. 4. A kernel memory leak in the Openresource() allocation.
BugID: N/A | VIS: During/After Video Driver Installation Blank Screen on LCD occurs. | Soft BIOS | Windows* XP, Windows Vista* | Intel® GM965 Express Chipset
Resolution Description: Root Cause: If LFP is Dual channel, it is being programmed as Single channel, that is causing the screen to become white. In VBT there are two ways to set whether Integrated LFP is Dual Channel or Single Channel. One way is to program appropriate bits in LVDS Port registers default value mentioned in VBT. VBIOS updates it appropriately. Other way is to set it in “No Of Channels” field which has value 0 (Automatic Selection) in this case. Currently driver relies on No Of Channels field only & for Automatic Selection driver will decide no. of channels based on Panel’s resolution. LFP is 14x9 driver logic interprets Panel to be as DualChannel. Fix Description: For Automatic Selection driver will check the Port Register bits to decide no. of channels the LFP has, which VBIOS updates properly.
BugID: N/A | Windows Vista* - Hardware hang playing video w/video effects w/ MyDVD9. | Direct3D* | Windows Vista* | Intel® 945G Express Chipset
Resolution Description: Root Cause: Hardware was hanging due to incorrect DDDPRIM_TRILIST VERTEX_INDIRECT instruction being programmed. The application was sending a very large primitive to render and driver had to appropriately break down the primitive into smaller chunks and send it to the hardware. This is because the maximum number of verticies that can fit in a hardware VB on Gen3 is 0xffff.
BugID: N/A | Overlay causes OS to hang on Away Mode. | KMD Render | Windows Vista*, Windows Vista*-64 | Intel® 945G Express Chipset Intel® 945GM Express Chipset Intel® G965 Express Chipset Intel® G965 Express Chipset Intel® GM965 Express Chipset
Resolution Description: Root Cause: In MMIO submit there is a wait loop to prevent overwriting previous flips, this loop sometimes becomes infinite when putting system in sleep mode because overlay Pipe is disabled but overlays are not destroyedyet, causing the 'previous' mmio submit to never load. Checks were added to ensure that the pipe and plane are enabled to ensure the loop exits.
BugID: 2256211 | Re-enable cacheable GTT blts | KMD Render | Windows Vista*, Windows Vista*-64 | Intel® GM965 Express Chipset
Resolution Description: Root Cause: Re-enables cacheable pages on Intel® GM965 Express Chipset only. Cacheable blts started to work because of an earlier fix that added MI_FLUSH in paging and submit. The change disables the workaround (WaDisableCacheablePageMapingInGTT) which was temporarily.
BugID: N/A | Add Pipe Ctrl to Intel® GM965 Express Chipset. | GMM, MD Render | Windows Vista*, Windows Vista*-64 | Intel® 945GM Express Chipset, Intel® G965 Express Chipset, Intel® GM965 Express Chipset
Resolution Description: Root Cause: In Gen4, MI_LOAD_REGISTER_IMM command was added followed by MI_USER_INTERRUPT to the end of a DMA. Component read the Fence at interrupt-time to check if the DMA status before reporting completed to OS.
##
Issues Resolved in Build 1270
Reference No. | Description | Affected Component(s) | Affected OS(s) | Affected Project(s)
BugID: |  |  |  |
Resolution Description: Root Cause:
Issues Resolved in Build 1268
Reference No. | Description | Affected Component(s) | Affected OS(s) | Affected Project(s)
BugID: 2439669 | G965 can not show 1440x900 resolution on Monitor. |  | Windows Vista* Windows Vista* 64 | Intel® G965 Express Chipset Intel® G33 Express Chipset
Resolution Description: Root Cause: While parsing Standard Timing, the driver compared the wrong value (0x01, 0x01) ( '> 0x0101' was used). To fix the issue, the comparison has been modified correctly.
BugID:2438896 | Frame drop with 1080p content using overlay | KMD Render | Windows Vista* | Intel® G965 Express Chipse
Resolution Description: Root Cause: In some cases overlay flip calls are not properly synched, so there are instances where one flip will overwrite a previous flip that has not completed. This created visible frame drops and jerkiness. Added code to wait for MMIO flips information to be loaded before overwriting with a new flip. This eliminates frame drops caused by the synching issue and improves visible performance.
BugID:2437347 | Error message pop up when running OpenGL sample SSTBench.exe. | OpenGL* | Windows Vista* Windows Vista* 64 | Intel® G33 Express Chipset
Resolution Description: Root Cause: The application was failing because of lock failure. The lock [with discard flag] was busy and there was no handler to manage this. Fix Description: The fix is to flush the pipeline and re-request the lock with the noexistingreference.
BugID: 2333990 | Timeout Detection Recovery (TDR) while running 3DMark06 demo | KMD Render D3D | Windows Vista* Windows Vista* 64 | Intel® 945G Express Chipset, Intel® G965 Express Chipset, Intel® G33 Express Chipset
Resolution Description: Root Cause: Fix Description:
Issues Resolved in Build 1255
Reference No. | Description | Affected Component(s) | Affected OS(s) | Affected Project(s)
BugID: 2436422, 2438854 | Fix MV issues from COPP/OPM query returning incorrectly. | AIM, Miniport, TV-Out | Windows Vista*, Windows Vista*-64 | Intel® 915GM Express Chipset, Intel® 915GM Express Chipsetm, Intel® 915GM Express Chipsetml, Intel® 915GM Express Chipsetms, Intel® 3 Series Chipset Family-B, Intel® G965 Express Chipset, Intel® G965 Express Chipset, Intel® 945GM Express Chipset, Cantiga, Intel® GM965 Express Chipset, Intel® 915G Express Chipset, Intel® 945G Express Chipset
Resolution Description: Root Cause: MV is not properly turned off after a display switch. This can be fixed by disabling MV during a display switch and notifying the applicaion of the change. Also, make sure that the right TV format is reported back to the application with the Display settings COPP query. This DCN has been modified to only fix the TV format reported by the COPP query.
BugID: 2439300 | Update DownScale VBLANK logic - Return most recent link - MAIN baseline. | GMM, Multi Monitor, Miniport, Rotation | Windows Vista*, Windows Vista*-64 | Intel® 3 Series Chipset Family-B, Intel® 945GM Express Chipset, Intel® 945G Express Chipset
Resolution Description: Root Cause: In Downscale mode, GMM expects 1:1 link between OS display buffer and DownScale buffer. However, MMDMM wants to allow Multiple:1 links but in the VBLANK reporting, only the most recent link is reported. GMM needs modifications in the Downscaling management to support it. Without the fix, GMM could be reporting an old link, resulting in TDR. This was observed when playing clips through WINDOWS MEDIA* CENTER.
BugID: 2335106 | WINDOWS VISTA* : System hang up (Blue screen) after execute preload recovery on system with battery mode. | Power Conservation | Windows* XP, Windows* XP-64, Windows Vista*, Windows Vista*-64 | Intel® 945GM Express Chipset, Intel® GM965 Express Chipset
Resolution Description: Root Cause: The timer object was destroyed at StopDevice but the left over histogram interrupt is being processed which call into start timer with a paged out timer object. Fix Description: Mark the timer object as unavailable after the timer object is freed in Stop device. In the start timer function check for timer object availability before proceeding to activate the timer. Made similar changes to MAM timer object to avoid similar issue.
Issues Resolved in Build 1246
Reference No. | Description | Affected Component(s) | Affected OS(s) | Affected Project(s)
BugID: 2292583, 2329581 | Mouse Pointer Arrow sometimes has a bigger shadow. | Miniport | Windows Vista*, Windows Vista*-64 | Intel® 945GM Express Chipset
Resolution Description: Root Cause: The issue happens because the cursor buffer gets update before it came into effect by changing the cursor registers (will take effect in next VBLANK). So, there is mismatch between cursor buffer data and cursor registers type. This results into corruption for a brief moment. The solution is to write new cursor data into extra cursor memory and then use the extra memory address to enable the different type of cursor. Since, in Windows Vista* there are two cursor buffers are initialized for achieving the independent rotation. So, we use the second buffer when there is change in the type of cursor and after cursor data is written into new buffer, we update the cursor address register to jump to the new buffer. Changed the total cursor memory buffer allocation to get memory for 4 cursor buffers in GMM. 2 extra buffers for Independent rotation case and extended desktop.
BugID: 2221895, 2332626, 2335186, 2335423 | Functional Failure / SoftBIOS - Test ID 8650 - displayed mode is switched to CRT only after changing the display mode from CRT+TV EXTD to CRT+TV DDC while setting CRT to 2048x1536x32bit@60Hz. [64-bit REG] | Miniport, SoftBIOS | Windows Vista*, Windows Vista*-64 | Intel® G965 Express Chipset
Resolution Description: Root Cause: This issue is happening because we are failing RFVN call while applying clone configuration CRT+TV for 20 x 15 mode. Note that in this case TV supports only up to 10X7 and the CRT has no EDID. While trying toapplying 20X15 on it we fail to find native mode index for TV (which supports only up to 10x7). Here we are getting the entire mode list because of existing clone mode pruning logic in SB which is as follows: 1) If both the devices have EDID,Prune the mode list based on the max resolution of least capable device (i.e. remove all the resolutions beyond this). 2) Else return the whole mode list (upto20X15). This logic was OK for Windows* XP which support panning, but it is creating problem for Windows Vista* which doesn’t support panning. As a solution I have changed this behavior by using a flag which will be set by Windows Vista* MP. This flag will indicate to SB that it has to return the pruned clone mode list even in the case of EDID less device (i.e. enabling the step 1 for EDID less device as well for Windows Vista*). This will result in getting the mode list only up to 10X7 in this case and user will not be in a position to apply a mode which is not supported by TV.
BugID: 2077788, 2329497, 2439006 | iStdLib Hashtable Optimization. | Direct3D*, GHAL3D, OpenGL* | Windows* XP, Windows* XP-64, Windows Vista*, Windows Vista*-64 | Intel® G965 Express Chipset
Resolution Description: Root Cause: Algorithm changes to the iStdLib CHashTable class. Changing the first level binary tree to an array-based look-up table. Local testing includes 3DMark03, 05, 06 andQuake3 and Doom3 on Windows* XP32.
BugID: 2438187 | Enable LP Writes (for BLK). | Miniport | Windows* XP, Windows* XP-64, Windows Vista*, Windows Vista*-64 | Intel® 3 Series Chipset Family-B
Resolution Description: Root Cause: Setting bit 11 of 0x20e4.
BugID: 2436409 | Black screen on Windows Vista* restart with integrated graphics. | Miniport | Windows Vista* | Intel® 945GM Express Chipset
Resolution Description: Root Cause: Removing display turn on call during ResetDevice resolves the issue. As per MSFT, we can ignore ResetDevice call for shutdown/reboot case. Fix Description: Ignore ResetDevice call for shutdown/reboot case.
BugID: 2333108 | MIT-HOU- System unable to display Dual View when toggling /w "Fn+F4". | SoftBIOS | Windows* XP, Windows Vista* | Intel® GM965 Express Chipset
Resolution Description: Root Cause: The bModeCurrentlyNotSupported in MODETABLE_Entry was not initialized to FALSE which was resulted in garbage value and ISVALIDMODEENTRY to valuate to TRUE always. This fix also ensures all variables are initialized in specified files.
BugID: 2331879 | When main memory increased, the "Max Graphics Memory" is not allocated according to the DVMT 4.0 spec. | CUI2 | Windows Vista*, Windows Vista*-64 | Intel® G965 Express Chipset, Intel® GM965 Express Chipset
Resolution Description: Root Cause: If Windows Vista* OS was managing the gfx memory, and the max gfx memory reported by driver was not matching with that. Used a DX10 OS API to get the max gfx memory from OS.
BugID: 2331469 | Workaround: Incompatibilities with >32-bit Physical Addresses. | GMM | Windows Vista*, Windows Vista*-64 | Intel® G965 Express Chipset, Intel® G965 Express Chipset, Intel® GM965 Express Chipset
Resolution Description: Root Cause:
BugID: 2294686 | [Windows Vista*32/Intel® G965 Express Chipset/15.0]Hotplug detection does not work - Need fix on latest Chip Rev. | AIM | Windows* XP, Windows Vista* | Intel® G965 Express Chipset
Resolution Description: Root Cause: The hotplug detection workaround, which was implemented for previous Chrontel cards, needs to be extended for latest Chrontel 7315 Rev 2.1 card, too. WA: To extend the card checks for the new revision, we made some code changes to fix additional issues cause by above solution. Also address peer review comments, the initialization of bDisplayEEDIDFilter is moved from UAIM_InitializeDevice to UAIM_ResetDeviceCaps.
BugID: 2200609 | HW Cursor shows corrupted shadow on dragging desktop icon. | Miniport | Windows* XP | Intel® 945GM Express Chipset
Resolution Description: Root Cause: While dragging the desktop icon, the cursor image get corrupted for a brief moment.This is because the cursor buffer gets update before it came into effect by changing the cursor registers (will take effect in next VBLANK). So, there is mismatch between cursor buffer data and cursor registers type. This results into corruption for a brief moment. The solution is to write new cursor data into extra cursor memory and then use the extra memory address to enable the different type of cursor.
BugID: 2115096, 2171383, 2211026, 2290798, 2325928 | MMIO flip corruption fix. | DVD | Windows Vista*, Windows Vista*-64 | Intel® G965 Express Chipset, Intel® 945GM Express Chipset, Intel® GM965 Express Chipset, Intel® 945G Express Chipset
Resolution Description: Root Cause:
Issues Resolved in Build 1229
Reference No. | Description | Affected Component(s) | Affected OS(s) | Affected Project(s)
BugID: 2292924 | Intel® 3 Series Chipset Family: Enabling TV as secondary blanks other displays. | Resource Manager | Windows Vista* | Intel® 3 Series Chipset Family-B
Resolution Description: Root Cause: 1) Windows Vista* for Extended Desktop the first call can be either primary/secondary. Swapping of plane/pipe is not happening due to current checks. Current swapping logic of DPDD is same as DPSM. Swapping logic needs to be changed to be independent of call sequence and should depend on the previous plane-pipe configuration and new plane-pipe configuration. Swap should be done properly if any change in pipe/plane assignments to the display device. 2) Bandwidth Issues where seen in case of pipe swap. And also Due to pipe-swap GRM is getting notified and release device is called in between commit path due to swap handler. Thus releasing the wrong plane. And CRT blanks out. 3) Reworked on DPDD code flow. Made code changes and added proper checks where ever required. Done changes in Miniport/Grm.
BugID: 2327163 | W - DTM - Hazing on 24-bit panels. | SoftBIOS | Windows Vista* | Intel® GM965 Express Chipset
Resolution Description: Root Cause: 24-bit panel is hazing. SB uses LVDS port reg. value in VBT to program dithering bit and clock control bits for the panel. But this value is not updated accordingly, if the color depth is chosen as 24-bit. So, the issue happens. Fix Description: Now, we look into the color depth and channel selection variables for the panel and use the appropriate values to program port reg.
BugID: 2333226, 2333359, 2333806, 2334473 | GMM Node and Heap Synchronization. | GMM | Windows Vista*, Windows Vista*-64 | Intel® 3 Series Chipset Family-B, Intel® G965 Express Chipset, Intel® 945GM Express Chipset, Intel® GM965 Express Chipset
Resolution Description: Root Cause: GMM has multiple heaps and a single node manager. Each heap pushes and pops nodes from the node manager for its own use. Threads can be accessing various heaps (which intern acquires/frees nodes) simultaneiously, resulting in race conditions w/in the node manager. Gaurds must be used to prevent corruption of nodes and the node manager. Multiple threads could be accessing a single heap simultaneously if the APIENTRY is reentrant. Gaurds must be put in for those heaps. DCN also fixes independent rotation on BLB.
BugID: 2331469 | Workaround: Incompatibilities with >32-bit Physical Addresses. | GMM | Windows Vista*, Windows Vista*-64 | Intel® G965 Express Chipset, Intel® G965 Express Chipset, Cantiga, Intel® GM965 Express Chipset
Resolution Description: Root Cause: Removed "pop-up" page subtraction from SavedStolenSize computation. (Since the subtraction is not matched in GMM's usage of stolen memory, it seems this would be causing less stolen memory to be saved/restored than we actually could be using.)
BugID: 2327998 | Turn off Adaptive Deinterlacing for Intel® 945GM Express Chipset / Windows Vista*. | DVD | Windows Vista*, Windows Vista*-64 | Intel® 945GM Express Chipset
Resolution Description: Root Cause: Adaptive Deinterlacing is being turned off on Intel® 945GM Express Chipset / Windows Vista* due to performance issues.
BugID: 2327916 | Intel® 3 Series Chipset Family: No hardware detection sound for Dollar DVI monitor. | AIM, SoftBIOS | Windows Vista* | Intel® 3 Series Chipset Family-B
Resolution Description: Root Cause: DVI-I hotplug is not handled properly in Softbios. If there is an interrupt at SDVO port, Softbios selects the first encoder object from the encoder list which matches with that port. But in DVI-I case, both TMDS and RGB can be at the same port. This results in wrong encoder object selection. Consequently, interrupt is not cleared properly. Fix Description: Clear interrupts for all encoder objects correspoding to the specified port.
BugID: 2332452 | LFP Polarity of H-Sync and V-Sync are incorrect. | SoftBIOS | Windows* XP, Windows Vista* | Intel® GM965 Express Chipset
Resolution Description: Root Cause: In GetLVDSTimingInfo(), we were not getting the flags from the DTD timing and we were saving the restoring the values as were before. Because of which even if we specify the Negative polarity in the DTD timing we were not actually populating the same in theflags so the register 61180 was not getting updated with proper polarity. It is always set default values. Fix Done: Done changes, along with the timing also populate the Flags taken from DTD timing. Removed the code of save and restore.
BugID: 2329497 | Stack underflow detection fix. | Direct3D*, GHAL3D, OpenGL* | Windows* XP, Windows Vista* | Intel® G965 Express Chipset
Resolution Description: Root Cause: Fix stack underflow detection where underflow was incorrectly detected one level too soon when the max stack depth of the shader was equal to the max stack depth allowed before system thread is required to be invoked.
BugID: 2200307 | In DDC Refresh rates not enumerated for Digital TV. (HDMI) | GDI | Windows* XP, Windows* XP-64 | Intel® G965 Express Chipset
Resolution Description: Root Cause: Modes 8x6, 10x7, 11x8, 12x6 @60Hz removed for secondary while doing intersection of secondary and clone mode list. Fix Description: The logic in the Filtermodelist function was fine tuned tobe in sync with the OS property page. This issue comes up whenever the current RR of a mode not in EDID is greater than the maxRR for last EDID mode. The logic is incomplete for this particular case and the RR was not considered. Function was modified to check the minRR of current non EDID mode to be less than maxRR for last EDID mode and then RR from minRR to MaxRR is considered.
BugID: 2329629 | Functional Failure / Power Cons - ForceTDR app causes CRT to exit Power Savings mode but no image is displayed. | SoftBIOS | Windows Vista*, Windows Vista*-64 | Intel® GM965 Express Chipset
Resolution Description: Root Cause: This issue happens when we have LFP and CRT connected with the system with configuration set as LFP only and we force the TDR (with the help of an App), Monitor sync turns on and it sows some horizontal lines intermittently. This is happening because TDR causes Port registers values to get all 0s which has following effects for analog port. As the LFP is also associated with Pipe 0 (Gen-4 system), as soon as we enable pipe 0 after TDR, sync starts coming on CRT causing undesirable behavior. As a solution for this I have added a TDRHandler function in port controller which will disable all the ports. This function will get called by SB TDR handler after Graphics Device gets reset.
BugID: 2256824 | FBC/S2DDT is enabled on PwrConsTool application of the Client system while running OpenGL*_Tunnel application with modified BIOS. | Power Conservation | Windows* XP, Windows* XP-64, Windows Vista*, Windows Vista*-64 | Intel® 945GM Express Chipset, Intel® GM965 Express Chipset
Resolution Description: Root Cause: For Intel® 945GM Express Chipset and beyond, the FBC feature no longer needs to be notified about OpenGL applications running. The flipping restrictions no longer apply after Intel® 915GM Express Chipset. So, the testing needs to be modified for Intel® 945GM Express Chipset and beyond. We will need to fix the code for Intel® 915GM Express Chipset, though, so that OpenGL will properly get disabled in this scenario. Fix Description: 1) Platforms before Intel® 945GM Express Chipset do not support FBC running with ANY kind of flipping. Therefore, checking is done on pre-Intel® 945GM Express Chipset platforms for Direct3D* and OpenGL being active, and, if they are, disable FBC. 2) Platforms before Intel® GM965 Express Chipset support synchronous flipping, but not asynchronous flipping. So, on platforms before Intel® GM965 Express Chipset, we check for asynchronous flipping from both Direct3D* and OpenGL. If it is occurring, then turn off FBC. 3) Cleaned up the genearl Display Driver and GHAL areas where event notifications to Power Conservation are generated.
Issues Resolved in Build 1219
Reference No. | Description | Affected Component(s) | Affected OS(s) | Affected Project(s)
BugID: 2195919, 2199477 | First Event for Windows Vista*. | CUI2 | Windows Vista*, Windows Vista*-64 | Intel® GM965 Express Chipset
Resolution Description: Root Cause: To implement the first event behavior for Windows Vista*.
BugID: 2077788, 2329497 | GHAL3D CURBE and Surface State Streaming Optimization. | Direct3D*, GHAL3D, OpenGL* | Windows* XP, Windows* XP-64, Windows Vista*, Windows Vista*-64 | Intel® G965 Express Chipset
Resolution Description: Root Cause: Adding new indirect state model for handling CURBE data and surface states. This model changes default model from a caching model to a streaming model, however both models still exist in the code. Tests ran on 3Dmark03, 3DMark05, 3DMark06, FEAR, Sims2, Quake3, Doom3 on Windows* XP, and 3DMark03 on Windows Vista*.
BugID: 2331091 | Task Sceduler Engine Has Stopped Working is displayed on reboot with graphics driver installed. | CUI2 | Windows Vista*, Windows Vista*-64 | Intel® GM965 Express Chipset
Resolution Description: Root Cause: If the call is coming from TMM will not execute GetDevicemodes.
BugID: 2331034 | Abnormal screen happened in external monitor after resume S3(Stand By) state in Dual Display Clone mode. | SoftBIOS | Windows Vista* | Intel® 945GM Express Chipset
Resolution Description: Root Cause: This issue has two parts. First is when 10x6 mode is applied on LFP + SDVO_VGA DDC config (with FULL_SCREEN), the display on CRT comes cornered to upper left. This happens as the ModesManager_CenterImage is not called for FULL_SCREEN. Second part is after S3-resume in this configuration, display on CRT comes stretched abnormally. This is because of the CRT display being cornered to upper left part and stretching gets removed if the VGA centering (BIT25|24 in 0x71400) is enabled. This stretching also happens if there is upper-left cornered display on Int_LVDS or DFP in LFP+DFP DDC config on CRL, and here also stretching vanishes as soon as VGA centering is set. So, this upper-left cornered display in FULL_SCREEN causes the issue. Fix Description: For FULL SCREEN as well on SDVO VGA, MODESMANAGER_CenterImage will get called.
BugID: 2330477 | Corruption on windowed OpenGL* apps in Windows Vista* with Aero On. | OpenGL* | Windows Vista*, Windows Vista*-64 | Intel® 3 Series Chipset Family-B, Intel® G965 Express Chipset, Intel® G965 Express Chipset, Intel® 945GM Express Chipset, Cantiga, Intel® GM965 Express Chipset, Intel® 945G Express Chipset
Resolution Description: Root Cause: The problem is caused by a corner case in the scissor to drawing rectangle optimization.
BugID: 2330072 | Sometimes rotation hot keys do not work on Windows Vista*. | CUI2 | Windows Vista* | Intel® 3 Series Chipset Family-B
Resolution Description: Root Cause: Since rotation caps is always returned as 0x07 for Windows Vista*, we added code to check only if rotation is or is not enabled on Windows Vista*.
BugID: 2173326 | Doom3 Gen3 Windows Vista* Hang Fix. | OpenGL* | Windows* XP, Windows* XP-64, Windows Vista*, Windows Vista*-64 | Intel® 3 Series Chipset Family-B, Intel® G965 Express Chipset, Intel® 945GM Express Chipset, Intel® 945G Express Chipset
Resolution Description: Root Cause: Fixes Doom3 on Windows Vista* Intel® 945G Express Chipset, Intel® 3 Series Chipset Family, and Intel® 945GM Express Chipset. This issue was caused by OpenGL programming GHAL3D with an improper state setting.
BugID: 2076612 | Fix for proper default values for unused "X" channels in vertex element formats. | Direct3D*, GHAL3D, OpenGL* | Windows* XP, Windows Vista* | Intel® G965 Express Chipset, Intel® GM965 Express Chipset
Resolution Description: Root Cause: fix unused "X" channels (such as in R10G10B10X2_USCALED) so that they have the proper defaults values. When the driver is run in HWVP mode, this fix will allow the WHQL test VShader.exe to fully pass.
Issues Resolved in Build 1195
Reference No. | Description | Affected Component(s) | Affected OS(s) | Affected Project(s)
BugID: 2327837, 2327874 | Overlay fixes (BW SKU enable and BW corruption on HD content). | DirectDraw*, KMD | Windows Vista* | Intel® G965 Express Chipset, Intel® G965 Express Chipset, Intel® 945GM Express Chipset, Intel® GM965 Express Chipset, Intel® 945G Express Chipset
Resolution Description: Root Cause: The following fixes are implemented: 1) Enable overlays on all BW skus (Some skus were disabled earlier). 2) Fix corruption when playing HD content on BW ( Corruption was due to Tile Y setting, which is not supported in the current driver. Forced it to be Linear).
BugID: 2291742, 2326279 | Issues Related to TV-Out Blanking. | Miniport | Windows* XP, Windows Vista* | Intel® G965 Express Chipset
Resolution Description: Root Cause: Whenever system boots/reboots, following was the sequence: We initialize the DispDev->bConnected for all the displays to FALSE during StartDevice Routine. OS does DxgkDDIQueryChildStatus for each of the displays. Here we do a Static Detection of all the displays for the OpRegion and find that the attached status of the displays and in DispDev does not match. Here we update OS using CbIndicateChildStatus for all the displays where the status does not match. In GfxUpdateDriverChildInfoPrivateData, we used to get the bPreDetectionConnected status wrongly and hence TV Standard Change used to happen resulting sometimes in TV Not getting detected.
BugID: 2077576, 2326924 | GHAL3D VS - constant buffer optimization for indirectly addressed constants. | Direct3D*, GHAL3D, OpenGL* | Windows* XP, Windows* XP-64, Windows Vista*, Windows Vista*-64 | Intel® G965 Express Chipset, Intel® GM965 Express Chipset
Resolution Description: Root Cause: Optimization for HW vertex processing. This optimization gets applied for workloads containing constants with indirect registers. This optimization will attempt to batch up 'send' instructions to minimize the number of sends that we make.
BugID: 2327772 | Cannot toggle display via FN+F4 in Extended Desktop. | Miniport | Windows Vista*, Windows Vista*-64 | Intel® 945GM Express Chipset, Intel® GM965 Express Chipset
Resolution Description: Root Cause: The issue is that with Hotkey persistence set to ON in VBT, we are unable to come out of extended desktop as we could in Graphics driver on Windows* XP. As part of fixing the issue, we have tried to keep the behavior Windows* XP parity w.r.t two VBT bits. One is Hotkey persistence and another is enabling MDS/Clone on Hotkey event. With these changes, to exit out of EDS on an ACPI Hotkey, Hotkey persistence has to be ON while to enter into EDS with ACPI Hotkey both Hotkey persistence and enabling MDS/Clone on Hotkey event should be set. This is basically the behavior we see in Windows* XP.
BugID: 2327409 | Visual anomaly / DVD - Test ID 37278 - Media Player 11, InterVideo WinDVD 8 - Blank playback displayed while playing flower_wmv_2mbps_cbr_29.97fps_na_8s.wmv movie clip. | DVD | Windows Vista*, Windows Vista*-64 | Intel® 3 Series Chipset Family-B, Intel® 945GM Express Chipset, Intel® 945G Express Chipset
Resolution Description: Root Cause: This DCN fixes three issues: 1) When allocating a resource (surface), DXVA was calculating the height of Y+U+V and then calling CreateResource(). This is incorrect, because GMM already calculates the height, so DXVA must not do that. 2) The condition to enable BT.709 Color Space Conversion was incorrect, because it was not checking the Source FourCC. 3) The height for the V-plane was being set incorrectly in HybridPlanartoPlanar conversion.
BugID: 2326213 | CUI cannot select 1080i correctly on 1080p monitor. | CUI2 | Windows Vista*, Windows Vista*-64 | Intel® 945GM Express Chipset
Resolution Description: Root Cause: User will be able to see and apply interlaced modes when the display is inactive. Extended Desktop position settings also works fine for interlaced modes.
BugID: 2325298 | The Primary and secondary Displays blank out on resume from hibernation for EDS CRT+HDTV. | Miniport | Windows Vista*, Windows Vista*-64 | Intel® 945GM Express Chipset
Resolution Description: Root Cause: The Primary and Secondary Displays blank out on resume from hibernation for EDS CRT+HDTV. It is actually not a blackout on both Primary and Secondary, but a blackout on Primary only. Secondary blacking out (or empty screen ) with password enabled during resume is an expected behavior. The issue is happening because of a bug in the code, by which the source address is not reprogrammed to proper values after a pipe/plane swap. Due to multiple SetSourceAddress calls that OS sends in normal mode sets, the issue was getting hidden in most of the cases. On resume from hibernation, with password screen enabled, since we do not get subsequent SetSourceAddress calls the issue got exposed. Fix Description: If GRM recommended a Pipe/Plane swap, program the source address properly. This would be done only if there is a change in the planes being used, and will be ignored if GRM recommended a pipe/plane swap, but the planes have not been swapped. ULT Details: Since these changes would only affect Pipe/Plane swap, tested MDS with CRT+HDTV where GRM would recommend a swap. Tested mode sets, S3/S4 resume under the same config.
BugID: 2290995 | OS Name is Not Appearing In CUI Information page. | CUI2 | Windows Vista*, Windows Vista*-64 | Intel® 945GM Express Chipset, Intel® GM965 Express Chipset
Resolution Description: Root Cause: OS name for Windows Vista* is read from registry and will be shown on information page.
Issues Resolved in Build 1179
Reference No. | Description | Affected Component(s) | Affected OS(s) | Affected Project(s)
ID: 629845 | Gfx Reset WA for Bearlake-B. | SoftBIOS | Windows Vista* | Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: BL-B silicon validation identified a bug in the gfx reset entry logic of CI unit. This bug results in a hang that prevents gfx from being reset. The bug shows up only in certain boundary conditions where new requests are presented to CI unit on the display interface and reset request is asserted to CI simultaneously Fix Description: To work around the bug, it is required that overlay, cursor and display engines are turned off before the driver initiates a gfx soft reset.
ID: 630038 | Bearlake enabling on Vista OGL. | OGL | Windows Vista*-64 | Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: Very low risk fix for enabling OGL on Vista Bearlake. Adding support for the Bearlake product ID.
Issues Resolved in Build 1166
Reference No. | Description | Affected Component(s) | Affected OS(s) | Affected Project(s)
BugID: 2221928 | Resume from S4 blanks out on HDTV. | CUI COM | Windows Vista*, Windows Vista*-64 | Intel® 945G Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: Removing current config check for CUICOM. Fix Description: Fixed it appropiately.
BugID: 2198158, 2255316 | On test 606 with DDEX 4 and 5 on Windows Vista* 32 the donut shapes have a black square box around them. | Direct3D*, Miniport | Windows Vista* | Intel® G965 Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: This appears to be caused by an improper loading of Gamma Ramp values to the palette of an 8 bit mode. The typical gamma ramp table values make the screen data appear as grayscale, which is incorrect and does not match the last call to SetPalette(). There is also another related problem involving coming back from power saving to grayscale when running a 8-bit application like Foxbear. The file that generates this improper call is in PathManager.c and is in the PathUpdateActiveGammaRamp() function. Fix Description: Fixed it appropiately.
BugID: 2099757 | Corruption is displayed while running the 3DMark05 application at 180 degree rotation mode. | Power Conservation, Rotation | Windows* 2000, Windows* XP, Windows* 20003, Windows Media* Center, Windows* XP-64, Windows* 20003-64, Windows Vista*, Windows Vista*-64 | Intel® GM965 Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: Asynchronous flip is broken in HW in HW 180 degree case. Fix Description: CheckForAsyncFlipSupport() is the new function introduced which will update pSharedData->bAsyncFlipsupport once at the time of DirectDraw* driver loading. After which, all componnents should depend on pSharedData member to know the avaialability of the feature.
BugID: 2294395 | DTM-EDID 1.3 and DDC – Failing Log. | Miniport | Windows Vista*, Windows Vista*-64 | Intel® G965 Express Chipset, Intel® 945GM Express Chipset, Intel® 945G Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: Back merge problem with IDDC and Downscalar check-in. Fix Description: Fixed it appropiately.
BugID: 2211334 | Fn+F3 does not work after [A driver sttopped responding and has recoverd] message is displayed. | Miniport | Windows Vista*, Windows Vista*-64 | Intel® 945GM Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: Once TDR happens, the driver does a Graphics Device Reset with which all the MMIO and I/O register gets initialized to default values. Due to which ActiveToggle list table index and GR18 I/O registerwere also getting zeroed out as a result of which Display switch was blocked. Fix Description: So now once a TDR happens we save the state of scratch registers before a graphics reset and restore the relevant fields after the reset is done. Changes involved in this solution: Changes are in SoftBios and Miniport. It involves adding TDR handler in GMCH and VBIOSHandler class.
BugID: 2292243 | The resolution and color bit change to the lowest setting after switching output destination. | CUI2 | Windows Vista* | Intel® 945GM Express Chipset
Resolution Description: Root Cause: With Windows* XP driver on Windows Vista*, MinDispMode call was returning 6X4@8bpp because the check for Windows Vista* OS was missing. Fix Description: Added this check.
BugID: 2172939 | Dragging content off left of screen causes player to hang. | KMD | Windows Vista*, Windows Vista*-64 | Intel® G965 Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: Negative values in the 3DSTATE_DRAWING_RECTANGLE state command in the Present DDI. The X and Y MinClip values are unsigned words as described in the BSpec. Negative values there are interpreted as large positive values, which cause the entire Present blit to be clipped out, which causes the screen not to be updated. Fix Description: Clamp MinClip X and Y values to zero in 3DSTATE_DRAWING_RECTANGLE in Gen4 Present code. Do not allow negative values.
BugID: 2223147 | When system boots, noise appears after progress bar of Windows Vista*. | SoftBIOS | Windows* XP, Windows Vista* | Intel® 945GM Express Chipset, Intel® GM965 Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: During Post, VBIOS uses High Res Plane to display OEM Logo’s. This data in the frame buffer is not cleared and hence the corruption. SB do not program Start Address as part of setmode. There are cases that Start Address is not available during setmode in Windows Vista*. Windows Vista* OS will call Driver to BlankVideo before setmode and enables back the video after setmode through SetSourceVisibilty DDI. But SB internally disables and enables back the video as part of setmode. This causes the corruption. This was required for Windows* XP to synchronize with render. The same is not required in Windows Vista*. Fix Description: Added a new flag bVideoBlankingReqd in setmode interface. Clients have to set/reset this flag based on their need. Windows* XP setmode path has to set this flag and Windows Vista* setmode path has to reset this flag. We need to set this flag in all cases within SB where we use SetMode Interface.
BugID: 2290237 | CLONE no longer functional and loss of monitor after lid event (5 second wait between lid close and lid open). | Miniport | Windows Vista*, Windows Vista*-64 | Intel® 945GM Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: On lid close/open, we get two notifications from system BIOS. 1) Lid switch notification(mandatory) „³ Drivershould notify OS about addition/removal of LFP depending on lid open/close case respectively. Driver does not indicate a need of display change since we rely on TMM for handling lid events. 2) Display switch notification(optional) -- Driver needs to ignore this notification in Windows Vista* (this was added for Windows* XP since lid notification does not get propagated to driver via. VALIDATE_CHILD IOCTL.) Fix Description: Handle events without any dependency on Event Manager priority scheme. 1) During lid switch notification - Do not update lid status. Just notify OS about addition/removal of LFP. 2) During display switch notification (for Non Opregion case) -- Check dock status. If there is a change in dock status: Dock event. Update dock status and ignore this notification. Check lid status. If there is a change in lid status „³ lid event. Update lid status and ignore this notification. No change in lid/dock status: Service ACPI hotkey event.
BugID: 2197021 | Flicker is displayed on HDTV after switching the desktop resolution to 1766x1000 with HDTV_1080i59 video standard. | TVout | Windows* XP, Windows Media* Center, Windows Vista*, Windows Vista*-64 | Intel® GM965 Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: 3 Tap Filter was not enabled, hence the text readability issue. Fix Description: Following things needs to be followed to enable 3 Tap Filters: 1) If the vertical filter is being used the pipe interlace bit should be off and the TV interlace bit should be on. 2) If the vertical filter is not being used the pipe interlace bit should be on and the TV interlace bit should be off. 3) If Vertical filters are enabled then we have to program the Field_swap mode (BIT15 of 68000) to Normal mode. 4) Load 3 Tap Filter Coefficients as given by Todd. Currently only one set of coefficients is given and its does not have the granularity as found in 5 Tap filters where we have atleast 11 sets for each of the sharpness value. 5) 3 Tap Filter needs to be enabled only when the display’s resolution is greater than 1024.
BugID: 2142742, 2221906, 2287905 | Gamma issues in Windows Vista*. | Miniport | Windows Vista*, Windows Vista*-64 | Intel® G965 Express Chipset, Intel® 945GM Express Chipset, Intel® 945G Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: WA for Gamma implementation in Windows Vista* - maintain a status bit which gets set whenever there is a CommitVidPN with at least 1 path OR SetSourceVisibility, with visibility as TRUE. In UpdateActiveVidPnPresentPath, if this bit is set then get gamma applied by CUI from registry, apply that and reset the bit. If not set, apply gamma sent by OS or default as requested by OS. This bit gets reset when CommitVidPn comes with no path or when SetSourceVisibility gets called to turn off visibility. On Windows Vista*64 the issue continues to happen for DC. Fix Description: Fixed it appropiately.
BugID: 2255316 | Adjust UMD code to make it easier to debug performance issues. | Direct3D* | Windows Vista* | Intel® G965 Express Chipset, Intel® 945G Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: Need to make easier to debug performance issues. Fix Description: Modified the driver code to make debugging command buffer usage percentage easier. Allows UMD to printout command buffer usage and breaks apart reasons for flushes.
BugID: 2255620, 2257115 | Display mode cannot be switched on CRT only mode via pressing the ACPI hot key. | Miniport | Windows* 2000, Windows* XP, Windows* 20003, Windows Media* Center, Windows* XP-64, Windows* 20003-64, Tablet Pc | Intel® GM965 Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: One issue was caused because OpRegion memory was updated of connected devices wrongly with LFP as connected even when lid was closed. The other issue was happening because OpRegion implementation of driver was not taking care of Display configuration removal Table. Fix Description: The fix was to tweak the function GfxGetAttachedDisplayList function in such a way that if OpRegion update flag is set, then the device list gets updated. Adding devices for CUI Static, Hotkey Static and LFP detection are handled have a new function which will again make passive detection call but without ENABLE_REPORT_LFP flag set. The above will be done during enumeration itself. While discussing this issue, we thought of another issue where in with CUI static bit set, during detection in boot, we will not report disconnected devices and the same will be updated in OpRegion memory. However, when the system comes up, we would want to have OpRegion memory updated with CUI static devices of CRT and TV updated. So, we update OpRegion memory with Static device and Hotkey device flag set across any events. The fix was also to check during the determination of next configuration to be set from the toggle list, whether it is valid or not by using Event manager interfaces
BugID: 2211334 | Fn+F3 does not work after "A driver stopped responding and has recoverd" message is displayed. | Miniport | Windows Vista*, Windows Vista*-64 | Intel® 945GM Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: Once TDR happens, driver does a Graphics Device Reset with which all the MMIO and I/O register gets initialized to default values. Due to which ActiveToggle list table index and GR18 I/O registerwere also getting zeroed out as a result of which Display switch was blocked. Fix Description: So now once a TDR happens we save the state of scratch registers before a graphics reset and restore the relevant fields after the reset is done.
BugID: 2222232, 2222651 | DVD playback content flashing when HWA is enabled. | DVD | Windows Vista* | Intel® G965 Express Chipset, Intel® G965 Express Chipset, Intel® GM965 Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: Add floating point save/restore in DXVA.
BugID: 2292571 | Hotplug detection does not work. | AIM | Windows* XP, Windows Vista* | Intel® G965 Express Chipset, Intel® Q33/Q35/G33 Express Chipsets-B
Resolution Description: Root Cause: When hot plug is enabled, it generates an interrupt but driver does not receive this interrupt as interrupt is not enabled in the GMCH by this time. As a result interrupt state is not cleared in the encoder and consequently it blocks all future hot plug interrupts. Fix Description: Fixed the issue by putting a workaround in UAIMEH. Added a new function UAIM_HotPlugInterruptClearWA() in UAIMEHDFP.c, which gets called after enabling hotplug. In this function, it is verified to see if there is any hotplug interrupt source at the output corresponding to the pAIMObj. If there is an interrupt event at that output, interrupt state is cleared.