sync code with last improvements from OpenBSD
This commit is contained in:
commit
88965415ff
26235 changed files with 29195616 additions and 0 deletions
175
driver/xf86-video-openchrome/src/via_priv.h
Normal file
175
driver/xf86-video-openchrome/src/via_priv.h
Normal file
|
@ -0,0 +1,175 @@
|
|||
/*
|
||||
* Copyright 2006-2015 The Openchrome Project
|
||||
* [https://www.freedesktop.org/wiki/Openchrome]
|
||||
* Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
|
||||
* Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sub license,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial portions
|
||||
* of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef _VIA_PRIV_H_
|
||||
#define _VIA_PRIV_H_ 1
|
||||
|
||||
#ifdef HAVE_DRI
|
||||
#include "via_drm.h"
|
||||
#endif
|
||||
#include "exa.h"
|
||||
|
||||
/*
|
||||
* Alignment macro functions
|
||||
*/
|
||||
#define ALIGN_TO(f, alignment) (((f) + ((alignment)-1)) & ~((alignment)-1))
|
||||
|
||||
/*
|
||||
* FOURCC definitions
|
||||
*/
|
||||
|
||||
#define FOURCC_XVMC (('C' << 24) + ('M' << 16) + ('V' << 8) + 'X')
|
||||
#define FOURCC_RV15 (('5' << 24) + ('1' << 16) + ('V' << 8) + 'R')
|
||||
#define FOURCC_RV16 (('6' << 24) + ('1' << 16) + ('V' << 8) + 'R')
|
||||
#define FOURCC_RV32 (('2' << 24) + ('3' << 16) + ('V' << 8) + 'R')
|
||||
|
||||
/*
|
||||
* Structures for create surface
|
||||
*/
|
||||
typedef struct _SWDEVICE
|
||||
{
|
||||
unsigned char * lpSWOverlaySurface[2]; /* Max 2 Pointers to SW Overlay Surface*/
|
||||
unsigned long dwSWPhysicalAddr[2]; /*Max 2 Physical address to SW Overlay Surface */
|
||||
unsigned long dwSWCbPhysicalAddr[2]; /* Physical address to SW Cb Overlay Surface, for YV12 format use */
|
||||
unsigned long dwSWCrPhysicalAddr[2]; /* Physical address to SW Cr Overlay Surface, for YV12 format use */
|
||||
unsigned long dwHQVAddr[3]; /* Physical address to HQV surface -- CLE_C0 */
|
||||
/*unsigned long dwHQVAddr[2];*/ /*Max 2 Physical address to SW HQV Overlay Surface*/
|
||||
unsigned long dwWidth; /*SW Source Width, not changed*/
|
||||
unsigned long dwHeight; /*SW Source Height, not changed*/
|
||||
unsigned long dwPitch; /*SW frame buffer pitch*/
|
||||
unsigned long gdwSWSrcWidth; /*SW Source Width, changed if window is out of screen*/
|
||||
unsigned long gdwSWSrcHeight; /*SW Source Height, changed if window is out of screen*/
|
||||
unsigned long gdwSWDstWidth; /*SW Destination Width*/
|
||||
unsigned long gdwSWDstHeight; /*SW Destination Height*/
|
||||
unsigned long gdwSWDstLeft; /*SW Position : Left*/
|
||||
unsigned long gdwSWDstTop; /*SW Position : Top*/
|
||||
unsigned long dwDeinterlaceMode; /*BOB / WEAVE*/
|
||||
}SWDEVICE;
|
||||
typedef SWDEVICE * LPSWDEVICE;
|
||||
|
||||
typedef struct _DDUPDATEOVERLAY
|
||||
{
|
||||
CARD32 SrcLeft;
|
||||
CARD32 SrcTop;
|
||||
CARD32 SrcRight;
|
||||
CARD32 SrcBottom;
|
||||
|
||||
CARD32 DstLeft;
|
||||
CARD32 DstTop;
|
||||
CARD32 DstRight;
|
||||
CARD32 DstBottom;
|
||||
|
||||
unsigned long dwFlags; /* flags */
|
||||
unsigned long dwColorSpaceLowValue;
|
||||
} DDUPDATEOVERLAY;
|
||||
typedef DDUPDATEOVERLAY * LPDDUPDATEOVERLAY;
|
||||
|
||||
/* Definition for dwFlags */
|
||||
#define DDOVER_KEYDEST 1
|
||||
#define DDOVER_INTERLEAVED 2
|
||||
#define DDOVER_BOB 4
|
||||
|
||||
#define FOURCC_HQVSW 0x34565148 /*HQV4*/
|
||||
|
||||
typedef struct
|
||||
{
|
||||
CARD32 dwWidth;
|
||||
CARD32 dwHeight;
|
||||
CARD32 dwOffset;
|
||||
CARD32 dwUVoffset;
|
||||
CARD32 dwFlipTime;
|
||||
CARD32 dwFlipTag;
|
||||
CARD32 dwStartAddr;
|
||||
CARD32 dwV1OriWidth;
|
||||
CARD32 dwV1OriHeight;
|
||||
CARD32 dwV1OriPitch;
|
||||
CARD32 dwV1SrcWidth;
|
||||
CARD32 dwV1SrcHeight;
|
||||
CARD32 dwV1SrcLeft;
|
||||
CARD32 dwV1SrcRight;
|
||||
CARD32 dwV1SrcTop;
|
||||
CARD32 dwV1SrcBot;
|
||||
CARD32 dwSPWidth;
|
||||
CARD32 dwSPHeight;
|
||||
CARD32 dwSPLeft;
|
||||
CARD32 dwSPRight;
|
||||
CARD32 dwSPTop;
|
||||
CARD32 dwSPBot;
|
||||
CARD32 dwSPOffset;
|
||||
CARD32 dwSPstartAddr;
|
||||
CARD32 dwDisplayPictStruct;
|
||||
CARD32 dwDisplayBuffIndex; /* Display buffer Index. 0 to ( dwBufferNumber -1) */
|
||||
CARD32 dwFetchAlignment;
|
||||
CARD32 dwSPPitch;
|
||||
unsigned long dwHQVAddr[3]; /* CLE_C0 */
|
||||
/*unsigned long dwHQVAddr[2];*/
|
||||
CARD32 dwMPEGDeinterlaceMode; /* default value : VIA_DEINTERLACE_WEAVE */
|
||||
CARD32 dwMPEGProgressiveMode; /* default value : VIA_PROGRESSIVE */
|
||||
CARD32 dwHQVheapInfo; /* video memory heap of the HQV buffer */
|
||||
CARD32 dwVideoControl; /* video control flag */
|
||||
CARD32 dwminifyH; /* Horizontal minify factor */
|
||||
CARD32 dwminifyV; /* Vertical minify factor */
|
||||
CARD32 dwMpegDecoded;
|
||||
} OVERLAYRECORD;
|
||||
|
||||
#define MEM_BLOCKS 4
|
||||
|
||||
typedef struct {
|
||||
unsigned long gdwVideoFlagSW;
|
||||
unsigned long gdwVideoFlagMPEG;
|
||||
unsigned long gdwAlphaEnabled; /* For Alpha blending use*/
|
||||
|
||||
struct buffer_object *HQVMem;
|
||||
struct buffer_object *SWfbMem;
|
||||
|
||||
CARD32 SrcFourCC;
|
||||
DDUPDATEOVERLAY UpdateOverlayBackup; /* For HQVcontrol func use
|
||||
// To save MPEG updateoverlay info.*/
|
||||
|
||||
/* device struct */
|
||||
SWDEVICE SWDevice;
|
||||
OVERLAYRECORD overlayRecordV1;
|
||||
OVERLAYRECORD overlayRecordV3;
|
||||
|
||||
Bool MPEG_ON;
|
||||
Bool SWVideo_ON;
|
||||
|
||||
/*To solve the bandwidth issue */
|
||||
unsigned long gdwUseExtendedFIFO;
|
||||
|
||||
/* For panning mode use */
|
||||
int panning_x;
|
||||
int panning_y;
|
||||
int oldPanningX;
|
||||
int oldPanningY;
|
||||
|
||||
/* Maximum resolution with interpolation */
|
||||
unsigned long maxWInterp;
|
||||
unsigned long maxHInterp;
|
||||
|
||||
} swovRec, *swovPtr;
|
||||
|
||||
#endif /* _VIA_PRIV_H_ */
|
Loading…
Add table
Add a link
Reference in a new issue