Commit graph

328 commits

Author SHA1 Message Date
Uli Schlachter
a87001c063 xcb: Fix premature pixmap free in boilerplate cleanup
A xcb surface has to be finished before the associated drawable can be freed or
there will be X11 errors when the surface is later finished or used again.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-05 22:04:45 +01:00
Uli Schlachter
673c44d3e8 xcb: Check the check for errors in boilerplate
We have to make sure we received all errors that the X server sent out before we
can be sure there are none. To do so, we just have to send some request and wait
for its reply, because that guarantees that the replies/errors to all previous
requests were received.

_cairo_boilerplate_xcb_synchronize doesn't need this, because the GetImage
request already makes sure we received everything.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-05 22:04:45 +01:00
Uli Schlachter
51626ed2ee xcb: Check harder for X11 errors in boilerplate
This commit makes the boilerplate code check for errors from the X server before
disconnecting and during synchronize. This should make sure no errors are ever
lost and silently ignored.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-05 22:04:45 +01:00
Uli Schlachter
f8277dfdaf xcb: Only print the first error and ignore subsequent ones
It is quite likely that following errors are caused by the previous ones. To
avoid flooding users we now silently discard all the errors and events after the
first one.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-05 22:04:45 +01:00
Uli Schlachter
8a65279ee1 xcb: Add a define for some magic number
In X11, errors look like events with response_type == 0. Using a define looks
better than just a "trust me!".

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-05 22:04:45 +01:00
Uli Schlachter
8957e50632 xcb: Handle events in boilerplate
Cairo shouldn't cause any events during a test run. Verify this by explicitly
handling events, too.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2011-01-05 22:04:45 +01:00
Adrian Johnson
126108a6ac Boilerplate: Set fallback resolution using force_fallbacks function
cairo_set_fallback_resolution() does not work when testing rgb24 surfaces
2010-11-28 03:38:42 +10:30
Uli Schlachter
6383e1442c XCB: Check screen size in boilerplate
Trying to create a window for drawing that is larger than the available screen
space is a bad idea. When the test finishes and tries to grab the resulting
image from the X server, the window's area that is outside of the screen will
have undefined content.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-11-07 12:51:56 +00:00
Benjamin Otte
661f4859cd Add cairo-gobject library
This library is supposed to contain GType declarations for Cairo types.
It is also meant to support gobject-introspection binding creation.
2010-08-07 20:19:27 +02:00
Benjamin Otte
142df6f963 configure: Disable xml backend by default
We don't want to enable it by default when nobody uses it.
2010-07-30 22:27:28 +02:00
Benjamin Otte
9f33f8453b configure: Disable tee backend by default
We don't want to enable it by default when nobody uses it.
2010-07-30 22:27:27 +02:00
Chris Wilson
bac5c28a18 boilerplate: Offset the xlib window
An idea courtesy of Benjamin Otte is to stress the drivers a bit more by
not rendering to 0,0. Under various circumstances rendering to a Window
is mapped onto the Screen root Window with a collection of offsets and
clips by X. It is easy for the driver to make a mistake and misrender...
2010-07-17 10:09:14 +01:00
Benjamin Otte
51b0c21f02 build: Add explicit dependcy to cxx lib
Otherwise the build will fail because it doesn't add the dependency
manually.

