summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-11-30uxa-glyphs: Enable TILING_X on glyph caches.Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-30uxa: PutImage accelerationChris Wilson
Avoid waiting on dirty buffer object by streaming the upload to a fresh, non-GPU hot buffer and blitting to the destination. This should help to redress the regression reported in bug 18075: [UXA] XPutImage performance regression https://bugs.freedesktop.org/show_bug.cgi?id=18075 Using the particular synthetic benchmark in question on a g45: Before: 9542.910448 Ops/s; put composition (!); 15x15 5623.271889 Ops/s; put composition (!); 75x75 1685.520362 Ops/s; put composition (!); 250x250 After: 40173.865300 Ops/s; put composition (!); 15x15 28670.280612 Ops/s; put composition (!); 75x75 4794.368601 Ops/s; put composition (!); 250x250 which while not stellar performance is at least an improvement. As anticipated this has little impact on the non-fallback RENDER paths, for instance the current cairo-xlib backend is unaffected by this change. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-29Only flush batch during prepare access if it may modify the pixmap.Chris Wilson
As we track when a pixmap is active inside a batch buffer, we can avoid unnecessary flushes of the batch when mapping a pixmap back to the CPU. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-29batch: Emit a 'pipelined' flush when using a dirty source.Chris Wilson
Ensure that the render caches and texture caches are appropriately flushed when switching a pixmap from a target to a source. This should fix bug 24315, [855GM] Rendering corruption in text (usually) https://bugs.freedesktop.org/show_bug.cgi?id=24315 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-29batch: Track pixmap domains.Chris Wilson
In order to detect when we require cache flushes we need to track which domains the pixmap currently belongs to. So to do so we create a device private structure to hold the extra information and hook it up. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-29uxa-glyphs: Stream uploads via temporary boChris Wilson
Avoid mapping the glyph cache back to the cpu by allocating temporary buffer objects to store the glyph pixmap and blit to the cache. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-29Cleanup a few compiler warnings.Chris Wilson
Simple warnings for unused variables and C99-style declarations. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-23Makefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILESGaetan Nadon
Now that the INSTALL file is generated. Allows running make maintainer-clean.
2009-11-20Makefile.am: Add missing .g4i to be included in the tar file.Daniel Kahn Gillmor
Apparently Debian packages were having to manually add these files back in. Distribute them in the first place like we meant to.
2009-11-14INSTALL, NEWS, README or AUTHORS files are missing/incorrect #24206Gaetan Nadon
Automake 'foreign' option is specified in configure.ac. Remove from Makefile.am
2009-11-14INSTALL, NEWS, README or AUTHORS files are missing/incorrect #24206Gaetan Nadon
Add missing INSTALL file. Use standard GNU file on building tarball README may have been updated Remove AUTHORS file as it is empty and no content available yet. Remove NEWS file as it is empty and no content available yet.
2009-11-14Several driver modules do not have a ChangeLog target in Makefile.am #23814Gaetan Nadon
The git generated ChangeLog replaces the hand written one. Update configure.ac to xorg-macros level 1.3. Use XORG_DEFAULT_OPTIONS which replaces four XORG_* macros Update Makefile.am to add ChangeLog target if missing Remove ChangeLog from EXTRA_DIST or *CLEAN variables This is a pre-req for the INSTALL_CMD
2009-11-14.gitignore: use common defaults with custom section # 24239Gaetan Nadon
Using common defaults will reduce errors and maintenance. Only the very small or inexistent custom section need periodic maintenance when the structure of the component changes. Do not edit defaults.
2009-11-14.gitignore: use common defaults with custom section # 24239Gaetan Nadon
Using common defaults will reduce errors and maintenance. Only the very small or inexistent custom section need periodic maintenance when the structure of the component changes. Do not edit defaults.
2009-11-13i915: Derive the correct target color from the pixmap by checking its formatChris Wilson
Particularly noting to route alpha to the green channel when blending with a8 destinations. Fixes: rendercheck/repeat/triangles regressed http://bugs.freedesktop.org/show_bug.cgi?id=25047 introduced with commit 14109a. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-13uxa: Do not remove repeat from solids for 1x1 composites.Chris Wilson
Or else we hit the buggy 1x1 source path and trigger: rendercheck/mcoords regressed http://bugs.freedesktop.org/show_bug.cgi?id=25046 caused by the recent commit e581ceb.
2009-11-10i915: Fix texture sampling coordinates.Chris Wilson
RENDER specifies that texels should sampled from the pixel centre. This corrects a number of failures in the cairo test suite and a few off-by-one bug reports. Grey border around images https://bugs.freedesktop.org/show_bug.cgi?id=21523 Note that the earlier attempt to fix this was subverted by the buggy use of 1x1R textures for solid sources -- which caused the majority of text to disappear. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-10i915: Use the color channels to pass along solid sources and masks.Chris Wilson
Instead of allocating and utilising the texture samplers for 1x1R solid sources and masks we can simply use the default diffuse and specular colour channels and adjust the fragment shader appropriately. The big advantage is the reduction in size of batches which should give a good boost to glyph performance, irrespective of the additional boost from using simpler shaders. However, the motivating factor behind the switch is that our use of 1x1 textures turns out to be buggy... Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-10i915: Check for overflow before overflowing.Chris Wilson
As the immediate victim of the overflow would be to overwrite the maximum permissible value, the test was optimistic. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-10Check that batch buffers are atomic.Chris Wilson
Since batch buffers are rarely emitted by themselves but as part of a sequence of state and vertices, the whole sequence is emitted atomically. Here we just enforce that batches are marked as being part of an atomic sequence as appropriate. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-10uxa: Force alpha bits to fill remaining bitsChris Wilson
In the case of x8r8g8b8 and similar where the alpha channel is ignored, but should be interpreted as being 1, then it is convenient if those bits are set appropriately in the colour. In order to do so for these formats, where PIXMAN_FORMAT_A() returns 0 we need to compute the alpha channel width as the remaining bits instead. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-05Revert "configure: make --disable-dri work even if the server supports DRI"Eric Anholt
This reverts commit a851139c2141f6da370186148f2836e18b2acf83. It broke the build, and I don't see why we should be supporting this anyway. Conflicts: configure.ac src/Makefile.am
2009-11-05Fix "Remove flow-control macros for fallbacks in the 2D driver."Eric Anholt
I guess this is the sort of failure due to rebase-happiness that makes Linus yell at us for rebasing.
2009-11-05Kill some more #defines only needed for User-ModesettingDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Eric Anholt <eric@anholt.net>
2009-11-05Remove flow-control macros for fallbacks in the 2D driver.Eric Anholt
It's poor style, and has confused new developers.
2009-11-05Increase stride limit for IGDNGJesse Barnes
It can go up to 32k. Upping this lets me use my 2560x1600 and 1920x1200 monitors in an extended desktop configuration. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-11-05configure: drop some more cruftRémi Cardona
DEBUGFLAGS wasn't used anywhere and the configure switch is useless. "CFLAGS=-g ./configure" does the same thing and actually works. PKG_CHECK_MODULES already calls AC_SUBST, no need to do it twice. Signed-off-by: Rémi Cardona <remi@gentoo.org> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-05configure: use CWARNFLAGS from xorg-macros.m4Rémi Cardona
Signed-off-by: Rémi Cardona <remi@gentoo.org> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-05configure: make --disable-dri work even if the server supports DRIRémi Cardona
XF86DRI is defined by the SDK so not defining it here just breaks the build. Define HAVE_DRI instead to avoid collisions. Note: DRI2 is still enabled/disabled entirely by SDK defines. Signed-off-by: Rémi Cardona <remi@gentoo.org> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-05configure: group system header checks at the topRémi Cardona
Signed-off-by: Rémi Cardona <remi@gentoo.org> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-11-05configure: check for libdrm and libpciaccess earlierRémi Cardona
Signed-off-by: Rémi Cardona <remi@gentoo.org> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-26Fix crash in uxa_acquire_pattern when pDst is NULLAlbert Damen
This avoids a crash when an XRenderComposite call is made with a -1 value for width/height, (which apparently compiz's gtk-window- decorator likes to do). Fixes bug: X crashes in uxa_acquire_pattern when logging in (gdm) http://bugs.freedesktop.org/show_bug.cgi?id=24724 Signed-off-by: Albert Damen <albrt@gmx.net> Reviewed-by: Carl Worth <cworth@cworth.org>
2009-10-19Fix 64-bit compiler warnings in intel_xvmc_dump_render().Thomas Arnhold
Bug #24396.
2009-10-19XVMC: Use XCB DRI2 instead of cargo-culting our own copy of Xlib stuff. (v2)Eric Anholt
v2: Incorporate comments from Jamey on device name handling and extension detection.
2009-10-15Enable XVMC by default on gen4.Eric Anholt
2009-10-15i965 XvMC cleanupZhenyu Wang
Remove bo pin for surface buffer access, and remove access attempt for possible unmapped framebuffer. Using xv buffer pointer to pass current xvmc surface bo handler, which is assigned to src image bo and handle that the same way as in Xv. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> [anholt: Fixed up for conflict against the XV rework. Not tested, because both mplayer and xine segfault with XVMC currently.] Signed-off-by: Eric Anholt <eric@anholt.net>
2009-10-15Xv overlay: fix planar YUV copy for right rotated crtcsDaniel Vetter
While copying and rotating the buffer, array access was out of bounds when rotated to the right (RR_Rotate_270). My buffer handling changes probably made this bug much more likely to actually result in a SIGSEGV. I've checked the logs and the bug exists since rotation has been supported, i.e. this looks like a candidate for cherry-picking for all supported releases. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Eric Anholt <eric@anholt.net>
2009-10-15Xv overlay: further cleanupsDaniel Vetter
Kill some unnecessary stuff. Small code changes, but no functional ones. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Eric Anholt <eric@anholt.net>
2009-10-15Xv: fixup the disabled drmmode overlay codeDaniel Vetter
This code didn't survive the global renaming of vars to saner names. Fix it up. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Eric Anholt <eric@anholt.net>
2009-10-15Xv overlay: remove some more dead stuff from ums overlay supportDaniel Vetter
Mostly unused definitions and variables, but also some strange ums debug code. Also kill some now obsolete comments. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Eric Anholt <eric@anholt.net>
2009-10-14debug: Enable cache flushing after every operationChris Wilson
If DEBUG_FLUSH_CACHES is enabled then emit a MI_FLUSH after every rendering operation. This is intended to 'fix' cases where we are missing a required flush in the middle of a sequence of operations, such as switching between 2D to 3D and render to sampler. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-14conf: Add debugging flush optionsChris Wilson
Make the following options available via xorg.conf: Section "Driver" Option "DebugFlushBatches" "1" # Flush the batch buffer after every # single operation; Option "DebugFlushCaches" "1" # Include a MI_FLUSH at the end of every # batch buffer to force data to be # flushed out of cache and into memory # before the completion of the batch. Option "DebugWait" "1" # Wait for the completion of every batch buffer # before continuing, i.e. perform synchronous # rendering. EndSection Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-13Return failure when the enum-type output property values are not foundZhao Yakui
Failure to do so causes xrandr to report incorrect property values. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
2009-10-13Drop frontbuffer from crtc in I830CloseScreenAlbert Damen
By dropping the frontbuffer from the crtc, the new frontbuffer can be properly added to the crtc when the xserver is reset. Signed-off-by: Albert Damen <albrt@gmx.net>
2009-10-13drmmode: with 1.7 server, set mode major doesn't get gamma setup.Dave Airlie
Noticed this on Fedora, where 1.7 server does gamma via the randr codepaths however kms doesn't have this call which happens in the non set_mode_major path. probably should be backported to released drivers. Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-10-12DRI2 compat build fix: it's drawable->pScreen not drawable->screenJesse Barnes
Fallout from the conversion; DRI2 compat path was broken. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-10-12uxa: Refactor create Picture for pixman formatChris Wilson
Pull the common methods for creating a Picture given a pixman format into its own method, and tidy the surrounding code. The benefit is that we can now composite directly to the Picture and so save an intermediate copy when creating patterns for gradients. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-12uxa: Free the ScratchPixmapHeader after its associated PictureChris Wilson
Fixes: http://bugs.freedesktop.org/show_bug.cgi?id=24459 Intel Driver > 2.8: Cairo rendering bug, triggered in QtCurve GTK engine Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2009-10-08Replace dolt and shave with relying on current autotools.Eric Anholt
2009-10-08Clean up more i830_memory.c madness.Eric Anholt
It was cooking up insane alignment values for buffers that new libdrm was justifiably complaining about, but it turns out we don't need the alignment values anywhere because the only case they're needed, they're computed entirely by the kernel. Also, the XVMC code was passing a completely unused flag in.