Commit graph

60 commits

Author SHA1 Message Date
Chris Wilson
dfa2544f15 color: Special case comparing color stops.
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-13 09:52:39 +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
c8fba49603 rtree: Remove the unused evict hook. 2010-05-12 20:54:49 +01:00
Chris Wilson
07122f37d1 surface: Convert snapshots from an array to a double-linked list.
Saves the memory allocation for the array, and the overhead of
maintaining the area for both insertions and more importantly deletes.
2010-04-30 10:16:23 +01:00
Benjamin Otte
95179a5de9 Remove excessive semicolons
s/;;/;/ basically
2010-04-29 20:45:23 +02:00
Andrea Canciani
d66b1ca1cf atomic: Separate bool and old-value compare-and-exchange
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-29 10:52:47 +02: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
4d3632761b clip: Report the surface offset when retrieving the clip mask
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-25 09:45:41 +01:00
Benjamin Otte
2bffa2467e Use pixman_image_composite32()
Replace all occurences of pixman_image_composite()
2010-04-15 18:31:01 +02:00
Chris Wilson
7ab350378e Silence enumeration warnings following addition of RGB16_565 2010-03-30 18:31:34 +01:00
Chris Wilson
2a98d0586c drm/i915: Avoid using another unpreserved temporary
As we may load from a sampler, we can not use on of the unpreserved
temporaries to store the intermediate colour result.
2010-03-28 18:49:16 +01:00
Chris Wilson
26f963557b drm/i915: Normalize spans opacity value
On the generic path I forgot to rescale the alpha value into [0,1].
2010-03-28 18:49:16 +01:00
Chris Wilson
c7511fa7ad drm/intel: Revoke glyph caches on device finish 2010-03-22 17:21:38 +00:00
Chris Wilson
7812d095ab drm/intel: Replace open-coding of _cairo_rtree_node_remove() 2010-03-22 16:46:58 +00:00
Chris Wilson
e961cdf568 image: Special case wholly unbounded fixups.
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-22 10:54:08 +00:00
Chris Wilson
5fb36fe5ab drm/i965: Acquire device around commit. 2010-03-08 15:37:17 +00:00
Chris Wilson
f79b2ceea4 drm/i915: Discard redundant solitary clips during fill 2010-03-04 19:52:58 +00:00
Chris Wilson
7cea9ae290 drm/i915: Apply more micro-optimisations when targetting CONTENT_ALPHA 2010-03-04 17:23:55 +00:00
Chris Wilson
dce8b028cd drm/i915: Adjust clip matrix for clip origin. 2010-03-04 17:13:53 +00:00
Chris Wilson
8e702044b3 drm/i915: Handle clip/combine coords for spans. 2010-03-04 17:13:02 +00:00
Chris Wilson
afe6f4f051 drm/i915: Use a preserved temporary to store the radial texcoord. 2010-03-04 00:04:30 +00:00
Chris Wilson
4b2e047882 drm/i915: Eliminate redundant radial vertex shader.
It is always equivalent to a simple texture transformation, so reduce it
to the texture shader.
2010-03-04 00:04:30 +00:00
Chris Wilson
5161051798 drm/i915: Fix encoding of negated operand channels
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-04 00:04:30 +00:00
Chris Wilson
5b973c6708 drm/i915: Fix crash with linear-step-function
Avoid the potential divide by zero by falling back to pixman rendered
gradient textures for such troublesome input.
2010-03-04 00:04:30 +00:00
Chris Wilson
404ead7eeb drm/i915: Ensure simple alpha is written to green on alpha-only surfaces.
The intricacies of h/w make convoluted s/w.
2010-03-04 00:04:30 +00:00
Chris Wilson
1f2daf6524 drm/i915: Avoid double multiplication of linear alpha. 2010-03-04 00:04:21 +00:00
Chris Wilson
cdaef58c19 drm/i915: Acquire device before shader commit. 2010-03-03 23:57:36 +00:00
Chris Wilson
dd6f96dd4a drm/i965: Ignore flushing on device finish. 2010-03-03 23:57:36 +00:00
Chris Wilson
3692597567 drm/i965: Merge the constants into the surface stream.
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-03 23:57:35 +00:00
Chris Wilson
cc58594757 drm/intel: Set the 1D gradient texture to be untiled. 2010-03-03 23:57:35 +00:00
Chris Wilson
543cf07364 drm/intel: Set default extend mode for rendering gradient subsets. 2010-03-03 23:57:35 +00:00
Chris Wilson
e8c819c522 Warnings cleanup for CAIRO_FORMAT_INVALID.
A few more fixes required case statements to handle the addition of
CAIRO_FORMAT_INVALID.
2010-03-01 10:25:01 +00: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
3b678a88b0 drm/i915: Set a source for unbounded fixups. 2010-02-12 16:44:44 +00:00
Chris Wilson
45a275ee29 drm/i915: Use correct linear mode for mask. 2010-02-12 14:12:24 +00:00
Chris Wilson
5390df961f clip: Restrict composite extents to clip extents
Fixes test/clip-rectangle-twice.
2010-02-12 12:24:01 +00:00
Chris Wilson
4113e455a3 drm/i965: fix use of uninitialized variable whilst dumping errors
Cut'n'paste bug from i915 error path.
2010-02-10 21:09:56 +00:00
Chris Wilson
fb5af4ae40 drm/intel: An interrupted SET_TILING modifies the input parameters
If a signal interrupts the SET_TILING ioctl, the tiling and stride
values are updated to reflect the current condition of the buffer, so we
need to restore those to the desired values before repeating the ioctl.
2010-02-10 12:00:59 +00:00
Chris Wilson
597dd24ddc drm/i915: Free potential leak of cloned textures. 2010-02-03 09:13:20 +00:00
Chris Wilson
913a31494e drm/i915: Increase batch buffer space. 2010-02-03 09:13:20 +00:00
Chris Wilson
1315323b20 drm/i915: check for batch buffer overflow.
Oops, the check for sufficient batch space mysteriously disappeared
during the rearrangement.
2010-02-03 09:13:20 +00:00
Chris Wilson
e9b07d1946 drm/i915: Don't tile page sized bo.
Minor tweak from < to <= so that a page sized bo is also not tiled for
those 32x32 pixmaps...
2010-02-02 16:31:36 +00:00
Chris Wilson
70ca9dd170 drm/i915: Pass the correct length to dump the batchbuffer. 2010-02-02 16:31:36 +00:00
Chris Wilson
3266a1a72b drm: Handle absence of PCI_ID 2010-02-02 16:31:36 +00:00
Chris Wilson
5f0a0088af drm-intel: Unmap a full glyph cache.
When we swap a full glyph cache for a fresh one, be sure to unmap the
old one prior to release.
2010-01-28 13:23:39 +00:00
Chris Wilson
78cd947120 drm: Paranoid assert that the fallback is released upon finish. 2010-01-27 23:45:17 +00:00
Chris Wilson
5aa1191204 drm-intel: flush in memory modifications to texture.
If the surface was written to using a fallback, and so is mapped, we
need to flush those modifications by relinquishing the map. So the next
time the application tries to write to the surface, those writes are
correctly serialised with our reads.
2010-01-27 23:42:26 +00:00
Chris Wilson
a38accb694 drm-intel: The accumulation bo may be NULL, beware.
If we are not accumulating but rendering directly to the output vbo,
then the tail bo may not even be allocated, let alone mapped.
2010-01-27 23:27:46 +00:00
Chris Wilson
44734b9d3b drm-intel: Assert that the bo is unmapped upon release.
Check through error paths to catch a few more places where the mapped bo
may have been leaked, and add an assert to abort in case we do leak a
mapping.
2010-01-27 23:17:44 +00:00