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

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

?? point.cpp

?? SMDK6410 Test Code Revision 02. s3c6410 official test code, shifting all the controller functional
?? CPP
字號:
/*******************************************************************************
 *
 *	ViP model for FIMGSE
 *		version 1.0
 *
 *	Point.c
 *
 *	by cheolkyoo.kim
 *	Graphics IP Team in AP, Mobile Solution Development,
 *	System LSI Division, Semiconductor Business,
 *	Samsung Electronics
 *
 *	Copyright (c) 2005 FIMG team
 *
 *	All rights reserved. No part of this program may be reproduced, stored
 *	in a retrieval system, or tranmitted, in any form or by any means,
 *	electronic, mechanical, photocopying, recording, or otherwise, without
 *	the prior written permission of the author.
 *
 *	2005. 3. 22	by cheolkyoo.kim
 *
 *  Description
 *
 *	$RCSfile:  $
 *	$Revision:  $
 *	$Author:  $
 *	$Date:  $
 *	$Locker:  $
 *
 *	$Source:  $
 *	$State:  $
 *	$Log:  $
 ******************************************************************************/
/****************************************************************************
 *  INCLUDES
 ****************************************************************************/
#include "Fimg3DTest.h"


#include "mvp_v2o.vsa.h"
#include "mov_v3o.vsa.h"
#include "mov_v2o.psa.h"

/****************************************************************************
 *  DEFINES
 ****************************************************************************/
int Point(void)

