summaryrefslogtreecommitdiff
path: root/src/drm
AgeCommit message (Collapse)AuthorFilesLines
2012-03-10doc: avoid confusing gtk-doc by double asterisksNis Martensen5-115/+115
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-03-10doc: fix a few typos found by codespellNis Martensen1-1/+1
Signed-off-by: Uli Schlachter <psychon@znc.in>
2012-02-09Replace the ad-hoc surface unwrappers with a function pointerChris Wilson5-0/+11
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-15Implement cairo_backend_tChris Wilson5-0/+11
Allow a backend to completely reimplement the Cairo API as it wants. The goal is to pass operations to the native backends such as Quartz, Direct2D, Qt, Skia, OpenVG with no overhead. And to permit complete logging contexts, and whatever else the imagination holds. Perhaps to experiment with double-paths? Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-14Excise xcb-drmChris Wilson2-48/+0
The experiment was at best a pyrrhic victory. Whilst it did show that you could successfully subvert cairo_xcb_surface_t and provide the rendering locally faster (than the xlib driver at that time), any performance benefits were lost in the synchronisation overheads and server-side buffer allocation. Once cairo-gl is mature, we need to look at how we can overcome these to improve client-side rendering In the meantime, cairo-xcb is no longer my playground for experimentation and is shaping up to become a stable backend... Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-14Excise DRM-XrChris Wilson1-2378/+0
I've since incorporated (nearly) all the features from cairo-drm into xf86-video-intel, making this experiment defunct. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-08color: Remove unused functionsAndrea Canciani1-4/+5
_cairo_color_init() and _cairo_color_init_rgb() are basically unused (except in some experimantal code, which is trivial to fix).
2011-03-19Do not warn when ignoring the return value of _cairo_rectangle_intersect()Andrea Canciani1-6/+2
gcc complains that cairo-surface-wrapper.c:647: warning: ignoring return value of ‘_cairo_rectangle_intersect’, declared with attribute warn_unused_result It can be silenced by making _cairo_rectangle_intersect() cairo_private_no_warn. This makes it possible to avoid unused temporary variables in other places and reduces the dead assignments reported by clang static analyzer from 114 to 98.
2011-01-02pattern: Use double precision for gradient extreme objectsAndrea Canciani2-26/+30
Using double precision for gradient extreme objects ensures that they are preserved as specified when constructing the gradient pattern. Fixes huge-linear, huge-radial. Fixes part of https://bugs.freedesktop.org/show_bug.cgi?id=32215
2010-12-10polygon: Merge _cairo_polygon_init and _cairo_polygon_limitAndrea Canciani2-8/+4
_cairo_polygon_limit() had to be called immediately after _cairo_polygon_init() (or never at all). Merging the two calls is a simple way to enforce this rule.
2010-11-07drm/intel: Drop the bo cache.Chris Wilson2-217/+3
As this remains experimental, rely on the highly experimental kernel caching...
2010-10-30drm: Do not access path flags directlyAndrea Canciani2-6/+6
Fixes compilation
2010-08-26subsurface: Make CAIRO_SURFACE_TYPE_SUBSURFACE publicBenjamin Otte2-6/+6
2010-07-12Differentiate between reducing clip to composite extents and a rectangleChris Wilson4-10/+10
This is required for handling glyphs when rendering directly to the surface.
2010-06-24drm/intel: Fix common off-by-one by rewriting the [XY]MAX macro.Chris Wilson4-27/+15
Many rectangles in the command stream are specified as inclusive rects, i.e. the max values are (width-1, height-1), which is easy to neglect.
2010-06-24drm: _cairo_color_get_content() compilation fixesChris Wilson3-7/+3
2010-05-13color: Special case comparing color stops.Chris Wilson1-1/+1
color stops are not premultiplied so we need to handle them carefully when comparing. The next step will be to make cairo_color_stop_t a unique type to prevent this mistake again.
2010-05-12gallium: Refresh.Chris Wilson1-197/+317
Catch up with changes in APIs, still no substance and the integration with winsys handles needs review.
2010-05-12drm: code dump, sorry.Chris Wilson19-1290/+5088
Lots upon lots of tiny fixes mixed in with experimental code. :(
2010-05-12rtree: Remove the unused evict hook.Chris Wilson2-3/+2
2010-04-30surface: Convert snapshots from an array to a double-linked list.Chris Wilson4-26/+12
Saves the memory allocation for the array, and the overhead of maintaining the area for both insertions and more importantly deletes.
2010-04-29Remove excessive semicolonsBenjamin Otte1-1/+1
s/;;/;/ basically
2010-04-29atomic: Separate bool and old-value compare-and-exchangeAndrea Canciani1-1/+1
Some implementations only offer one version of compare-and-exchange, thus we expose both through cairo-atomic, implementing what is missing through appropriate fallbacks. *_cmpxchg() now return a boolean (this unbreaks _cairo_atomic_uint_cmpxchg) *_cmpxchg_return_old() return the old value Code is updated everywhere to reflect this, by using *_cmpxchg() wherever the returned value was only tested to check if the exchange had really taken place. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-04-27Update FSF addressAndrea Canciani20-20/+20
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-25clip: Report the surface offset when retrieving the clip maskChris Wilson2-8/+8
Stop the callers from guessing the origin of the clip surface by reporting it explicitly! This enables the clip to bypass any rectangles overlaid on top of the clip surface, which is common when the backends limit the clip to the extents of the operation -- but irrelevant to the actual content of the clip mask
2010-04-15Use pixman_image_composite32()Benjamin Otte1-6/+6
Replace all occurences of pixman_image_composite()
2010-03-30Silence enumeration warnings following addition of RGB16_565Chris Wilson6-2/+20
2010-03-28drm/i915: Avoid using another unpreserved temporaryChris Wilson1-11/+15
As we may load from a sampler, we can not use on of the unpreserved temporaries to store the intermediate colour result.
2010-03-28drm/i915: Normalize spans opacity valueChris Wilson1-3/+4
On the generic path I forgot to rescale the alpha value into [0,1].
2010-03-22drm/intel: Revoke glyph caches on device finishChris Wilson4-8/+15
2010-03-22drm/intel: Replace open-coding of _cairo_rtree_node_remove()Chris Wilson1-14/+3
2010-03-22image: Special case wholly unbounded fixups.Chris Wilson2-70/+85
In the event of an empty bounded rectangle, the computation of the unbounded - bounded rectangles leads to negative areas, integer overflow and death. [And similarly for the derived surfaces.]
2010-03-08drm/i965: Acquire device around commit.Chris Wilson3-41/+82
2010-03-04drm/i915: Discard redundant solitary clips during fillChris Wilson1-0/+10
2010-03-04drm/i915: Apply more micro-optimisations when targetting CONTENT_ALPHAChris Wilson1-14/+37
2010-03-04drm/i915: Adjust clip matrix for clip origin.Chris Wilson1-5/+3
2010-03-04drm/i915: Handle clip/combine coords for spans.Chris Wilson1-28/+43
2010-03-04drm/i915: Use a preserved temporary to store the radial texcoord.Chris Wilson1-6/+6
2010-03-04drm/i915: Eliminate redundant radial vertex shader.Chris Wilson4-61/+3
It is always equivalent to a simple texture transformation, so reduce it to the texture shader.
2010-03-04drm/i915: Fix encoding of negated operand channelsChris Wilson2-16/+22
Long ago when converting the pixel shader structs into macros and reducing the code size by ~100k (the inlines were too depth for constant propagation and CSE), I broke the encoding of negated channels. So instead use a single bit to indicate a negation rather than 2s complement (with sign extension into neighbouring channels, oops). The disadvantage is that expressing the negated channel is a little more ugly.
2010-03-04drm/i915: Fix crash with linear-step-functionChris Wilson1-6/+11
Avoid the potential divide by zero by falling back to pixman rendered gradient textures for such troublesome input.
2010-03-04drm/i915: Ensure simple alpha is written to green on alpha-only surfaces.Chris Wilson1-6/+14
The intricacies of h/w make convoluted s/w.
2010-03-04drm/i915: Avoid double multiplication of linear alpha.Chris Wilson1-6/+2
2010-03-03drm/i915: Acquire device before shader commit.Chris Wilson2-36/+77
2010-03-03drm/i965: Ignore flushing on device finish.Chris Wilson1-0/+3
2010-03-03drm/i965: Merge the constants into the surface stream.Chris Wilson3-93/+14
As we can use an offset from the surface base for the constant buffers, we need to fold the constants into the surface stream.
2010-03-03drm/intel: Set the 1D gradient texture to be untiled.Chris Wilson1-0/+1
2010-03-03drm/intel: Set default extend mode for rendering gradient subsets.Chris Wilson1-0/+1
2010-03-01Warnings cleanup for CAIRO_FORMAT_INVALID.Chris Wilson6-0/+10
A few more fixes required case statements to handle the addition of CAIRO_FORMAT_INVALID.
2010-03-01api: Introduce CAIRO_FORMAT_INVALID formally in the API.M Joonas Pihlaja5-5/+12
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.