Commit Graph

99 Commits

Author SHA1 Message Date
Bernardo Innocenti
0e749ceab4 Include stddef.h for size_t.
This is required by a buggy version of the openssl/sha.h header
which is distributed with Fedora 7.
2007-10-26 10:55:48 -04:00
Matthias Hopf
a8a148919b Superfluous ','. 2007-10-23 16:23:28 +02:00
Eric Anholt
4b14c9a9cd Replace calls to Glyphs screen hook with CompositeGlyphs and remove dead code.
Not all of the DDX/miext Glyphs hook implementations have been removed, but
they should be.
2007-10-19 16:34:54 -07:00
Eric Anholt
439edc768e Merge branch 'glyph-pixmaps'
Conflicts:

	configure.ac
	exa/exa_render.c
2007-10-02 12:14:04 -07:00
Eric Anholt
07630d897e Bug #7364: Require renderproto 0.9.3 on 64-bit, and fix build with it. 2007-08-31 15:16:01 -07:00
Adam Jackson
6f44a2c8a8 Refactor PictureInitIndexedFormats.
The plural version is now static, which is fine since it was only ever called
from within picture post-init anyway.  The body of the work is now done with
a one-shot (public) function that operates on a single format at a time.
2007-08-25 15:13:46 -04:00
Carl Worth
93ae6fe18c Avoid leaking a Pixmap for every glyph 2007-08-23 16:33:05 -07:00
Eric Anholt
d0dc9698ae Revert "Fix <pixman.h> include to <pixman/pixman.h>"
The pixman headers have been located under pixman-1/ instead of pixman/ since
around 2007-08-06, and pixman-1.pc has the updated include paths to account
for this.

This reverts commit feb1b3e455.
2007-08-22 09:00:45 -07:00
Alan Hourihane
feb1b3e455 Fix <pixman.h> include to <pixman/pixman.h> 2007-08-22 16:54:29 +01:00
Søren Sandmann Pedersen
aa3c6aaaab Require pixman-1 0.9.4, update pixman includes to new scheme 2007-08-06 19:00:59 -04:00
Carl Worth
0a71e1542a Create a Picture as well as a Pixmap at the time of AllocateGlyph
This avoids some inefficiency in creating a temporary Picture
for every glyph at rendering time. My measurements with an i965
showed the previous patch causing a 10-15% slowdown for NoAccel
and XAA cases, (while providing an 18% speedup for EXA).

With this change, the NoAccel and XAA performance regression is
eliminated, and the overall EXA speedup, (before any of the
glyphs-as-pixmaps work), is now 32%.
2007-08-02 22:49:56 -07:00
Carl Worth
a2af34d5a8 Use per-screen Pixmaps for glyphs
Instead of system-memory data which prevents accelerated
compositing of glyphs, (at least without forcing an upload
of the glyph data before compositing).
2007-08-02 22:49:56 -07:00
Carl Worth
19b3b1fd8f Use strong hash (SHA1) for glyphs
Using a cryptographically strong hash means that comparing the
hash alone is sufficient for determining glyph equality (no need
to compare the glyph bits directly). This will allow us to replace
system-memory copies of the glyph bits, (which we've only been
holding onto for comparisons), with Pixmaps.
2007-08-02 22:49:56 -07:00
Carl Worth
516b96387b ProcRenderAddGlyphs: Avoid allocating a glyph just to find it cached
This is a cleanup without any real savings (yet). Previously, the
implementation would allocate a new glyph, then (often) find it in
the cache, and immediately discard the allocated object. This
re-organization first uses a new FindGlyphByHash function and only
allocates the glyph if nothing is found.

This isn't a real savings yet, since FindGlyphByHash currently still
does a temporary glyph allocation, but this is expected to be replaced
immediately as we switch to an alternate hashing mechanism (SHA1).
2007-08-02 22:49:56 -07:00
Carl Worth
4c6abe1c7c Split HashGlyph functionality out into HashGlyphInfoAndBits
This is in preparation for a future change that will take advantage
of being able to compute a hash for a separate xGlyphInfo and chunk
of bits without a combined Glyph object.
2007-08-02 22:49:56 -07:00
Carl Worth
363d764ea3 ProcRenderAddGlyphs: Take advantage of the for loops to simplify the code a bit 2007-08-02 22:49:56 -07:00
Carl Worth
dc8a528cd6 ProcRenderAddGlyphs: Convert while loops to for loops where more natural 2007-08-02 22:49:56 -07:00
Adam Jackson
57b5b97a07 ReduceCompositeOp returns a Render op, not a boolean. 2007-07-29 11:02:47 -04:00
Adam Jackson
4d76075dbb Death to RCS tags. 2007-06-29 14:06:52 -04:00
Matthieu Herrb
42c2e14b25 swap xOrigin and yOrigin in SProcRenderSetPictureClipRectangles.
Fixes Xrender clipping rectangles when X server and client are of
different endianness, shown by xterm 225 among others.
2007-06-15 00:14:02 +02:00
Søren Sandmann Pedersen
54e023cec0 Don't pass regions to pixman_image_composite() anymore. 2007-06-11 09:43:15 -04:00
Søren Sandmann Pedersen
49ed31c0b3 Remove most of the fast-path MMX operations from fbmmx. fbCopyAreammx
and fbSolidFillmmx are still needed by other code.
2007-06-05 17:48:33 -04:00
Soren Sandmann Pedersen
2a960c442b Port renderedge.c to pixman 2007-05-23 13:08:26 -04:00
Soren Sandmann Pedersen
0fcd17c918 Use pixman short formats, revert the gradient_stop change 2007-05-15 17:59:13 -04:00
Soren Sandmann Pedersen
f4c1d5fc28 Use pixman types for transforms and vectors 2007-05-15 17:12:22 -04:00
Soren Sandmann Pedersen
f2e30e7d0a Use the pixman fixed point types and macros 2007-05-15 16:51:21 -04:00
Keith Packard
71fc5b3e93 Fix for a divide by zero that can be triggered by a malicious client.
Problem reported by Derek Abdine of rapid7.com. Thanks.
2007-05-02 11:41:11 +02:00
Soren Sandmann Pedersen
b5e1f7869b Remove #if 0'ed merge leftovers 2007-04-23 14:16:30 -04:00
Soren Sandmann Pedersen
84838268b3 Gradient fixes
* Port fix for bug 7685 from pixman. Patch by Carl Worth

