• 大小: 2.71MB
    文件类型: .gz
    金币: 1
    下载: 0 次
    发布日期: 2023-08-13
  • 语言: 其他
  • 标签: DirectFB  

资源简介

Developers release of DirectFB

资源截图

代码片段和文件信息

/*
   (c) Copyright 2001-2008  The world wide DirectFB Open Source Community (directfb.org)
   (c) Copyright 2000-2004  Convergence (integrated media) GmbH

   All rights reserved.

   Written by Denis Oliver Kropp 
              Andreas Hundt 
              Sven Neumann 
              Ville Syrjälä  and
              Claudio Ciccani .

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2 of the License or (at your option) any later version.

   This library is distributed in the hope that it will be useful
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not write to the
   Free Software Foundation Inc. 59 Temple Place - Suite 330
   Boston MA 02111-1307 USA.
*/

#include 

#include 

#include 
#include 
#include 

#include 
#include 
#include 

#include 

#include 

#include 

#include 
#include 

#include 
#include 
#include 
#include 

#include 

#include 


DFB_GRAPHICS_DRIVER( ati128 )


#include “regs.h“
#include “mmio.h“
#include “ati128_state.h“
#include “ati128.h“


/* driver capability flags */


#ifndef __powerpc__
#define ATI128_SUPPORTED_DRAWINGFLAGS \
               (DSDRAW_BLEND)
#else
#define ATI128_SUPPORTED_DRAWINGFLAGS \
               (DSDRAW_NOFX)
#endif

#define ATI128_SUPPORTED_DRAWINGFUNCTIONS \
               (DFXL_FILLRECTANGLE | DFXL_DRAWRECTANGLE | DFXL_DRAWLINE)

#define ATI128_SUPPORTED_BLITTINGFLAGS \
               (DSBLIT_SRC_COLORKEY | DSBLIT_BLEND_ALPHACHANNEL)

#define ATI128_SUPPORTED_BLITTINGFUNCTIONS \
               (DFXL_BLIT | DFXL_STRETCHBLIT)


/* macro for S12.0 and S14.0 format */
#define S12(val) (((u16)((s16)(val)))&0x3fff)
#define S14(val) (((u16)((s16)(val)))&0x3fff)

/** CARD FUNCTIONS **/
static bool ati128FillRectangle( void *drv void *dev DFBRectangle *rect );
static bool ati128FillBlendRectangle( void *drv void *dev DFBRectangle *rect );
static bool ati128DrawRectangle( void *drv void *dev DFBRectangle *rect );
static bool ati128DrawBlendRectangle( void *drv void *dev DFBRectangle *rect );

/* required implementations */

static DFBResult ati128EngineSync( void *drv void *dev )
{
     ATI128DriverData *adrv = (ATI128DriverData*) drv;
     ATI128DeviceData *adev = (ATI128DeviceData*) dev;

     ati128_waitidle( adrv adev );

     ret

评论

共有 条评论