Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
6f6217e9
Commit
6f6217e9
authored
Aug 14, 2012
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winex11: Remove remaining X11 locking around graphics calls.
parent
6bfcb347
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
2 additions
and
87 deletions
+2
-87
bitblt.c
dlls/winex11.drv/bitblt.c
+0
-14
brush.c
dlls/winex11.drv/brush.c
+0
-2
graphics.c
dlls/winex11.drv/graphics.c
+0
-10
mouse.c
dlls/winex11.drv/mouse.c
+0
-4
opengl.c
dlls/winex11.drv/opengl.c
+0
-24
palette.c
dlls/winex11.drv/palette.c
+0
-13
xrender.c
dlls/winex11.drv/xrender.c
+2
-20
No files found.
dlls/winex11.drv/bitblt.c
View file @
6f6217e9
...
...
@@ -600,8 +600,6 @@ static int BITBLT_GetDstArea(X11DRV_PDEVICE *physDev, Pixmap pixmap, GC gc, cons
INT
width
=
visRectDst
->
right
-
visRectDst
->
left
;
INT
height
=
visRectDst
->
bottom
-
visRectDst
->
top
;
wine_tsx11_lock
();
if
(
!
X11DRV_PALETTE_XPixelToPalette
||
(
physDev
->
depth
==
1
)
||
(
X11DRV_PALETTE_PaletteFlags
&
X11DRV_PALETTE_VIRTUAL
)
)
{
...
...
@@ -633,8 +631,6 @@ static int BITBLT_GetDstArea(X11DRV_PDEVICE *physDev, Pixmap pixmap, GC gc, cons
XDestroyImage
(
image
);
}
}
wine_tsx11_unlock
();
return
exposures
;
}
...
...
@@ -707,7 +703,6 @@ void execute_rop( X11DRV_PDEVICE *physdev, Pixmap src_pixmap, GC gc, const RECT
if
(
use_dst
)
BITBLT_GetDstArea
(
physdev
,
pixmaps
[
DST
],
gc
,
visrect
);
null_brush
=
use_pat
&&
!
X11DRV_SetupGCForPatBlt
(
physdev
,
gc
,
TRUE
);
wine_tsx11_lock
();
for
(
;
*
opcode
;
opcode
++
)
{
if
(
OP_DST
(
*
opcode
)
==
DST
)
result
=
pixmaps
[
DST
];
...
...
@@ -737,7 +732,6 @@ void execute_rop( X11DRV_PDEVICE *physdev, Pixmap src_pixmap, GC gc, const RECT
physdev
->
exposures
+=
BITBLT_PutDstArea
(
physdev
,
result
,
visrect
);
XFreePixmap
(
gdi_display
,
pixmaps
[
DST
]
);
if
(
pixmaps
[
TMP
])
XFreePixmap
(
gdi_display
,
pixmaps
[
TMP
]
);
wine_tsx11_unlock
();
add_device_bounds
(
physdev
,
visrect
);
}
...
...
@@ -752,7 +746,6 @@ BOOL X11DRV_PatBlt( PHYSDEV dev, struct bitblt_coords *dst, DWORD rop )
if
(
usePat
&&
!
X11DRV_SetupGCForBrush
(
physDev
))
return
TRUE
;
wine_tsx11_lock
();
XSetFunction
(
gdi_display
,
physDev
->
gc
,
OP_ROP
(
*
opcode
)
);
switch
(
rop
)
/* a few special cases */
...
...
@@ -789,7 +782,6 @@ BOOL X11DRV_PatBlt( PHYSDEV dev, struct bitblt_coords *dst, DWORD rop )
physDev
->
dc_rect
.
top
+
dst
->
visrect
.
top
,
dst
->
visrect
.
right
-
dst
->
visrect
.
left
,
dst
->
visrect
.
bottom
-
dst
->
visrect
.
top
);
wine_tsx11_unlock
();
add_device_bounds
(
physDev
,
&
dst
->
visrect
);
return
TRUE
;
}
...
...
@@ -828,7 +820,6 @@ BOOL X11DRV_StretchBlt( PHYSDEV dst_dev, struct bitblt_coords *dst,
{
if
(
same_format
(
physDevSrc
,
physDevDst
))
{
wine_tsx11_lock
();
XSetFunction
(
gdi_display
,
physDevDst
->
gc
,
OP_ROP
(
*
opcode
)
);
XCopyArea
(
gdi_display
,
physDevSrc
->
drawable
,
physDevDst
->
drawable
,
physDevDst
->
gc
,
...
...
@@ -838,7 +829,6 @@ BOOL X11DRV_StretchBlt( PHYSDEV dst_dev, struct bitblt_coords *dst,
physDevDst
->
dc_rect
.
left
+
dst
->
visrect
.
left
,
physDevDst
->
dc_rect
.
top
+
dst
->
visrect
.
top
);
physDevDst
->
exposures
++
;
wine_tsx11_unlock
();
return
TRUE
;
}
if
(
physDevSrc
->
depth
==
1
)
...
...
@@ -846,7 +836,6 @@ BOOL X11DRV_StretchBlt( PHYSDEV dst_dev, struct bitblt_coords *dst,
int
text_pixel
=
X11DRV_PALETTE_ToPhysical
(
physDevDst
,
GetTextColor
(
physDevDst
->
dev
.
hdc
)
);
int
bkgnd_pixel
=
X11DRV_PALETTE_ToPhysical
(
physDevDst
,
GetBkColor
(
physDevDst
->
dev
.
hdc
)
);
wine_tsx11_lock
();
XSetBackground
(
gdi_display
,
physDevDst
->
gc
,
text_pixel
);
XSetForeground
(
gdi_display
,
physDevDst
->
gc
,
bkgnd_pixel
);
XSetFunction
(
gdi_display
,
physDevDst
->
gc
,
OP_ROP
(
*
opcode
)
);
...
...
@@ -858,12 +847,10 @@ BOOL X11DRV_StretchBlt( PHYSDEV dst_dev, struct bitblt_coords *dst,
physDevDst
->
dc_rect
.
left
+
dst
->
visrect
.
left
,
physDevDst
->
dc_rect
.
top
+
dst
->
visrect
.
top
,
1
);
physDevDst
->
exposures
++
;
wine_tsx11_unlock
();
return
TRUE
;
}
}
wine_tsx11_lock
();
gc
=
XCreateGC
(
gdi_display
,
physDevDst
->
drawable
,
0
,
NULL
);
XSetSubwindowMode
(
gdi_display
,
gc
,
IncludeInferiors
);
XSetGraphicsExposures
(
gdi_display
,
gc
,
False
);
...
...
@@ -902,7 +889,6 @@ BOOL X11DRV_StretchBlt( PHYSDEV dst_dev, struct bitblt_coords *dst,
physDevSrc
->
dc_rect
.
top
+
src
->
visrect
.
top
,
width
,
height
,
0
,
0
);
}
wine_tsx11_unlock
();
execute_rop
(
physDevDst
,
src_pixmap
,
gc
,
&
dst
->
visrect
,
rop
);
...
...
dlls/winex11.drv/brush.c
View file @
6f6217e9
...
...
@@ -226,7 +226,6 @@ static BOOL select_pattern_brush( X11DRV_PDEVICE *physdev, const struct brush_pa
pixmap
=
create_pixmap_from_image
(
physdev
->
dev
.
hdc
,
&
vis
,
info
,
&
pattern
->
bits
,
pattern
->
usage
);
if
(
!
pixmap
)
return
FALSE
;
wine_tsx11_lock
();
if
(
physdev
->
brush
.
pixmap
)
XFreePixmap
(
gdi_display
,
physdev
->
brush
.
pixmap
);
physdev
->
brush
.
pixmap
=
pixmap
;
...
...
@@ -240,7 +239,6 @@ static BOOL select_pattern_brush( X11DRV_PDEVICE *physdev, const struct brush_pa
physdev
->
brush
.
fillStyle
=
FillTiled
;
physdev
->
brush
.
pixel
=
0
;
/* Ignored */
}
wine_tsx11_unlock
();
return
TRUE
;
}
...
...
dlls/winex11.drv/graphics.c
View file @
6f6217e9
...
...
@@ -364,7 +364,6 @@ BOOL X11DRV_SetupGCForPatBlt( X11DRV_PDEVICE *physDev, GC gc, BOOL fMapColors )
{
register
int
x
,
y
;
XImage
*
image
;
wine_tsx11_lock
();
pixmap
=
XCreatePixmap
(
gdi_display
,
root_window
,
8
,
8
,
physDev
->
depth
);
image
=
XGetImage
(
gdi_display
,
physDev
->
brush
.
pixmap
,
0
,
0
,
8
,
8
,
AllPlanes
,
ZPixmap
);
...
...
@@ -374,7 +373,6 @@ BOOL X11DRV_SetupGCForPatBlt( X11DRV_PDEVICE *physDev, GC gc, BOOL fMapColors )
X11DRV_PALETTE_XPixelToPalette
[
XGetPixel
(
image
,
x
,
y
)]
);
XPutImage
(
gdi_display
,
pixmap
,
gc
,
image
,
0
,
0
,
0
,
0
,
8
,
8
);
XDestroyImage
(
image
);
wine_tsx11_unlock
();
val
.
tile
=
pixmap
;
}
else
val
.
tile
=
physDev
->
brush
.
pixmap
;
...
...
@@ -631,7 +629,6 @@ static BOOL X11DRV_DrawArc( PHYSDEV dev, INT left, INT top, INT right, INT botto
if
(
X11DRV_SetupGCForPen
(
physDev
))
{
wine_tsx11_lock
();
XDrawArc
(
gdi_display
,
physDev
->
drawable
,
physDev
->
gc
,
physDev
->
dc_rect
.
left
+
rc
.
left
,
physDev
->
dc_rect
.
top
+
rc
.
top
,
rc
.
right
-
rc
.
left
-
1
,
rc
.
bottom
-
rc
.
top
-
1
,
istart_angle
,
idiff_angle
);
...
...
@@ -691,7 +688,6 @@ static BOOL X11DRV_DrawArc( PHYSDEV dev, INT left, INT top, INT right, INT botto
XDrawLines
(
gdi_display
,
physDev
->
drawable
,
physDev
->
gc
,
points
,
lines
+
1
,
CoordModeOrigin
);
}
wine_tsx11_unlock
();
}
physDev
->
pen
.
width
=
oldwidth
;
...
...
@@ -871,7 +867,6 @@ BOOL X11DRV_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
if
(
X11DRV_SetupGCForBrush
(
physDev
))
{
wine_tsx11_lock
();
if
(
ell_width
>
(
rc
.
right
-
rc
.
left
)
)
if
(
ell_height
>
(
rc
.
bottom
-
rc
.
top
)
)
XFillArc
(
gdi_display
,
physDev
->
drawable
,
physDev
->
gc
,
...
...
@@ -933,7 +928,6 @@ BOOL X11DRV_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
rc
.
right
-
rc
.
left
-
2
,
rc
.
bottom
-
rc
.
top
-
ell_height
-
1
);
}
wine_tsx11_unlock
();
}
/* FIXME: this could be done with on X call
* more efficient and probably more correct
...
...
@@ -946,7 +940,6 @@ BOOL X11DRV_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
*/
if
(
X11DRV_SetupGCForPen
(
physDev
))
{
wine_tsx11_lock
();
if
(
ell_width
>
(
rc
.
right
-
rc
.
left
)
)
if
(
ell_height
>
(
rc
.
bottom
-
rc
.
top
)
)
XDrawArc
(
gdi_display
,
physDev
->
drawable
,
physDev
->
gc
,
...
...
@@ -1010,7 +1003,6 @@ BOOL X11DRV_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
physDev
->
dc_rect
.
left
+
rc
.
left
,
physDev
->
dc_rect
.
top
+
rc
.
bottom
-
(
ell_height
+
1
)
/
2
);
}
wine_tsx11_unlock
();
}
physDev
->
pen
.
width
=
oldwidth
;
...
...
@@ -1509,7 +1501,6 @@ static unsigned char *get_icm_profile( unsigned long *size )
unsigned
long
count
,
remaining
;
unsigned
char
*
profile
,
*
ret
=
NULL
;
wine_tsx11_lock
();
XGetWindowProperty
(
gdi_display
,
DefaultRootWindow
(
gdi_display
),
x11drv_atom
(
_ICC_PROFILE
),
0
,
~
0UL
,
False
,
AnyPropertyType
,
&
type
,
&
format
,
&
count
,
&
remaining
,
&
profile
);
...
...
@@ -1519,7 +1510,6 @@ static unsigned char *get_icm_profile( unsigned long *size )
if
((
ret
=
HeapAlloc
(
GetProcessHeap
(),
0
,
*
size
)))
memcpy
(
ret
,
profile
,
*
size
);
XFree
(
profile
);
}
wine_tsx11_unlock
();
return
ret
;
}
...
...
dlls/winex11.drv/mouse.c
View file @
6f6217e9
...
...
@@ -966,7 +966,6 @@ static Cursor create_xlib_monochrome_cursor( HDC hdc, const ICONINFOEXW *icon, i
bits
.
is_copy
=
TRUE
;
if
(
!
(
src_pixmap
=
create_pixmap_from_image
(
hdc
,
&
vis
,
info
,
&
bits
,
DIB_RGB_COLORS
)))
goto
done
;
wine_tsx11_lock
();
bits_pixmap
=
XCreatePixmap
(
gdi_display
,
root_window
,
width
,
height
,
1
);
mask_pixmap
=
XCreatePixmap
(
gdi_display
,
root_window
,
width
,
height
,
1
);
gc
=
XCreateGC
(
gdi_display
,
src_pixmap
,
0
,
NULL
);
...
...
@@ -1012,7 +1011,6 @@ static Cursor create_xlib_monochrome_cursor( HDC hdc, const ICONINFOEXW *icon, i
XFreePixmap
(
gdi_display
,
src_pixmap
);
XFreePixmap
(
gdi_display
,
bits_pixmap
);
XFreePixmap
(
gdi_display
,
mask_pixmap
);
wine_tsx11_unlock
();
done:
HeapFree
(
GetProcessHeap
(),
0
,
mask_bits
);
...
...
@@ -1134,7 +1132,6 @@ static Cursor create_xlib_color_cursor( HDC hdc, const ICONINFOEXW *icon, int wi
bits
.
ptr
=
mask_bits
;
mask_pixmap
=
create_pixmap_from_image
(
hdc
,
&
vis
,
info
,
&
bits
,
DIB_RGB_COLORS
);
wine_tsx11_lock
();
if
(
mask_pixmap
)
{
cursor
=
XCreatePixmapCursor
(
gdi_display
,
xor_pixmap
,
mask_pixmap
,
...
...
@@ -1142,7 +1139,6 @@ static Cursor create_xlib_color_cursor( HDC hdc, const ICONINFOEXW *icon, int wi
XFreePixmap
(
gdi_display
,
mask_pixmap
);
}
XFreePixmap
(
gdi_display
,
xor_pixmap
);
wine_tsx11_unlock
();
done:
HeapFree
(
GetProcessHeap
(),
0
,
color_bits
);
...
...
dlls/winex11.drv/opengl.c
View file @
6f6217e9
...
...
@@ -335,7 +335,6 @@ static int GLXErrorHandler(Display *dpy, XErrorEvent *event, void *arg)
return
1
;
}
static
BOOL
infoInitialized
=
FALSE
;
static
BOOL
X11DRV_WineGL_InitOpenglInfo
(
void
)
{
int
screen
=
DefaultScreen
(
gdi_display
);
...
...
@@ -348,16 +347,10 @@ static BOOL X11DRV_WineGL_InitOpenglInfo(void)
BOOL
ret
=
FALSE
;
int
attribList
[]
=
{
GLX_RGBA
,
GLX_DOUBLEBUFFER
,
None
};
if
(
infoInitialized
)
return
TRUE
;
infoInitialized
=
TRUE
;
attr
.
override_redirect
=
True
;
attr
.
colormap
=
None
;
attr
.
border_pixel
=
0
;
wine_tsx11_lock
();
vis
=
pglXChooseVisual
(
gdi_display
,
screen
,
attribList
);
if
(
vis
)
{
#ifdef __i386__
...
...
@@ -460,7 +453,6 @@ done:
}
if
(
win
!=
root
)
XDestroyWindow
(
gdi_display
,
win
);
if
(
attr
.
colormap
)
XFreeColormap
(
gdi_display
,
attr
.
colormap
);
wine_tsx11_unlock
();
if
(
!
ret
)
ERR
(
" couldn't initialize OpenGL, expect problems
\n
"
);
return
ret
;
}
...
...
@@ -560,11 +552,9 @@ static BOOL has_opengl(void)
if
(
!
X11DRV_WineGL_InitOpenglInfo
())
goto
failed
;
wine_tsx11_lock
();
if
(
pglXQueryExtension
(
gdi_display
,
&
error_base
,
&
event_base
))
{
TRACE
(
"GLX is up and running error_base = %d
\n
"
,
error_base
);
}
else
{
wine_tsx11_unlock
();
ERR
(
"GLX extension is missing, disabling OpenGL.
\n
"
);
goto
failed
;
}
...
...
@@ -629,8 +619,6 @@ static BOOL has_opengl(void)
}
X11DRV_WineGL_LoadExtensions
();
wine_tsx11_unlock
();
return
TRUE
;
failed:
...
...
@@ -1201,8 +1189,6 @@ static int glxdrv_wglDescribePixelFormat( HDC hdc, int iPixelFormat,
ppfd
->
dwFlags
=
PFD_SUPPORT_OPENGL
;
/* Now the flags extracted from the Visual */
wine_tsx11_lock
();
pglXGetFBConfigAttrib
(
gdi_display
,
fmt
->
fbconfig
,
GLX_DRAWABLE_TYPE
,
&
value
);
if
(
value
&
GLX_WINDOW_BIT
)
ppfd
->
dwFlags
|=
PFD_DRAW_TO_WINDOW
;
...
...
@@ -1288,8 +1274,6 @@ static int glxdrv_wglDescribePixelFormat( HDC hdc, int iPixelFormat,
pglXGetFBConfigAttrib
(
gdi_display
,
fmt
->
fbconfig
,
GLX_STENCIL_SIZE
,
&
value
);
ppfd
->
cStencilBits
=
value
;
wine_tsx11_unlock
();
ppfd
->
iLayerType
=
PFD_MAIN_PLANE
;
if
(
TRACE_ON
(
wgl
))
{
...
...
@@ -1388,7 +1372,6 @@ static BOOL glxdrv_wglSetPixelFormat( HDC hdc, int iPixelFormat, const PIXELFORM
if
(
TRACE_ON
(
wgl
))
{
int
gl_test
=
0
;
wine_tsx11_lock
();
gl_test
=
pglXGetFBConfigAttrib
(
gdi_display
,
fmt
->
fbconfig
,
GLX_FBCONFIG_ID
,
&
value
);
if
(
gl_test
)
{
ERR
(
"Failed to retrieve FBCONFIG_ID from GLXFBConfig, expect problems.
\n
"
);
...
...
@@ -1400,7 +1383,6 @@ static BOOL glxdrv_wglSetPixelFormat( HDC hdc, int iPixelFormat, const PIXELFORM
pglXGetFBConfigAttrib
(
gdi_display
,
fmt
->
fbconfig
,
GLX_DRAWABLE_TYPE
,
&
value
);
TRACE
(
" - DRAWABLE_TYPE 0x%x
\n
"
,
value
);
}
wine_tsx11_unlock
();
}
return
TRUE
;
}
...
...
@@ -2300,7 +2282,6 @@ static BOOL X11DRV_wglGetPixelFormatAttribivARB( HDC hdc, int iPixelFormat, int
WARN
(
"Unable to convert iPixelFormat %d to a GLX one!
\n
"
,
iPixelFormat
);
}
wine_tsx11_lock
();
for
(
i
=
0
;
i
<
nAttributes
;
++
i
)
{
const
int
curWGLAttr
=
piAttributes
[
i
];
TRACE
(
"pAttr[%d] = %x
\n
"
,
i
,
curWGLAttr
);
...
...
@@ -2506,16 +2487,13 @@ static BOOL X11DRV_wglGetPixelFormatAttribivARB( HDC hdc, int iPixelFormat, int
piValues
[
i
]
=
GL_FALSE
;
}
}
wine_tsx11_unlock
();
return
GL_TRUE
;
get_error:
wine_tsx11_unlock
();
ERR
(
"(%p): unexpected failure on GetFBConfigAttrib(%x) returns FALSE
\n
"
,
hdc
,
curGLXAttr
);
return
GL_FALSE
;
pix_error:
wine_tsx11_unlock
();
ERR
(
"(%p): unexpected iPixelFormat(%d) vs nFormats(%d), returns FALSE
\n
"
,
hdc
,
iPixelFormat
,
nWGLFormats
);
return
GL_FALSE
;
}
...
...
@@ -2578,7 +2556,6 @@ static BOOL X11DRV_wglBindTexImageARB( struct wgl_pbuffer *object, int iBuffer )
Drawable
prev_drawable
;
GLXContext
tmp_context
;
wine_tsx11_lock
();
prev_context
=
pglXGetCurrentContext
();
prev_drawable
=
pglXGetCurrentDrawable
();
...
...
@@ -2607,7 +2584,6 @@ static BOOL X11DRV_wglBindTexImageARB( struct wgl_pbuffer *object, int iBuffer )
/* Switch back to the original drawable and upload the pbuffer-texture */
pglXMakeCurrent
(
gdi_display
,
prev_drawable
,
prev_context
);
pglXDestroyContext
(
gdi_display
,
tmp_context
);
wine_tsx11_unlock
();
return
GL_TRUE
;
}
...
...
dlls/winex11.drv/palette.c
View file @
6f6217e9
...
...
@@ -157,7 +157,6 @@ int X11DRV_PALETTE_Init(void)
X11DRV_PALETTE_PaletteFlags
|=
X11DRV_PALETTE_VIRTUAL
;
case
GrayScale
:
case
PseudoColor
:
wine_tsx11_lock
();
if
(
private_color_map
)
{
XSetWindowAttributes
win_attr
;
...
...
@@ -182,7 +181,6 @@ int X11DRV_PALETTE_Init(void)
X11DRV_PALETTE_PaletteXColormap
=
XCreateColormap
(
gdi_display
,
root_window
,
visual
,
AllocNone
);
}
wine_tsx11_unlock
();
break
;
case
StaticGray
:
...
...
@@ -199,7 +197,6 @@ int X11DRV_PALETTE_Init(void)
/* FIXME: hack to detect XFree32 XF_VGA16 ... We just have
* depths 1 and 4
*/
wine_tsx11_lock
();
depths
=
XListDepths
(
gdi_display
,
DefaultScreen
(
gdi_display
),
&
nrofdepths
);
if
((
nrofdepths
==
2
)
&&
((
depths
[
0
]
==
4
)
||
depths
[
1
]
==
4
))
{
monoPlane
=
1
;
...
...
@@ -217,7 +214,6 @@ int X11DRV_PALETTE_Init(void)
X11DRV_PALETTE_ComputeColorShifts
(
&
X11DRV_PALETTE_default_shifts
,
visual
->
red_mask
,
visual
->
green_mask
,
visual
->
blue_mask
);
}
XFree
(
depths
);
wine_tsx11_unlock
();
break
;
}
}
...
...
@@ -347,7 +343,6 @@ static BOOL X11DRV_PALETTE_BuildPrivateMap( const PALETTEENTRY *sys_pal_template
/* Allocate system palette colors */
wine_tsx11_lock
();
for
(
i
=
0
;
i
<
palette_size
;
i
++
)
{
if
(
i
<
NB_RESERVED_COLORS
/
2
)
...
...
@@ -379,7 +374,6 @@ static BOOL X11DRV_PALETTE_BuildPrivateMap( const PALETTEENTRY *sys_pal_template
else
if
(
i
>=
palette_size
-
8
)
X11DRV_PALETTE_mapEGAPixel
[
i
-
(
palette_size
-
16
)]
=
color
.
pixel
;
}
wine_tsx11_unlock
();
X11DRV_PALETTE_XPixelToPalette
=
X11DRV_PALETTE_PaletteToXPixel
=
NULL
;
...
...
@@ -416,7 +410,6 @@ static BOOL X11DRV_PALETTE_BuildSharedMap( const PALETTEENTRY *sys_pal_template
if
(
copy_default_colors
>
256
)
copy_default_colors
=
256
;
for
(
i
=
0
;
i
<
copy_default_colors
;
i
++
)
defaultColors
[
i
].
pixel
=
(
long
)
i
;
wine_tsx11_lock
();
XQueryColors
(
gdi_display
,
defaultCM
,
&
defaultColors
[
0
],
copy_default_colors
);
for
(
i
=
0
;
i
<
copy_default_colors
;
i
++
)
XAllocColor
(
gdi_display
,
X11DRV_PALETTE_PaletteXColormap
,
&
defaultColors
[
i
]
);
...
...
@@ -490,7 +483,6 @@ static BOOL X11DRV_PALETTE_BuildSharedMap( const PALETTEENTRY *sys_pal_template
else
if
(
i
>=
NB_RESERVED_COLORS
-
8
)
X11DRV_PALETTE_mapEGAPixel
[
i
-
(
NB_RESERVED_COLORS
-
16
)]
=
color
.
pixel
;
}
wine_tsx11_unlock
();
/* now allocate changeable set */
...
...
@@ -509,7 +501,6 @@ static BOOL X11DRV_PALETTE_BuildSharedMap( const PALETTEENTRY *sys_pal_template
return
FALSE
;
}
wine_tsx11_lock
();
/* comment this out if you want to debug palette init */
XGrabServer
(
gdi_display
);
...
...
@@ -543,7 +534,6 @@ static BOOL X11DRV_PALETTE_BuildSharedMap( const PALETTEENTRY *sys_pal_template
palette_size
=
c_min
+
NB_RESERVED_COLORS
;
XUngrabServer
(
gdi_display
);
wine_tsx11_unlock
();
TRACE
(
"adjusted size %i colorcells
\n
"
,
palette_size
);
}
...
...
@@ -666,8 +656,6 @@ static void X11DRV_PALETTE_FillDefaultColors( const PALETTEENTRY *sys_pal_templa
inc_g
=
(
255
-
NB_COLORCUBE_START_INDEX
)
/
no_g
;
inc_b
=
(
255
-
NB_COLORCUBE_START_INDEX
)
/
no_b
;
wine_tsx11_lock
();
idx
=
X11DRV_PALETTE_firstFree
;
if
(
idx
!=
-
1
)
...
...
@@ -737,7 +725,6 @@ static void X11DRV_PALETTE_FillDefaultColors( const PALETTEENTRY *sys_pal_templa
}
COLOR_gapFilled
=
idx
-
COLOR_gapStart
;
}
wine_tsx11_unlock
();
}
...
...
dlls/winex11.drv/xrender.c
View file @
6f6217e9
...
...
@@ -315,7 +315,6 @@ static int load_xrender_formats(void)
if
(
is_wxrformat_compatible_with_default_visual
(
&
wxr_formats_template
[
i
]))
{
wine_tsx11_lock
();
pict_formats
[
i
]
=
pXRenderFindVisualFormat
(
gdi_display
,
visual
);
if
(
!
pict_formats
[
i
])
{
...
...
@@ -331,7 +330,6 @@ static int load_xrender_formats(void)
}
}
}
wine_tsx11_unlock
();
if
(
pict_formats
[
i
])
default_format
=
i
;
}
else
...
...
@@ -603,7 +601,6 @@ static void free_xrender_picture( struct xrender_physdev *dev )
{
if
(
dev
->
pict
||
dev
->
pict_src
)
{
wine_tsx11_lock
();
XFlush
(
gdi_display
);
if
(
dev
->
pict
)
{
...
...
@@ -617,7 +614,6 @@ static void free_xrender_picture( struct xrender_physdev *dev )
pXRenderFreePicture
(
gdi_display
,
dev
->
pict_src
);
dev
->
pict_src
=
0
;
}
wine_tsx11_unlock
();
}
}
...
...
@@ -627,7 +623,7 @@ static Picture get_no_alpha_mask(void)
static
Pixmap
pixmap
;
static
Picture
pict
;
wine_tsx11_lock
(
);
EnterCriticalSection
(
&
xrender_cs
);
if
(
!
pict
)
{
XRenderPictureAttributes
pa
;
...
...
@@ -642,7 +638,7 @@ static Picture get_no_alpha_mask(void)
col
.
alpha
=
0
;
pXRenderFillRectangle
(
gdi_display
,
PictOpSrc
,
pict
,
&
col
,
0
,
0
,
1
,
1
);
}
wine_tsx11_unlock
(
);
LeaveCriticalSection
(
&
xrender_cs
);
return
pict
;
}
...
...
@@ -983,7 +979,6 @@ static int GetCacheEntry( HDC hdc, LFANDSIZE *plfsz )
char
*
value
;
BOOL
antialias
=
TRUE
;
wine_tsx11_lock
();
if
((
value
=
XGetDefault
(
gdi_display
,
"Xft"
,
"antialias"
)))
{
if
(
tolower
(
value
[
0
])
==
'f'
||
tolower
(
value
[
0
])
==
'n'
||
...
...
@@ -999,7 +994,6 @@ static int GetCacheEntry( HDC hdc, LFANDSIZE *plfsz )
else
if
(
!
strcmp
(
value
,
"vbgr"
))
entry
->
aa_default
=
AA_VBGR
;
else
if
(
!
strcmp
(
value
,
"none"
))
entry
->
aa_default
=
AA_Grey
;
}
wine_tsx11_unlock
();
if
(
!
antialias
)
font_smoothing
=
FALSE
;
}
...
...
@@ -1644,7 +1638,6 @@ static BOOL xrenderdrv_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags,
}
}
wine_tsx11_lock
();
/* Make sure we don't have any transforms set from a previous call */
set_xrender_transformation
(
pict
,
1
,
1
,
0
,
0
);
pXRenderCompositeText16
(
gdi_display
,
render_op
,
...
...
@@ -1652,7 +1645,6 @@ static BOOL xrenderdrv_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags,
pict
,
formatEntry
->
font_format
,
0
,
0
,
0
,
0
,
elts
,
count
);
wine_tsx11_unlock
();
HeapFree
(
GetProcessHeap
(),
0
,
elts
);
LeaveCriticalSection
(
&
xrender_cs
);
...
...
@@ -1669,7 +1661,6 @@ static void multiply_alpha( Picture pict, XRenderPictFormat *format, int alpha,
Picture
src_pict
,
mask_pict
;
XRenderColor
color
;
wine_tsx11_lock
();
src_pixmap
=
XCreatePixmap
(
gdi_display
,
root_window
,
1
,
1
,
format
->
depth
);
mask_pixmap
=
XCreatePixmap
(
gdi_display
,
root_window
,
1
,
1
,
format
->
depth
);
pa
.
repeat
=
RepeatNormal
;
...
...
@@ -1686,7 +1677,6 @@ static void multiply_alpha( Picture pict, XRenderPictFormat *format, int alpha,
pXRenderFreePicture
(
gdi_display
,
mask_pict
);
XFreePixmap
(
gdi_display
,
src_pixmap
);
XFreePixmap
(
gdi_display
,
mask_pixmap
);
wine_tsx11_unlock
();
}
/* Helper function for (stretched) blitting using xrender */
...
...
@@ -1721,7 +1711,6 @@ static void xrender_blit( int op, Picture src_pict, Picture mask_pict, Picture d
/* When we need to scale we perform scaling and source_x / source_y translation using a transformation matrix.
* This is needed because XRender is inaccurate in combination with scaled source coordinates passed to XRenderComposite.
* In all other cases we do use XRenderComposite for translation as it is faster than using a transformation matrix. */
wine_tsx11_lock
();
if
(
xscale
!=
1
.
0
||
yscale
!=
1
.
0
)
{
/* In case of mirroring we need a source x- and y-offset because without the pixels will be
...
...
@@ -1739,7 +1728,6 @@ static void xrender_blit( int op, Picture src_pict, Picture mask_pict, Picture d
}
pXRenderComposite
(
gdi_display
,
op
,
src_pict
,
mask_pict
,
dst_pict
,
x_offset
,
y_offset
,
0
,
0
,
x_dst
,
y_dst
,
width_dst
,
height_dst
);
wine_tsx11_unlock
();
}
/* Helper function for (stretched) mono->color blitting using xrender */
...
...
@@ -1783,7 +1771,6 @@ static void xrender_mono_blit( Picture src_pict, Picture dst_pict,
color
.
alpha
=
0xffff
;
/* tile pict needs 100% alpha */
tile_pict
=
get_tile_pict
(
dst_format
,
&
color
);
wine_tsx11_lock
();
pXRenderFillRectangle
(
gdi_display
,
PictOpSrc
,
dst_pict
,
fg
,
x_dst
,
y_dst
,
width_dst
,
height_dst
);
if
(
xscale
!=
1
.
0
||
yscale
!=
1
.
0
)
...
...
@@ -1803,7 +1790,6 @@ static void xrender_mono_blit( Picture src_pict, Picture dst_pict,
}
pXRenderComposite
(
gdi_display
,
PictOpOver
,
tile_pict
,
src_pict
,
dst_pict
,
0
,
0
,
x_offset
,
y_offset
,
x_dst
,
y_dst
,
width_dst
,
height_dst
);
wine_tsx11_unlock
();
LeaveCriticalSection
(
&
xrender_cs
);
/* force the alpha channel for background pixels, it has been set to 100% by the tile */
...
...
@@ -2056,7 +2042,6 @@ static DWORD xrenderdrv_PutImage( PHYSDEV dev, HRGN clip, BITMAPINFO *info,
tmp
.
y
-=
tmp
.
visrect
.
top
;
OffsetRect
(
&
tmp
.
visrect
,
-
tmp
.
visrect
.
left
,
-
tmp
.
visrect
.
top
);
wine_tsx11_lock
();
gc
=
XCreateGC
(
gdi_display
,
physdev
->
x11dev
->
drawable
,
0
,
NULL
);
XSetSubwindowMode
(
gdi_display
,
gc
,
IncludeInferiors
);
XSetGraphicsExposures
(
gdi_display
,
gc
,
False
);
...
...
@@ -2064,7 +2049,6 @@ static DWORD xrenderdrv_PutImage( PHYSDEV dev, HRGN clip, BITMAPINFO *info,
tmp
.
visrect
.
right
-
tmp
.
visrect
.
left
,
tmp
.
visrect
.
bottom
-
tmp
.
visrect
.
top
,
physdev
->
pict_format
->
depth
);
wine_tsx11_unlock
();
xrender_put_image
(
src_pixmap
,
src_pict
,
mask_pict
,
NULL
,
physdev
->
pict_format
,
NULL
,
tmp_pixmap
,
src
,
&
tmp
,
use_repeat
);
...
...
@@ -2335,7 +2319,6 @@ static BOOL xrenderdrv_GradientFill( PHYSDEV dev, TRIVERTEX *vert_array, ULONG n
dst_pict
=
get_xrender_picture
(
physdev
,
0
,
NULL
);
wine_tsx11_lock
();
src_pict
=
pXRenderCreateLinearGradient
(
gdi_display
,
&
gradient
,
stops
,
colors
,
2
);
xrender_blit
(
PictOpSrc
,
src_pict
,
0
,
dst_pict
,
0
,
0
,
rc
.
right
-
rc
.
left
,
rc
.
bottom
-
rc
.
top
,
...
...
@@ -2343,7 +2326,6 @@ static BOOL xrenderdrv_GradientFill( PHYSDEV dev, TRIVERTEX *vert_array, ULONG n
physdev
->
x11dev
->
dc_rect
.
top
+
rc
.
top
,
rc
.
right
-
rc
.
left
,
rc
.
bottom
-
rc
.
top
,
1
,
1
);
pXRenderFreePicture
(
gdi_display
,
src_pict
);
wine_tsx11_unlock
();
add_device_bounds
(
physdev
->
x11dev
,
&
rc
);
}
return
TRUE
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment