| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Be paranoid and explicitly call finish to cleanup self-referential leaks
when using paginated/recording surfaces.
|
|
|
|
|
| |
When using a script surface to record the recording surface, we replace
the local reference to the image surface.
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This surface doesn't use RENDER and should produce the same results
when cairo-xlib is compiled without any support for RENDER.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Enable the EGL backend for GL.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Eagle is no more, Kristian has superseded it with true EGL support. He
is so happy...
|
|
|
|
|
|
| |
cairo_gl_surface_create_for_window assumes CONTENT_COLOR_ALPHA, so
make sure the fbconfig we choose is good enough. Fixes gl-window
testcase results to basically match the non-window testcases.
|
|
|
|
| |
glitz is unmaintained and the GL surface is far superior anyway.
|
|
|
|
|
|
| |
Trying to build xcb on a system without SHM wrapped by xcb. The right
answer would be to build libxcb-shm. The quick answer is to compile out
shm support.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Still an experimental backend, it's now a little too late to stabilise
for 1.10, but this should represent a major step forward in its feature
set and an attempt to catch up with all the bug fixes that have been
performed on xlib. Notably not tested yet (and expected to be broken)
are mixed-endian connections and low bitdepth servers (the dithering
support has not been copied over for instance). However, it seems robust
enough for daily use...
Of particular note in this update is that the xcb surface is now capable
of subverting the xlib surface through the ./configure --enable-xlib-xcb
option. This replaces the xlib surface with a proxy that forwards all
operations to an equivalent xcb surface whilst preserving the cairo-xlib
API that is required for compatibility with the existing applications,
for instance GTK+ and Mozilla. Also you can experiment with enabling a
DRM bypass, though you need to be extremely foolhardy to do so.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As proof-of-principle add the nearly working demonstrations of using DRM
to render directly with the GPU bypassing both RENDER and GL for
performance whilst preserving high quality rendering.
The basis behind developing these chip specific backends is that this is
the idealised interface that we desire for this chips, and so a target
for cairo-gl as we continue to develop both it and our GL stack.
Note that this backends do not yet fully pass the test suite, so only
use if you are brave and willing to help develop them further.
|
| |
|
|
|
|
|
|
| |
Add a gl-window boilerplate target to exercise using GL to render to a
visible Drawable -- for instance, a window has a different coordinate
system to a framebuffer...
|
| |
|
|
|
|
| |
Use the unifying cairo_device_t for cairo_script_context_t and replace.
|
|
|
|
|
|
| |
We were using _GNU_SOURCE throughout the codebase, so simply define it
once during configure. This is the easiest method to enable recursive
mutexes using pthreads, as required in a pending patch.
|
|
|
|
|
|
| |
Now that the image surface actually cares about
cairo_surface_mark_dirty() we're hitting cases where
we've forgotten to mark surfaces dirty.
|
|
|
|
|
|
|
| |
The new name is more descriptive than the rather opaque meta surface.
Discussed with vigour on the mailing list and #cairo:
http://lists.cairographics.org/archives/cairo/2009-July/017571.html
|
|
|
|
|
| |
All the error checking, finally pointed out that I was creating a pixmap
with the wrong depth! Oops.
|
|
|
|
|
|
|
|
|
| |
XCB avoids the dreaded abort on XError mechanism by forcing the client
to perform deferred error checking. So do so. This allows us to combine
the fire-and-forget rendering model with accurate error checking,
without killing the client or mixing our errors with theirs.
XCB for the win!
|
| |
|
|
|
|
| |
The BSDs have dlsym() in libc rather than libdl.
|
|
|
|
|
| |
And it appears I touched the build system again and autoregenerated the
feature headers.
|
|
|
|
|
|
|
|
|
| |
This appears to be the simplest mechanism to build libglew at the moment -
should a system copy be unavailable. Fortunately libglew is now distributed
under a permissive licence.
If you want to pass 'make -C src check' you have to use the system copy,
or spend quite a bit of time cairo-fying libglew.
|
|
|
|
|
|
|
|
| |
There you go Joonas, I don't always ignore your suggestions! This is
simple patch to allow the user to disable symbol loops in case the
auto-detection fails on some obscure (perhaps OpenBSD) platform. Or in
case the user really wants to trim a few bytes from a library only used
during tracing!
|
|
|
|
|
| |
Improve detection, reporting and disabling of test backends when we lack
the required libraries and utilities.
|
|
|
|
|
|
|
|
| |
Some environments may be broken beyond our capabilities to detect, or
maybe the user is just insane and doesn't want to build my nice shiny
cairo-trace. Whatever, give them the option to choose:
$ ./configure --disable-trace
|
|
|
|
| |
Useful for running tests only for a given content type.
|
|
|
|
|
|
|
| |
Sometimes it's convenient to run the regression or performance tests
against a given target with a given content. Now we accept an optional
content specifier as a suffix .<content> on a target name, where
<content> is rgb or rgba.
|
| |
|
|
|
|
| |
test == != -eq
|
|
|
|
|
| |
The make-cairo-(test|boilerplate)-constructors scripts ought
never to be called without arguments lest we are left constructorless.
|
|
|
|
| |
And exercise RGB code-paths.
|
|
|
|
|
|
|
| |
For the purposes of benchmarking it is useful to run cairo-perf against a
different library from the one it was compiled against. In order to do so,
we need to check that the runtime library contains the required entry
points for our targets - which we can check by using dlsym.
|
|
|
|
|
|
|
|
|
| |
Originally written by Vladimir Vukicevic to investigate using Skia for
Mozilla, it provides a nice integration with a rather interesting code
base. By hooking Skia underneath Cairo it allows us to directly compare
code paths... which is interesting.
[updated by Chris Wilson]
|
|
|
|
|
|
|
| |
A very simple surface that produces a hierarchical DAG in a simple XML
format. It is intended to be used whilst debugging, for example with the
automatic regression finding tools of cairo-sphinx, and with test suites
that just want to verify that their code made a particular Cairo call.
|
|
|
|
|
|
|
| |
Add a new surface type that multiplies it input onto several output
surfaces. The only limitation is that it requires a master surface that is
used whenever we need to query surface options, such as font options and
extents.
|
|
|
|
| |
Include the desired content with the creation info.
|
|
|
|
|
|
| |
cairo_script_context_t is an encapsulation object for interfacing with the
output - multiple surfaces can share the same context, meaning that they
write to the same destination file/stream.
|
|
|
|
|
|
| |
Remove the intermediate C program that was a nuisance whilst
cross-compiling and replace it with a simple shell script that is just a
combination of cat + sed.
|