Re: [Intel-gfx] [PATCH] tests/testdisplay.c: Add a option '-g' to save images which intended to paint on screen during each mode setting.

2012-08-08 Thread Sun, Yi
> -Original Message-
> From: daniel.vet...@ffwll.ch [mailto:daniel.vet...@ffwll.ch] On Behalf Of
> Daniel Vetter
> Sent: Monday, August 06, 2012 4:33 PM
> To: Sun, Yi
> Cc: intel-gfx@lists.freedesktop.org; Jin, Gordon
> Subject: Re: [PATCH] tests/testdisplay.c: Add a option '-g' to save images 
> which
> intended to paint on screen during each mode setting.
> 
> On Mon, Aug 6, 2012 at 9:47 AM, Sun, Yi  wrote:
> > We want to use the option to save the images which are intended to be
> painted on the screen.
> > The images will be save in the folder "saveimages", and named like
> "1_1920x1...@60.png", "2_1920x1080@60" .
> >
> > That would be help for our automatic display testing. If some mode can't be
> lighten up in automatic display testing, we could check the image saved in the
> folder to see which mode setting failed manually.
> 
> I still don't see what you need the images for ... adding more output sounds
> sane, only lighting up a specific mode makes sense, but I have no idea what 
> you
> need the actual pngs for. Maybe I'm a bit dense.
> -Daniel
> --

Oh, it seems that lighting up a specific mode is better than saving the surface 
into file. I'll try to rewrite it.

Thanks
--Sun, Yi


> Daniel Vetter
> daniel.vet...@ffwll.ch - +41 (0) 79 364 57 48 - http://blog.ffwll.ch
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] tests/testdisplay.c: Add a option '-g' to save images which intended to paint on screen during each mode setting.

2012-08-06 Thread Daniel Vetter
On Mon, Aug 6, 2012 at 9:47 AM, Sun, Yi  wrote:
> We want to use the option to save the images which are intended to be painted 
> on the screen.
> The images will be save in the folder "saveimages", and named like 
> "1_1920x1...@60.png", "2_1920x1080@60" .
>
> That would be help for our automatic display testing. If some mode can't be 
> lighten up in automatic display testing, we could check the image saved in 
> the folder to see which mode setting failed manually.

I still don't see what you need the images for ... adding more output
sounds sane, only lighting up a specific mode makes sense, but I have
no idea what you need the actual pngs for. Maybe I'm a bit dense.
-Daniel
-- 
Daniel Vetter
daniel.vet...@ffwll.ch - +41 (0) 79 364 57 48 - http://blog.ffwll.ch
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] tests/testdisplay.c: Add a option '-g' to save images which intended to paint on screen during each mode setting.

2012-08-06 Thread Sun, Yi
We want to use the option to save the images which are intended to be painted 
on the screen.
The images will be save in the folder "saveimages", and named like 
"1_1920x1...@60.png", "2_1920x1080@60" .

That would be help for our automatic display testing. If some mode can't be 
lighten up in automatic display testing, we could check the image saved in the 
folder to see which mode setting failed manually.

Thanks
   --Yi Sun


> -Original Message-
> From: Daniel Vetter [mailto:daniel.vet...@ffwll.ch] On Behalf Of Daniel Vetter
> Sent: Monday, August 06, 2012 3:09 PM
> To: Sun, Yi
> Cc: daniel.vet...@ffwll.ch; intel-gfx@lists.freedesktop.org; Jin, Gordon
> Subject: Re: [PATCH] tests/testdisplay.c: Add a option '-g' to save images 
> which
> intended to paint on screen during each mode setting.
> 
> On Wed, Aug 01, 2012 at 09:51:46AM +0800, Yi Sun wrote:
> > That option will save all the images which are created and intended to paint
> on screen.
> > The images will be saved in folder "saveimages" with PNG format.
> >
> > Signed-off-by: Yi Sun 
> 
> tbh I don't see the point of this. Care to elaborate a bit what you want to
> achieve with this?
> -Daniel
> --
> Daniel Vetter
> Mail: dan...@ffwll.ch
> Mobile: +41 (0)79 365 57 48
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] tests/testdisplay.c: Add a option '-g' to save images which intended to paint on screen during each mode setting.

