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

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

?? halcaps.cpp

?? SM501基于ARMV4/ARMV4I平臺
?? CPP
?? 第 1 頁 / 共 2 頁
字號:


EXTERN_C void buildDDHALInfo( LPDDHALINFO lpddhi, DWORD modeidx )
{
	//RETAILMSG(1, (TEXT(" SMI: Build DirectDraw Info\r\n")));
	memset( lpddhi, 0, sizeof(DDHALINFO) );		// Clear the DDHALINFO structure

	SMI *pGPE = (SMI *) g_pGPE;
	DDHALMODEINFO *pModeTable = &g_ModeInfo;
	/*
	DDHALMODEINFO * pModeTable = NULL;
	
  	pModeTable = new DDHALMODEINFO();
	if (!pModeTable) {
	    DEBUGMSG( GPE_ZONE_INIT,(TEXT("Unable to allocate mode table!\r\n")) );
    	return;
	}
	*/

	pModeTable->dwWidth = pGPE->m_pMode->width;
	pModeTable->dwHeight = pGPE->m_pMode->height;
	pModeTable->dwBPP = pGPE->m_pMode->Bpp;
	if (pModeTable->dwBPP <= 8)
    	pModeTable->wFlags = DDMODEINFO_PALETTIZED;
	else
    	pModeTable->wFlags = 0;

	pModeTable->wRefreshRate = pGPE->m_pMode->frequency;
  	pModeTable->lPitch = pGPE->m_pModeEx->lPitch;
	pModeTable->dwRBitMask = pGPE->m_pModeEx->dwRBitMask;
	pModeTable->dwGBitMask = pGPE->m_pModeEx->dwGBitMask;
	pModeTable->dwBBitMask = pGPE->m_pModeEx->dwBBitMask;
	pModeTable->dwAlphaBitMask = pGPE->m_pModeEx->dwAlphaBitMask;

	if( !g_pVideoMemory )	// in case this is called more than once...
	{
		// g_pGPE and g_pDDrawPrimarySurface were already set up by HalInit

		unsigned long physicalVideoMemoryStart;
		g_pGPE->GetPhysicalVideoMemory( &physicalVideoMemoryStart, &g_nVideoMemorySize );
		DEBUGMSG( GPE_ZONE_INIT,(TEXT("GetPhysicalVideoMemory returned phys=0x%08x size=%d\r\n"),
			physicalVideoMemoryStart, g_nVideoMemorySize));

		g_pVideoMemory = (BYTE*)physicalVideoMemoryStart;

		DEBUGMSG( GPE_ZONE_INIT,(TEXT("gpVidMem=%08x\r\n"), g_pVideoMemory ));

	}

	// Populate the rest of the DDHALINFO structure:
    lpddhi->dwSize = sizeof(DDHALINFO);
    lpddhi->lpDDCallbacks = &cbDDCallbacks;
    lpddhi->lpDDSurfaceCallbacks = &cbDDSurfaceCallbacks;
    lpddhi->lpDDPaletteCallbacks = &cbDDPaletteCallbacks;
	lpddhi->lpDDExeBufCallbacks = &cbDDExeBufCallbacks;
	lpddhi->GetDriverInfo = HalGetDriverInfo;

    lpddhi->vmiData.fpPrimary = (unsigned long)(g_pVideoMemory) + g_pDDrawPrimarySurface->OffsetInVideoMemory();	// pointer to primary surface

    lpddhi->vmiData.dwFlags = 0;						// flags
    lpddhi->vmiData.dwDisplayWidth = SCREEN_WIDTH;		// current display width
    lpddhi->vmiData.dwDisplayHeight = SCREEN_HEIGHT;	// current display height
    lpddhi->vmiData.lDisplayPitch = pModeTable->lPitch;	// current display pitch
    lpddhi->vmiData.ddpfDisplay.dwSize = sizeof(DDPIXELFORMAT);
    													// ... = 8bit/pixel palettized
    lpddhi->vmiData.ddpfDisplay.dwFourCC = 0;			// (FOURCC code)

 	if (pModeTable->wFlags & DDMODEINFO_PALETTIZED)
	    lpddhi->vmiData.ddpfDisplay.dwFlags = DDPF_RGB | DDPF_PALETTEINDEXED8;
	else
	    lpddhi->vmiData.ddpfDisplay.dwFlags = DDPF_RGB;

	lpddhi->vmiData.ddpfDisplay.dwRBitMask = pModeTable->dwRBitMask;
	lpddhi->vmiData.ddpfDisplay.dwGBitMask = pModeTable->dwGBitMask;
	lpddhi->vmiData.ddpfDisplay.dwBBitMask = pModeTable->dwBBitMask;
	lpddhi->vmiData.ddpfDisplay.dwRGBBitCount = pModeTable->dwBPP;
												// how many bits per pixel (BD_4,8,16,24,32)
    lpddhi->vmiData.dwOffscreenAlign = 16;		// byte alignment for offscreen surfaces
    lpddhi->vmiData.dwOverlayAlign = 16;			// byte alignment for overlays
    lpddhi->vmiData.dwTextureAlign = 128;			// byte alignment for textures
    lpddhi->vmiData.dwZBufferAlign = 16;			// byte alignment for z buffers
    lpddhi->vmiData.dwAlphaAlign = 16;			// byte alignment for alpha
    lpddhi->vmiData.dwNumHeaps = 0;				// number of memory heaps in vmList
    lpddhi->vmiData.pvmList = (LPVIDMEM)NULL;	// array of heaps
    // hw specific caps:
   	lpddhi->ddCaps.dwSize = sizeof(DDCAPS);		// size of the DDDRIVERCAPS structure

	lpddhi->ddCaps.dwCaps =						// driver specific capabilities
		// DDCAPS_3D |                       	// Display hardware has 3D acceleration
		DDCAPS_BLT |                      		// Display hardware is capable of blt operations
		//DDCAPS_BLTQUEUE |                		// Display hardware is capable of asynchronous blt operations
		//DDCAPS_BLTFOURCC |                	// Display hardware is capable of color space conversions during the blt operation
		//DDCAPS_BLTSTRETCH |               	// Display hardware is capable of stretching during blt operations
		DDCAPS_GDI |							// Display hardware is shared with GDI
#ifdef SMI_ENABLEBACKENDVIDEO
	    DDCAPS_OVERLAY |                  		// Display hardware can overlay
		DDCAPS_OVERLAYCANTCLIP |          		// Set if display hardware supports overlays but can not clip them
		DDCAPS_OVERLAYFOURCC |            		// overlay hardware is capable of color space conversions
		DDCAPS_OVERLAYSTRETCH |           		// Indicates that stretching can be done by the overlay hardware
#endif
		// DDCAPS_PALETTE |                  	// unique DirectDrawPalettes can be created for DirectDrawSurfaces
		// DDCAPS_PALETTEVSYNC |             	// palette changes can be syncd with the vertical
		DDCAPS_READSCANLINE |             	// Display hardware can return the current scan line
		// DDCAPS_STEREOVIEW |               	// Display hardware has stereo vision capabilities
		// DDaCAPS_VBI |                      		// Display hardware is capable of generating a vertical blank interrupt
		// DDCAPS_ZBLTS |                  		// Supports the use of z buffers with blt operations
		// DDCAPS_ZOVERLAYS |              		// Supports Z Ordering of overlays
		DDCAPS_COLORKEY |                 		// Supports color key
		// DDCAPS_ALPHA |                    	// Supports alpha surfaces
		// DDCAPS_COLORKEYHWASSIST |         	// colorkey is hardware assisted
		// DDCAPS_NOHARDWARE |               	// no hardware support at all
		DDCAPS_BLTCOLORFILL |             		// Display hardware is capable of color fill with bltter
		// DDCAPS_BANKSWITCHED |             	// Display hardware is bank switched
		// DDCAPS_BLTDEPTHFILL |             	// Display hardware is capable of depth filling Z-buffers with bltter
		// DDCAPS_CANCLIP |                  	// Display hardware is capable of clipping while bltting
		// DDCAPS_CANCLIPSTRETCHED |         	// Display hardware is capable of clipping while stretch bltting
		// DDCAPS_CANBLTSYSMEM |		    	// Display hardware is capable of bltting to or from system memory
		0;

	if (!pGPE->m_SMISettings.m_bOverlayDisabled)
	{
		lpddhi->ddCaps.dwCaps =						// driver specific capabilities
			lpddhi->ddCaps.dwCaps |
		    DDCAPS_OVERLAY |                  		// Display hardware can overlay
			DDCAPS_OVERLAYCANTCLIP |          		// Set if display hardware supports overlays but can not clip them
			DDCAPS_OVERLAYFOURCC |            		// overlay hardware is capable of color space conversions
			DDCAPS_OVERLAYSTRETCH |           		// Indicates that stretching can be done by the overlay hardware
			0;
	}

	if (!pGPE->m_SMISettings.m_bCSCDisabled)
	{
		lpddhi->ddCaps.dwCaps =						// driver specific capabilities
			lpddhi->ddCaps.dwCaps |
			DDCAPS_BLTFOURCC |                	// Display hardware is capable of color space conversions during the blt operation
			DDCAPS_BLTSTRETCH |               	// Display hardware is capable of stretching during blt operations
			0;
	}

	lpddhi->ddCaps.dwCKeyCaps =					// color key capabilities of the surface
		//DDCKEYCAPS_DESTBLT					|		// Supports transparent blitting with a color key that identifies the replaceable bits of the destination surface for RGB colors.  
		DDCKEYCAPS_DESTOVERLAYONEACTIVE  	|		// Supports only one active destination color key value for visible overlay surfaces.  
		DDCKEYCAPS_DESTOVERLAYYUV			|		// Supports overlaying using color keying of the replaceable bits of the destination surface being overlaid for YUV colors.  
		DDCKEYCAPS_DESTOVERLAY  			|		// Supports overlaying with color keying of the replaceable bits of the destination surface being overlaid for RGB colors.  
		DDCKEYCAPS_SRCBLT  					|		// Supports transparent blitting using the color key for the source with this surface for RGB colors.  
		// DDCKEYCAPS_DESTBLTCLRSPACE			|		// Supports transparent blitting with a color space that identifies the replaceable bits of the destination surface for RGB colors.  
		// DDCKEYCAPS_DESTBLTCLRSPACEYUV		|		// Supports transparent blitting with a color space that identifies the replaceable bits of the destination surface for YUV colors.  
		// DDCKEYCAPS_DESTBLTYUV  				|		// Supports transparent blitting with a color key that identifies the replaceable bits of the destination surface for YUV colors.  
		// DDCKEYCAPS_DESTOVERLAYCLRSPACE  	|		// Supports a color space as the color key for the destination of RGB colors.  
		// DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV	|	  	// Supports a color space as the color key for the destination of YUV colors.  
		// DDCKEYCAPS_NOCOSTOVERLAY  			|		// Indicates there are no bandwidth trade-offs for using the color key with an overlay.  
		// DDCKEYCAPS_SRCBLTCLRSPACE  			|		// Supports transparent blitting using a color space for the source with this surface for RGB colors.  
		// DDCKEYCAPS_SRCBLTCLRSPACEYUV  		|		// Supports transparent blitting using a color space for the source with this surface for YUV colors.  
		// DDCKEYCAPS_SRCBLTYUV  				|		// Supports transparent blitting using the color key for the source with this surface for YUV colors.  
		DDCKEYCAPS_SRCOVERLAY  				|		// Supports overlaying using the color key for the source with this overlay surface for RGB colors.  
		// DDCKEYCAPS_SRCOVERLAYCLRSPACE  		|		// Supports overlaying using a color space as the source color key for the overlay surface for RGB colors.  
		// DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV  	|		// Supports overlaying using a color space as the source color key for the overlay surface for YUV colors.  
		// DDCKEYCAPS_SRCOVERLAYONEACTIVE  	|		// Supports only one active source color key value for visible overlay surfaces.  
		// DDCKEYCAPS_SRCOVERLAYYUV 			|		// Supports overlaying using the color key for the source with this overlay surface for YUV colors. 
		0;

	lpddhi->ddCaps.dwFXCaps=					// driver specific stretching and effects capabilites
		//DDFXCAPS_BLTMIRRORUPDOWN |			// Supports vertical inversion Blts
		DDFXCAPS_BLTSTRETCHY 			|		// Supports stretch blts in the Y-direction
		DDFXCAPS_BLTSHRINKY 			|		// Supports shrink blts in the Y-direction
		DDFXCAPS_BLTSTRETCHX 			|		// Supports stretch blts in the X-direction
		DDFXCAPS_BLTSHRINKX 			|		// Supports shrink blts in the X-direction
		DDFXCAPS_BLTARITHSTRETCHY		|
		DDFXCAPS_BLTARITHSTRETCHYN 		|
		DDFXCAPS_OVERLAYSTRETCHX		|
		DDFXCAPS_OVERLAYSTRETCHXN		|
		DDFXCAPS_OVERLAYSTRETCHY		|
		DDFXCAPS_OVERLAYSTRETCHYN		|
		DDFXCAPS_OVERLAYARITHSTRETCHYN	|
		DDFXCAPS_OVERLAYARITHSTRETCHY	|
		DDFXCAPS_OVERLAYSHRINKX 		|
		DDFXCAPS_OVERLAYSHRINKXN 		|
		DDFXCAPS_OVERLAYSHRINKY 		|
		DDFXCAPS_OVERLAYSHRINKYN 		|
		//DDFXCAPS_OVERLAYALPHA			|
		0;

    lpddhi->ddCaps.dwCaps2 =                    // more driver specific capabilities
		// DDCAPS2_CERTIFIED					// Display hardware is certified
		DDCAPS2_NO2DDURING3DSCENE |				// Driver cannot interleave 2D & 3D operations
		DDCAPS2_VIDEOPORT |					// Display hardware contains a video port
		DDCAPS2_AUTOFLIPOVERLAY |			// automatic doubled buffered display of video port
		DDCAPS2_CANBOBINTERLEAVED |			// Overlay can display each field of interlaced data
		DDCAPS2_CANBOBNONINTERLEAVED |		// As above but for non-interleaved data
		DDCAPS2_CANFLIPODDEVEN |				// Driver supports bob without using a video port
		// DDCAPS2_COLORCONTROLOVERLAY |		// The overlay surface contains color controls
		// DDCAPS2_COLORCONTROLPRIMARY |		// The primary surface contains color controls
		// DDCAPS2_CANDROPZ16BIT |				// RGBZ -> RGB supported for 16:16 RGB:Z
		// DDCAPS2_NONLOCALVIDMEM |				// Driver supports non-local video memory
		// DDCAPS2_NONLOCALVIDMEMCAPS |			// Dirver supports non-local video memory but has different capabilities
		// DDCAPS2_NOPAGELOCKREQUIRED |			// Driver neither requires nor prefers surfaces to be pagelocked
		DDCAPS2_WIDESURFACES |					// Driver can create surfaces which are wider than the primary surface
		// DDCAPS2_CANBOBHARDWARE |				// Driver supports bob using hardware
		// DDCAPS2_COPYFOURCC |					// Driver supports bltting any FOURCC surface to another surface of the same FOURCC
		DDCAPS2_FLIPNOVSYNC |					// Driver respond to FLIP_NOVSYNC request
		0 ;

	if (pGPE->m_nScreenBpp <= 8)
	{
	lpddhi->ddCaps.dwPalCaps = 					// palette capabilities
		// DDPCAPS_1BIT |							// Simple 1-bit palette
		// DDPCAPS_2BIT |							// Simple 2-bit palette
		// DDPCAPS_4BIT |							// Simple 4-bit palette
		// DDPCAPS_8BITENTRIES |				// Palette indexes into 8 bit target
		DDPCAPS_8BIT |							// Simple 8-bit palette
		DDPCAPS_INITIALIZE |					// DDraw should initalize palette
												//   ..from lpDDColorArray
		DDPCAPS_PRIMARYSURFACE |				// Palette is attached to primary surface
		// DDPCAPS_PRIMARYSURFACELEFT |			// Palette is attached to left-eye primary surface
		DDPCAPS_ALLOW256 |						// All 256 entries may be set
		0;
	}
	else
	{
		lpddhi->ddCaps.dwPalCaps = 					// palette capabilities
			0;
	}

	lpddhi->ddCaps.dwSVCaps=0;					// Stereo vision capabilities (none)
	lpddhi->ddCaps.dwAlphaBltConstBitDepths = 0;// No Alpha Blt's
	lpddhi->ddCaps.dwAlphaBltPixelBitDepths = 0;
	lpddhi->ddCaps.dwAlphaBltSurfaceBitDepths = 0;
	lpddhi->ddCaps.dwZBufferBitDepths=0;		// No z buffer
	lpddhi->ddCaps.dwVidMemTotal = g_nVideoMemorySize;	// total amount of video memory
	lpddhi->ddCaps.dwVidMemFree = g_nVideoMemorySize;	// amount of free video memory

	lpddhi->ddCaps.dwMaxVisibleOverlays=1;	  	// maximum number of visible overlays
	lpddhi->ddCaps.dwCurrVisibleOverlays = 0;	// current number of visible overlays
	lpddhi->ddCaps.dwMinOverlayStretch=1;		// Min Overlay Stretch factor
	lpddhi->ddCaps.dwMaxOverlayStretch=((SCREEN_HEIGHT < 256)?128:256)*1000; 	// Max Overlay Stretch factor

	lpddhi->ddCaps.dwNumFourCCCodes = MAX_FOURCC; 	// number of four cc codes
	lpddhi->ddCaps.dwAlignBoundarySrc = 0;		// source rectangle alignment
	lpddhi->ddCaps.dwAlignSizeSrc = 0;			// source rectangle byte size
	lpddhi->ddCaps.dwAlignStrideAlign = 0;		// stride alignment
	lpddhi->ddCaps.ddsCaps.dwCaps=				// DDSCAPS structure has all the general capabilities
		// DDSCAPS_ALPHA |							// Can create alpha-only surfaces
		DDSCAPS_BACKBUFFER |						// Can create backbuffer surfaces
		DDSCAPS_COMPLEX |							// Can create complex surfaces
		DDSCAPS_FLIP |								// Can flip between surfaces
		DDSCAPS_FRONTBUFFER |						// Can create front-buffer surfaces
		DDSCAPS_OFFSCREENPLAIN |					// Can create off-screen bitmaps
		DDSCAPS_OVERLAY |							// Can create overlay surfaces
		DDSCAPS_PALETTE |							// Has one palette ???
		DDSCAPS_PRIMARYSURFACE |					// Has a primary surface
		// DDSCAPS_PRIMARYSURFACELEFT |				// Has a left-eye primary surface
		// DDSCAPS_TEXTURE |						// Supports texture surrfaces
		// DDSCAPS_SYSTEMMEMORY |					// Surfaces are in system memory
		DDSCAPS_VIDEOMEMORY |						// Surfaces are in video memory
		DDSCAPS_VISIBLE |							// Changes are instant ???
		// DDSCAPS_ZBUFFER |						// Can create (pseudo) Z buffer
		// DDSCAPS_EXECUTEBUFFER |					// Can create execute buffer
		// DDSCAPS_3DDEVICE |						// Surfaces can be 3d targets
		// DDSCAPS_WRITEONLY |						// Can create write-only surfaces
		// DDSCAPS_ALLOCONLOAD |					// Can create alloconload surfaces
		// DDSCAPS_MIPMAP |							// Can create mipmap
		0;

	SETROPBIT(lpddhi->ddCaps.dwRops,SRCCOPY);	// Set bits for ROPS supported
	SETROPBIT(lpddhi->ddCaps.dwRops,PATCOPY);
	SETROPBIT(lpddhi->ddCaps.dwRops,BLACKNESS);
	SETROPBIT(lpddhi->ddCaps.dwRops,WHITENESS);

#ifdef ENABLE_DIRECT3D
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x00); // 0
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x88); // DSa
	SETROPBIT(lpddhi->ddCaps.dwRops, 0xA0); // DPa
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x44); // SDna
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x50); // PDna
	SETROPBIT(lpddhi->ddCaps.dwRops, 0xCC); // S
	SETROPBIT(lpddhi->ddCaps.dwRops, 0xF0); // P
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x0A); // DPna
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x22); // DSna
	SETROPBIT(lpddhi->ddCaps.dwRops, 0xAA); // D
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x5A); // DPx
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x66); // DSx
	SETROPBIT(lpddhi->ddCaps.dwRops, 0xEE); // DSo
	SETROPBIT(lpddhi->ddCaps.dwRops, 0xFA); // DPo
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x05); // DPon
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x11); // DSon
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x99); // DSxn
	SETROPBIT(lpddhi->ddCaps.dwRops, 0xA5); // DPxn
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x55); // Dn
	SETROPBIT(lpddhi->ddCaps.dwRops, 0xDD); // SDno
	SETROPBIT(lpddhi->ddCaps.dwRops, 0xF5); // PDno
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x0F); // Pn
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x33); // Sn
	SETROPBIT(lpddhi->ddCaps.dwRops, 0xAF); // DPno
	SETROPBIT(lpddhi->ddCaps.dwRops, 0xBB); // DSno
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x5F); // DPan
	SETROPBIT(lpddhi->ddCaps.dwRops, 0x77); // DSan
	SETROPBIT(lpddhi->ddCaps.dwRops, 0xFF); // 1
#endif

    // caps for system to video blts
    lpddhi->ddCaps.dwSVBCaps =          // driver specific capabilities
        //DDCAPS_BLT |                    // Display hardware is capable of
                                        // blt operations
        //DDCAPS_COLORKEY |               // Supports color key
        //DDCAPS_COLORKEYHWASSIST |       // colorkey is hardware assisted
        //DDCAPS_BLTCOLORFILL |           // Display hardware is capable of
                                        // color fill with bltter
        0;
    lpddhi->ddCaps.dwSVBCKeyCaps =      // color key capabilities of the surface
        //DDCKEYCAPS_SRCBLT |             // Hardware can use colorkey (cf source
                                        // only) ..for transparent blts
        0;
    lpddhi->ddCaps.dwSVBFXCaps=         // driver specific stretching and
                                        // effects capabilites
        0;


    lpddhi->dwMonitorFrequency = pModeTable->wRefreshRate;
    											// monitor frequency in current mode (60 field/sec)
    lpddhi->dwModeIndex = 0; // g_nMode;		// current mode: index into array
    lpddhi->lpdwFourCC = SMIFourCC;				// fourcc codes supported
    lpddhi->dwNumModes = 1; 					// number of modes supported
	lpddhi->lpModeInfo = pModeTable;			   	// mode information
    lpddhi->dwFlags =
					DDHALINFO_MODEXILLEGAL |	// create flags
					DDHALINFO_GETDRIVERINFOSET |
					0;
    lpddhi->lpPDevice = (LPVOID)0;				// physical device ptr
    lpddhi->hInstance = (DWORD)0;				// instance handle of driver

	lpddhi->ddCaps.dwMaxVideoPorts	= 1;
	lpddhi->ddCaps.dwCurrVideoPorts= 0;

#ifdef ENABLE_DIRECT3D
    init_D3D_caps(lpddhi);
#endif //ENABLE_DIRECT3D
}

#endif	// DD_ENABLE

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线视频欧美精品| 亚洲成人av一区| 日韩欧美资源站| 欧美久久婷婷综合色| 精品视频一区二区三区免费| 欧美日韩综合在线免费观看| 欧美久久久久中文字幕| 精品视频色一区| 7777精品伊人久久久大香线蕉超级流畅| 在线中文字幕一区二区| 欧美日韩一区二区三区在线看| 91官网在线观看| 欧美男同性恋视频网站| 日韩美一区二区三区| 国产日韩三级在线| 亚洲图片激情小说| 视频一区国产视频| 狠狠色2019综合网| 92精品国产成人观看免费 | 日韩午夜小视频| 26uuu色噜噜精品一区二区| 国产偷国产偷亚洲高清人白洁| 综合欧美亚洲日本| 免费观看日韩av| 国产成人免费视频网站 | 欧美精品在线一区二区三区| 精品久久久网站| 国产日韩欧美综合一区| 一区二区在线免费观看| 免费成人在线观看| 91在线免费视频观看| 欧美美女网站色| 中文字幕国产一区| 视频一区二区三区入口| 国产福利91精品一区| 欧美日韩精品三区| 国产欧美精品一区二区三区四区 | 欧美一区二区三区在线电影| 久久精品夜色噜噜亚洲aⅴ| 亚洲激情五月婷婷| 国模大尺度一区二区三区| 91视频观看视频| 久久日韩精品一区二区五区| 一个色综合av| 成人毛片视频在线观看| 欧美一区日本一区韩国一区| 自拍视频在线观看一区二区| 国产一区二区美女| 制服丝袜亚洲播放| 夜夜嗨av一区二区三区中文字幕| 国产精品一卡二卡在线观看| 91精品国产综合久久小美女| 亚洲精品成人在线| caoporn国产一区二区| 欧美xxxx老人做受| 五月天一区二区| 欧美色综合网站| 亚洲欧美一区二区三区孕妇| 国产成人av影院| 精品粉嫩aⅴ一区二区三区四区| 亚洲成a人在线观看| 91蜜桃在线观看| 国产精品久久久久久久裸模| 国产精品99久久久久久宅男| 日韩三级视频中文字幕| 午夜精品久久久久久久| 91成人免费在线视频| 亚洲美女在线国产| 色香蕉成人二区免费| 亚洲欧洲日本在线| caoporn国产一区二区| 一区二区三区在线高清| 在线观看日韩毛片| 亚洲一区二区三区视频在线播放| 成人午夜视频免费看| 国产欧美日韩激情| 国产不卡免费视频| 亚洲三级在线看| 色香蕉成人二区免费| 亚洲一区二区成人在线观看| 在线视频国内自拍亚洲视频| 一区二区三区中文字幕在线观看| 色综合色综合色综合| 亚洲国产日韩综合久久精品| 欧美日韩高清一区| 日本网站在线观看一区二区三区| 91精品国产综合久久精品图片| 天天综合天天做天天综合| 日韩一级完整毛片| 久88久久88久久久| 中文字幕精品综合| 欧美中文一区二区三区| 日韩电影一区二区三区四区| 欧美成人a在线| kk眼镜猥琐国模调教系列一区二区| 亚洲丝袜自拍清纯另类| 欧美在线看片a免费观看| 日韩精品一二三| 国产欧美一区视频| 91久久线看在观草草青青| 午夜久久久久久久久| 精品久久国产字幕高潮| a在线播放不卡| 婷婷久久综合九色综合绿巨人| 精品国产精品网麻豆系列| av一区二区久久| 午夜精品影院在线观看| 日本一区二区三区高清不卡| 欧洲另类一二三四区| 精品一区二区精品| 亚洲精品日日夜夜| 久久久精品黄色| 欧美伊人久久久久久午夜久久久久| 久久精品国产精品青草| 亚洲男人的天堂av| 精品国产免费一区二区三区四区 | 日韩中文字幕不卡| 国产精品网友自拍| 91精品综合久久久久久| 99国产一区二区三精品乱码| 国产精品亚洲第一| 天天综合色天天综合| 日韩伦理电影网| 久久精品日韩一区二区三区| 欧美日韩大陆一区二区| 97精品电影院| 成人妖精视频yjsp地址| 紧缚捆绑精品一区二区| 亚洲第一福利一区| 亚洲精品你懂的| 一区精品在线播放| 久久久蜜臀国产一区二区| 欧美一区二区免费视频| 欧美午夜精品一区二区三区| 99久久精品免费看国产| 国产成人啪免费观看软件| 男人的天堂久久精品| 午夜久久久影院| 亚洲国产精品一区二区www| 亚洲素人一区二区| 日韩美女久久久| 亚洲天堂免费看| 亚洲日本va午夜在线电影| 亚洲国产精品成人综合| 久久久美女艺术照精彩视频福利播放| 91精品国产入口在线| 在线成人免费观看| 欧美电影在哪看比较好| 777欧美精品| 91精品国产全国免费观看| 日韩亚洲欧美一区| 欧美成人a在线| 久久新电视剧免费观看| 久久精品夜色噜噜亚洲a∨| 久久久久久久久久美女| 久久综合狠狠综合| 国产日韩欧美精品在线| 国产精品伦一区二区三级视频| 国产精品系列在线| 亚洲欧洲综合另类在线| 夜夜爽夜夜爽精品视频| 天天做天天摸天天爽国产一区| 日韩和欧美的一区| 激情国产一区二区| 国产精品亚洲人在线观看| 成人精品视频一区| 91黄色小视频| 日韩一区二区视频| 久久在线观看免费| 国产精品乱码一区二区三区软件| 中文字幕一区二区三区av| 一区二区三区小说| 另类欧美日韩国产在线| 丁香桃色午夜亚洲一区二区三区| 成人自拍视频在线观看| 色综合视频在线观看| 欧美视频一区二区三区| 26uuu久久天堂性欧美| 中文字幕在线播放不卡一区| 国产一区二区三区电影在线观看 | 亚洲丰满少妇videoshd| 久久99热狠狠色一区二区| 成人午夜伦理影院| 欧美日韩一区 二区 三区 久久精品| 制服.丝袜.亚洲.另类.中文| 久久综合网色—综合色88| 亚洲视频免费在线观看| 蜜桃av一区二区在线观看| 顶级嫩模精品视频在线看| 色av一区二区| 国产亚洲欧美日韩日本| 亚洲午夜激情网页| 国产 日韩 欧美大片| 88在线观看91蜜桃国自产| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲欧美偷拍卡通变态| 国产一区欧美一区| 欧美精品在线一区二区三区| 中文字幕一区日韩精品欧美| 久久成人免费电影|