Commit Graph

1801 Commits

Author SHA1 Message Date
Hong Liu 5c9cde37e7 Bug #14935: Fix i9xx reference clock for spread spectrum. 2008-04-11 09:54:34 +08:00
Eric Anholt 152a50703a Fix compiler warning from 24-bit lvds change. 2008-04-10 16:06:41 -07:00
Carl Worth baa55ffe3b Enumerate all possible cc_state objects
We need one for each possible combination of src and dst
blend_factors. Again, as with recent changes, this eliminates
state updates from prepare_composite and allows that function
to instead simply reference an existing object initialized
within gen4_state_init.

Thanks to Dave Airlie (and git-bisect) for pointing out that with
gnome-terminal all text was appearing as solid black with an early
version of this commit. As expected the bug was an alignment issue.

(cherry picked from 0c0ab52c2d100c47f38c7ef826ef585c8b9815e9 commit)

Performance is approximately equivalent on text tests, but may be
around +2%.
2008-04-10 16:03:29 -07:00
Keith Packard d5a80e1e3a Single memcpy when pitches align on planar image transfer 2008-04-10 16:58:12 -05:00
Keith Packard ac97f2b148 Use available symbolic register name 2008-04-10 16:58:12 -05:00
Keith Packard f270456e56 Remove .g4b files on clean 2008-04-10 16:58:12 -05:00
Keith Packard fb6ed8b8b5 Update yuv->rgb conversion programs to write to src_sample regs
The YUV->RGB code was written to write directly to the dataport registers,
but that didn't work for the compositing functions (cause still unknown).
This change makes that code write RGB values to the src_sample registers as
with the other sample computation fragments.
2008-04-10 16:58:11 -05:00
Keith Packard b01d582e23 Revert "Compute pixel values directly into data port"
This reverts commit 346cf57deabb4c336612df4c13650a87b5ef6775.

Mixing randr transforms and video caused screen corruption for Render
operations. No, I don't understand why.
2008-04-10 16:58:11 -05:00
Keith Packard 3fc3d1a701 Remove sync after 965 video put.
The hardware has been marked as needing a sync, so the next video put will
block waiting for the previous one to complete. Adding a sync here just
stalls the video playback for no good reason.
2008-04-10 16:58:11 -05:00
Keith Packard 825d9e50c5 Add planer video decode kernel
Support for planar video reduces bus bandwidth by 25% and also reduces CPU
usage during planar->packed conversion.
2008-04-10 16:58:11 -05:00
Keith Packard a03eaaa67b Use shared exa_wm code for packed yuv decode
Eliminate special video sf and ps programs.
2008-04-10 16:58:11 -05:00
Keith Packard 32ef985183 Compute pixel values directly into data port
Instead of leaving pixel values in src_sample registers, compute the pixel
values directl to the data port to save 8 moves. This cannot work when no
computation is done as there is both no way to wait for the sampler to
finish and because the sampler returns data in a different order from that
required by the data port (sigh).
2008-04-10 16:58:11 -05:00
Keith Packard b68d9f4245 Use symbolic names for channels in YUV code 2008-04-10 16:58:11 -05:00
Keith Packard 781be9d472 Rename src/mask/data registers to indicate channel 2008-04-10 16:58:11 -05:00
Eric Anholt 2871ac8eef Statically allocate the sampler default color, which we never change.
Performance change is in the noise.  Also from Carl Worth.
2008-04-10 13:53:40 -07:00
Eric Anholt 80dd784e33 Add copyright information for recent editors of this file. 2008-04-10 13:37:52 -07:00
Eric Anholt b606278db8 Keep static copies of the 965 render programs in video memory.
This reduces the CPU overhead of memcpying them in every time, for a speedup
in aa24text of around 30%.  This is based on work by Carl Worth which is
in the intel-batchbuffer branch.
2008-04-10 13:37:47 -07:00
Eric Anholt bd41d2bb85 Add dolt to speed up compile time and reduce insanity.
Hopefully some day we can be rid of libtool entirely.
2008-04-10 11:39:59 -07:00
Eric Anholt 96ae9a9f0a SDVO: Rename output_dtd variable to input_dtd, which is its new job. 2008-04-09 15:18:23 -07:00
Eric Anholt 72c3995d51 SDVO: Set adjusted_mode in mode_fixup from the preferred input timings for TV. 2008-04-09 15:18:23 -07:00
Eric Anholt b61178524b SDVO: Fix lols TV mode list handling. 2008-04-09 15:18:23 -07:00
Eric Anholt 5db73f18d2 SDVO: Use the TV reference clock for SDVO TV outputs.
Based on a patch by Will Wiseman.
2008-04-09 15:18:22 -07:00
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