Commit Graph

1779 Commits

Author SHA1 Message Date
Mike Isely e031cc02e6 Implement support for 24 bit pixel format
The Intel driver appears to be coded to only work with displays
expecting 18 bit pixels.  However I have an application using a LCD
display that expects pixel data in 24 bit format.  The difference is
only 2 bits in a single GPU register.  This patch implements that
change, controlled by a new driver option, "LVDS24Bit".  The default
value is false, which is the previous behavior.  When set to true,
then 24 bit panels should work (at least the one I'm testing here
does).

Fd.o bug #15201

Signed-off-by: Mike Isely <isely@pobox.com>
2008-04-09 14:15:03 +08:00
Zhenyu Wang 79b18980ac Include <stdint.h> in i810.h for integer types definition 2008-04-09 14:03:45 +08:00
Jesse Barnes 2b720262e1 Fix LVDS regression
Disable panel fitting on 855GM, and fix dither setting.
2008-04-09 17:34:17 +08:00
David Schleef af92f4f885 Bug #15219: Fix default overlay CSC factors, and use BT709 if available.
Using the updated factors even when BT709 conversion isn't available
(non-965) should still give us better color reproduction.  Tested on a
945GM, examining the +/-5% of black bars of videotestsrc.
2008-04-08 12:45:18 -07:00
Bryce Harrington 37bc23660a Quirks from Ubuntu/Dell
FD bug #15353. Launchpad bug ID is available for reference.
(cherry picked from commit 24248097988775d62f6c416f2988e74d31c91cd0)
2008-04-07 17:28:14 +08:00
Keith Packard dcbdc901d6 Merge commit 'origin/master' into projective-965 2008-04-04 19:19:35 -07:00
Keith Packard 0147c1c848 Forgot to build exa_wm_src_sample_argb.g4b 2008-04-04 19:17:55 -07:00
Hong Liu 13563bd65c SDVO: Fix DDC bus selection based on output priority list. 2008-04-02 16:11:22 -07:00
Eric Anholt 6ad2d6ba86 SDVO: Fix mixups with input and output channels.
The 2-bit input_mask was actually an input count -- in0 is always there, and
in1 is optional.

The output flags weren't being reported in the log, so I mistakenly took
controlled_output == RGB0 to mean that the device only reported an RGB0,
while it actually reported RGB0|SVID0|YPRPB0|misc|other.  Move SVID0 up
in priority and remove the RGB-is-it-really-TV hack I had just come up with.

Finally, set the input/output mapping at mode set time.  We're always
supposed to do this, but haven't had to so far as we've never handled
devices with more than one output.
2008-04-02 16:11:18 -07:00
Eric Anholt 3a17400dc6 SDVO: Handle RGB outputs that are really TV outputs, and select a TV format.
Still doesn't light anything up.
2008-04-02 16:06:46 -07:00
Eric Anholt 3c1701797b Add WIP SDVO TV-out support.
Doesn't include properties for selecting TV formats or picture enhancements,
and totally untested.
2008-04-02 16:06:46 -07:00
Eric Anholt 9d5ba26fb5 Add SDVO TV-out registers. 2008-04-02 16:06:45 -07:00
Keith Packard 90886f9a60 Remove extra flushing 2008-04-01 00:54:13 -07:00
Keith Packard 0836373dc6 Add projective versions of the PS kernels 2008-04-01 00:16:05 -07:00
Keith Packard bfd803e085 Shrink WM thread to 32 registers and 1024 scratch space.
Saving registers means we can run more in parallel.
2008-04-01 00:06:08 -07:00
Keith Packard a6492661ae Fix composite with mask using new compositing thread code
Clean up register allocation to never overlap
Always write 4 values for each texture vertex.
2008-03-31 23:50:20 -07:00
Keith Packard f8081178eb remove old shader source files 2008-03-31 12:06:37 -07:00
Keith Packard 879f8717b0 remove old monolithic shaders 2008-03-31 12:05:56 -07:00
Keith Packard 6db8faeb75 remove old monolithic shaders 2008-03-31 12:04:00 -07:00
Keith Packard 6bb9221337 Back to new shaders, fix urb read length 2008-03-31 11:59:14 -07:00
Keith Packard 05710145b6 Dont set the compr bit on 8-unit sends 2008-03-31 11:31:31 -07:00
Keith Packard 0850050728 Use m4 to clean up gen4 asm progs. Start adding projective transform support.
Use macros for register names, modularize functions into separate files.
2008-03-31 02:20:43 -07:00
Keith Packard 949d73271d Remove rotation sf and wm progs 2008-03-30 19:19:46 -07:00
Keith Packard 492ff1494f Fix the sf_mask program to compute and pass corrected uvw cooefficients
sf_mask is the same as sf except that it must compute both src and mask uvw
cooefficients, which are conveniently adjacent in the same registers, and so
need only an extended execution width
2008-03-30 19:14:18 -07:00
Keith Packard 6304b38423 Reimplement wm program for nomask case to handle affine transforms
This involves correctly computing u/v locations based on x/y vectors and
line constants computed in new sf program.

