Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Drew DeVault
xserver
Commits
f961390d
Commit
f961390d
authored
Jul 07, 2011
by
Zhigang Gong
Browse files
glamor: Don't need to pad the tile image if pixmap is ni texture.
Signed-off-by:
Zhigang Gong
<
zhigang.gong@linux.intel.com
>
parent
77ecd366
Changes
1
Hide whitespace changes
Inline
Side-by-side
glamor/glamor_core.c
View file @
f961390d
...
...
@@ -242,12 +242,10 @@ Bool
glamor_prepare_access_gc
(
GCPtr
gc
)
{
if
(
gc
->
stipple
)
{
glamor_fallback
(
"has stipple %p
\n
"
,
gc
->
stipple
);
if
(
!
glamor_prepare_access
(
&
gc
->
stipple
->
drawable
,
GLAMOR_ACCESS_RO
))
return
FALSE
;
}
if
(
gc
->
fillStyle
==
FillTiled
)
{
glamor_fallback
(
"has tile pixmap %p
\n
"
,
gc
->
tile
.
pixmap
);
if
(
!
glamor_prepare_access
(
&
gc
->
tile
.
pixmap
->
drawable
,
GLAMOR_ACCESS_RO
))
{
if
(
gc
->
stipple
)
...
...
@@ -353,16 +351,20 @@ glamor_validate_gc(GCPtr gc, unsigned long changes, DrawablePtr drawable)
}
#endif
if
(
changes
&
GCTile
)
{
if
(
!
gc
->
tileIsPixel
&&
FbEvenTile
(
gc
->
tile
.
pixmap
->
drawable
.
width
*
drawable
->
bitsPerPixel
))
{
glamor_fallback
(
"GC %p tile changed %p.
\n
"
,
gc
,
gc
->
tile
.
pixmap
);
if
(
glamor_prepare_access
(
&
gc
->
tile
.
pixmap
->
drawable
,
if
(
!
gc
->
tileIsPixel
)
{
glamor_pixmap_private
*
pixmap_priv
=
glamor_get_pixmap_private
(
gc
->
tile
.
pixmap
);
if
((
!
GLAMOR_PIXMAP_PRIV_HAS_FBO
(
pixmap_priv
))
&&
FbEvenTile
(
gc
->
tile
.
pixmap
->
drawable
.
width
*
drawable
->
bitsPerPixel
))
{
glamor_fallback
(
"GC %p tile changed %p.
\n
"
,
gc
,
gc
->
tile
.
pixmap
);
if
(
glamor_prepare_access
(
&
gc
->
tile
.
pixmap
->
drawable
,
GLAMOR_ACCESS_RW
))
{
fbPadPixmap
(
gc
->
tile
.
pixmap
);
glamor_finish_access
(
&
gc
->
tile
.
pixmap
->
drawable
);
}
}
}
}
}
/* Mask out the GCTile change notification, now that we've done FB's
* job for it.
*/
...
...
@@ -373,7 +375,6 @@ glamor_validate_gc(GCPtr gc, unsigned long changes, DrawablePtr drawable)
/* We can't inline stipple handling like we do for GCTile because
* it sets fbgc privates.
*/
glamor_fallback
(
"GC %p stipple changed %p.
\n
"
,
gc
,
gc
->
stipple
);
if
(
glamor_prepare_access
(
&
gc
->
stipple
->
drawable
,
GLAMOR_ACCESS_RW
))
{
fbValidateGC
(
gc
,
changes
,
drawable
);
glamor_finish_access
(
&
gc
->
stipple
->
drawable
);
...
...
Write
Preview
Supports
Markdown
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