third_party/pixman/pixman/pixman-access.c
static void
fetch_scanline_a8r8g8b8_32_sRGB (bits_image_t   *image,
                                 int             x,
                                 int             y,
                                 int             width,
                                 uint32_t       *buffer,
                                 const uint32_t *mask)
{
    const uint32_t *bits = image->bits + y * image->rowstride;
    const uint32_t *pixel = (uint32_t *)bits + x;
    const uint32_t *end = pixel + width;
    uint32_t tmp;
    
    while (pixel < end)
    {
	uint32_t a, r, g, b;

	tmp = READ (image, pixel++);

	a = (tmp >> 24) & 0xff;
	r = (tmp >> 16) & 0xff;
	g = (tmp >> 8) & 0xff;
	b = (tmp >> 0) & 0xff;

	r = to_linear[r] * 255.0f + 0.5f;
	g = to_linear[g] * 255.0f + 0.5f;
	b = to_linear[b] * 255.0f + 0.5f;

	*buffer++ = (a << 24) | (r << 16) | (g << 8) | (b << 0);
    }
}
/* The 32_sRGB paths should be deleted after narrow processing
 * is no longer invoked for formats that are considered wide.
 * (Also see fetch_pixel_generic_lossy_32) */
The 32_sRGB paths should be deleted after narrow processing
is no longer invoked for formats that are considered wide.
The 32_sRGB paths should be deleted after narrow processing is no longer invoked for formats that are considered wide .
static void
fetch_scanline_a8r8g8b8_32_sRGB (bits_image_t   *image,
                                 int             x,
                                 int             y,
                                 int             width,
                                 uint32_t       *buffer,
                                 const uint32_t *mask)
{
    const uint32_t *bits = image->bits + y * image->rowstride;
    const uint32_t *pixel = (uint32_t *)bits + x;
    const uint32_t *end = pixel + width;
    uint32_t tmp;
    while (pixel < end)
    {
	uint32_t a, r, g, b;
	tmp = READ (image, pixel++);
	a = (tmp >> 24) & 0xff;
	r = (tmp >> 16) & 0xff;
	g = (tmp >> 8) & 0xff;
	b = (tmp >> 0) & 0xff;
	r = to_linear[r] * 255.0f + 0.5f;
	g = to_linear[g] * 255.0f + 0.5f;
	b = to_linear[b] * 255.0f + 0.5f;
	*buffer++ = (a << 24) | (r << 16) | (g << 8) | (b << 0);
    }
}
static void fetch_scanline_a8r8g8b8_32_sRGB ( bits_image_t * image , int x , int y , int width , uint32_t * buffer , const uint32_t * mask ) { const uint32_t * bits = image -> bits + y * image -> rowstride ; const uint32_t * pixel = ( uint32_t * ) bits + x ; const uint32_t * end = pixel + width ; uint32_t tmp ; while ( pixel < end ) { uint32_t a , r , g , b ; tmp = READ ( image , pixel ++ ) ; a = ( tmp >> 24 ) & 0xff ; r = ( tmp >> 16 ) & 0xff ; g = ( tmp >> 8 ) & 0xff ; b = ( tmp >> 0 ) & 0xff ; r = to_linear [ r ] * 255.0f + 0.5f ; g = to_linear [ g ] * 255.0f + 0.5f ; b = to_linear [ b ] * 255.0f + 0.5f ; * buffer ++ = ( a << 24 ) | ( r << 16 ) | ( g << 8 ) | ( b << 0 ) ; } }
The 32_sRGB paths should be deleted after narrow processing
 is no longer invoked for formats that are considered wide.
The 32_sRGB paths should be deleted after narrow processing is no longer invoked for formats that are considered wide .