* Add projective version of radial gradient code.

* Make sure that all Pict*Gradient types have PictGradient as prefix,
  since code in various places relies on that.
2007-04-23 13:19:54 -04:00
Soren Sandmann Pedersen
0a9239ec25 Merge David Reveman's gradient optimization patch from pixman 2007-04-19 18:19:34 -04:00
Stefan Huehner
1f6741db19 Bug #10560: Code-Cleanup: function declarations () -> (void)
X.Org Bugzilla #10560: <https://bugs.freedesktop.org/show_bug.cgi?id=10560>
Patch #9511 <https://bugs.freedesktop.org/attachment.cgi?id=9511>
2007-04-09 14:33:15 -07:00
Adam Jackson
9a0f25de7c Static cleanups, dead code deletion. 2007-03-25 12:27:01 -04:00
Matthieu Herrb
e3aa6ad201 Multiple integer overflows in dbe and render extensions
CVE IDs: CVE-2006-6101 CVE-2006-6102 CVE-2006-6103
2007-01-09 14:14:19 +01:00
Eamon Walsh
51b69ff499 Remove instances of macro SECURITY_VERIFY_DRAWABLE. 2006-12-14 17:53:43 -05:00
Eamon Walsh
6c46645cfc Naming change: Security*Access -> Dix*Access 2006-12-14 14:45:42 -05:00
Tilman Sauerbeck
594d4019c6 transformIsIdentity() now doesn't accept a zero matrix as the identity.
Added a non-zero test for one of the diagonal values.
2006-09-12 01:15:40 +02:00
Tilman Sauerbeck
fc30370d14 Bug #8226: Fixed SetPictureTransform()'s handling of the argument matrix.
It now recognizes scaled variants of the identity matrix, too.
2006-09-11 19:43:09 +02:00
Adam Jackson
0aaac95b0d Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
Daniel Stone
84683f19b4 get rid of XFree86LOADER, XFree86Server, XFree86Module, and IN_MODULE
Get rid of almost all uses of these definitions.  They're still defined for
delinquent out-of-tree drivers, and also for the Mesa build.  As well as
for miinitext.c.  But largely gone.
2006-07-18 18:17:38 -04:00
Eric Anholt
25d871d984 Fix source picture filter check for multiple screens.
Now, we only check for filter commonality if we're operating on a source
picture, and we compare the id (screen-independent index of the filter name)
rather than the pointer to the filter (per-screen state).
2006-07-03 19:22:26 +02:00
Eric Anholt
f5e92542a1 Bug #7366: Fix crashes when setting filters on source pictures.
Now, filters may only be set on source pictures when the filter is common to
all screens.  Also, like SetPictureTransform, ChangePictureFilter is now not
called on source pictures.
2006-07-03 16:40:59 +02:00
Eric Anholt
6ef4579139 Bug #7366: Fix two crashes in operations on source pictures.
A screen's ChangePictureTransform now isn't called when changing the transform,
as source pictures aren't associated with screens.  Also, attempting to set
an AlphaMap to a source picture will fail with BadMatch just like a Window
would, preventing another crash.
2006-07-03 16:40:11 +02:00
Eric Anholt
c7ac485a59 Remove the default case from fbcompose.c switches which should cover all cases.
Instead, stick the NULL return default case afterwards, so that the compiler can
warn us when we've got unimplemented cases.  Removes some unimplemented and
unused 8bpp, depth 4 picture format names.
2006-06-23 13:56:20 -07:00
Eric Anholt
e1672a12eb Convert PICT_* names from #defines to an enum to aid in debugging. 2006-06-19 15:11:55 -07:00
Adam Jackson
ab1a0249ba Bug #6867: Yet another Render crash fix. (Michel Dänzer) 2006-05-09 22:36:01 +00:00
Matthieu Herrb
b9a9cf6185 Typo in ALLLOCATE_LOCAL() arguments, causing mis-computation of the buffer.
Bugzilla #6642.
2006-05-02 14:09:30 +00:00
Keith Packard
b37c515320 Add support for x4a4 format (depth 4 at 8bpp). Bug #6325. 2006-04-19 21:56:13 +00:00
Adam Jackson
7deaaa797c Big old pile of warning fixes. 2006-03-28 01:21:00 +00:00
Lars Knoll
65aa33f917 render/picture.c Initialize the format of a source picture to
PICT_a8r8g8b8. Fixes a failure in the gradients test of rendercheck. In
    the long term we could do better by setting the format to something
    without alpha whenever the gradient doesn't contain colors with alpha.
    This triggers a reduction of the over operation to a pure source
    operation.
2006-03-08 06:19:37 +00:00
Lars Knoll
0693083335 render/picture.c Correctly initialize devPrivates variable in source only
pictures to 0
miext/cw/cw.h Don't try to access devPrivates of source only pictures
2006-03-06 21:00:09 +00:00