Commit graph

37 commits

Author SHA1 Message Date
Timo Kreuzer
0c60cdb311 [WIN32K]
- Allocate bitmaps as kernel sections, instead of from paged pool, like it's done in windows.
- Fix SURFACE_Cleanup. It was only freeing the memory for API_BITMAPs. If memory was allocated by a driver it never got freed.
- Add BMF_RLE_HACK flag to free decompressed RLE bits
- Support FL_ZERO_MEMORY in EngAllocSectionMem
- Set SURFOBJ::iType when creating a surface

svn path=/branches/reactos-yarotows/; revision=47606
2010-06-06 03:12:56 +00:00
Timo Kreuzer
160142322e [WIN32K]
Make the SURFACE structure a bit more like the half documented windows version.

svn path=/branches/reactos-yarotows/; revision=47603
2010-06-05 21:19:41 +00:00
Jérôme Gardou
de271b9b4f Sync with trunk r47367
svn path=/branches/reactos-yarotows/; revision=47369
2010-05-26 23:20:20 +00:00
Jérôme Gardou
5ba3469f7b [WIN32K]
- merge r47350, slightly modified to get it the yarotows way

svn path=/branches/reactos-yarotows/; revision=47366
2010-05-26 22:29:45 +00:00
Jérôme Gardou
4170ce0625 sync with trunk r47346
svn path=/branches/reactos-yarotows/; revision=47347
2010-05-25 10:27:42 +00:00
Timo Kreuzer
1549a8532e [WIN32K]
Simplify EXLATEOBJ_vInitXlateFromDCs and remove EXLATEOBJ_vInitBrushXlate. Less code, more fun.

svn path=/branches/reactos-yarotows/; revision=47278
2010-05-19 16:23:33 +00:00
Timo Kreuzer
3078dd3c10 sync with trunk (r47268)
svn path=/branches/reactos-yarotows/; revision=47271
2010-05-19 03:44:15 +00:00
Jérôme Gardou
63b50165b2 sync with trunk r47227
svn path=/branches/reactos-yarotows/; revision=47228
2010-05-15 22:30:01 +00:00
Jérôme Gardou
b0aa4f5a2c [WIN32K]
- clean up some unused code
  - use GDIOBJ_IncrementShareCount on Timo suggestion
  - use ppdev semaphore as sort criterion in DC_vPrepareDCsForBlit, spotted by Timo
  - Get ownership before freeing the object in GDIOBJ_ShareUnlockObjByPtr, as whoever set it ready to die had the right to 

svn path=/branches/reactos-yarotows/; revision=47205
2010-05-14 20:19:46 +00:00
Jérôme Gardou
10e3e81202 [WIN32K]
- IntGdiCreateBitmap : assign a default palette to the bitmap created
  - Use IntCreateBitmap where we already have a bitmap to assign
  - delete all mono bitmaps related hacks in xlateobj implementation, as now all bitmaps should have a palette
Fixes last immediately visible glitches when switching modes

svn path=/branches/reactos-yarotows/; revision=47203
2010-05-14 18:51:48 +00:00
Jérôme Gardou
421a63ff44 [WIN32K]
- Get rid of hDIBPalette in SURFACE structure
This allows more code cleanness

svn path=/branches/reactos-yarotows/; revision=47190
2010-05-12 22:56:24 +00:00
Jérôme Gardou
db93f2d307 [WIN32K]
- attach devinfo->hpalDefault to the pdevobj after enabling it
  - attach this palette to surfaces attached to this pdevobj through EngModifySurface
  - use this palette in several place
Partially fixes icon drawing after mode switch

svn path=/branches/reactos-yarotows/; revision=47137
2010-05-08 22:10:41 +00:00
Jérôme Gardou
3d533cb7a2 Sync with trunk r47129
svn path=/branches/reactos-yarotows/; revision=47133
2010-05-08 17:23:51 +00:00
Jérôme Gardou
147736390c Delete win32k.h, it's useless now
svn path=/branches/reactos-yarotows/; revision=47118
2010-05-07 07:44:50 +00:00
Jérôme Gardou
88c9e7c6e8 Sync with trunk (r47116), hopefully without breaking anything.
svn path=/branches/reactos-yarotows/; revision=47117
2010-05-07 07:41:13 +00:00
Jérôme Gardou
2f9569c2e5 [WIN32K]
- really update Text and BackGround brushes when asked to

svn path=/branches/reactos-yarotows/; revision=46966
2010-04-20 20:44:43 +00:00
Jérôme Gardou
82ad88f1ab [WIN32K]
- Get rid of IntEngBitBltEx, it's Exness isn't needed anymore

svn path=/branches/reactos-yarotows/; revision=46940
2010-04-19 15:08:03 +00:00
Jérôme Gardou
e918eb7c29 [WIN32K]
- Update direct DCs surface before blit if needed
  - call directly ppdev in MouseSafetyOnDraw{Start,End}
  - use directly the PDEVOBJ surface in mouse operations
  - Add some mouse-related sanity checks

svn path=/branches/reactos-yarotows/; revision=46937
2010-04-19 13:52:37 +00:00
Jérôme Gardou
083f2b4f4a [WIN32K]
- Finally get rid of SURFACE::BitsLock

