NAME | SYNOPSIS | DESCRIPTION | APPLICATION PROGRAMMING INTERFACE | IOCTLS | FILES | ATTRIBUTES | SEE ALSO
SUNW,tcx@sbus-slot,offset:tcxX
tcx is a 8/24-bit color frame buffer and graphics accelerator, with 8-bit colormap and overlay/enable planes. It provides the standard frame buffer interface defined in fbio(7I). sbus-slot is the Sbus slot number. (See sbus(4) for more information.) offset is the device offset. X is the kernel-assigned device number.
tcx has two control planes which define how the underlying pixel is displayed. The display modes are 8-bit (8 bits taken from low-order 8 bits of pixel) through a colormap; 24-bit through a gamma-correction table; 24-bit through the colormap; or 24-bit direct. The colormap is shared by both 24-bit and 8-bit modes.
The tcx has registers and memory that may be mapped with mmap(2).
There is an 8-bit only version of tcx which operates the same as the 24-bit version, except that the 24-bit-related mappings can not be made.
tcx accepts the following ioctl(2) calls, defined in <sys/fbio.h> and <sys/visual_io.h>, and implemented as described in fbio(7I).
FBIOGATTR | FBIOGCURSOR |
FBIOGTYPE | FBIOSCURPOS |
FBIOPUTCMAP | FBIOGCURPOS |
FBIOGETCMAP | FBIOGCURMAX |
FBIOSATTR | FBIOGXINFO |
FBIOSVIDEO | FBIOMONINFO |
FBIOGVIDEO | FBIOVRTOFFSET |
FBIOVERTICAL | VIS_GETIDENTIFIER |
FBIOSCURSOR |
VIS_GETIDENTIFIER returns "SUNW,tcx".
Emulation mode (FBIOGATTR, FBIOSATTR) may be either FBTYPE_SUN3COLOR or FBTYPE_MEMCOLOR. Set emulation mode to 21 (FBTYPE_LASTPLUSONE) to turn emulation off. Changes to emulation mode (via FBIOSATTR) take place immediately. Emulation may be turned off manually by setting emu_type field of the fbsattr structure to 21. Emulation mode is reset to default on reboot.
FBIOPUTCMAP returns immediately, although the actual colormap update may be delayed until the next vertical retrace. If vertical retrace is currently in progress, the new colormap takes effect immediately.
FBIOGETCMAP returns immediately with the currently-loaded colormap, unless a colormap write is pending (see above), in which case it waits until the colormap is updated before returning. This may be used to synchronize software with colormap updates.
The size and linebytes values returned by FBIOGATTR, FBIOGTYPE and FBIOGXINFO are the sizes of the 8-bit framebuffer. The proper way to compute the size of a framebuffer mapping is:
size=linebytes*height*bytes_per_pixel
The information returned in the dev_specific field by the FBIOGATTR ioctl is as follows:
dev_specific[0] is the tcx capabilities mask:
Name | Hex Value | Meaning |
STIP_ALIGN | 0xf | stipple alignment constraint |
C_PLANES | 0xf0 | # of control planes |
BLIT_WIDTH | 0xf00 | maximum blit width |
BLIT_HEIGHT | 0xf000 | maximum blit height |
STIP_ROP | 0x10000 | stipple-with-rop supported |
BLIT_ROP | 0x20000 | blit-with-rop supported |
24_BIT | 0x40000 | 24-bit support |
HW_CURSOR | 0x80000 | hardware cursor |
PLANE_MASK | 0x100000 | plane mask support for 8-bit stipple |
dev_specific[1] is the kernel address for 8-bit mapping. This is useful only to other device drivers, and should not be used outside the kernel.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Architecture | SPARCstation 4, SPARCstation 5 |
NAME | SYNOPSIS | DESCRIPTION | APPLICATION PROGRAMMING INTERFACE | IOCTLS | FILES | ATTRIBUTES | SEE ALSO