https://bugs.freedesktop.org/show_bug.cgi?id=29114
2010-07-16 19:49:53 +02:00
M Joonas Pihlaja
0152db263b build: Sync up autogenerated win32 build files. 2010-07-12 10:39:18 +03:00
Benjamin Otte
120b78ada7 build: Split boilerplate lib generation into two so's
Same thing as what was previously done for libcairo.so: Build an
intermediate lib for the (potential) C++ stuff.
2010-07-11 18:53:42 +02:00
Benjamin Otte
59c83117d7 build: Commit new versions of autogenerate Windows build files
The recent commits to the build system changed a bunch of stuff in
there, so update the files.
2010-07-09 18:55:11 +02:00
Benjamin Otte
fcfe7c6724 boilerplate: Add describe string
Print the pixman version we're using
2010-07-03 02:55:52 +02:00
Benjamin Otte
0a7135148a gl: Add describe string 2010-07-03 02:55:52 +02:00
Benjamin Otte
a1c4b001a5 boilerplate: Add a describe vfunc
This function is supposed to describe the backend in use. The describe
function is optional - and therefore initialized as NULL everywhere.
Note:
It is well known that the xlib backend uses X. What is not known is what
version the server supports or what graphics card it is running on. That
is the information the describe vfunc is supposed to provide.
2010-07-03 02:55:52 +02:00
Chris Wilson
8df4136119 Regenerate default win32 headers. 2010-06-26 09:52:11 +01:00
M Joonas Pihlaja
b036a09972 whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/.
Ran a script to align the formal parameters of functions and
collapse spaces to tabs in code.
2010-06-24 15:02:53 +03:00
M Joonas Pihlaja
616e35d1fa boilerplate: Remove the xlib-window target from Renderless builds.
I don't know why _cairo_boilerplate_xlib_window_create_surface()
is in the Render-only section of the code, but since it is, this
patch makes the boilerplate at least compile if we don't have
Render support built in.
2010-06-24 15:02:53 +03:00
Benjamin Otte
c3eb95bf66 egl: Fail properly if no configs are available instead of crashing 2010-06-18 19:26:07 +02:00
Benjamin Otte
d9179f480a boilerplate: Reinstate glFinish() for wgl
It was accidentally disabled.
2010-06-18 16:31:51 +02:00
Zoxc
ca35e09ece gl: Added wgl boilerplate and moved the glx and egl boilerplates into their own files. 2010-06-17 09:21:07 +01:00
Chris Wilson
072a200ec5 build: Add wgl to Makefile.sources and regenerate features. 2010-06-14 16:05:14 +01:00
Chris Wilson
dd0866cdc8 boilerplate: Exercise RENDER capable windows.
Ensure that the drivers actually work when rendering to a normal window.
2010-05-27 17:53:30 +01:00
Chris Wilson
63062511f6 boilerplate: Exercise manual double-buffering to a window
Shouldn't possibly go wrong, but the mix of fbo and Window might prove
interesting.
2010-05-16 10:15:42 +01:00
Chris Wilson
cf0933a05a gallium: Refresh.
Catch up with changes in APIs, still no substance and the integration
with winsys handles needs review.
2010-05-12 20:54:49 +01:00
Chris Wilson
bd672d080c drm: code dump, sorry.
Lots upon lots of tiny fixes mixed in with experimental code. :(
2010-05-12 20:54:49 +01:00
Chris Wilson
d45c7dc62d xcb: discard glyph mask and use dst directly when possible. 2010-05-12 20:54:48 +01:00
Chris Wilson
e540d040bd xcb: trivial memfault fixes.
The first fixes required to kick-start memfault testing of the xcb
backend.
2010-05-10 13:36:53 +01:00
Benjamin Otte
5223b65423 gl: Get rid of cairo_gl_surface_glfinish() from public API
This is now done explicitly in the boilerplate code. It was not a useful
public API to begin with.
2010-05-05 12:30:01 +02:00
Chris Wilson
af26560f25 test: Improve memfault behaviour.
Various minor tweaks to convert asserts into error returns and to
improve error checking on intermediate surfaces.
2010-05-03 19:21:59 +01:00
Benjamin Otte
9df81fe4d3 boilerplate: don't compile pdf test code when pdf is not tested
Avoids gcc warnings when libpoppler version isn't good enough.
2010-05-02 20:00:08 +02:00
Chris Wilson
b972669c9a boilerplate: Fix use after free from 3ae5723
If we want to access the surface during the cleanup, we must hold our
own reference to it. Make it so for the forced finish of the recording
surface.
2010-04-30 12:39:59 +01:00
Chris Wilson
3ae5723464 boilerplate: Ensure that the recording surfaces are finished.
Be paranoid and explicitly call finish to cleanup self-referential leaks
when using paginated/recording surfaces.
2010-04-30 10:16:23 +01:00
Chris Wilson
f08cc311af boilerplate: Destroy the redundant image reference
When using a script surface to record the recording surface, we replace
the local reference to the image surface.
2010-04-30 10:16:23 +01:00
Andrea Canciani
b8a7f8621a Update FSF address
I updated the Free Software Foundation address using the following script.

for i in $(git grep Temple | cut -d: -f1 )
do
  sed -e 's/59 Temple Place[, -]* Suite 330, Boston, MA *02111-1307[, ]* USA/51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA/' -i "$i"
done

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=21356
2010-04-27 11:13:38 +02:00
Chris Wilson
d366da7d8c Win32 features update 2010-04-23 14:39:21 +01:00
Chris Wilson
4351304b51 Win32 features update. 2010-04-14 19:31:35 +01:00
Andrea Canciani
e425c44e9c boilerplate: Compile xlib without xrender
cairo_boilerplate_xlib_surface_disable_render() is not defined when
compiling without XRender, but it was used nonetheless. Replace it
with an empty stub when XRender is not available.
2010-04-10 18:28:42 +02:00
Chris Wilson
8f7078eba7 boilerplate: Allox xlib-fallback to build without RENDER
This surface doesn't use RENDER and should produce the same results
when cairo-xlib is compiled without any support for RENDER.
2010-04-01 20:42:44 +01:00
Chris Wilson
d209b40c64 xlib: Rearrange xrender stubs to restore compilation without xrender.h 2010-04-01 20:36:15 +01:00
Chris Wilson
97f8c20727 boilerplate: Create an image16 target
In order to exercise the newly restored r5g6g5 support, we need to
create an appropriate surface and feed it through the test and
performance suites.
2010-03-27 21:53:55 +00:00
Chris Wilson
25a77b263d boilerplate: Cleanup the list of backends upon shutdown. 2010-03-23 16:49:21 +00:00
Chris Wilson
b101c7dab8 gl: Add EGL interface
Enable the EGL backend for GL.
2010-03-11 01:49:18 +00:00
M Joonas Pihlaja
1a7ba1a806 xcb: Update minimum required versions of libxcb.
The new xcb surface uses xcb_writev() and xcb_take_socket()
which were introduced in libxcb 1.1.92.  The boilerplate
in turn uses the major_code and minor_code fields in
xcb_generic_error_t, which were introduced in 1.4.
2010-03-01 01:23:17 +02:00
M Joonas Pihlaja
5b7f4bb241 api: Introduce CAIRO_FORMAT_INVALID formally in the API.
We were exposing the actual value of CAIRO_FORMAT_INVALID
through API functions already, so it makes sense to just
go ahead and put it in the cairo_format_t enum.
2010-03-01 01:21:31 +02:00
Chris Wilson
6995e1d982 boilerplate: Include X11.h for GL/GLX 2010-02-12 14:08:14 +00:00