mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-07 02:10:12 +01:00
mesa: more tex image debug/dumping code
This commit is contained in:
parent
d652d26a97
commit
433f2ab2ec
1 changed files with 22 additions and 0 deletions
|
|
@ -23,6 +23,7 @@
|
|||
*/
|
||||
|
||||
#include "mtypes.h"
|
||||
#include "colormac.h"
|
||||
#include "context.h"
|
||||
#include "hash.h"
|
||||
#include "imports.h"
|
||||
|
|
@ -274,6 +275,27 @@ write_texture_image(struct gl_texture_object *texObj)
|
|||
case MESA_FORMAT_ARGB8888:
|
||||
write_ppm(s, img->Data, img->Width, img->Height, 4, 2, 1, 0);
|
||||
break;
|
||||
case MESA_FORMAT_RGB888:
|
||||
write_ppm(s, img->Data, img->Width, img->Height, 3, 2, 1, 0);
|
||||
break;
|
||||
case MESA_FORMAT_RGB565:
|
||||
{
|
||||
GLubyte *buf2 = (GLubyte *) _mesa_malloc(img->Width * img->Height * 3);
|
||||
GLint i;
|
||||
for (i = 0; i < img->Width * img->Height; i++) {
|
||||
GLint r, g, b;
|
||||
GLushort s = ((GLushort *) img->Data)[i];
|
||||
r = UBYTE_TO_CHAN( ((s >> 8) & 0xf8) | ((s >> 13) & 0x7) );
|
||||
g = UBYTE_TO_CHAN( ((s >> 3) & 0xfc) | ((s >> 9) & 0x3) );
|
||||
b = UBYTE_TO_CHAN( ((s << 3) & 0xf8) | ((s >> 2) & 0x7) );
|
||||
buf2[i*3+1] = r;
|
||||
buf2[i*3+2] = g;
|
||||
buf2[i*3+3] = b;
|
||||
}
|
||||
write_ppm(s, buf2, img->Width, img->Height, 3, 2, 1, 0);
|
||||
_mesa_free(buf2);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
printf("XXXX unsupported mesa tex format %d in %s\n",
|
||||
img->TexFormat->MesaFormat, __FUNCTION__);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue