亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? display_main.h

?? 6410BSP3
?? H
字號:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
// Copyright (c) Samsung Electronics. Co. LTD. All rights reserved.

/*++

THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.

Module Name:

    display_main.h

Abstract:

    This module present class definition of S3C6410Disp, S3C6410Surf, PACSurf 
    S3C6410Disp class is derived from DDGPE
    S3C6410Surf class is derived from DDGPESurf
    PACSurf class is derived from GPESurf

Functions:


Notes:

--*/

#ifndef __DISPLAY_MAIN_H__
#define __DISPLAY_MAIN_H__

class S3C6410Surf;

class FIMGSE2D;

#include "precomp.h"

class S3C6410Disp : public DDGPE
{

protected:
    CRegistryEdit *m_ActiveReg;
    volatile S3C6410_DISPLAY_REG *  m_pDispConReg;    // Display Controller SFR
    volatile S3C6410_GPIO_REG *     m_pGPIOReg;        // GPIO SFR
    volatile S3C6410_SPI_REG *      m_pSPIReg;        // SPI Controller SFR

    S3C6410Surf *   m_pVisibleSurface;
    GPEModeEx       m_ModeInfoEx;
    FIMGSE2D *      m_oG2D;
    SURFACE_DESCRIPTOR m_descSrcSurface;            // 2D HW Source Surface Information
    SURFACE_DESCRIPTOR m_descDstSurface;            // 2D HW Destination Surface Information

    G2D_ACCEL_CONTROL_ARGS m_G2DControlArgs;

    /// for Cache Region Clean
    DWORD       m_dwSourceSurfacePA;
    DWORD       m_dwPhyAddrOfSurface[2];  //< [0] is for Source, [1] is for Destination
    HANDLE      m_hVideoDrv;
    DWORD       m_dwPrimaryWinNum;
    DWORD       m_dwPrimaryWinMode;
    DWORD       m_dwDDOverlayWinNum;
    DWORD       m_dwDDOverlayWinMode;
    CRITICAL_SECTION    m_csDevice;                // Critical Section for Display Device Control (FIMD/POST/TVSc/TVEnc)
    CRITICAL_SECTION    m_cs2D;                // Ciritcal Section for 2D

private:

    DWORD       m_dwDeviceScreenWidth;        // LCD Pannel Horizontal Resolution (Pixel Count)
    DWORD       m_dwDeviceScreenHeight;        // LCD Pannel Vertical Resolution (Pixel Count)

    DWORD       m_VideoMemoryPhysicalBase;
    DWORD       m_VideoMemoryVirtualBase;
    DWORD       m_VideoMemorySize;
    SurfaceHeap *m_pVideoMemoryHeap;            // Video Memory Surface Heap

    UCHAR       m_CursorBackingStore[64*64*4];
    UCHAR       m_CursorXorShape[64*64];
    UCHAR       m_CursorAndShape[64*64];
    BOOL        m_CursorDisabled;
    BOOL        m_CursorVisible;
    BOOL        m_CursorForcedOff;
    RECTL       m_CursorRect;
    POINTL      m_CursorSize;
    POINTL      m_CursorHotspot;

    VIDEO_POWER_STATE       m_VideoPowerState;

    OUTPUT_INTERFACE        m_eOutputInterface;
    TV_DMA_MODE             m_eTVDMAMode;
    BOOL                    m_bTVDMARunning;

    OverlayContext          m_OverlayCtxt;
    TVDMAContext            m_TVDMACtxt;

public:

    BOOL        m_InDDraw;
    ULONG_PTR    m_fpCurrentOverlay;
    ULONG_PTR    m_fpPreviousOverlay;

    S3C6410Disp();

    virtual
    ~S3C6410Disp();

    virtual
    int
    NumModes();

    virtual
    SCODE
    SetMode(
        int            modeId,
        HPALETTE    * palette
        );

    virtual
    int
    InDisplay(void);

    virtual
    int
    InVBlank();

    virtual
    SCODE
    SetPalette(
        const PALETTEENTRY *source,
        USHORT        firstEntry,
        USHORT        numEntries
        );

