summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2013-03-22uxa: Add OpenBSD backlight control implementationMark Kettenis
Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
2013-03-22sna: Fix computation of clip extents for stipplingChris Wilson
The clip extents for the stippled BLT missed applying the drawable offset to the lower-right corner, so inevitably every operation ended up being clipped. Reported-by: Clemens Eisserer <linuxhippy@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62618 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-21sna/dri: Disable assertion and associated bookkeepingChris Wilson
Due to long standing ignored bugs in DRI2, we have to accept breakage in the driver. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62614 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-19sna: Haswell reintroduces MI_LOAD_SCAN_LINESChris Wilson
Better late than never? Interestingly only available from the BLT ring, which makes accurate waiting for XVideo (which must use the render ring) impossible in the current form - we need to render to a temporary then do a vsynced blit in this case. References: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1156679 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-19sna: Ignore vsync waits on tiny scanline rangesChris Wilson
If the update is only a couple of lines tall, any tear will not be visible - so just ignore programming the wait into the GPU. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-18sna: Reset operation state between glyphsChris Wilson
We are not resetting sufficient state between operations as we presume that all callers of Composite() currently pass in a blank state. In the long run, we want to remove that burden and do a minimal initialisation. References: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1156387 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-18sna: Add a pair of sanity checks before creating the redirection targetChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-18sna: Skip processing an all-clipped-out glyphChris Wilson
Along the slow path, skip all processing of glyphs that are not visible. This is important as the slow path handles the per-glyph redirection case, which is much more expensive. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-17sna/dri: Fix stale Pixmap detectionChris Wilson
NB the back buffer is not associated with the Drawable and so has no pixmap field set. Hence comparing the front->pixmap against the back->pixmap was always rejecting the blit. All we can check is that front->pixmap corresponds with the current Drawable and so reject stale configuration. Reported-by: Jiri Slaby <jirislaby@gmail.com> References: https://bugs.freedesktop.org/show_bug.cgi?id=47597 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-17sna: Don't remove the flush flag for userptr boChris Wilson
This flag is far too overload with meaning, but for now this prevents us attempting to call free() on a SHM segment. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-16sna/dri: Clear flush flag upon bo destroyChris Wilson
Fixes sanity checks that we do not leak the flushing status, nor invoke an operation upon an unflushed bo. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-14sna: Add an LLC path for creating snoopable buffersChris Wilson
As with LLC we do not actually need to track snoopable as a separate cache state. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-14sna/gen5+: Add missing float casts in computation of scaled src offsetsChris Wilson
Without the casts, the division ends up as 0 rather than the fractional offset into the texture. The casts were missed in the claimed fix: commit 89038ddb96aabc4bc1f04402b2aca0ce546e8bf3 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Feb 28 14:35:54 2013 +0000 sna/video: Correct scaling of source offsets Reported-by: Roman Elshin <roman.elshin@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62343 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-14sna: Consider placement hints when choosing userptr read pathChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-14sna: Add handle info to sync DBGChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-14sna: Use userptr downloads for incomplete GPU damaged pixmapsChris Wilson
If the pixmap is not wholly damaged, but still contains the region to be read, then use userptr (if available). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-14sna: Add a few more assertions to track userptr through the cachesChris Wilson
i.e. make sure they don't end up in any caches. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-13sna/trapezoids: Minimally replace points for TriFanChris Wilson
The realisation dawns that it wasn't the ordering of points within the triangle, but simply that I was replacing the wrong one.
2013-03-13sna/trapezoids: Correct ordering of points within TriFranChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-12sna/gen4: Tweak compilation flags to avoid mixed settings across functionsChris Wilson
Confusing gcc with different flags for supposedly inlined functions is not a good idea. References: https://bugs.freedesktop.org/show_bug.cgi?id=62198 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-12uxa: don't crash when freeing an uninitialized screenAaron Plattner
When intel_scrn_create creates a screen, it sets scrn->driverPrivate to (void *)(match_data | 1). Normally, this is read by I830PreInit and then replaced with a pointer to the intel_screen_private structure. However, it's possible for the server to delete the screen before initializing it, which leads to a crash in I830FreeScreen when it tries to interpret the unaligned match_data pointer as a pointer to a intel_screen_private. Fix this by checking the low bit of the pointer and skipping the teardown code if it's set. Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
2013-03-12sna/gen3: Tweak code generation for gen3_emit_composite_primitive_constant__sse2Chris Wilson
References: https://bugs.freedesktop.org/show_bug.cgi?id=62198 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-12sna/gen3: Tweak code generation for ↵Chris Wilson
gen3_emit_composite_primitive_identity_gradient__sse2 References: https://bugs.freedesktop.org/show_bug.cgi?id=62198 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-12sna/gen3: Reduce another use of transformsChris Wilson
Prefer the slightly cheaper _sna_get_transformed_scaled(). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-12uxa/glamor: Prevent a crash when trying to load a misconfigured glamorChris Wilson
Glamor requires that glamoregl is explicitly loaded via Section "Module" or else it currently crashes. Based on a patch by Michel Dänzer for xf86-video-ati. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-12sna: Missing git-add for 09862a85eba243bChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-12sna: Improve asserts that the CPU bo is not busy after synchronisationChris Wilson
Taking into account that we may not do a full synchronisation. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-12sna: Mark redirect proxies with a unique idChris Wilson
This helps gen3 in particular as it uses the unique_id field of a bo to detect changes in render target. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-12sna: Apply the source offset to the transform when fixing up gradientsChris Wilson
Otherwise pixman will apply the source transform to the offsets. Reported-by: Ognian Tenchev <drJeckyll@Jeckyll.net> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62198 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-11sna: Improve sna_copy_boxes DBG by printing the bo handlesChris Wilson
The handles of the bo are easier to track through the DBG as they are more often printed than then their addresses. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-11sna: Only allocate addition space if we need pixel dataChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-11sna: Mark the userptr as a CPU mappingChris Wilson
This helps clarify some recent asserts. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-11sna/dri: Free the event on the impossible error pathChris Wilson
Just in case we end up with bogus data, don't leak. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-11sna/dri: Free chained swaps upon CloseWindowChris Wilson
The assumption that the chained swaps are freed after the next vblank turns out to be wrong, and in effect we would leak the bo if we happened to submit the final swap faster than vrefresh and close the window before the vblank. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-11sna/dri: Reorder assert to avoid NULL dereferenceChris Wilson
Only try to dereference chain->draw after the check to see if it was already destroyed. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-11sna: Tighten checking for coherent mapsChris Wilson
Remember all the special cases where we can use a CPU mmap as a temporary substitute for a GTT mapping. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-10sna: Tweak CPU mappings to be only used if a read is requiredChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-10sna/dri: Flatten _sna_dri_destroy_buffer()Chris Wilson
One level of indentation can be trivially removed with an earlier return. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-10sna/dri: Add a couple more basic assertionsChris Wilson
To catch bad reference counting and loss of flush. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-08sna: Only shrink the maximum GPU size to fit into cacheChris Wilson
That is be very careful that we do not enlarge it past the aperture size on early gen. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-08sna/gen4: Initialise a pair of unimportant variablesChris Wilson
Should never actually affect any results. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-07sna: Fallback if we cannot fit the tiling copy into the apertureChris Wilson
If we cannot fit the source/destination and a tile into the aperture, then we cannot perform the copy and must do it using the CPU. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-07sna: Trim tile sizes to fit aperture constraintsChris Wilson
This is especially important with gen2 where we have no unmappable GTT to utilise. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-07sna: Remove the unused output and crtc listsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-07sna: Disambiguate sna_crtc_resize()Chris Wilson
sna_crtc_resize() operates upon the whole configuration rather than a single crtc like the other sna_crtc_* so rename it to make it distinct. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-07sna: Supply a fake pipe to run completely headlessChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-07sna: Return early if there are no outputs to setupChris Wilson
Instead of reporting failure, just try to run headless. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-07intel: Relax the has-kms test slightlyChris Wilson
Do not rely on a fully populated set of CRTCs, but merely note that the GETRESOURCES ioctl returns an error if KMS is not enabled. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-06sna: Disable read-read optimisationsChris Wilson
There is still a lurking issue, so punt on the optimisation for now. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61628 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-03-06sna: Lighten the wakeup handler slightlyChris Wilson
As the wakeup handler is called more frequently, we want to avoid any of the more heavyweight processing. So trim the wakeup handler down to the check to see if the GPU is idle and so we should immediately flush what we have currently queued. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>