2012-08-06 Thread Daniel Vetter
On Wed, Aug 01, 2012 at 09:51:46AM +0800, Yi Sun wrote:
> That option will save all the images which are created and intended to paint 
> on screen.
> The images will be saved in folder "saveimages" with PNG format.
> 
> Signed-off-by: Yi Sun 

tbh I don't see the point of this. Care to elaborate a bit what you want
to achieve with this?
-Daniel
-- 
Daniel Vetter
Mail: dan...@ffwll.ch
Mobile: +41 (0)79 365 57 48
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] tests/testdisplay.c: Add a option '-g' to save images which intended to paint on screen during each mode setting.

2012-07-31 Thread Ben Widawsky

On 2012-07-31 18:51, Yi Sun wrote:

That option will save all the images which are created and intended
to paint on screen.
The images will be saved in folder "saveimages" with PNG format.

Signed-off-by: Yi Sun 

diff --git a/tests/testdisplay.c b/tests/testdisplay.c
index 4430d07..2d1fdb0 100644
--- a/tests/testdisplay.c
+++ b/tests/testdisplay.c
@@ -64,6 +64,7 @@

 #include 
 #include 
+#include 

 drmModeRes *resources;
 int drm_fd, modes;
@@ -72,6 +73,7 @@ int dump_info = 0, test_all_modes =0,
test_preferred_mode = 0, force_mode = 0,
 int sleep_between_modes = 5;
 uint32_t depth = 24, stride, bpp;
 int qr_code = 0;
+int save_image = 0;

 drmModeModeInfo force_timing;

@@ -379,6 +381,8 @@ paint_output_info(cairo_t *cr, int l_width, int
l_height, void *priv)
cairo_text_extents_t name_extents, mode_extents;
char name_buf[128], mode_buf[128];
int i, x, y, modes_x, modes_y;
+   static int count = 0;
+   count++;

/* Get text extents for each string */
snprintf(name_buf, sizeof name_buf, "%s",
@@ -460,6 +464,25 @@ paint_output_info(cairo_t *cr, int l_width, int
l_height, void *priv)

if (qr_code)
paint_image(cr, "./pass.png");
+
+   if (save_image){
+   char pngname[256];
+   char *pos;
+
+   readlink("/proc/self/exe", pngname, sizeof(pngname));
+   pos = strrchr(pngname, '/');
+   *(pos + 1) = '\0';
+
+   strcat(pngname, "saveimages");
+
+   //judge whether folder mkdir existed, if not create it.
+   if(access(pngname,0) == -1)
+   if (mkdir( pngname,0777))
+   fprintf (stderr, "error %d, %s\n", errno, 
strerror (errno));
+
+   sprintf(pngname, "%s/%d_%s@%d.png", pngname, count, 
c->mode.name,
c->mode.vrefresh);


I think we've already decided we're willing to piss off the BSD folks, 
but just in case we haven't I googled around for a more portable way to 
do this. It seems argv[0] *may* be better, may not. In any case, this 
reminds me that maybe we should start noting things which won't work in 
non-linux operating systems.


I also find it comical that adding the argument, and writing the 
surface is like 5 lines, and the rest is all finding the damn executable 
path :-)



+   cairo_surface_write_to_png( cairo_get_target(cr), pngname );
+   }
 }

 static void sighandler(int signo)
@@ -599,7 +622,7 @@ int update_display(void)
return 1;
 }