    virtual
    SCODE
    GetModeInfo(
        GPEMode * pMode,
        int       modeNo
        );

    virtual
    SCODE
    GetModeInfoEx(
        GPEModeEx *pModeEx,
        int       modeNo
        );

    virtual
    SCODE
    SetPointerShape(
        GPESurf * mask,
        GPESurf * colorSurface,
        int       xHot,
        int       yHot,
        int       cX,
        int       cY
        );

    virtual
    SCODE
    MovePointer(
        int xPosition,
        int yPosition
        );

    virtual
    void
    WaitForNotBusy();

    virtual
    int
    IsBusy();

    virtual
    void
    GetPhysicalVideoMemory(
        unsigned long * physicalMemoryBase,
        unsigned long * videoMemorySize
        );

    void
    GetVirtualVideoMemory(
        unsigned long * virtualMemoryBase,
        unsigned long * videoMemorySize
        );

    virtual
    SCODE
    Line(
        GPELineParms * lineParameters,
        EGPEPhase      phase
        );

    // blt.cpp
    virtual
    SCODE
        BltPrepare(
        GPEBltParms * blitParameters
        );

    virtual
    SCODE
        BltComplete(
        GPEBltParms * blitParameters
        );

    // For 2D Raster Graphic Acceleration
    void InitAcceleration(void);
    virtual SCODE NullBlt(GPEBltParms *pBltParms);
    virtual SCODE AcceleratedSolidFill(GPEBltParms *pParms);
    virtual SCODE AcceleratedPatFill(GPEBltParms *pParms);      // TBD
    virtual SCODE AcceleratedSrcCopyBlt(GPEBltParms *pBltParms);
    virtual SCODE AcceleratedAlphaSrcCopyBlt(GPEBltParms *pBltParms);    
    virtual void MultiplyAlphaBit(DWORD *pdwStartAddress, DWORD dwBufferLength, DWORD AlphaConstant);
    virtual BOOL CreateScratchSurface(GPESurf* OriginalSurface, DDGPESurf** ScratchSurface, PRECTL NewSurfaceSize, SURFACE_DESCRIPTOR *NewSurfaceDescriptor, EGPEFormat NewColorFormat, BOOL bCopy);
    virtual SCODE AcceleratedBltSelect(GPEBltParms *pBltParms);
    virtual SCODE AcceleratedDestInvert(GPEBltParms *pBltParms);
    virtual SCODE AcceleratedSolidLine(GPELineParms *pLineParms);

    virtual SCODE SECEmulatedBltSelect2416(GPEBltParms *pBltParms);
    virtual SCODE SECEmulatedBltSelect1624(GPEBltParms *pBltParms);
    virtual SCODE SECEmulatedBltSelect16(GPEBltParms *pBltParms);    

    virtual DWORD ValidatePAContinuityOfSurf(GPESurf *pTargetSurf);
    virtual void FreePhysAddress(DWORD *m_pdwPhysAddress);
    virtual BOOL HWBitBlt(GPEBltParms *pBltParms, PSURFACE_DESCRIPTOR Src, PSURFACE_DESCRIPTOR Dst);
    virtual int GetRelativeDegree(int SrcDegree, int DstDegree);
    virtual void ClipDestDrawRect(GPEBltParms *pBltParms);
    virtual DWORD GetHWColorFormat(GPESurf *pSurf);
    virtual void DumpBltParms(GPEBltParms *pBltParms);

    virtual
    ULONG
    DrvEscape(
        SURFOBJ * pso,
        ULONG     iEsc,
        ULONG     cjIn,
        void    * pvIn,
        ULONG     cjOut,
        void    * pvOut
        );

    int
    GetGameXInfo(
        ULONG   iEsc,
        ULONG   cjIn,
        void  * pvIn,
        ULONG   cjOut,
        void  * pvOut
        );

    int
    GetRawFrameBuffer(
        ULONG   iEsc,
        ULONG   cjIn,
        void  * pvIn,
        ULONG   cjOut,
        void  * pvOut
        );

    SCODE
    WrappedEmulatedLine(
        GPELineParms * lineParameters
        );

