st/xvmc: fix tests so that they pass
authorIlia Mirkin <imirkin@alum.mit.edu>
Sun, 16 Feb 2014 07:21:59 +0000 (02:21 -0500)
committerIlia Mirkin <imirkin@alum.mit.edu>
Mon, 17 Feb 2014 04:21:57 +0000 (23:21 -0500)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Christian König <christian.koenig@amd.com>
src/gallium/state_trackers/xvmc/tests/test_rendering.c
src/gallium/state_trackers/xvmc/tests/test_subpicture.c
src/gallium/state_trackers/xvmc/tests/testlib.c

index 2ea557a8db5e3175153c000fd7caa68ebe950cc2..5bfbea726b71806ae49e073a48fc68accfc2579c 100644 (file)
@@ -50,9 +50,7 @@
 #define DEFAULT_OUTPUT_HEIGHT          INPUT_HEIGHT
 #define DEFAULT_ACCEPTABLE_ERR         0.01
 
-void ParseArgs(int argc, char **argv, unsigned int *output_width, unsigned int *output_height, double *acceptable_error, int *prompt);
-
-void ParseArgs(int argc, char **argv, unsigned int *output_width, unsigned int *output_height, double *acceptable_error, int *prompt)
+static void ParseArgs(int argc, char **argv, unsigned int *output_width, unsigned int *output_height, double *acceptable_error, int *prompt)
 {
        int fail = 0;
        int i;
@@ -60,7 +58,7 @@ void ParseArgs(int argc, char **argv, unsigned int *output_width, unsigned int *
        *output_width = DEFAULT_OUTPUT_WIDTH;
        *output_height = DEFAULT_OUTPUT_HEIGHT;
        *acceptable_error = DEFAULT_ACCEPTABLE_ERR;
-       *prompt = 1;
+       *prompt = 0;
 
        for (i = 1; i < argc && !fail; ++i)
        {
@@ -79,8 +77,8 @@ void ParseArgs(int argc, char **argv, unsigned int *output_width, unsigned int *
                        if (sscanf(argv[++i], "%lf", acceptable_error) != 1)
                                fail = 1;
                }
-               else if (strcmp(argv[i], "-n"))
-                       *prompt = 0;
+               else if (!strcmp(argv[i], "-p"))
+                       *prompt = 1;
                else
                        fail = 1;
        }
@@ -95,7 +93,7 @@ void ParseArgs(int argc, char **argv, unsigned int *output_width, unsigned int *
                        "\t-w <width>\tOutput width\n"
                        "\t-h <height>\tOutput height\n"
                        "\t-e <error>\tAcceptable margin of error per pixel, from 0 to 1\n"
-                       "\t-n\tDon't prompt for quit\n",
+                       "\t-p\tPrompt for quit\n",
                        argv[0]
                );
 }
index 89af093fa1f6b877864f837a7916059e7ab9d2cb..8bd4d6d7a08f67b26edc5e0c9b7285df899eb25d 100644 (file)
@@ -165,8 +165,12 @@ int main(int argc, char **argv)
                assert(subpicture.xvimage_id == subpics[i].id);
                /* Test width & height assigned and correct */
                assert(subpicture.width == width && subpicture.height == height);
-               /* Test no palette support */
-               assert(subpicture.num_palette_entries == 0 && subpicture.entry_bytes == 0);
+               if (subpics[i].type == XvRGB)
+                       /* Test no palette support */
+                       assert(subpicture.num_palette_entries == 0 && subpicture.entry_bytes == 0);
+               else
+                       /* Test palette support */
+                       assert(subpicture.num_palette_entries == 16 && subpicture.entry_bytes == 4);
                /* Test valid params */
                assert(XvMCDestroySubpicture(display, &subpicture) == Success);
        }
index 3bae978d654bd646513efcf5af86f9eb4a894277..a943f6bcd952f52e0fb4dc4947dc2bb5a7fb50dc 100644 (file)
@@ -85,7 +85,7 @@ int GetPort
                                        {
                                                for (k = 0; k < num_mc_types && !found_port; ++k)
                                                {
-                                                       if (surface_info[j].mc_type == mc_types[k])
+                                                       if ((surface_info[j].mc_type & mc_types[k]) == mc_types[k])
                                                        {
                                                                for (l = 0; l < adaptor_info[i].num_ports && !found_port; ++l)
                                                                {