-static char optstr[] = "hiaf:s:d:p:mrt";
+static char optstr[] = "hiaf:s:d:p:mrtg";

 static void usage(char *name)
 {
@@ -612,6 +635,7 @@ static void usage(char *name)
fprintf(stderr, "\t-m\ttest the preferred mode\n");
fprintf(stderr, "\t-t\tuse a tiled framebuffer\n");
fprintf(stderr, "\t-r\tprint a QR code on the screen whose content
is \"pass\" for the automatic test\n");
+   fprintf(stderr, "\t-g\tsave images which is intended to paint on
the screen as png files in folder \"saveimages\"\n");
fprintf(stderr, "\t-f\t,\n");
 	fprintf(stderr, 
"\t\t,,,\n");

fprintf(stderr, "\t\ttest force mode\n");
@@ -704,6 +728,9 @@ int main(int argc, char **argv)
case 'r':
qr_code = 1;
break;
+   case 'g':
+   save_image = 1;
+   break;
default:
fprintf(stderr, "unknown option %c\n", c);
/* fall through */


___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH] tests/testdisplay.c: Add a option '-g' to save images which intended to paint on screen during each mode setting.

2012-07-31 Thread Yi Sun
That option will save all the images which are created and intended to paint on 
screen.
The images will be saved in folder "saveimages" with PNG format.

Signed-off-by: Yi Sun 

diff --git a/tests/testdisplay.c b/tests/testdisplay.c
index 4430d07..2d1fdb0 100644
--- a/tests/testdisplay.c
+++ b/tests/testdisplay.c
@@ -64,6 +64,7 @@
 
 #include 
 #include 
+#include 
 
 drmModeRes *resources;
 int drm_fd, modes;
@@ -72,6 +73,7 @@ int dump_info = 0, test_all_modes =0, test_preferred_mode = 
0, force_mode = 0,
 int sleep_between_modes = 5;
 uint32_t depth = 24, stride, bpp;
 int qr_code = 0;
+int save_image = 0;
 
 drmModeModeInfo force_timing;
 
@@ -379,6 +381,8 @@ paint_output_info(cairo_t *cr, int l_width, int l_height, 
void *priv)
cairo_text_extents_t name_extents, mode_extents;
char name_buf[128], mode_buf[128];
int i, x, y, modes_x, modes_y;
+   static int count = 0;
+   count++;
 
/* Get text extents for each string */
snprintf(name_buf, sizeof name_buf, "%s",
@@ -460,6 +464,25 @@ paint_output_info(cairo_t *cr, int l_width, int l_height, 
void *priv)
 
if (qr_code)
paint_image(cr, "./pass.png");
+
+   if (save_image){
+   char pngname[256];
+   char *pos;
+
+   readlink("/proc/self/exe", pngname, sizeof(pngname));
+   pos = strrchr(pngname, '/');
+   *(pos + 1) = '\0';
+
+   strcat(pngname, "saveimages");
+
+   //judge whether folder mkdir existed, if not create it.
+   if(access(pngname,0) == -1)
+   if (mkdir( pngname,0777))
+   fprintf (stderr, "error %d, %s\n", errno, 
strerror (errno));
+
+   sprintf(pngname, "%s/%d_%s@%d.png", pngname, count, 
c->mode.name, c->mode.vrefresh);
+   cairo_surface_write_to_png( cairo_get_target(cr), pngname );
+   }
 }
 
 static void sighandler(int signo)
@@ -599,7 +622,7 @@ int update_display(void)
return 1;
 }
 
-static char optstr[] = "hiaf:s:d:p:mrt";
+static char optstr[] = "hiaf:s:d:p:mrtg";
 
 static void usage(char *name)
 {
@@ -612,6 +635,7 @@ static void usage(char *name)
fprintf(stderr, "\t-m\ttest the preferred mode\n");
fprintf(stderr, "\t-t\tuse a tiled framebuffer\n");
fprintf(stderr, "\t-r\tprint a QR code on the screen whose content is 
\"pass\" for the automatic test\n");
+   fprintf(stderr, "\t-g\tsave images which is intended to paint on the 
screen as png files in folder \"saveimages\"\n");
fprintf(stderr, "\t-f\t,\n");
fprintf(stderr, "\t\t,,,\n");
fprintf(stderr, "\t\ttest force mode\n");
@@ -704,6 +728,9 @@ int main(int argc, char **argv)
case 'r':
qr_code = 1;
break;
+   case 'g':
+   save_image = 1;
+   break;
default:
fprintf(stderr, "unknown option %c\n", c);
/* fall through */
-- 
1.7.6.4

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx