[Mesa-dev] [PATCH] st/xvmc: fix tests so that they pass

Tom Stellard tom at stellard.net
Tue Feb 18 07:39:41 PST 2014


On Sun, Feb 16, 2014 at 02:26:33AM -0500, Ilia Mirkin wrote:
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
> 
> Tom, any objections to enabling xvmc by default again? You turned it off in
> commit 6a19bb56e ("configure: Disable xvmc by default") complaining about the
> tests failing. These all pass for me now on nouveau.
>

If make check passes when you build all the drivers, then I have no
objections to enabling xvmc by default.

Also, it might be good to cc stable on this patch.

-Tom

>  src/gallium/state_trackers/xvmc/tests/test_rendering.c  | 12 +++++-------
>  src/gallium/state_trackers/xvmc/tests/test_subpicture.c |  8 ++++++--
>  src/gallium/state_trackers/xvmc/tests/testlib.c         |  2 +-
>  3 files changed, 12 insertions(+), 10 deletions(-)
> 
> diff --git a/src/gallium/state_trackers/xvmc/tests/test_rendering.c b/src/gallium/state_trackers/xvmc/tests/test_rendering.c
> index 2ea557a..5bfbea7 100644
> --- a/src/gallium/state_trackers/xvmc/tests/test_rendering.c
> +++ b/src/gallium/state_trackers/xvmc/tests/test_rendering.c
> @@ -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]
>  		);
>  }
> diff --git a/src/gallium/state_trackers/xvmc/tests/test_subpicture.c b/src/gallium/state_trackers/xvmc/tests/test_subpicture.c
> index 89af093..9149879 100644
> --- a/src/gallium/state_trackers/xvmc/tests/test_subpicture.c
> +++ b/src/gallium/state_trackers/xvmc/tests/test_subpicture.c
> @@ -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);
>  	}
> diff --git a/src/gallium/state_trackers/xvmc/tests/testlib.c b/src/gallium/state_trackers/xvmc/tests/testlib.c
> index 3bae978..a943f6b 100644
> --- a/src/gallium/state_trackers/xvmc/tests/testlib.c
> +++ b/src/gallium/state_trackers/xvmc/tests/testlib.c
> @@ -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)
>  								{
> -- 
> 1.8.3.2
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list