    void
    CursorOn();

    void
    CursorOff();

    // surf.cpp
    SCODE
    AllocSurface(
        GPESurf    ** ppSurf,
        int           width,
        int           height,
        EGPEFormat    format,
        int           surfaceFlags
        );

    SCODE
    AllocSurface(
        DDGPESurf         ** ppSurf,
        int                  width,
        int                  height,
        EGPEFormat           format,
        EDDGPEPixelFormat    pixelFormat,
        int                  surfaceFlags
        );

    SCODE
    AllocSurfaceVideo(
        DDGPESurf        ** ppSurf,
        int                width,
        int                height,
        int                stride,
        EGPEFormat           format,
        EDDGPEPixelFormat    pixelFormat
        );
    SCODE
    AllocSurfacePACS(
        GPESurf **ppSurf,
        int width,
        int height,
        EGPEFormat format);

    virtual
    void
    SetVisibleSurface(
        GPESurf * pSurf,
        BOOL      bWaitForVBlank
        );

    int
    GetRotateModeFromReg();

    void
    SetRotateParams();

    long
    DynRotate(
        int angle
        );

    virtual
    SCODE DetectPixelFormat(
        DWORD                dwCaps,            // in: DDSCAPS_xxx flags
        DDPIXELFORMAT*        pDDPF,            // in: Explicit pixel format or current mode
        EGPEFormat*            pFormat,
        EDDGPEPixelFormat*    pPixelFormat
        );

    //---------------------------
    // Resource Alloc/Release Method
    //---------------------------
    BOOL AllocResource(void);
    void ReleaseResource(void);
    BOOL TVOutAllocResource(void);
    BOOL TVOutReleaseResource(void);

    //------------------------
    // Power Management Handler
    //------------------------
    void SetDisplayPowerState(VIDEO_POWER_STATE PowerState);
    VIDEO_POWER_STATE GetDisplayPowerState(void);

    //----------------------------------------
    // S3C6410 H/W Device Control Wrapper Method
    //----------------------------------------

    // Frame Interrupt / Status
    BOOL WaitForVerticalBlank(VB_STATUS Status);
    DWORD GetScanLine(void);

    // Overlay Control
    BOOL OverlayAllocResource(BOOL bLocalPath);
    BOOL OverlayReleaseResource(BOOL bLocalPath);
    BOOL OverlayInitialize(S3C6410Surf* pOverlaySurface, RECT *pSrc, RECT *pDest);
    void OverlaySetPosition(UINT32 uiOffsetX, UINT32 uiOffsetY);
    void OverlayEnable(void);
    void OverlayDisable(void);
    void OverlayBlendDisable(void);
    void OverlaySetColorKey(BOOL bSrcCKey, EDDGPEPixelFormat Format, DWORD ColorKey);
    void OverlaySetAlpha(BOOL bUsePixelBlend, DWORD Alpha);

    void InitalizeOverlayContext(void);
    S3C6410Surf * GetCurrentOverlaySurf(void);
    S3C6410Surf * GetPreviousOverlaySurf(void);

    //--------------------------------
    // S3C6410 H/W Device Control Method
    //--------------------------------

    // Initialize / Power Management
    BOOL DevInitialize(void);
    BOOL DevPowerOn(void);
    BOOL DevPowerOff(void);

    // Change Interface
    BOOL DevChangeOutputInterface(OUTPUT_INTERFACE eNewOutputIF);
    void DevOutputEnableRGBIF(void);
    void DevOutputDisableRGBIF(void);
    void DevOutputEnableTV(void);
    void DevOutputDisableTV(void);

    BOOL DevSetTVDMAMode(TV_DMA_MODE eType);
    void DevUpdateTVDMAContext(void);
    void DevOutputEnableTVDMA(void);
    void DevOutputDisableTVDMA(void);
    void DevSetTVDMABuffer(unsigned int uiAddrRGBY, unsigned int uiAddrCb, unsigned int uiAddrCr, BOOL bWaitForVBlank);

    // Frame Interrupt / Status
    BOOL DevWaitForVerticalBlank(void);
    int DevGetVerticalStatus(void);
    DWORD DevGetScanLine(void);

    // Change Frame Buffer
    void DevSetVisibleSurface(S3C6410Surf *pSurf, BOOL bWaitForVBlank);

    // Overlay Control
    void DevOverlayInitialize(void);
    void DevOverlaySetPosition(void);
    void DevOverlayEnable(void);
    void DevOverlayDisable(void);
    void DevOverlayBlendDisable(void);
    void DevOverlaySetColorKey(void);
    void DevOverlaySetAlpha(void);
    void DevRecoverOverlay(void);
    void InitializeDisplayMode(void);

friend
    void
    buildDDHALInfo(
        LPDDHALINFO lpddhi,
        DWORD       modeidx
        );
};

class S3C6410Surf : public DDGPESurf
{
private:
    SurfaceHeap*    m_pSurfHeap;

public:
    UINT32    m_uiOffsetCb;
    UINT32    m_uiOffsetCr;

    S3C6410Surf(int, int, DWORD, VOID*, int, EGPEFormat, EDDGPEPixelFormat pixelFormat, SurfaceHeap*);

    virtual
    ~S3C6410Surf();

    //VOID  WriteBack();
    //VOID  Discard();
};

class PACSurf : public GPESurf
{
public:
//    int m_fPLAllocated;
//    DWORD    m_pPhysAddr;

    PACSurf(int, int, EGPEFormat);
    virtual ~PACSurf();
};

