- Add support for pattern brushes and bottom-to-top blt in new EngBitblt
- implement a new much simpler EngCopyBits
- improve clip enumeration code
The code now generally works very well now, only has a few bugs left
svn path=/trunk/; revision=56219
- Implement support for bottom up bitblt
- Add solid pattern support in generic BitBlt function
- Make sure right-to-left is only used in the appropriate functions
- Fix 1bpp _NextPixel() macro
svn path=/trunk/; revision=56218
- Do not overflow the uncommitted range descriptor segment. Really fixes notepad.
- Free the correct region in failure case
- Some comment fixes
See issue #6966 for more details.
svn path=/trunk/; revision=56217
- Add a trivial XLATEOBJ as a global variable.
- Make sure the XLATEOBJ is not NULL, when calling the diblib code
- Remove the IntEngMaskBlt stub, its a very special function for font rendering, keep the old one
- Add more driver debug assertions
- Remove obsolete definition
svn path=/trunk/; revision=56216
- Implement spacial even more optimized versions of SRCCOPY on equal surfaces for 8,16,24 and 32bpp.
- Add the right-to-left versions to the function tables
- Add _CALCSHIFT macro(s) to calculate the shift in the dib functions, instead of precalculating it in EngBitBlt. This costs us a few bytes per function (yes, with so many functions, every byte counts!) but since it's only for 1 and 4 bpp and improves the code by keeping DIB specific code out of the Eng function, it's reasonable to do so.
- Add optional optimization pragmas
svn path=/trunk/; revision=56212
- Apply fixes from Wine 1.4. Fixes invalid free in notepad and other edit control users
See issue #6966 for more details.
svn path=/trunk/; revision=56210
- Once again require a reboot for driver replacement since this seems to cause new issues with devices being enumerated multiple times on vmware
svn path=/trunk/; revision=56206
[NTOSKRNL]
- Bugcheck if a driver reports a PDO with a non-unique instance ID
[ACPI]
- Check that we're not reporting the same device multiple times
svn path=/trunk/; revision=56204
- Create PnpRootRegisterDevice which is used to register a given PDO with the root device so it won't report it twice
- Listing devices by connection works with PCI HAL now but it seems that ACPI is detecting multiple ACPI\PNP0C0F\0 instances here in vbox which is causing the same infinite loop
svn path=/trunk/; revision=56200
- Device manager now reports problem codes, shows unknown devices, and displays non-PnP drivers like Windows
- Inspired by Eric's recent work
[DEVMGMT]
- Finally (!!!) add support for showing devices with no drivers installed yet
- Expand the class tree if one of the devices has a problem
[INF]
- Add legcydrv.inf for installing the LegacyDriver class
[NTOSKRNL]
- Fix null termination issues and enable the legacy driver registry code
- Add a service description in legacy device entries
- Return valid flags for a device status query
- Store problem codes for several common device node failure states
svn path=/trunk/; revision=56199
Implement the 'View/Devices by Connection' feature. It runs very well on windows XP but fails on ReactOS. Needs to be investigated.
svn path=/trunk/; revision=56197
- As a side effect to 45140 one of the "non-used debug features", breaking in with WinDbg, would no longer work. Add this back, as well as the DPC timeout debug check and support for skipping ticks.
svn path=/trunk/; revision=56194
- Forgot this dereference
- Unloading works now, but there are many bugs in the device stacks that prevent it from occurring
- Usbhub will unload properly when a hub is removed for a driver update, but usbstor won't unload when all usb storage devices have been removed
- Work needs to be done to fix issues like this
svn path=/trunk/; revision=56185
- Reenable some dereferences of the driver object
- Fix return values in NtLoadDriver
- Split unloading into code for legacy drivers and non-legacy drivers
svn path=/trunk/; revision=56184
- Remove an extra deference to the device object that happened inside the IopDeleteDevice function (called by Ob when the reference count is 0)
svn path=/trunk/; revision=56183
Add pSetupGuidFromString(), pSetupIsGuidNull() and pSetupStringFromGuid() to the PSDK header setupapi.h and remove a local declaration.
svn path=/trunk/; revision=56182
Add InstallRoot key.
It is reg_sz and contains the full path to the installation directory.
Checked on Windows & Wine.
svn path=/trunk/; revision=56178