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

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

?? vbmixedidx.cpp

?? s3c6410 官方測試代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
	Vtx.enablePointSize = FGL_FALSE;
	Vtx.numVSOut = 1;
	Vtx.shadeModel = FGL_SHADING_SMOOTH;
	Vtx.colorAttribIdx = 0;
	
	fglSetVertex(&Vtx); // Vertex context register

	// Host Interface SFR Set
	FGL_Attribute HIAttr;
	HIAttr.bEndFlag = FGL_FALSE;
	HIAttr.type = FGL_ATTRIB_DATA_FLOAT;
	HIAttr.numComp = 4;
	HIAttr.srcW = FGL_ATTRIB_ORDER_4TH;
	HIAttr.srcZ = FGL_ATTRIB_ORDER_3RD;
	HIAttr.srcY = FGL_ATTRIB_ORDER_2ND;
	HIAttr.srcX = FGL_ATTRIB_ORDER_1ST;	
	fglSetAttribute(0, &HIAttr);
	fglSetAttribute(1, &HIAttr);
	HIAttr.bEndFlag = FGL_TRUE;
	fglSetAttribute(2, &HIAttr);

	FGL_HInterface HInterface;
	HInterface.enableAutoInc = FGL_TRUE;
	HInterface.enableVtxBuffer = FGL_TRUE;
	HInterface.enableVtxCache = FGL_FALSE;	
	HInterface.idxType = FGL_INDEX_DATA_UINT;
	HInterface.numVSOut = 2;
	
	for(j=0; j<3; j++)
	{
		nNumOfVertices = nNumTrisCube_HI2 * 3;

		if(j==0)
		{
			HInterface.idxType = FGL_INDEX_DATA_UINT;
			fglSetHInterface(&HInterface);
			
			unsigned int uiIndex = 0x00000000;
			fglSendToFIFO(4, &nNumOfVertices);
			fglSendToFIFO(4, &uiIndex);
		}
		else if(j==1)
		{
			HInterface.idxType = FGL_INDEX_DATA_USHORT;
			fglSetHInterface(&HInterface);
			
			unsigned int uiIndex = 0xFFFF0000;
			fglSendToFIFO(4, &nNumOfVertices);
			fglSendToFIFO(4, &uiIndex);
		}
		else
		{
			HInterface.idxType = FGL_INDEX_DATA_UBYTE;
			HInterface.enableVtxCache = FGL_TRUE;
			fglSetHInterface(&HInterface);
			
			unsigned int uiIndex = 0xFFFFFF00;
			fglSendToFIFO(4, &nNumOfVertices);
			fglSendToFIFO(4, &uiIndex);
		}

		DataSize = sizeof(RemainData0)/sizeof(float);

		fglSysTransferToPort(
								(unsigned int *)RemainData0,
								/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
								DataSize
							 );

		fglFlush(FGL_PIPESTATE_ALL);	// Pipeline status

		// Cache flush
		fglSysCacheFlush();

		fglSysDelay(50);

		drvsys_clear_buf((unsigned int*)FIMG_DEPTH_BUFFER, CLEAR_SCREEN_SIZE, 0x00FFFFFF);
		drvsys_clear_buf((unsigned int*)(FIMG_COLOR_BUFFER), CLEAR_SCREEN_SIZE, 0);

	}

	// HI IdxOffset SFR
	fglSetIndexOffset(0);		    		// Default value
	VtxAttrib.stride = 0;					// Default value
	VtxAttrib.addr = 0;						// Default value
	VtxAttrib.num = 0;
	fglSetVtxBufAttrib(2, &VtxAttrib);

 ///////////////////////////////// Index Transfer ///////////////////////////////////


 	//pVS = &Diffuse_vsa[0];

	if (fglLoadVShader(Diffuse_vsa) != FGL_ERR_NO_ERROR)
	{
		return ERROR;
	}

    //ConstFloatAddr = FGVS_CFLOAT_SADDR;
	//matMVP.WriteMatrix4(ConstFloatAddr);
	
	fglWriteVertexShaderConstFloat(0, 16, matMVP.m[0]);	

 	fglFlush(FGL_PIPESTATE_ALL);	// Pipeline status


/*
	// Vertex Shader SFR set
	WRITEREG(FGVS_ATTRIB_NUM, 0x00020002); // Attribute counter of VS input & output
	WRITEREG(FGVS_CONFIG, 0x00000001); // Configuration register

	// Pixel Shader SFR set
	WRITEREG(FGPS_EXE_MODE, 0x00000000); // Pixel shader execution mode control register
	WRITEREG(FGPS_PC_COPY, 0x00000001); // Copy PSPCS_ADDR value to program counter
	WRITEREG(FGPS_ATTRIB_NUM, 0x00000001); // Number of attribute of current context
	fglSysPollingMask(FGPS_INBUF_STATUS, 0x0, 0x00000001); // Status signal of pixel shader input buffer
	WRITEREG(FGPS_EXE_MODE, 0x00000001); // Pixel shader execution mode control register
*/
    fglVSSetAttribNum(2);
    fglPSSetAttributeNum(1);

 	/*
	 * Transfer the data of geometry to Vertex Buffer
	 */

	pVtxBufAddr = 0;
	
	// Attribute 0 for Vertex Buffer
	fglSetVtxBufferAddr((unsigned int)pVtxBufAddr);		// Vetex buffer address
	VtxAttrib.stride = 16;								// Attribute n vertex buffer control
	VtxAttrib.addr = (unsigned int)pVtxBufAddr;			// Vertex buffer attribute0 base address
	VtxAttrib.num = 0x16;
	fglSetVtxBufAttrib(0, &VtxAttrib);

	DataSize = sizeof(BoxPos)/sizeof(float);

	for(i=0; i<DataSize; i++)
	{
		fglSendToVtxBuffer(*(unsigned int*)&BoxPos[i]);	
		pVtxBufAddr++;
	}

	// Attribute 1 for Vertex Buffer
	// Attribute 0 for Vertex Buffer
	fglSetVtxBufferAddr((unsigned int)pVtxBufAddr);		// Vetex buffer address
	VtxAttrib.stride = 16;								// Attribute n vertex buffer control
	VtxAttrib.addr = (unsigned int)pVtxBufAddr;			// Vertex buffer attribute0 base address
	VtxAttrib.num = 0x16;
	fglSetVtxBufAttrib(1, &VtxAttrib);

	DataSize = sizeof(BoxNormal)/sizeof(float);

	for(i=0; i<DataSize; i++)
	{
		fglSendToVtxBuffer(*(unsigned int*)&BoxNormal[i]);
		pVtxBufAddr++;
	}

	// HI IdxOffset SFR
	fglSetIndexOffset(0);		    // Auto-Increment Mode
	// Primitive Engine SRF Set
	Vtx.prim = FGL_PRIM_TRIANGLES;
	Vtx.enablePointSize = FGL_FALSE;
	Vtx.numVSOut = 1;
	Vtx.shadeModel = FGL_SHADING_SMOOTH;
	Vtx.colorAttribIdx = 0;
	
	fglSetVertex(&Vtx);// Vertex context register
	// Host Interface SFR Set
	HIAttr.bEndFlag = FGL_FALSE;
	HIAttr.type = FGL_ATTRIB_DATA_FLOAT;
	HIAttr.numComp = 4;
	HIAttr.srcW = FGL_ATTRIB_ORDER_4TH;
	HIAttr.srcZ = FGL_ATTRIB_ORDER_3RD;
	HIAttr.srcY = FGL_ATTRIB_ORDER_2ND;
	HIAttr.srcX = FGL_ATTRIB_ORDER_1ST;	
	fglSetAttribute(0, &HIAttr);
	HIAttr.bEndFlag = FGL_TRUE;
	fglSetAttribute(1, &HIAttr);

	HInterface.enableAutoInc = FGL_FALSE;
	HInterface.enableVtxBuffer = FGL_TRUE;
	HInterface.enableVtxCache = FGL_TRUE;	
	HInterface.idxType = FGL_INDEX_DATA_UINT;
	HInterface.numVSOut = 2;	
	fglSetHInterface(&HInterface);
	
	unsigned int uiTmpVertices = 0;
	for(j=0; j<3; j++)
	{
		nNumOfVertices = nNumTrisCube_HI2 * 3;

		if(j==0)
		{
			// Index-Transfer Mode: index type unsigned int
			fglSetHInterface(&HInterface);
			fglSendToFIFO(4, &nNumOfVertices);

			//int IdxBox0[] = {  0,  3,  6,    1, 15,  4,    5, 18,  7,    9$$$, 19, 21,    2 };
			IdxSize = sizeof(IdxBox0)/sizeof(int);
			fglSysTransferToPort(
									(unsigned int *)IdxBox0,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									IdxSize
								 );
			//	22,
LOOP0:		fglGetNumEmptyFIFOSlots(&nEmptySpace);

			uiTmpVertices = 0x16;
			if(nEmptySpace > 1) {fglSendToFIFO(4, &uiTmpVertices);}
			else goto LOOP0;
			fglSysTransferToPort(
									(unsigned int *)AppendIdx22,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									0x8
								 );

			//int IdxBox1[] = { 12,    13, 20, 16,    0,  6, 10,   1,  14,  15,     5,  17,  18,     9,   8,  19,    2,  11 };
			IdxSize = sizeof(IdxBox1)/sizeof(int);
			fglSysTransferToPort(
									(unsigned int *)IdxBox1,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									IdxSize
								 );
			//	22,
LOOP1:		fglGetNumEmptyFIFOSlots(&nEmptySpace);

			uiTmpVertices = 0x16;
			if(nEmptySpace > 1) {fglSendToFIFO(4, &uiTmpVertices);}
			else goto LOOP1;
			fglSysTransferToPort(
									(unsigned int *)AppendIdx22,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									0x8
								 );
			//	13,
LOOP2:		fglGetNumEmptyFIFOSlots(&nEmptySpace);

			uiTmpVertices = 0xD;
			if(nEmptySpace > 1) {fglSendToFIFO(4, &uiTmpVertices);}
			else goto LOOP2;

			//	23,
LOOP3:		fglGetNumEmptyFIFOSlots(&nEmptySpace);

			uiTmpVertices = 0x17;
			if(nEmptySpace > 1) {fglSendToFIFO(4, &uiTmpVertices);}
			else goto LOOP3;
			fglSysTransferToPort(
									(unsigned int *)AppendIdx23,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									0x8
								 );
			//	20
LOOP4:		fglGetNumEmptyFIFOSlots(&nEmptySpace);

			uiTmpVertices = 0x14;
			if(nEmptySpace > 1) {fglSendToFIFO(4, &uiTmpVertices);}
			else goto LOOP4;
		}
		else if(j==1)
		{
			// Index-Transfer Mode: index type short
			HInterface.idxType = FGL_INDEX_DATA_USHORT;			
			fglSetHInterface(&HInterface);
			fglSendToFIFO(4, &nNumOfVertices);

			IdxSize = sizeof(IdxBox0Short)/sizeof(unsigned int);
			fglSysTransferToPort(
									(unsigned int *)IdxBox0Short,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									IdxSize
								 );

			fglSysTransferToPort(
									(unsigned int *)AppendIdx22,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									0x8
								 );
			IdxSize = sizeof(IdxBox1Short)/sizeof(unsigned int);
			fglSysTransferToPort(
									(unsigned int *)IdxBox1Short,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									IdxSize
								 );

			fglSysTransferToPort(
									(unsigned int *)AppendIdx22,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									0x8
								 );

 LOOP5:		fglGetNumEmptyFIFOSlots(&nEmptySpace);
			if(nEmptySpace > 1) 
			{
			    //WRITEREG(FGHI_FIFO_ENTRY, 0x00140017);
			    unsigned int uTmp = 0x00140017;
			    fglSendToFIFO(4, &uTmp);
			}
			else goto LOOP5;
			fglSysTransferToPort(
									(unsigned int *)AppendIdx23,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									0x8
								 );
		}
		else
		{
			// Index-Transfer Mode: index type unsigned byte
			HInterface.idxType = FGL_INDEX_DATA_UBYTE;			
			fglSetHInterface(&HInterface);
			fglSendToFIFO(4, &nNumOfVertices);

			IdxSize = sizeof(IdxBox0Byte)/sizeof(unsigned int);
			fglSysTransferToPort(
									(unsigned int *)IdxBox0Byte,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									IdxSize
								 );

			fglSysTransferToPort(
									(unsigned int *)AppendIdx22,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									0x8
								 );

			IdxSize = sizeof(IdxBox1Byte)/sizeof(unsigned int);
			fglSysTransferToPort(
									(unsigned int *)IdxBox1Byte,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									IdxSize
								 );

			fglSysTransferToPort(
									(unsigned int *)AppendIdx22,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									0x8
								 );

			fglSysTransferToPort(
									(unsigned int *)AppendIdx23,
									/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
									0x8
								 );
		}


		fglFlush(FGL_PIPESTATE_ALL);	// Pipeline status

		// Cache flush
		//fglSysCacheFlush();
		fglClearCache(FGL_CACHECTL_FLUSH_ZCACHE | FGL_CACHECTL_FLUSH_CCACHE);

		fglSysDelay(50);

		drvsys_clear_buf((unsigned int*)FIMG_DEPTH_BUFFER, CLEAR_SCREEN_SIZE, 0x00FFFFFF);
//		drvsys_clear_buf((unsigned int*)(FIMG_COLOR_BUFFER+m_FBOffsize), CLEAR_SCREEN_SIZE, 0);


	}

    fglEnablePerFragUnit(FGL_PF_DEPTH, FGL_FALSE);
	// HI IdxOffset SFR
	fglSetIndexOffset(0);		// Default value
	// Attribute 0 for Vertex Buffer
	VtxAttrib.stride = 0;		// Attribute n vertex buffer control
	VtxAttrib.addr = 0;			// Vertex buffer attribute0 base address
	VtxAttrib.num = 0;
	fglSetVtxBufAttrib(2, &VtxAttrib);


	return NO_ERROR;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品免费视频人成| 欧美精品在欧美一区二区少妇| 91视频.com| 欧美v日韩v国产v| 亚洲大片一区二区三区| 99天天综合性| 国产性色一区二区| 精品在线你懂的| 欧美精品一二三四| 一区二区三国产精华液| 不卡视频一二三四| 久久精品亚洲乱码伦伦中文| 奇米888四色在线精品| 欧美精品亚洲一区二区在线播放| 国产精品白丝在线| 成人激情视频网站| 欧美激情在线看| 国产一区二区三区久久悠悠色av| 日韩三级在线观看| 免费人成黄页网站在线一区二区| 欧美日韩国产a| 午夜不卡在线视频| 欧美三级乱人伦电影| 亚洲一区自拍偷拍| 欧美剧情片在线观看| 午夜久久久影院| 欧美日韩激情在线| 水野朝阳av一区二区三区| 欧美精品乱码久久久久久| 亚洲成国产人片在线观看| 欧美人与性动xxxx| 麻豆一区二区三区| 欧美xxxx老人做受| 国产成人在线观看免费网站| 国产女人18毛片水真多成人如厕| 国产福利91精品一区二区三区| www久久久久| 成人午夜视频在线观看| 国产精品乱码一区二三区小蝌蚪| 粉嫩久久99精品久久久久久夜| 日本一区二区三区在线观看| 成人听书哪个软件好| 最新不卡av在线| 91高清在线观看| 日韩精品欧美精品| 久久嫩草精品久久久精品一| 成人a区在线观看| 亚洲香肠在线观看| 欧美成人午夜电影| 成人av资源站| 亚洲1区2区3区视频| 日韩欧美在线影院| 成人激情综合网站| 午夜精品久久久久久久久久| 日韩三级视频在线看| 成人黄色软件下载| 一区二区三区在线观看欧美| 欧美一卡二卡在线观看| 国产精品亚洲一区二区三区妖精| 亚洲丝袜制服诱惑| 欧美一级二级三级乱码| www.欧美.com| 日韩成人免费电影| 国产精品久久久久影院| 欧美理论片在线| 国产精品夜夜嗨| 五月婷婷激情综合| 国产人久久人人人人爽| 欧美日韩精品一区二区在线播放| 久久99最新地址| 亚洲综合免费观看高清完整版在线 | 亚洲三级电影全部在线观看高清| 欧美视频中文字幕| 粉嫩绯色av一区二区在线观看| 一区二区三区波多野结衣在线观看| 日韩一区二区三| 91首页免费视频| 久久不见久久见免费视频7| 亚洲免费在线电影| 久久蜜臀精品av| 56国语精品自产拍在线观看| aa级大片欧美| 国产九色sp调教91| 日本怡春院一区二区| 亚洲精品福利视频网站| 国产色婷婷亚洲99精品小说| 日韩一区二区三区高清免费看看| 91免费国产视频网站| 国产自产视频一区二区三区| 日韩在线卡一卡二| 一区二区三区波多野结衣在线观看| 国产亚洲视频系列| 26uuu精品一区二区三区四区在线| 欧美无乱码久久久免费午夜一区 | 美日韩黄色大片| 亚洲国产色一区| 一区二区三区欧美久久| 国产精品女主播在线观看| 久久网站最新地址| 欧美电影免费观看高清完整版 | 欧美高清视频在线高清观看mv色露露十八| 国产69精品久久久久毛片| 国产一区二区精品久久99| 美女视频一区在线观看| 日韩精品每日更新| 蜜臀99久久精品久久久久久软件| 亚洲国产视频在线| 午夜国产精品一区| 日日摸夜夜添夜夜添国产精品| 亚洲卡通动漫在线| 亚洲一本大道在线| 亚州成人在线电影| 日本少妇一区二区| 免费成人在线网站| 国产一区二区网址| 成人精品视频网站| 91视频91自| 欧美精品在线一区二区| 欧美一区二区免费视频| 精品国产免费久久| 久久女同精品一区二区| 国产精品午夜电影| 中文字幕亚洲一区二区va在线| 国产精品美女久久久久av爽李琼 | 欧美色区777第一页| 欧美色成人综合| 日韩欧美二区三区| 国产欧美一区二区在线观看| 中文字幕一区二区不卡| 一区二区三区四区激情| 无吗不卡中文字幕| 精品一区二区久久久| 成人激情午夜影院| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美日韩国产综合视频在线观看| 91精品免费在线观看| 久久一区二区三区四区| 中文字幕一区二区不卡| 日韩二区三区四区| 国产精品一区二区免费不卡 | 色欧美乱欧美15图片| 欧美日韩成人在线| 久久精品欧美日韩| 亚洲国产成人porn| 国产一区视频在线看| 色婷婷综合久久久久中文 | 一区二区三国产精华液| 久草精品在线观看| 91在线一区二区| 欧美日韩久久一区| 久久精品欧美一区二区三区不卡| 亚洲欧美激情小说另类| 日本视频在线一区| 99re这里只有精品视频首页| 日韩你懂的电影在线观看| 中文字幕一区二区三区不卡| 免费欧美在线视频| 91蝌蚪porny九色| 精品免费99久久| 亚洲午夜激情网站| www.99精品| 日韩欧美在线一区二区三区| 最新欧美精品一区二区三区| 麻豆成人久久精品二区三区红 | 亚洲精品一区二区三区蜜桃下载 | 亚洲伦在线观看| 国产一区激情在线| 7777精品伊人久久久大香线蕉的 | 精品国产一二三区| 香港成人在线视频| 99国产精品久久久久| 久久婷婷成人综合色| 日本欧洲一区二区| 在线日韩国产精品| 亚洲三级电影网站| av在线播放一区二区三区| 日韩欧美中文一区二区| 亚洲国产精品一区二区www| 色综合咪咪久久| 国产欧美一区二区三区鸳鸯浴| 奇米四色…亚洲| 欧美日韩免费视频| 一区二区三区日韩在线观看| 大胆欧美人体老妇| 国产视频一区在线播放| 国产九色精品成人porny| 欧美mv日韩mv国产网站| 午夜a成v人精品| 欧美肥胖老妇做爰| 天天色天天操综合| 欧美丰满少妇xxxbbb| 肉丝袜脚交视频一区二区| 在线中文字幕不卡| 一区二区高清视频在线观看| 91丨九色丨蝌蚪丨老版| 亚洲人成精品久久久久久| 91视频免费观看| 亚洲激情在线播放| 精品视频在线视频| 日本成人中文字幕在线视频|