Also, use fewer instructions to make this go a bit faster (2X for 500x500
composite).
2008-03-30 18:05:32 -07:00
Keith Packard 771a56b1ed Clarify comment in exa_sf program 2008-03-30 18:05:32 -07:00
Keith Packard 4f469189fe Compute du/dv/dw in no-mask SF prog 2008-03-30 18:05:32 -07:00
Keith Packard 7dcb6e6274 Disable cursors while switching modes 2008-03-30 18:05:13 -07:00
Eric Anholt d50264fc7c Add a "total" field to intel_idle output (set when any unit is busy). 2008-03-28 15:15:54 -07:00
Jesse Barnes 1450acd046 Use combo backlight control rather than pure legacy
If the legacy bit is set, use both the BLC_PWM_CTL and LBB regs to control the
backlight, rather than just LBB.  Looks like more platforms want that than what
the current code does.  Note that kernel provided interfaces will always be
used if available, so this shouldn't affect users with /sys/class/backlight
interfaces at all.

Fixes #14721.
2008-03-28 13:23:02 -07:00
Matthias Hopf 49f409fef5 Include missing stdlib.h for free() 2008-03-28 14:18:26 +01:00
Matthias Hopf 3414313ac9 Fix obviously wrong verification of DRI_SUPPORTS_CLIP_NOTIFY. 2008-03-28 14:18:26 +01:00
Matthias Hopf c40f195f2d Fix obviously stray '(' in non-I830_USE_EXA case. 2008-03-28 14:18:26 +01:00
Zhenyu Wang 7bba2c1331 Disable DRI earlier if fb width > 2048 2008-03-28 11:41:24 +08:00
Zhenyu Wang b1f358ba97 Disable overlay on new mobile chipset
It's gone, really.
2008-03-28 11:29:40 +08:00
Jesse Barnes 588371ba15 Merge branch 'master' into pfit 2008-03-26 14:53:15 -07:00
Paulo Cesar Pereira de Andrade c13efdd3d6 More compile warning fixes.
o Check for RANDR_GET_CRTC_INTERFACE before defining functions that
  are used only if it is defined.
o Declare a variable before code, and rename it from ret to xvmc_status
  to better describe it.
o if 0 some static functions not used.
o Don't declare some unused variables.
o Declare as static some functions that are used only in the file defining it.
o Add a default/fallback return True to the Bool function
  src/xvmc/intel_batchbuffer.c:intelInitBatchBuffer().
o Ansify src/xvmc/xf86dri.c.
o Add missing prototype to src/xvmc/xf86dri.h and follow pattern of other
  headers by adding "extern" before function prototype.
2008-03-26 10:11:36 +08:00
Eric Anholt 8cdbd55f80 Fix 965+ rendering issues with DRI disabled.
The new chips no longer automatically flush the rendering cache, so if we
don't flush the RC at blockhandler, the last rendering done may not
appear on the screen.  This was particularly noticable with a bare Xorg with
some missing root weave, and terminals where the last character wouldn't
appear until the cursor blinked.  A flush in the DRI blockhandler path had
hidden this issue for most people.
2008-03-25 10:09:54 -07:00
Eric Anholt c02ab432dd Revert "Use mprotect on unbound AGP memory to attempt to catch use while unbound."
While I still like the idea, the mprotect calls themselves are failing on
Linux and causing more trouble than they're worth.

This reverts commit a1612b7728.

Conflicts:

	src/i830_driver.c
	src/i830_memory.c
2008-03-24 13:48:20 -07:00
Eric Anholt 552a1b824d Disable a bunch of clock gating disables on IGD_GM, which doesn't need them.
Besides our driver having fallen through to the GM965 path for
RENCLK_GATE_D1, the BIOS was turning some of these on.  It may be relevant
for previous platforms as well to zero out the fields that should be zero
in the other registers.
2008-03-24 13:32:38 -07:00
Julien Cristau c1a2bc357f Don't try to build XvMC if DRI is disabled
Instead of failing the build, don't even try unless --enable-xvmc was used.
2008-03-24 13:29:24 +08:00
Maxim Levitsky 5fcc002f77 Fix crash triggered by dpms low power mode with hardware overlay running
When overlay switch crtc, it ignores current crtc dpms mode which
might lead to hang.
2008-03-24 13:24:12 +08:00
Keith Packard 6459805964 Transformed coord computed using floats. Don't move bilinear composite dst.
The homogeneous coordinate computation in the core server cannot be used for
many legal matrices as it overflows. Just use floats in the driver; faster
and avoids troubles.

When compositing with bilinear filter, don't push the dst coordinates around
as that makes the output blurry when pixels are aligned.
2008-03-21 03:12:36 -07:00
Zhenyu Wang bf725b92cf xvmc: fix distcheck
Add i915 headers in Makefile.am
2008-03-21 11:50:27 +08:00
Joerg Sonnenberger e8da1a5418 Fix DRI config for NetBSD
Reported by Joerg. This does a little more clearn up.
2008-03-21 11:41:49 +08:00
Zhenyu Wang 224c36cc14 Merge branch 'xvmc' 2008-03-20 10:31:57 +08:00
Jesse Barnes 52d6ced652 Fixup backlight control and panel fitting property names
They should be listed as lower case, since that's what you'd pass to xrandr.
2008-03-19 11:59:15 -07:00
Keith Packard 4b9b7b007d Handle projective transforms on 9xx for Composite.
Projective transforms require un-normalized texture coordinates and the use
of the texldp instruction. The coordinates are passed as x/y/z/w (the z is
unused, but there isn't a vertext format for just x/y/w).
2008-03-18 14:19:12 -07:00
Keith Packard f699389818 Add i830_transform_is_affine and i830_get_transformed_coordinates_3d.
These are needed to deal with projective transforms in the composite
operation.
2008-03-18 14:11:49 -07:00
Keith Packard a55974b435 Add defines for 9xx S3 word in 3D_STATE_LOAD_STATE_IMMEDIATE
These aren't used at this point, but what the heck.
2008-03-18 14:10:25 -07:00