| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This reverts commit 53c3d217fe45af4e38bf1c2efedb27e2b2879706.
|
| |
|
|
|
|
| |
It should also be used in XAA case, and initialize it early.
|
|
|
|
| |
vb state doesn't damage, rendercheck passed fine.
|
|
|
|
| |
also remove extra sync commands.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
And cursor mem counting for dri mem manager is not relate
to overlay.
|
|
|
|
| |
There can be only one.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
This branch changes i830_memory.c's allocator to use TTM when available to
allocate memory, which also allows TTM to control almost the entire aperture.
As a result, our front/back/depth buffers are created as real buffer objects,
which may be used by the DRI driver instead of the fake buffer type in TTM.
The updated DRM with bo_set_pin ioctl is required, to allow us to pin and
unpin our buffers as needed.
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/i830.h
src/i830_driver.c
|
| | | |
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/i830_dri.c
src/i830_memory.c
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A number of other interfaces of ours don't allow buffer offsets to be updated
after screeninit. This attempts to catalog why for each one, so that they
can be fixed one by one.
This happens to restore the EXA offscreen allocator for now, as a fixed-offset
object.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
The return value of GetScreenPixmap before CreateScreenResources is not, in
fact, a pixmap.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If not available, AIGLX init will fail. While here, simplify DRIINFO tests
since we refuse to init with a version queried less than the version we
compiled against, anyway.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
To do this, we have to deal with buffer offsets being set at EnterVT time
instead of screen init time. We've wanted to move this direction for a long
time, but there are repercussions. The EXA offscreen memory manager has to
be disabled, because it can't be moved. That will be replaced by BO-backed
pixmaps soon. Also unresolved is whether our moving
front/back/depth/texture buffers will break the classic-mode DRI driver.
This code doesn't actually work yet.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a step towards being able to expose buffer objects through the screen
private to DRI clients, instead of having them have to use the fake buffer
object type.
This fails in two ways. First, the kernel memory manager is not currently
suitable for doing the physical allocations we need, so we still use AGP for
those. Additionally, the DRI lock can't be initialized early enough for us, so
these buffer object allocations fail. This will be fixed by improving the
DRM interface.
|
| |_|/
|/| |
| | |
| | | |
Use consistent interface for counting pixmap offset.
|
| | |
| | |
| | |
| | |
| | | |
Looking at the 7304, this chipset likely requires slightly different
programming. However, this change allows for at least some functionality.
|
| | |
| | |
| | |
| | |
| | | |
Turns out we can get away without this, so remove it, fix a crash, and only
swap planes/pipes if the DRM can support it.
|
| | |
| | |
| | |
| | |
| | | |
Move plane->pipe mapping adjustment to ScreenInit so we can check
against the DRM driver version accurately.
|
| | |
| | |
| | |
| | |
| | | |
Use pScreen directly when getting at the SAREA private, since
pScrn->pScreen may not be initialized yet.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We want to associate plane A with pipe B on pre-965 mobile chips, since that's
the only way to get framebuffer compression on the builtin LVDS on those
platforms. However, if we do this swapping and DRM isn't aware of it, we may
end up requesting vblank events for the wrong pipe, or setting up SAREA buffer
swap state incorrectly.
This mod checks whether DRM supports the new plane->pipe swapping behavior, and
only enables the swapping if so. This should fix the bugs Lukas found and
debugged. Reviewed by Michel Danzer.
|
| | |
| | |
| | |
| | |
| | | |
With the libpciaccess change that added these new APIs, use them
for all mapping.
|
| | |
| | |
| | |
| | |
| | | |
G33 GTT table lives in seperate stolen mem with
graphics data stolen mem.
|
| | |
| | |
| | |
| | |
| | | |
The TV format property cannot be configured until RandR has been
initialized.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
From spec, i915 engine uses green channel when reading from 8bit
color buffer for blending, and also writes back green channel.
Fix blend factor in dest alpha case by using dest color instead.
Now rendercheck can pass a8 tests.
|
| | |
| | |
| | |
| | |
| | | |
Change to use libpciaccess APIs, including computing and using BAR indices
for various mapping activities.
|
| | |
| | |
| | |
| | |
| | | |
This includes new probe code (intel_pci_probe) and changes for i810 to
use BAR indices to refer to suitable portions of the device mappings.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Uncomplicated API transistions for libpciaccess usage:
Legacy xf86 API libpciaccess API
--------------- ----------------
xf86ReadPciBIOS pci_device_read_rom
pciReadWord pci_device_cfg_read_u16
pciWriteByte pci_device_cfg_write_u8
And, more use of the API-independent DEVICE_ID/SUBVENDOR_ID/SUBSYS_ID macros
to pull PCI identification data from the underlying structure.
|
| | |
| | |
| | |
| | |
| | | |
The DRI interface requires bus identification for each DRI object; pull that
data from the libpciaccess structures as necessary.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Using libpciaccess requires a different type for PciInfo (struct pci_device
instead of pciVideoPtr) and it requires knowing which BAR each memory region
needs to be mapped from. Add these definitions to the driver private record
along with the includes necessary to use libpciaccess.
|
| | |
| | |
| | |
| | |
| | |
| | | |
libpciaccess has a new structure that holds the PCI identifier data; borrow
macros from the mga driver to work with either the old xf86-specific
structure or the new libpciaccess structure.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Detect whether the target X server uses libpciaccess, using it in the driver
compilation as necessary. This change means that utilities that used to use
libpciaccess will not do so unless the driver itself uses libpciaccess. Yes,
that could be fixed, but it doesn't seem that important.
This patch does not include any code changes necessary to actually have the
driver build against an X server using libpciaccess.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
The code was not consistently using XV_PIPE when the desired crtc contained
any portion of the video output.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
This requires EXA 2.2 (server 1.3) for rotated performance with EXA, because
the i830_memory.c allocation may not fall within what EXA considers the
offscreen area, so the PixmapIsOffscreen hook is needed.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This should fix issues with XV being allocated into XAA's tiled pixmap
cache and resulting bad rendering. Its also brings us closer to being able
to shrink the size of the pixmap cache on XAA, which is of limited utility.
|
|\ \ \
| | |/
| |/|
| | | |
ssh://git.freedesktop.org/git/xorg/driver/xf86-video-intel
|
| | | |
|
| | | |
|