Age | Commit message (Collapse) | Author |
|
Some copy-pasto caused the width to be written into the height register.
Thanks to Hans-Jürgen Mauser for pointing out a couple of more places this
was wrong.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
|
|
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
|
|
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
|
|
After ca9718a887ecbc59b76869af673791ab591b849b it would
still default to XAA unless AccelMethod option was used.
Make sure the default is EXA if there is no XAA support.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
|
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
This screws up when DRI isn't enabled.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
This fixes savage build against the no XAA server.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Otherwise, calling it twice would trigger a VBE bug when using
xserver 1.12.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
XF86DRI is defined by xorg-server.h, so --disable-dri in the driver
itself does exactly nothing other than not fill in the CFLAGS and thus stop
the driver from compiling.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=9961
Signed-off-by: Andrew Turner <andrew@fubar.geek.nz>
[Tormod: Rename table to SAVAGEVisuals]
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
|
|
In a user header file, the macro name should not begin with `_'
http://gcc.gnu.org/onlinedocs/cpp/Once_002dOnly-Headers.html
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
|
|
Instead maintain our own list of supported PCI IDs.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
|
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
Linux kernel 2.6.30 - 2.6.39 had broken drm maps which would result
in assorted problems. Leave a message in the log if it looks like
the framebuffer map and the aperture map are mixed up.
https://bugs.freedesktop.org/show_bug.cgi?id=32511
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
|
|
There is no reason to do the division using floats as long as
the result is an integer and there is no risk of intermediate
overflow.
This is in the code for "Old" chipsets. Integer division was already
used in the parallel code for "New" chipsets.
Also fixed up the whitespace in both blocks.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
|
|
If I set the resolution to 800x600 for example (to be able to use the
TV output in full screen mode), I only can see 800/1024 = 0,78 of the
real video width, no matter if the video is displayed in a small player
window or enlarged to full screen. On the right of the video display,
the remaining width is filled with a black (or sometimes blue) bar.
The problem was mainly that only the drawing starting point was modified
by the scaling factor, but not the size-defining end of the drawing
rectangle.
https://bugs.launchpad.net/bugs/670790
Signed-off-by: Hans-Juergen Mauser <hjmauser@gmx.net>
Reviewed-by: Tormod Volden <debian.tormod@gmail.com>
Acked-by: Matt Turner <mattst88@gmail.com>
|
|
Found with CFLAGS=-Wlogical-op
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Also clean out some unused prototypes from savage_driver.h
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
|
|
This should fix resume with AGP. After all these years...
https://bugzilla.kernel.org/show_bug.cgi?id=4607
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Move DRI stuff from savage_driver.c to savage_dri.c
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Bit-masking the result of a boolean negation seems pointless,
so I guess this is what was intended: Only look at bit 0 of the
inStatus result.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
|
|
The mode pixel clock frequency is in kHz, not Hz.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
|
|
Correction to df8059025cafadaeea7672842d31134ed8c9c5df.
Casting addresses to int is a 32bitism. If we want to use
this intermediate cast to silence compiler warnings, we
should use uintptr_t instead to not introduce potential
bit truncation.
Thanks to Mark Kettenis for spotting this.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
|
|
This was warned about when building with -O2, and seems
to be a copy-and-paste glitch.
savage_dri.c: In function ‘SAVAGEDRIMoveBuffers’:
savage_dri.c:1445: warning: ‘pptNew2’ may be used uninitialized in this function
|
|
Two warnings and an error.
|
|
These registers are cleared after suspend/resume, so set them
up again in EnterVT.
|
|
The tiled surface registers were only setup in SAVAGEDRIScreenInit,
however, after suspend/resume these registers must be set up again.
So factor it out in a new function so it can be reused.
|
|
Removes the last bunch of -Wall build warnings.
savage_dri.c:490: warning: format ‘%08lx’ expects type ‘long unsigned int’,
but argument 5 has type ‘drm_handle_t’
...
|
|
It looks like "!" was meant for logic negation and the parentheses
were wrong.
I don't have a Savage 4 so I can't check if this fixes or breaks
anything.
|
|
Silence -Wall warnings.
The functions are just #if'ed out, to be left for inspiration.
|
|
savage_dga.c: In function ‘Savage_OpenFramebuffer’:
savage_dga.c:393: warning: cast to pointer from integer of different size
savage_dri.c: In function ‘SAVAGEDRIScreenInit’:
savage_dri.c:924: warning: cast to pointer from integer of different size
|
|
sed -i 's/xalloc/malloc/g; s/xcalloc/calloc/g; s/xfree/free/g'
Also replace xrealloc with realloc.
|
|
savage_exa.c: In function ‘SavageUploadToScreen’:
savage_exa.c:545: warning: passing argument 1 of ‘memcpy’ discards qualifiers from pointer target type
/usr/include/bits/string3.h:49: note: expected ‘void * restrict’ but argument is of type ‘volatile CARD32 *’
savage_video.c: In function ‘SavagePutImage’:
savage_video.c:2007: warning: format ‘%ld’ expects type ‘long int’, but argument 4 has type ‘drmSize’
savage_video.c:2007: warning: format ‘%ld’ expects type ‘long int’, but argument 5 has type ‘int’
|
|
Fixes bug 31614.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
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.
|
|
|
|
|
|
|
|
DPMS header was split into dpms.h (client) and dpmsconst.h (server). Drivers
need to include dpmsconst.h if xextproto 7.1 is available.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
The DRI code attempts to use XAAGetCopyROP without checking whether XAA or EXA is in effect. This results in the server crashing with an undefined-symbol error when enabling EXA, then starting glxgears under GNOME/Metacity and attempting to drag the glxgears window.
The EXA code happens to have a functional duplicate of the required code under the name SavageGetCopyROP(). This patch moves the code to savage_accel.c where it is now shared between EXA and the DRI code.
It is disturbing that this has not been caught before.
|
|
acceleration.
Under some conditions (documented in this patch), the UploadToScreen implementation can make use of the AGP scratch buffer used for XVideo as a convenient source for Mastered Image Transfer. The previous implementation is still available as a fallback for when AGP acceleration is not possible. This requires the AGP scratch buffer to be persistent, so the XVideo code is also made aware of an existing DRM mapping for the scratch buffer.
|
|
|
|
SavageGetPanelInfo will reset DisplayType if the panel is not
active, so check again before calling SavageAddPanelMode so that
bogus modes are not added.
This fixes startup failures in some cases, for instance when there is no
real panel and EDID is missing. The bogus sync ranges (typically 0 Hz)
would also block the default sync ranges from being applied.
Thanks to Peter Belew for testing.
https://bugs.launchpad.net/bugs/294899
|