summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/image.c
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2016-02-19 08:51:51 -0700
committerBrian Paul <brianp@vmware.com>2016-02-19 08:51:51 -0700
commit0eb7b5c2a3f17d64e85247c1f4907ce20bc57a73 (patch)
tree7904463dd0f33ac1a4afaf347703c3689ac2be46 /src/mesa/main/image.c
parent8a2a1a6bd6655fd06698ab102289a19e018f314b (diff)
downloadexternal_mesa3d-0eb7b5c2a3f17d64e85247c1f4907ce20bc57a73.zip
external_mesa3d-0eb7b5c2a3f17d64e85247c1f4907ce20bc57a73.tar.gz
external_mesa3d-0eb7b5c2a3f17d64e85247c1f4907ce20bc57a73.tar.bz2
mesa: small optimization of _mesa_expand_bitmap()
Avoid a per-pixel multiply. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/main/image.c')
-rw-r--r--src/mesa/main/image.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/mesa/main/image.c b/src/mesa/main/image.c
index 99f253c..4d6ab6f 100644
--- a/src/mesa/main/image.c
+++ b/src/mesa/main/image.c
@@ -408,9 +408,7 @@ _mesa_expand_bitmap(GLsizei width, GLsizei height,
const GLint srcStride = _mesa_image_row_stride(unpack, width,
GL_COLOR_INDEX, GL_BITMAP);
GLint row, col;
-
-#define SET_PIXEL(COL, ROW) \
- destBuffer[(ROW) * destStride + (COL)] = onValue;
+ GLubyte *dstRow = destBuffer;
for (row = 0; row < height; row++) {
const GLubyte *src = srcRow;
@@ -421,7 +419,7 @@ _mesa_expand_bitmap(GLsizei width, GLsizei height,
for (col = 0; col < width; col++) {
if (*src & mask) {
- SET_PIXEL(col, row);
+ dstRow[col] = onValue;
}
if (mask == 128U) {
@@ -443,7 +441,7 @@ _mesa_expand_bitmap(GLsizei width, GLsizei height,
for (col = 0; col < width; col++) {
if (*src & mask) {
- SET_PIXEL(col, row);
+ dstRow[col] = onValue;
}
if (mask == 1U) {
@@ -461,9 +459,8 @@ _mesa_expand_bitmap(GLsizei width, GLsizei height,
}
srcRow += srcStride;
+ dstRow += destStride;
} /* row */
-
-#undef SET_PIXEL
}