svn path=/branches/reactos-yarotows/; revision=46935
2010-04-19 00:56:25 +00:00
Jérôme Gardou
62473c84e9 Sync to trunk (r46918)
svn path=/branches/reactos-yarotows/; revision=46920
2010-04-18 14:06:07 +00:00
Jérôme Gardou
663acbc064 [WIN32K]
- For now, limit DC_UnlockDc to a simple GDIOBJ_LockObj
  - More GDIOBJ_LockMultipleObj, DC_vPrepareDCsForBlit and DC_vFinishBlit fun

svn path=/branches/reactos-yarotows/; revision=46906
2010-04-17 15:24:10 +00:00
Jérôme Gardou
0cdfd4399d [WIN32K]
- Introduce DC_vPrepareDCsForBlit and DC_vFinishBlit and use them in NtGdiAlphaBlend
  - Get rid of now unnecessary call for MouseSafetyOnDraw{Start,End} in IntEngAlphaBlend
  - Yet Another Rewrite of GDIOBJ_LockMultipleObjs :-/ and use it in NtGdiAlphaBlend

svn path=/branches/reactos-yarotows/; revision=46902
2010-04-17 14:20:48 +00:00
Jérôme Gardou
a4e83efd83 [WIN32K]
- Introduce deadlocks killer GDIOBJ_LockMultipleObjs, unused for now
  - Make the PDEVOBJ DCs list a sorted list
Didicated to Physicus

svn path=/branches/reactos-yarotows/; revision=46891
2010-04-15 22:38:04 +00:00
Jérôme Gardou
c3731e5552 [WIN32K]
- get rid of ROS_DC::BitsPerPixel.
1 - It was a hack.
2 - Its use was inconsistent.

svn path=/branches/reactos-yarotows/; revision=46848
2010-04-12 18:44:36 +00:00
Jérôme Gardou
c9353947a1 completely revert 46733
svn path=/branches/reactos-yarotows/; revision=46846
2010-04-11 21:32:53 +00:00
Jérôme Gardou
243eeb574a [WIN32K]
-Make direct DC release shared lock on surface each time they're unlocked.
  -Now they don't hold it unless they're locked themselves.
  -Do not create the device surface when switching modes, this is inconsistent with the PDEVOBJ creation, which does not.

*No more "you are freeing a surface which is still hold" debug message when switching modes*

svn path=/branches/reactos-yarotows/; revision=46733
2010-04-05 10:58:43 +00:00
Jérôme Gardou
6638a5b899 Sync with trunk (aka 'I want my virtualbox mouse integration too')
svn path=/branches/reactos-yarotows/; revision=46732
2010-04-05 09:59:21 +00:00
Jérôme Gardou
736c7b0111 [WIN32K]
Unlock/lock surface when locking DC

svn path=/branches/reactos-yarotows/; revision=46697
2010-04-03 16:32:30 +00:00
Timo Kreuzer
705ea2a9c3 [WIN32K]
- EngAcquireSemaphoreShared: update dwEngAcquireCount
- DC_LockDc/DC_UnlockDc: Acquire PDEV lock only for direct DCs, in that case also update the pSurface pointer
- When copying DC states, copy the surface only for memory dcs
- after switching the mode, update system metrics and redraw the desktop window.
- Remove testdraw code.

svn path=/branches/reactos-yarotows/; revision=46658
2010-04-01 22:36:40 +00:00
Timo Kreuzer
49d7aed889 Merge to trunk head (r46631)
svn path=/branches/reactos-yarotows/; revision=46633
2010-04-01 02:52:00 +00:00
Timo Kreuzer
49383c3d97 [win32k]
Use PREGION as type fo the DC regions instead of PVOID.

svn path=/branches/reactos-yarotows/; revision=46630
2010-03-31 22:43:02 +00:00
Jérôme Gardou
b6edb50eb1 sync with trunk r46493
svn path=/branches/reactos-yarotows/; revision=46494
2010-03-27 20:19:56 +00:00
Jérôme Gardou
76085ba982 [WIN32K]
Lock PDC with pDevObj semaphore too.

svn path=/branches/reactos-yarotows/; revision=46470
2010-03-26 16:17:12 +00:00
Jérôme Gardou
33f63724b1 [WIN32K]
Get rid of hVisRgn in ROS_DC_INFO, use prgnVis in DC instead

svn path=/branches/reactos-yarotows/; revision=46372
2010-03-23 23:02:00 +00:00
Jérôme Gardou
c16ad873a6 sync with trunk (r46275)
svn path=/branches/reactos-yarotows/; revision=46279
2010-03-19 21:09:21 +00:00
Timo Kreuzer
74ef03da5c Commit the stuff. Lots of changes. I'll write a proper list of changes when it's done.
svn path=/branches/reactos-yarotows/; revision=45355
2010-01-30 21:12:42 +00:00
Timo Kreuzer
6afbc8f483 Hopefully create a branch and not destroy the svn repository.
svn path=/branches/reactos-yarotows/; revision=45219
2010-01-23 23:25:04 +00:00