Age | Commit message (Collapse) | Author |
|
After splitting out the i810 driver into its own legacy directory, we
can identify the common routines not as i830 but as intel. This
clarifies the code which *is* i830 specific.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
(cherry picked from commit 5c663ce8442bd3b69c96e29061c57cc565fca91d)
Conflicts:
src/Makefile.am
src/drmmode_display.c
src/intel.h
src/intel_batchbuffer.c
src/intel_dri.c
src/intel_driver.c
src/intel_memory.c
src/intel_video.c
src/xvmc/intel_xvmc.h
OGA: adapted for ums
|
|
The driver is still built but is no longer under active development so
move it and supporting files to a new directory.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
(cherry picked from commit 797d173a9af12055ba2609293182b616dd673ef4)
Conflicts:
configure.ac
src/Makefile.am
src/common.h
src/i830.h
src/i830_accel.c
src/i830_batchbuffer.c
src/i830_driver.c
src/legacy/i810/i810_driver.c
OGA: had to make abunch of changes due to ums still existing, but this
was more sensible that having to modify every single cherry-picked patch
from now on.
|
|
As the batch submit may not trigger further drawing through flushing the
vertices, pass the requirement to emit the flush down to the submission
routine so that the flush can be appended after the final commands.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
(cherry picked from c942585098ac84ae461821cbb8f52dedce7a0da1)
Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
|
|
It doesn't work, and just adds extra complexity for no real gain by this
point.
|
|
This should restore the previous level of synchronisation between
textures and pixmaps, but *does not* guarantee that a texture will be
flushed before use. tfp should be fixed so that the ddx can submit the
batch if required to flush the pixmap.
A side-effect of this patch is to rename intel_batch_flush() to
intel_batch_submit() to reduce the confusion of executing a batch buffer
with that of emitting a MI_FLUSH.
Should fix the remaining rendering corruption involving tfp [inc compiz]:
Bug 25431 [i915 bisected] piglit/texturing_tfp regressed
http://bugs.freedesktop.org/show_bug.cgi?id=25431
Bug 25481 Wrong cursor format and cursor blink rate with compiz enabled
http://bugs.freedesktop.org/show_bug.cgi?id=25481
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
(Cherry picked from commit cd475bad23c02130d11c49882c11261c9f0d4ef1)
|
|
There is only a single caller that wishes to forcibly append a flush
into the batch: intel_sync(). So move the logic there.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
(Cherry picked from commit 98e11210367c950e3f932419d2a4722cf971885d)
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
(cherry picked from commit 57336c26f1fb90d43851ddcf78539585b67d86d9)
|
|
During shutdown from a FatalError during batchbuffer submission, it is
possible for the batch_ptr to be NULL, so we must be careful not to
append a flush on this error path.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
(cherry picked from commit 370157f4932cf9067ba81c8bd5a311aff610882b)
Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
|
|
Since drm may not actually set the appropriate errno after a failure, we
must use the return code instead when determining the cause of failure.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
(cherry picked from commit b68d3646f1fdfe012c16741958c7a62136a9b5aa)
|
|
I incorrectly changed the logic in 285f286 and caused the batch to
always be flushed when debugging, instead of merely inserting a MI_FLUSH
between operations.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
(cherry picked from commit a8ea20100de5be45699e71eb6ba67bef546ad0cd)
Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
|
|
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>
(cherry-picked from commit 285f286597df5af13ac3f3d366f2fc9d0468dafa).
|
|
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>
(cherry picked from commit 86bc23ab5da34137c82250395c68aa92ecd88a24)
Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
|
|
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>
(cherry picked from commit 3c0815abf28744e215bea286e71d935cd486955a)
Conflicts:
src/i830.h
src/i830_batchbuffer.c
src/i830_driver.c
|
|
(cherry picked from commit 7bbf4ac7137ed0e4ec0a75806a396c12f102e779)
Conflicts:
src/i830_video.c
|
|
(cherry picked from commit f309d475241260cf60567100511d5f7c6c487a29)
Conflicts:
src/i830.h
src/i830_accel.c
src/i830_batchbuffer.h
src/i830_uxa.c
|
|
(cherry picked from commit af27a3a0a5645c6f41f583611bd0f2559dc7cb2f)
Conflicts:
src/i830.h
src/i830_accel.c
src/i830_batchbuffer.c
src/i830_display.h
src/i830_driver.c
src/i830_memory.c
src/i830_video.c
|
|
This is the beginning of the campaign to remove some of the absurd use of
Hungarian in the driver. Not that I don't like Hungarian, but I don't need
to know that pI830 is a pPointer.
(cherry picked from commit cc5d3ba3c331c3b1becf2d19277b24144bf34cfa)
Conflicts:
src/i830.h
src/i830_batchbuffer.c
src/i830_batchbuffer.h
src/i830_dri.c
src/i830_driver.c
src/i830_hwmc.c
src/i830_memory.c
src/i830_uxa.c
src/i830_video.c
src/i915_hwmc.c
src/i965_hwmc.c
|
|
(cherry picked from commit 6a716a25abc84f1c7f766fd3bfa1c2aac91e6ae7)
Conflicts:
src/Makefile.am
|
|
We've talked about doing this since the start of the project, putting it off
until "some convenient time". Just after removing a third of the driver seems
like a convenient time, when backporting's probably not happening much anyway.
(cherry picked from 8ae0e44e42db645abe6d385f561260d2ae4a1960 commit)
|
|
This is replaced by intel_gpu_dump, and would no longer be used once UMS is
gone.
(cherry picked from commit 33c488e83676d26e69145ea615f75ca52768f400)
Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
|
|
This should save significant amounts of memory for glyph and other small
pixmap storage.
Bug #21387
|
|
This removes yet another 'debugging' option that hasn't seen real use in a
long time, and wasn't supported under KMS in any case.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
CVS keywords, comments about how the source was once reformatted,
and the ad-hoc changelog comment in in i830_driver.c
|
|
This pre-GEM code was all sorts of broken -- see intel_bufmgr_fake.c for
the hoops that must be jumped to use that kernel interface successfully.
Yet we continued to use it even with KMS/DRI2/UXA, which may account for
some hangs.
|
|
We only have on acceleration architecture now, and you can always build it
if you're building the driver.
|
|
UXA has completely replaced EXA at this point. UXA is the same rendering
core as EXA, but relying on kernel memory management or a fake bufmgr instead
of trying to manage memory in the X Server.
|
|
While EXA/UXA aren't completely good replacements (see bugzilla for
performance and stability problems), we are pretty sure at this point that
it's the right way to go and that having multiple acceleration architectures
is getting in the way of producing a stable codebase.
|
|
This was blocked on wide distribution of X Server 1.6 (now in the current or
next version of major distributions) and solutions for a couple of significant
architectural problems (vblank sync and frontbuffer rendering, which we now
have code or good plans for).
This includes disabling XVMC which is DRI1-only currently.
|
|
Fixes a crash with fake bufmgr and UXA.
|
|
This removes it from a callsite where it would have just resulted in a
fatalerror.
|
|
It's been broken for years now, and KMS offers a much better chance of getting
this working sensibly without making a mess of the 2D driver.
|
|
It never worked with any upstream linux kernel, and is quite heavily
deprecated. A new solution based around DRI2 will probably be
forthcoming. Pageflipping itself is next.
|
|
I915_EMIT_IRQ is a read/write ioctl, not a write only. Found by OpenBSd's
kernel code which checks these things a long more strongly than Linux.
|
|
This results in allocation overhead for small (8x8-128x128 or so) pixmaps with
DRI2, but we're interested in looking at tiling them in general in the near
future, anyway.
|
|
Conflicts:
src/i830_dri.c
src/i830_driver.c
src/i830_memory.c
|
|
This tracks whether the last command in each batch is an MI_FLUSH command
and avoids appending another MI_FLUSH in the non-GEM cases.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
When moving or clearing the extra buffer contents associated with DRI
windows, the XAA code needs to see which buffer is being manipulated in the
Setup functions to program the tiling values correctly. Calling
I830SelectBuffer and not then calling I830Setup... would result in mis-tiled
rendering.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
|
|
Implement DRI2CopyRegion and provide drm device filename to DRI2 module.
|
|
|
|
This disables UXA and DRM modesetting pre-1.5, due to privates handling
issues.
|
|
The previous location for pitch fixup would have only worked when depth was
used with the backbuffer, and no page flipping or other adventures occurred.
|
|
|
|
We won't have the ring mapped.
|
|
|
|
EXA and UXA have the same acceleration interface, but UXA doesn't provide
pixmap stride information as it doesn't manage pixmaps. Move all of that
into the driver structure so that the acceleration functions needn't
reference the EXA structure.
|
|
This eliminates the cost of EXA migration management while providing full
pixmap allocation control to the driver. The goal is to make something
useful for UMA drivers.
|
|
|
|
The batchbuffers are managed using libdrm and bufmgr_fake, and dispatched from
the ring from userland.
|
|
|
|
|