summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-04-11i830 uxa: track fence reg usage exactlyno_fence_accountingDaniel Vetter4-0/+98
This tells libdrm to not take fence registers into account. Instead it checks for fence register availability for the current batchbuffer in the various uxa_prepare_* hooks where it's know how many fences are needed _exactly_. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-11i830 render: chack aperture space requirementsDaniel Vetter1-0/+9
No point not doing this. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-11render: tell the kernel explicitly when fences are neededDaniel Vetter3-18/+30
This slighlty improves xrender performance on fence reg starved i8xx hw. I've also changed a few function calls to the new names from the compat ones while looking at the code. The i915 textured video path is not converted because atm the xv code does not use tiled surfaces. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-11i915 render: use tiling bits where possibleDaniel Vetter1-4/+20
This is in preparation to explicit fence allocation with execbuf2. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-11i830 render: use tiling bits where possibleDaniel Vetter1-6/+21
This is in preparation to explicit fence allocation with execbuf2. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08XvMC: fix memory overflowDaniel Vetter1-1/+1
Caught by a malloc library assert. Note to self: Don't just copy&paste codelines around :( Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Buzilla: https://bugs.freedesktop.org/show_bug.cgi?id=27540 Tested-by: Nick Bowler <nbowler@draconx.ca> Tested-by: Calvin Walton <calvin.walton@gmail.com>
2010-04-08Xv: fixup overlay stride confusionDaniel Vetter1-2/+5
For some reason I've made a mess out of the overlay stride constrains. Fix it up. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Tested-by: Calvin Walton <calvin.walton@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=27453
2010-04-08i965 Xv: fix chroma pitchDaniel Vetter3-4/+5
In my recent fix for the chroma pitch for i915 xvmc I've forgotten about i965 class hw. For videos with a non-even sized stride (measured in dwords) the chroma pitch was internally incosistent and one dword off. Fix this by using pitch2 for the chroma pitch in i965 textured video like everywhere else. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=27417 Tested-by: Nick Bowler <nbowler@draconx.ca> Tested-by: Sven Arvidsson <sa@whiz.se>
2010-04-08libXvMC: rip out debug stuffDaniel Vetter3-24/+0
Almost totatlly unused, but surely totally useless. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08libXvMC: unify CreateSurfaceDaniel Vetter5-96/+31
Simply store the desired bo size in intel_xvmc_context and initialize it in the driver's create_context function. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08libXvMC i915: kill unused context private fieldsDaniel Vetter2-15/+0
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08libXvMC: derive driver context from struct intel_xvmc_contextDaniel Vetter6-109/+48
... by putting struct intel_xvmc_surface at the beginning. Also kill the common context handling code and simply keep a pointer in the surface private to the context. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08libXvMC: unify DestroySurfaceDaniel Vetter5-43/+3
Surface bo's can be freed by the common code, then there's nothing driver specific left. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08libXvMC: drop get_surface_status driver callbackDaniel Vetter5-63/+3
It's unused. Also drop all related generic code that tries to do clever stuff with this callback. These are all remnants from a pre-gem world. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08libXvMC i915: s/i915XvMCSurface/struct intel_xvmc_surface/Daniel Vetter2-46/+38
The private surface struct now adds nothing. Drop it. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08libXvMC i915: rip out unneeded surface fieldsDaniel Vetter2-51/+24
All of these are also stored in the context. Also kill the context reference counting. Doesn't serve a purpose besides occupying a pointer to the context in the private surface struct. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08libXvMC: unify PutSurfaceDaniel Vetter5-71/+3
Now that the drm bo is in the common structure, do the PutImage handling in common code, too. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08libXvMC: move drm_intel_bo to common intel_xvmc_surfaceDaniel Vetter7-55/+48
i965 lost the last field in it's private surface struct. Kill it and any associated headers. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08libXvMC: derive driver surfaces from struct intel_xvmc_surfaceDaniel Vetter5-81/+19
... by putting struct intel_xvmc_surface at the beginning. This will allow to consolidate surface and bo handling. Also kill some now dead code used to handle the common surface structure. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08XvMC: kill intel_xvmc_commandDaniel Vetter7-35/+13
We only passed around and actually used the gem handle. Don't need a struct for one field alone ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08XvMC: dynamically allocate adaptorDaniel Vetter3-186/+100
And kill all the static structures. This way it's clearer what's common and what's specific. And the code is shorter too. Also clean up src/i830_hwmc.c - kill the nonstandard surface types for i915 and the associated code. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08XvMC: directly set driver type in context creationDaniel Vetter2-7/+6
Instead of threading it through a global variable. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08XvMC: init driver in one function callDaniel Vetter3-24/+6
No point splitting this up. Gets rid of two #ifdef INTEL_XVMC blocks in i830_video.c. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08XvMC: move i965 specific stuff to common contextDaniel Vetter5-92/+55
Like for the i915. With this create_context is now also shared. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08XvMC: move i915 specific stuff to common contextDaniel Vetter8-99/+29
Doing the same with the i965 code will allow us to share the create_context function. src/i915_hwmc.h is now almost empty. Move the last #defines to src/xvmv/i915_xvmc.c where they are actually used and delete the file. Also rename the ddx context struct to something sane. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08XvMC: unify destroy context functionDaniel Vetter1-23/+6
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08XvMC: clean up i830_hwmc.cDaniel Vetter1-15/+8
- Drop unnecessary macros - Denote i965 specific stuff Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08XvMC: unify surface functionsDaniel Vetter1-38/+14
Like for the subpicture stuff, share the "do-nothing" functions ... And fix function name spelling, too. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08i965 XvMC: don't create any surface state in the ddxDaniel Vetter5-60/+26
Like for i915. Also drop that now totally superflous limit on the available surfaces. Move the surface struct into the userspace library header now that the ddx doesn't use it anymore. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08XvMC: unify subpicture functionsDaniel Vetter1-26/+9
The XvMC driver api in the server is insane. Even for optional stuff like subpicture support it doesn't check for NULL-pointers. So we have to retain some dummy functions. Wonder how many copies of these things exist on fdo ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08XvMC: unify PutImage handlingDaniel Vetter4-137/+7
Both xvmc are handing in the bo in the exact same way. So move the code to src/i830_video.c and kill this great oeuvre of spaghetti-code. The xvmc driver ini and fini also lost their last use, kill them, too. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08XvMC: merge *_hwmc.c into i830_hwmc.cDaniel Vetter4-568/+481
After unifying i915 and i965, not much will be left of these files. Therefore merge them to make the following changes easier. This creates some warnings about some redefined macros, but when this is all cleaned up they'll all be gone. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08i915 XvMC: kill more subpict support remnantsDaniel Vetter1-15/+0
This things just won't die! Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2010-04-08XvMC: everyone's using execbuffer!Daniel Vetter1-9/+1
XvMC was switched over from batchbuffers a few years ago ... Signed-off-by: Daniel Vetter <daniel@fliege.ffwll.ch>
2010-03-29Increase version to 2.11.0Carl Worth1-1/+1
In preparation for release.
2010-03-29NEWS: Add release notes for the 2.11.0 release.Carl Worth1-0/+40
Hurrah! We made it.
2010-03-26DRI2: release our private front buffer ref when buffer swappingJesse Barnes1-0/+5
Pauli pointed out that we take a ref on the front buffer when exchanging but forget to release it. The ref is necessary since the set functions will drop refs as necessary, but once we set the front buffer to point at the back pixmap, we ned to release our private ref again, or we'll leak buffers. Reported-by: Pauli Nieminen <suokkos@gmail.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-03-25uxa make: remove unused XORG_INCS and DIX_CFLAGS variablesGaetan Nadon1-4/+1
Most likely copied from xserver makefile. Acked-by: Dan Nicholson <dbn.lists@gmail.com> Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-03-25uxa: Perform the xrgb -> argb conversion not inplaceChris Wilson1-55/+60
After reports of segmentation faults caused by d6b7f96fde1add92fd11f5a75869ae6fc688bf77 and vmware, the most obvious cause would be illegally writing to the src data when performing the alpha fill inline. So force the image upload to go via a fresh buffer whenever we need to modify the incoming data. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reported-and-tested-by: Jeff Chua <jeff.chua.linux@gmail.com>
2010-03-24i830: Clip solid fills to surface.Chris Wilson1-0/+9
There is a reasonable surfeit of evidence to support this error, for instance: http://bugs.freedesktop.org/attachment.cgi?id=34417 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-03-24uxa: After filling the alpha channel xrgb src is compatible with argb dst.Chris Wilson1-0/+4
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-03-24uxa: Only reduce a composite to a BLT if it is wholly containedChris Wilson1-1/+17
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-03-24uxa: Default to using TILING_X for pixmaps.Chris Wilson1-5/+20
On memory constrained hardware, tiling is vital for good performance as it minimizes cache misses. The downside is that for older hardware (which often suffers from the lack of bandwidth) requires the use of fences for many operations, which are in short supply and so may cause shorter batchbuffers. However our batch buffers are typically short and so this is unlikely to be a concern and not affect the performance wins. A quick bit of testing suggests the effect is inconclusive on firefox/i945: linear tiled xcb 205.470 206.219 xcb-render-0.0 404.704 388.413 xlib 166.410 170.805 A secondary effect of the patch is to workaround a G31 specific hang when attempting to use linear 2048x2048 surfaces. Bonus! Fixes: Bug 25375 - Performance issue using texture from pixmap (tfp) glx extension on 945 http://bugs.freedesktop.org/show_bug.cgi?id=25375 Bug 27100 - GPU Hung copying a 2048x1152 pixmap http://bugs.freedesktop.org/show_bug.cgi?id=27100 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Tested-by: John <jvinla@gmail.com>
2010-03-22Update version to 2.10.903Carl Worth1-1/+1
For today's snapshot.
2010-03-22NEWS: Add notes for 2.10.903Carl Worth1-0/+30
For today's snapshot.
2010-03-22man: Update list of available 'sclaing mode' property values.Carl Worth1-10/+24
Include the names from the current kernel driver along with accurate descriptions of each. Indicate how to use the values with: xrandr --output output --set property value and point the user to "xrandr --prop" for an accurate list of currently available values. Closes bug: xf86-video-intel manpage needs update for KMS xrandr properties http://bugs.freedesktop.org/show_bug.cgi?id=25606
2010-03-22Clear drmmode_output->mode_output in drmmode_output_destroy().Matthias Hopf1-0/+1
2010-03-22Initialize flip_count before using itLi Peng1-0/+1
Otherwise it would be a random value and drmmode_page_flip_handler() won't have a chance to call I830DRI2FlipEventHandler() and indicate a full page flip is complete. Signed-off-by: Li Peng <peng.li@intel.com>
2010-03-18intel: free bus id in error path after printing it out.Dave Airlie1-1/+1
the error message prints out a freed string, spotted during code reappropriation to radeon driver. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-03-17i915: Correct preamble for emit_compositeChris Wilson1-1/+1
Fixes: http://bugs.freedesktop.org/show_bug.cgi?id=27123 Fatal server error: i915_emit_composite_setup: ADVANCE_BATCH: under-used allocation 100/104 Introduced with commit d6b7f96fde1add92fd11f5a75869ae6fc688bf77. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>