i965: use RGB565 to render a bitmap if Depth is 16
This commit is contained in:
parent
d76545de57
commit
5982d39799
|
@ -166,11 +166,8 @@ do_blit_bitmap( GLcontext *ctx,
|
||||||
struct intel_context *intel = intel_context(ctx);
|
struct intel_context *intel = intel_context(ctx);
|
||||||
struct intel_region *dst = intel_drawbuf_region(intel);
|
struct intel_region *dst = intel_drawbuf_region(intel);
|
||||||
GLfloat tmpColor[4];
|
GLfloat tmpColor[4];
|
||||||
|
GLubyte ubcolor[4];
|
||||||
union {
|
GLuint color8888, color565;
|
||||||
GLuint ui;
|
|
||||||
GLubyte ub[4];
|
|
||||||
} color;
|
|
||||||
|
|
||||||
if (!dst)
|
if (!dst)
|
||||||
return GL_FALSE;
|
return GL_FALSE;
|
||||||
|
@ -187,10 +184,13 @@ do_blit_bitmap( GLcontext *ctx,
|
||||||
ADD_3V(tmpColor, tmpColor, ctx->Current.RasterSecondaryColor);
|
ADD_3V(tmpColor, tmpColor, ctx->Current.RasterSecondaryColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
UNCLAMPED_FLOAT_TO_CHAN(color.ub[0], tmpColor[2]);
|
UNCLAMPED_FLOAT_TO_UBYTE(ubcolor[0], tmpColor[0]);
|
||||||
UNCLAMPED_FLOAT_TO_CHAN(color.ub[1], tmpColor[1]);
|
UNCLAMPED_FLOAT_TO_UBYTE(ubcolor[1], tmpColor[1]);
|
||||||
UNCLAMPED_FLOAT_TO_CHAN(color.ub[2], tmpColor[0]);
|
UNCLAMPED_FLOAT_TO_UBYTE(ubcolor[2], tmpColor[2]);
|
||||||
UNCLAMPED_FLOAT_TO_CHAN(color.ub[3], tmpColor[3]);
|
UNCLAMPED_FLOAT_TO_UBYTE(ubcolor[3], tmpColor[3]);
|
||||||
|
|
||||||
|
color8888 = INTEL_PACKCOLOR8888(ubcolor[0], ubcolor[1], ubcolor[2], ubcolor[3]);
|
||||||
|
color565 = INTEL_PACKCOLOR565(ubcolor[0], ubcolor[1], ubcolor[2]);
|
||||||
|
|
||||||
/* Does zoom apply to bitmaps?
|
/* Does zoom apply to bitmaps?
|
||||||
*/
|
*/
|
||||||
|
@ -289,7 +289,7 @@ do_blit_bitmap( GLcontext *ctx,
|
||||||
dst->cpp,
|
dst->cpp,
|
||||||
(GLubyte *)stipple,
|
(GLubyte *)stipple,
|
||||||
sz,
|
sz,
|
||||||
color.ui,
|
(dst->cpp == 2) ? color565 : color8888,
|
||||||
dst->pitch,
|
dst->pitch,
|
||||||
dst->buffer,
|
dst->buffer,
|
||||||
0,
|
0,
|
||||||
|
|
Loading…
Reference in New Issue