{    
	float attributes[] =
	{
		//    x     y     z   point size   r     g     b     a
		-0.9f,   0.0f, 0.5f,   1.0f,    1.0f, 0.4f, 0.1f, 1.0f,
		-0.8f,   0.0f, 0.5f,   2.0f,    1.0f, 0.4f, 0.1f, 1.0f,
		-0.635f, 0.0f, 0.5f,   4.0f,    1.0f, 0.4f, 0.1f, 1.0f,
		-0.405f, 0.0f, 0.5f,   8.0f,    1.0f, 0.4f, 0.1f, 1.0f,
		-0.11f,  0.0f, 0.5f,  16.0f,    1.0f, 0.4f, 0.1f, 1.0f,
		 0.25f,  0.0f, 0.5f,  32.0f,    1.0f, 0.4f, 0.1f, 1.0f,
		 0.675f, 0.0f, 0.5f,  64.0f,    1.0f, 0.4f, 0.1f, 1.0f
    };

	float attributes1[] =
	{
		//    x      y     z     r     g     b     a
		-0.9f,   -0.5f, 0.5f, 1.0f, 0.0f, 0.0f, 1.0f,
		-0.8f,   -0.5f, 0.5f, 1.0f, 0.0f, 0.0f, 1.0f,
		-0.635f, -0.5f, 0.5f, 1.0f, 0.0f, 0.0f, 1.0f,
		-0.405f, -0.5f, 0.5f, 1.0f, 0.0f, 0.0f, 1.0f,
		-0.11f,  -0.5f, 0.5f, 1.0f, 0.0f, 0.0f, 1.0f,
		 0.25f,  -0.5f, 0.5f, 1.0f, 0.0f, 0.0f, 1.0f,
		 0.675f, -0.5f, 0.5f, 1.0f, 0.0f, 0.0f, 1.0f
	};

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

    if (fglLoadPShader(mov_v2o_psa) != FGL_ERR_NO_ERROR) {
		return ERROR;
    }

	drvsys_clear_buf((unsigned int*)(FIMG_COLOR_BUFFER), CLEAR_SCREEN_SIZE, 0x0);


	fglFlush(FGL_PIPESTATE_ALL);	// Pipeline status

	Matrix4 matMV, matProj, matMVP;
	//matProj.SetAsPerspectiveMatrix(45.0, 0.75, 1.0, 20.0);		
	matProj.SetAsPerspectiveMatrix(45, 1.67, 1.0, 20.0);
	/* Build projection matrix once. */
	/*
	// Vertex Shader SFR set
	WRITEREG(FGVS_ATTRIB_NUM, 0x00030003); // Attribute counter of VS input & output
	WRITEREG(FGVS_CONFIG, 0x00000001); // Configuration register
	//WRITEREG(FGVS_OUT_ATTRIB_IDX0, 0x03020100); // Output attribute index control

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

	// Point test main
	{
/*
		makeRotateMatrix(fXAng, 1, 0, 0, rotateMatrix);
		makeRotateMatrix(fYAng, 0, 1, 0, rotateMatrix1);
		multMatrix(rotateMatrix, rotateMatrix, rotateMatrix1);
		multMatrix(modelMatrix, translateMatrix, rotateMatrix);
*/
		matMV.Translate(0., 0., -4.5);
		matMVP = matProj * matMV;
		
	    //unsigned int pShaderParam = FGVS_CFLOAT_SADDR;
	    //matMVP.WriteMatrix4(pShaderParam);
	    fglWriteVertexShaderConstFloat(0, 16, matMVP.m[0]);
	    
		// Point min/max size set
		fglSetMinimumPointWidth(1.0f);
		fglSetMaximumPointWidth(1024.0f);


		// Primitive Engine SRF Set
		FGL_Vertex Vtx;
		Vtx.prim = FGL_PRIM_POINTS;
		Vtx.enablePointSize = FGL_TRUE;
		Vtx.numVSOut = 2;
		Vtx.shadeModel = FGL_SHADING_SMOOTH;
		Vtx.colorAttribIdx = 0;
		
		fglSetVertex(&Vtx); // Vertex context register

		// Host Interface SFR Set
		FGL_HInterface HInterface;
		HInterface.enableAutoInc = FGL_TRUE;
		HInterface.enableVtxBuffer = FGL_FALSE;
		HInterface.enableVtxCache = FGL_FALSE;	
		HInterface.idxType = FGL_INDEX_DATA_UINT;
		HInterface.numVSOut = 3;
		fglSetHInterface(&HInterface);
		
		FGL_Attribute HIAttr;
		HIAttr.bEndFlag = FGL_FALSE;
		HIAttr.type = FGL_ATTRIB_DATA_FLOAT;
		HIAttr.numComp = 3;
		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.numComp = 1;
		fglSetAttribute(1, &HIAttr);
		HIAttr.bEndFlag = FGL_TRUE;
		HIAttr.numComp = 4;
		fglSetAttribute(2, &HIAttr);

		unsigned int nNumOfData = sizeof(attributes)/sizeof(float);
		unsigned int nNumOfVertices = nNumOfData/8;
		unsigned int uiDummy = 0xFFFFFFFF;
		fglSendToFIFO(4, &nNumOfVertices);
		fglSendToFIFO(4, &uiDummy);

		fglSysTransferToPort(
								(unsigned int *)attributes,
								/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
								nNumOfData
							 );

		fglFlush(FGL_PIPESTATE_ALL);	// Pipeline status


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

	    //pShaderParam = FGVS_CFLOAT_SADDR;
   	    //matMVP.WriteMatrix4(pShaderParam);
   	    
	    fglWriteVertexShaderConstFloat(0, 16, matMVP.m[0]);
		
		// Vertex Shader SFR set
		/*
		//WRITEREG(0x20020000, 0x00050000); // Vertex shader program start & end addr.
		WRITEREG(FGVS_ATTRIB_NUM, 0x00020002); // Attribute counter of VS input & output
		WRITEREG(FGVS_CONFIG, 0x00000001); // Configuration register
		WRITEREG(FGVS_OUT_ATTRIB_IDX0, 0x02020100); // Output attribute index control
        */
        fglSetVShaderAttribTable(FGL_OUTPUT_ATTRIB_IDX0, 0x02020100);
        fglSetVShaderAttribTable(FGL_OUTPUT_ATTRIB_IDX1, 0x07060504);
        fglSetVShaderAttribTable(FGL_OUTPUT_ATTRIB_IDX2, 0x0B0A0908);
        fglVSSetAttribNum(2);


		Vtx.prim = FGL_PRIM_POINTS;
		Vtx.enablePointSize = FGL_FALSE;
		Vtx.numVSOut = 1;
		Vtx.shadeModel = FGL_SHADING_SMOOTH;
		Vtx.colorAttribIdx = 0;
		
		fglSetVertex(&Vtx); // Vertex context register

		//point size set
		fglSetPointWidth(10.0f);

		// Host Interface SFR Set		
		HInterface.enableAutoInc = FGL_TRUE;
		HInterface.enableVtxBuffer = FGL_FALSE;
		HInterface.enableVtxCache = FGL_FALSE;	
		HInterface.idxType = FGL_INDEX_DATA_UINT;
		HInterface.numVSOut = 2;
		fglSetHInterface(&HInterface);
		
		HIAttr.bEndFlag = FGL_FALSE;
		HIAttr.type = FGL_ATTRIB_DATA_FLOAT;
		HIAttr.numComp = 3;
		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;
		HIAttr.numComp = 4;
		fglSetAttribute(1, &HIAttr);
		
		nNumOfData = sizeof(attributes1)/sizeof(float);
		nNumOfVertices = nNumOfData/7;
		fglSendToFIFO(4, &nNumOfVertices);
		fglSendToFIFO(4, &uiDummy);

		fglSysTransferToPort(
								(unsigned int *)attributes1,
								/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
								nNumOfData
							 );

		fglFlush(FGL_PIPESTATE_ALL);	// Pipeline status

		//fglSysCacheFlush();
		fglClearCache(FGL_CACHECTL_FLUSH_ZCACHE | FGL_CACHECTL_FLUSH_CCACHE);
		fglSysDelay(50);

/*
		if(m_SwapBackBuffer == FALSE)
		{
			fglSwapBuffer(0);
			drvsys_clear_buf((unsigned int*)(m_FrontFBAddr), CLEAR_SCREEN_SIZE, 0x0);
			fglSetColorBufBaseAddr(m_FrontFBAddr);
			m_SwapBackBuffer = TRUE;
		}
		else
		{
			fglSwapBuffer(1);
			drvsys_clear_buf((unsigned int*)(m_BackFBAddr+m_FBOffsize), CLEAR_SCREEN_SIZE, 0x0);
			fglSetColorBufBaseAddr(m_BackFBAddr);
			m_SwapBackBuffer = FALSE;
		}
*/


	}

    return NO_ERROR;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩午夜激情av| 亚洲色欲色欲www| 中文字幕亚洲电影| 日本在线播放一区二区三区| 丁香天五香天堂综合| 欧美视频一区在线| 1024国产精品| 国产在线精品一区二区| 777亚洲妇女| 亚洲免费观看在线视频| 国产激情一区二区三区四区 | 51久久夜色精品国产麻豆| 欧美高清在线一区二区| 免费看日韩a级影片| 欧美日韩电影在线| 亚洲欧美另类久久久精品2019| 国产精品综合网| 日韩欧美一区在线观看| 亚洲成a人v欧美综合天堂下载| 91一区二区在线观看| 中文字幕制服丝袜成人av | 青青青爽久久午夜综合久久午夜| 一本色道a无线码一区v| 国产精品―色哟哟| 国产一区二三区好的| 精品捆绑美女sm三区| 久久99久久久久| 日韩一级高清毛片| 麻豆免费看一区二区三区| 精品视频在线免费观看| 亚洲激情一二三区| 在线免费观看日韩欧美| 一区二区三区欧美视频| 欧美综合一区二区| 亚洲成人av一区二区| 欧美三级中文字幕在线观看| 伊人色综合久久天天人手人婷| 在线视频你懂得一区| 亚洲伦在线观看| 在线观看av一区| 亚洲国产精品一区二区尤物区| 色94色欧美sute亚洲线路一久| 亚洲乱码中文字幕| 欧美精品一级二级三级| 美女爽到高潮91| 久久久噜噜噜久噜久久综合| 粉嫩嫩av羞羞动漫久久久| 国产精品久久免费看| 91视频观看免费| 亚洲va欧美va人人爽| 欧美成人a∨高清免费观看| 国产激情一区二区三区桃花岛亚洲| 国产日韩av一区| 91香蕉视频污| 日本中文在线一区| 欧美激情一二三区| a4yy欧美一区二区三区| 伊人婷婷欧美激情| 欧美电影免费提供在线观看| 国产精品综合一区二区| 亚洲综合图片区| 日韩精品中文字幕一区| proumb性欧美在线观看| 偷拍一区二区三区四区| 久久这里都是精品| 91在线观看美女| 奇米影视一区二区三区| 日本一区二区综合亚洲| 欧美日韩国产区一| 成人av高清在线| 蜜乳av一区二区三区| 综合久久给合久久狠狠狠97色| 欧美人与z0zoxxxx视频| 国产精品一区二区在线看| 亚洲成国产人片在线观看| 国产日本一区二区| 欧美一区二区三区四区五区| av不卡在线观看| 国产在线播放一区三区四| 亚洲精品国产第一综合99久久| 欧美精品一区二区三区在线| 日本丶国产丶欧美色综合| 国产精品一二三区在线| 亚洲一区成人在线| 亚洲视频中文字幕| 久久品道一品道久久精品| 91精品免费观看| 在线视频国内一区二区| 成人久久久精品乱码一区二区三区| 蜜桃免费网站一区二区三区| 亚洲影视资源网| 亚洲欧美在线观看| 国产亚洲欧洲997久久综合| 日韩午夜在线观看| 欧美疯狂做受xxxx富婆| 在线免费亚洲电影| 91碰在线视频| 成人av电影在线观看| 丰满少妇久久久久久久| 国产精品 日产精品 欧美精品| 久久9热精品视频| 日韩和欧美一区二区三区| 亚洲一区二区影院| 亚洲天堂精品在线观看| 国产精品国产三级国产a| www久久久久| 精品欧美一区二区在线观看| 欧美一级黄色录像| 日韩一区二区在线免费观看| 欧美日本韩国一区| 制服丝袜在线91| 911国产精品| 欧美一区二区三区精品| 538在线一区二区精品国产| 欧美一级精品大片| 日韩手机在线导航| 精品欧美乱码久久久久久| 精品久久久久久久一区二区蜜臀| 欧美一区二区三区在线观看视频| 日韩区在线观看| www激情久久| 日本一区二区免费在线| 亚洲国产成人午夜在线一区| 国产精品嫩草影院av蜜臀| 中文字幕中文在线不卡住| 亚洲美女一区二区三区| 亚洲狠狠丁香婷婷综合久久久| 亚洲午夜免费福利视频| 日韩精品色哟哟| 狠狠色狠狠色综合| 成人丝袜视频网| 色婷婷综合久色| 欧美美女网站色| 精品少妇一区二区三区免费观看 | 精品一区二区三区不卡| 国产呦精品一区二区三区网站| 国产一区视频在线看| 懂色av中文字幕一区二区三区| 91理论电影在线观看| 欧美高清dvd| 久久亚洲影视婷婷| 亚洲欧美精品午睡沙发| 婷婷夜色潮精品综合在线| 久久99久久久久| av亚洲精华国产精华| 91精品国产全国免费观看| 精品精品欲导航| 亚洲欧美日韩国产综合在线 | 精品视频在线视频| 久久亚洲精精品中文字幕早川悠里| 国产精品美女久久久久久久| 一区二区三区精密机械公司| 美女免费视频一区二区| 99久久综合狠狠综合久久| 91麻豆精品国产综合久久久久久| 久久久久久久国产精品影院| 亚洲国产精品一区二区久久 | 91色porny| 日韩免费高清视频| 亚洲乱码精品一二三四区日韩在线| 三级不卡在线观看| av福利精品导航| 久久免费电影网| 视频在线在亚洲| jlzzjlzz欧美大全| 精品久久人人做人人爽| 亚洲国产精品综合小说图片区| 国产不卡视频一区二区三区| 777久久久精品| ...av二区三区久久精品| 美女视频一区在线观看| 在线欧美一区二区| 国产精品国产三级国产| 韩国三级电影一区二区| 欧美色图免费看| 亚洲免费大片在线观看| 丁香婷婷综合色啪| 欧美精品一区二区三区久久久| 午夜成人免费视频| 色婷婷久久久久swag精品 | 日韩免费高清视频| 午夜久久久久久电影| 一本大道久久精品懂色aⅴ| 国产精品热久久久久夜色精品三区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 亚洲一区在线视频观看| 成人动漫一区二区在线| 欧美经典一区二区| 国产美女精品一区二区三区| 欧美一区二区二区| 天堂在线亚洲视频| 欧美日韩国产三级| 亚洲图片有声小说| 欧美日韩在线不卡| 五月综合激情网| 欧美日本高清视频在线观看| 婷婷丁香久久五月婷婷| 欧美日韩久久久一区| 手机精品视频在线观看| 欧美一区二区三区性视频|