diff options
author | Ben Skeggs <[email protected]> | 2008-10-27 15:40:40 +1100 |
---|---|---|
committer | Ben Skeggs <[email protected]> | 2008-10-27 15:40:40 +1100 |
commit | ee35de2dfb12415416817d417f59e676b34ea81b (patch) | |
tree | 14fc6e43eb0be509fc53694f8289a3675fcbbf75 /src/libXvMC/tests/test_context.c | |
parent | 70a06e03d45f3d2e1cd1d430ba83c4b22471373c (diff) | |
parent | 3354e668f0d4eb7ad1d92607031c1fc2e785e8d1 (diff) |
Merge remote branch 'nouveau/gallium-0.1' into gallium-0.2
Diffstat (limited to 'src/libXvMC/tests/test_context.c')
-rw-r--r-- | src/libXvMC/tests/test_context.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/src/libXvMC/tests/test_context.c b/src/libXvMC/tests/test_context.c index 22afb7ada4e..53f7449cd0b 100644 --- a/src/libXvMC/tests/test_context.c +++ b/src/libXvMC/tests/test_context.c @@ -6,16 +6,16 @@ int main(int argc, char **argv) { const unsigned int width = 16, height = 16; const unsigned int mc_types[2] = {XVMC_MOCOMP | XVMC_MPEG_2, XVMC_IDCT | XVMC_MPEG_2}; - + Display *display; XvPortID port_num; int surface_type_id; unsigned int is_overlay, intra_unsigned; int colorkey; XvMCContext context = {0}; - + display = XOpenDisplay(NULL); - + if (!GetPort ( display, @@ -33,22 +33,21 @@ int main(int argc, char **argv) XCloseDisplay(display); error(1, 0, "Error, unable to find a good port.\n"); } - + if (is_overlay) { Atom xv_colorkey = XInternAtom(display, "XV_COLORKEY", 0); XvGetPortAttribute(display, port_num, xv_colorkey, &colorkey); } - - /* Note: XvMCBadContext not a valid return for XvMCCreateContext in the XvMC API, but openChrome driver returns it */ - /* Note: Nvidia binary driver segfaults on NULL context, halts with debug output on bad port */ - + /* Test NULL context */ + /* XXX: XvMCBadContext not a valid return for XvMCCreateContext in the XvMC API, but openChrome driver returns it */ assert(XvMCCreateContext(display, port_num, surface_type_id, width, height, XVMC_DIRECT, NULL) == XvMCBadContext); /* Test invalid port */ - assert(XvMCCreateContext(display, port_num + 1, surface_type_id, width, height, XVMC_DIRECT, &context) == XvBadPort); + /* XXX: Success and XvBadPort have the same value, if this call actually gets passed the validation step as of now we'll crash later */ + assert(XvMCCreateContext(display, -1, surface_type_id, width, height, XVMC_DIRECT, &context) == XvBadPort); /* Test invalid surface */ - assert(XvMCCreateContext(display, port_num, surface_type_id + 1, width, height, XVMC_DIRECT, &context) == BadMatch); + assert(XvMCCreateContext(display, port_num, -1, width, height, XVMC_DIRECT, &context) == BadMatch); /* Test invalid flags */ assert(XvMCCreateContext(display, port_num, surface_type_id, width, height, -1, &context) == BadValue); /* Test huge width */ @@ -85,10 +84,9 @@ int main(int argc, char **argv) assert(XvMCCreateContext(display, port_num, surface_type_id, width + 1, height + 1, XVMC_DIRECT, &context) == Success); assert(context.width >= width + 1 && context.height >= height + 1); assert(XvMCDestroyContext(display, &context) == Success); - + XvUngrabPort(display, port_num, CurrentTime); XCloseDisplay(display); - + return 0; } - |