#endif __DISPLAY_MAIN_H__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看日韩电影| 欧美在线一二三四区| 亚洲国产日韩一区二区| 亚洲精品一区二区三区在线观看 | 国产高清无密码一区二区三区| 亚洲一区二区中文在线| 国产欧美日本一区视频| 7777女厕盗摄久久久| 91免费版在线| 国产a区久久久| 精品在线播放免费| 首页国产欧美日韩丝袜| 亚洲欧美二区三区| 日本一区二区视频在线| 日韩欧美国产一区二区三区| 欧洲另类一二三四区| 97久久超碰国产精品| 国产精品69久久久久水密桃| 蜜桃视频在线一区| 丝袜a∨在线一区二区三区不卡| 国产精品国产三级国产有无不卡| 国产亚洲综合性久久久影院| 欧美成人一级视频| 日韩欧美国产综合在线一区二区三区| 在线精品观看国产| 在线观看欧美日本| 在线观看精品一区| 在线观看不卡一区| 日本久久电影网| 色综合天天在线| 97精品久久久久中文字幕| 成人丝袜18视频在线观看| 国产成人在线观看免费网站| 国产在线视频不卡二| 久久99精品国产麻豆婷婷洗澡| 美女在线视频一区| 日本va欧美va精品发布| 日韩成人午夜精品| 久久国产精品99久久人人澡| 精品午夜久久福利影院| 国产一区二区在线视频| 国产精品香蕉一区二区三区| 国产精品一二三区| 丁香婷婷深情五月亚洲| www.性欧美| 99久久er热在这里只有精品15| 成人ar影院免费观看视频| 成人av在线播放网站| 99精品视频一区| 在线影院国内精品| 欧美猛男gaygay网站| 91精品欧美久久久久久动漫| 日韩天堂在线观看| 久久久精品天堂| 亚洲少妇中出一区| 亚洲成人av电影| 久久国产三级精品| 国产激情一区二区三区四区| heyzo一本久久综合| 欧洲一区在线电影| 91精品国产91久久久久久一区二区| 欧美一区二区视频在线观看2020| 欧美tickle裸体挠脚心vk| 国产蜜臀97一区二区三区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲观看高清完整版在线观看 | 日韩欧美一级精品久久| 99re热这里只有精品视频| 欧美午夜精品电影| 日韩欧美一区中文| 国产精品三级久久久久三级| 亚洲精品中文在线| 麻豆传媒一区二区三区| 国产69精品一区二区亚洲孕妇 | 欧美日韩国产三级| 欧美精品一区二区三区一线天视频 | 国产欧美视频一区二区三区| 亚洲欧美电影一区二区| 免费精品视频在线| 成人av网址在线| 在线综合亚洲欧美在线视频| 国产亚洲成av人在线观看导航| 亚洲精品高清在线观看| 国产在线视视频有精品| 欧美亚洲国产一区在线观看网站| 精品捆绑美女sm三区| 亚洲乱码国产乱码精品精小说| 日韩电影在线观看网站| 91在线你懂得| 欧美精品一区二区三区蜜桃视频 | 欧美三级欧美一级| 久久精品在这里| 五月天欧美精品| 97久久精品人人做人人爽| 欧美精品一区二| 亚洲福利视频三区| 丰满少妇在线播放bd日韩电影| 欧美老女人第四色| 亚洲精品高清在线观看| 国产盗摄一区二区三区| 日韩视频国产视频| 亚洲综合丝袜美腿| 成人免费福利片| 精品国产电影一区二区| 亚洲第一成年网| 99久久国产综合精品色伊| 久久久国产精品不卡| 热久久久久久久| 欧美三级日韩在线| 亚洲欧美乱综合| 成人av综合在线| 国产日韩欧美精品一区| 蜜桃在线一区二区三区| 欧美日韩dvd在线观看| 亚洲视频在线观看三级| 粉嫩绯色av一区二区在线观看| 精品国产第一区二区三区观看体验| 亚洲h在线观看| 在线视频一区二区免费| 国产精品福利影院| 国产99久久久国产精品免费看| 欧美sm极限捆绑bd| 麻豆国产精品一区二区三区| 欧美一级免费观看| 日日夜夜一区二区| 精品视频资源站| 亚洲成人黄色小说| 欧美日韩一级黄| 视频一区国产视频| 51精品国自产在线| 美女在线视频一区| 日韩精品一区二区三区swag| 美国av一区二区| 欧美成人一区二区三区| 韩国成人精品a∨在线观看| 2023国产精华国产精品| 国产一区二区免费视频| 久久久一区二区| 国产99久久久久| 亚洲天堂久久久久久久| 一本大道av伊人久久综合| 亚洲欧美色综合| 欧亚洲嫩模精品一区三区| 亚洲风情在线资源站| 欧美一级日韩一级| 国产美女娇喘av呻吟久久| 国产精品免费久久久久| 色综合久久久久综合| 一区二区三区加勒比av| 制服丝袜亚洲色图| 精品一区二区国语对白| 国产网站一区二区| 不卡免费追剧大全电视剧网站| 《视频一区视频二区| 在线观看日韩毛片| 日本sm残虐另类| 欧美国产精品劲爆| 色中色一区二区| 日韩主播视频在线| 久久久久久免费网| 一本大道久久a久久综合婷婷| 三级欧美在线一区| 久久精品视频一区二区三区| 99国产麻豆精品| 性做久久久久久| 久久久久久久综合日本| 91行情网站电视在线观看高清版| 亚洲va欧美va人人爽午夜| 亚洲精品在线电影| 91国产视频在线观看| 麻豆成人久久精品二区三区小说| 久久―日本道色综合久久| 91猫先生在线| 久久aⅴ国产欧美74aaa| 亚洲图片欧美激情| 日韩精品一区二区三区swag | 久久电影网站中文字幕| 国产精品久久久久久久久免费樱桃| 欧美日韩国产在线观看| 国产精品69毛片高清亚洲| 亚洲国产裸拍裸体视频在线观看乱了 | 中文字幕中文字幕一区| 51精品国自产在线| jlzzjlzz亚洲日本少妇| 老鸭窝一区二区久久精品| 亚洲同性gay激情无套| 日韩精品一区在线| 欧美在线一区二区| 成人性色生活片| 日本不卡一二三| 亚洲男人的天堂在线观看| 久久久亚洲精品一区二区三区| 欧美性大战久久久| gogo大胆日本视频一区| 久久丁香综合五月国产三级网站| 亚洲精品乱码久久久久| 日本一区二区三区久久久久久久久不 | 成人亚洲一区二区一| 久久成人18免费观看| 亚洲成av人片在www色猫咪|