summaryrefslogtreecommitdiff
path: root/src/i830_cursor.c
AgeCommit message (Collapse)Author
2008-03-11Remove i830+ driver's use of CARD*/INT* types for great justice.Eric Anholt
Several uses are actually left, which are determined by the X Server interfaces we're implementing.
2007-10-05Replace setting of LIFETIME_FIXED on cursors with just updating the offsets.Eric Anholt
2007-03-19Set the CURSOR_SIZE register when present.Eric Anholt
Failure to do so gets you a lot of pretty colors.
2007-03-17Cast ARGB cursor address to CARD32 * to eliminate warning.Keith Packard
While we're just doing a memcpy, it's nice for the two argument types to match.
2007-03-15Fix crashes and other failures when a cursor allocation fails.Eric Anholt
Now, we allocate one single block of memory for cursors, and either succeed or fail once, rather than trying to support partial fallback modes that generally resulted in pain due to being untested. In particular, this fixes cursors on FreeBSD, which only allowed one large physically-contiguous allocation.
2007-03-15Use new driver-independent CRTC-based cursor layer.Keith Packard
This eliminates all of the cursor rotation code and other cursor management infrastructure, leaving a fairly simple hardware layer in its place.
2007-03-02Fix a crash when an ARGB cursor allocation had failed.Eric Anholt
2007-02-23Rework the video memory allocation.Eric Anholt
The previous allocator worked in multiple passes, with (at least) one of setting up allocations, another to attempt to adjust those for tiling, and then a pass to set up the offsets and fix them in memory. The new allocator is simpler, allocating memory immediately if possible, setting up tiling up front, and choosing offsets immediately. AGP memory is only allocated to back actual memory used, saving some memory that would have been allocated for padding previous. It will also allow dynamic freeing and reallocation of memory, which will be useful for framebuffer resizing.
2007-02-02Fix bad offsets in "right" rotation of the CRTC in cursor and update handling.Eric Anholt
2007-01-27Paint ARGB cursor data to ARGB cursor memory space in frame buffer.Keith Packard
When converting from global cursor to per-crtc cursor, the ARGB cursor data was accidentally painted to the wrong location, overwriting some critical data and causing the hardware to lock up. (along with generating a garbage cursor image from uninitialized data).
2007-01-24Warning fix.Eric Anholt
2007-01-18Allocate separate cursor memory per CRTC and rotate cursors appropriately.Eric Anholt
Also, add bind/unbind of the shadow rotate buffers, which was missed in a previous commit.
2007-01-18Partially deal with cursor rotation.Eric Anholt
The remaining issue is having a cursor image per CRTC so that the cursors can be rotated on the independently rotated CRTCs.
2007-01-16Interim work on rotation support with new xf86 code.Keith Packard
Yes, there are lots of bits tied together here, and we should split this patch apart. Move I830 mode setting to xf86 mode setting. Make mode setting function also set the base address. This should fix problems where the base gets set incorrectly at times. Add driver-independent rotation support, requires driver-specific hooks for shadow pixmap allocation, otherwise it uses Render for painting.
2007-01-03Add per-CRTC gamma control support for RandR.Eric Anholt
This makes the CRTCs now always run in gamma-enabled mode, rather than having flaky logic for switching modes. Also, it should clear up issues with the LUTs being uninitialized when outputs are first brought up.
2006-12-13Move xf86CrtcConfig to ScrnInfo private.Keith Packard
Pull xf86CrtcConfig out of the driver private structure and allocate a ScrnInfo private index for it. Also, make the arrays of outputs and crtcs dynamic instead of fixed.
2006-11-27Move crtc/output config to sub-structure.Keith Packard
Place crtc/output in separate structure at head of driver private structure. Use this from the config code to make it driver-independent. Still lots of effectively driver independent code that continues to use driver dependent stuff, but that will change.
2006-11-26Start output/crtc restructuring work. It compiles.Keith Packard
Outputs and Crtcs are now split between 'generic' and 'driver specific' pieces in the hope that more code will be able to migrate to the xf86-generic layer. Right now, the code remains tangled together, significant work remains to tease the pieces apart. First the code needs to be made to actually work as-is though.
2006-11-08Merge branch 'modesetting-keithp' into modesettingKeith Packard
Conflicts in PipeSetMode were resolved to use the keithp changes that pushed more modesetting stuff into the per-pipe function. Switched availablePipes to num_pipes. Used modesetting default output configuration.
2006-11-08Change the output and pipe "is it on/off" field name to "enabled".Eric Anholt
2006-11-07Use pI830->availablePipes instead of MAX_DISPLAY_PIPES everywhereKeith Packard
(cherry picked from e4bcec796e80e9fd66ab0c36394f5946915531f1 commit)
2006-11-04Rename availablePipes to num_pipesKeith Packard
2006-11-03Use pI830->availablePipes instead of MAX_DISPLAY_PIPES everywhereKeith Packard
2006-11-03Create I830PipeRec to hold pipe-specific data. Remove unused I830 members.Keith Packard
I830 contained six parallel arrays for pipe-specific data; these have been moved to a I830PipeRec structure instead. I830 also contained several unused members: unsigned int bios_version; Bool newPipeSwitch; Bool fakeSwitch; int fixedPipe; These have been removed, along with the code that set them.
2006-10-02Move cursor base address register setting to a separate function.Eric Anholt
2006-09-27Merge branch 'master' into modesettingEric Anholt
This reverts most of the mergedfb code. This will instead be done in device- independent RandR code. Conflicts: src/Makefile.am src/i810_driver.c src/i810_reg.h src/i830.h src/i830_cursor.c src/i830_driver.c src/i830_modes.c src/i830_video.c
2006-09-21Consistently use Cursor A on Pipe 0 and Cursor B on Pipe 1.Keith Packard
Mixing random cursors and pipes didn't work very well. I'm left wondering whether the palette stuff will work on pre-9xx series hardware though; it is special cased everwhere else.
2006-09-20Update driver for RandR 1.2 X server API.Keith Packard
This is not entirely what I'd like to see, but it's at least functional. Limitations: Can't disable/enable crtcs Can't move outputs on/off crtcs But, it does handle monitor hot-plug, detecting changes in VGA and SDVO status on-the fly. Which makes for good demo material.
2006-08-09Clean up warnings.Eric Anholt
2006-08-08Merge branch 'i965', adding i965G support.Eric Anholt
Conflicts: src/i830_cursor.c src/i830_driver.c
2006-08-08Ensure palette is updated in mergedfb & clone modesAlan Hourihane
2006-08-03Merge branch 'broadwater-video-rehash' into broadwaterEric Anholt
Conflicts: src/Makefile.am src/common.h src/i810_driver.c src/i810_reg.h src/i830.h src/i830_accel.c src/i830_cursor.c src/i830_dri.c src/i830_dri.h src/i830_driver.c src/i830_memory.c src/i830_rotate.c src/i830_video.c
2006-08-03Add current Tungsten Graphics code drop for i965 support.Alan Hourihane
2006-07-27Calculate allowable refresh rates on the privateAlan Hourihane
mode data for each independent screen in mergedfb. Lots of other fixes too.
2006-07-25Add mergedfb support to the intel driver withAlan Hourihane
additional pseudo-Xinerama support.
2006-07-11Avoid NULL dereference if cursor position changes during a mode change.Eric Anholt
2006-07-11Make gamma settings apply to the cursor as well, and fix clone-mode gamma.Luká\u0161 Hejtmánek
2006-05-12First pass of integrating the Tungsten Graphics driver for Broadwater. ThisEric Anholt
patch is based off of diffing from the branchpoint to the supplied code, but with many chunks containing reversions of commits removed. Won't work yet.
2006-04-10Merge in master to modesettingKeith Packard
2006-04-10x86_64 warning fixesAlan Hourihane
2006-04-06Enable -Wall on GCC, and do a cleanup of existing warnings.Eric Anholt
2006-03-22Drop libc wrapper; don't include xf86_ansic.h and add includes now missing.Kristian Høgsberg
2006-03-10Enable gamma for hw cursor when ARGB cursor in use (Lukas Hejtmanek)Alan Hourihane
2006-01-24Bump version to 1.5.0.0Alan Hourihane
Add Intel 945GM support Add RandR rotation support (full 3D acceleration, HWcursor & Xvideo rotated too) Remove shadow framebuffer rotation code Add a new LinearAlloc option to allow more offscreen memory to be allocated for XVideo applications. This allows HDTV movies to be played via Xvideo.
2005-07-11Prep for modular builds by adding guarded #include "config.h" everywhere.XORG-6_8_99_16XORG-6_8_99_15Adam Jackson
2005-05-31Add Intel(R) 945G supportAlan Hourihane
2005-01-06Add:Alan Hourihane
- Intel i915GM support to 2D DDX and 3D Mesa drivers. - PanelID identification - DRI suspend/resume support - Detection of monitor changes on VT switches - Support custom video modes if available in the Video BIOS - 3D enhancements: * GL_ARB_texture_cube_map * GL_EXT_blend_equation_separate * GL_ATI_blend_equation_separate * GL_ARB_point_parameters * GL_NV_blend_square * GL_EXT_cull_vertex * GL_ARB_depth_texture * GL_SGIX_depth_texture * GL_ARB_shadow * GL_EXT_shadow_funcs * GL_3DFX_texture_compression_FXT1 By Tungsten Graphics, Keith Whitwell & Alan Hourihane.
2004-12-04Encoding of numerous files changed to UTF-8xprint_packagertest_20041217_basexprint_packagertest_20041217Markus Kuhn
2004-06-22i915 supportAlan Hourihane
Dual Head support for i830, i855, i915. ARGB cursor support (including i810) for all chipsets.
2004-06-16DRI XFree86-4_3_99_12-merge importDRI-XFree86-4_3_99_12-mergeEric Anholt