glamor: Factor out glamor_set_color_depth from glamor_set_color
The former takes explicit screen and depth parameters instead of deriving them from a pixmap. Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
This commit is contained in:
parent
947e94a341
commit
b05ae79ee3
|
@ -104,20 +104,20 @@ glamor_set_destination_drawable(DrawablePtr drawable,
|
|||
*/
|
||||
|
||||
void
|
||||
glamor_set_color(PixmapPtr pixmap,
|
||||
CARD32 pixel,
|
||||
GLint uniform)
|
||||
glamor_set_color_depth(ScreenPtr pScreen,
|
||||
int depth,
|
||||
CARD32 pixel,
|
||||
GLint uniform)
|
||||
{
|
||||
glamor_screen_private *glamor_priv =
|
||||
glamor_get_screen_private((pixmap)->drawable.pScreen);
|
||||
glamor_screen_private *glamor_priv = glamor_get_screen_private(pScreen);
|
||||
float color[4];
|
||||
|
||||
glamor_get_rgba_from_pixel(pixel,
|
||||
&color[0], &color[1], &color[2], &color[3],
|
||||
format_for_pixmap(pixmap));
|
||||
format_for_depth(depth));
|
||||
|
||||
if ((pixmap->drawable.depth == 1 || pixmap->drawable.depth == 8) &&
|
||||
glamor_priv->one_channel_format == GL_RED)
|
||||
if ((depth == 1 || depth == 8) &&
|
||||
glamor_priv->one_channel_format == GL_RED)
|
||||
color[0] = color[3];
|
||||
|
||||
glUniform4fv(uniform, 1, color);
|
||||
|
|
|
@ -33,9 +33,19 @@ glamor_set_destination_drawable(DrawablePtr drawable,
|
|||
int *p_off_y);
|
||||
|
||||
void
|
||||
glamor_set_color_depth(ScreenPtr pScreen,
|
||||
int depth,
|
||||
CARD32 pixel,
|
||||
GLint uniform);
|
||||
|
||||
static inline void
|
||||
glamor_set_color(PixmapPtr pixmap,
|
||||
CARD32 pixel,
|
||||
GLint uniform);
|
||||
GLint uniform)
|
||||
{
|
||||
glamor_set_color_depth(pixmap->drawable.pScreen,
|
||||
pixmap->drawable.depth, pixel, uniform);
|
||||
}
|
||||
|
||||
Bool
|
||||
glamor_set_texture_pixmap(PixmapPtr texture);
|
||||
|
|
Loading…
Reference in New Issue
Block a user