9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as...

493
FUJITSU CONFIDENTIAL 0%6HULHV*UDSKLFV&RQWUROOHU $FFHVV/LEUDU\9 8VHU·V0DQXDO (GLWLRQ

Transcript of 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as...

Page 1: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

FUJITSU CONFIDENTIAL

0%������6HULHV�*UDSKLFV�&RQWUROOHU�

$FFHVV�/LEUDU\�9��

8VHU·V�0DQXDO�

����(GLWLRQ�

Page 2: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

2

FUJITSU CONFIDENTIAL

The contents of this document are subject to change without notice. Customers are advised to consult with FUJITSU sales representatives before ordering.

Any information in this document, including descriptions of function and schematic diagrams, shall not be construed as license of the use or exercise of any intellectual property right, such as patent right or copyright, or any other right of FUJITSU or any third party or does FUJITSU warrant non-infringement of any third-party's intellectual property right or other right by using such information. FUJITSU assumes no liability for any infringement of the intellectual property rights or other rights of third parties which would result from the use of information contained herein.

The products described in this document are designed, developed and manufactured as contemplated for general use, including without limitation, ordinary industrial use, general office use, personal use, and household use, but are not designed, developed and manufactured as contemplated (1) for use accompanying fatal risks or dangers that, unless extremely high safety is secured, could have a serious effect to the public, and could lead directly to death, personal injury, severe physical damage or other loss (i.e., nuclear reaction control in nuclear facility, aircraft flight control, air traffic control, mass transport control, medical life support system, missile launch control in weapon system), or (2) for use requiring extremely high reliability (i.e., submersible repeater and artificial satellite). Please note that FUJITSU will not be liable against you and/or any third party for any claims or damages arising in connection with above-mentioned uses of the products.

If any products described in this document represent goods or technologies subject to certain restrictions on export under the Foreign Exchange and Foreign Trade Law of Japan, the prior authorization by Japanese government will be required for export of those products from Japan.

Copyright 2006 FUJITSU LIMITED All rights reserved

Page 3: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

3

FUJITSU CONFIDENTIAL

35()$&(�

3XUSRVH�DQG�7DUJHW�5HDGHUV�RI�7KLV�'RFXPHQW� �

This document describes the operation and Application Programming Interface (API) for the MB86920 Series Graphics Controller Access Library V03 (“Access Library”) for software developer. 3UHUHTXLVLWHV�

This manual assumes that the reader is already familiar with the specifications of the MB86920 Series Graphics Controllers and graphics-related technologies. Refer to the specification of the *UDSKLFV�&RQWUROOHU or graphics-related ERRNV, when necessary. Commonly used terms in this manual are as follows:

>7HUPV�UHODWHG�WR�*UDSKLFV�&RQWUROOHU@� �

Layer, display list, local display list transfer, and burst transfer

>7HUPV�UHODWHG�WR�JUDSKLFV�WHFKQRORJ\@� �

Device coordinate system, object coordinate system, coordinate transformation, transformation matrix, clipping, polygon, shading, Z-buffer algorithm, hidden surface removal, texture mapping, tiling, anti-aliasing, alpha-blending, ChromaKey, and color palette

'RFXPHQWV�RQ�*UDSKLFV�&RQWUROOHU�VSHFLILFDWLRQV�

For the Graphics Controller specifications, refer to each document in the following table. Table 1 Document list

Graphics controller Document name

MB86297 Carmine Hardware Manual

'RFXPHQW�&RQYHQWLRQV� �

The following document conventions are used throughout this document, except in source descriptions

,WDOLF�EROG: Function name and constant label (C macro name)

Courier bold: Parameter name (dummy argument) A function name that ends with “*”, such as *GF'UDZ3ULPLWLYH , denotes a function group, such as 2D or 3D that has the same function and different argument data types. For example, ;*GF*HR'UDZ9RUWH[� indicates the following function group:

For the different data type for argument, for example, *GF&RORU function represents the following function groups:

GdcColor (fixed point), GdcColori (integer), GdcColorf (floating point)

Page 4: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

4

FUJITSU CONFIDENTIAL

1RWDWLRQ�RI�*UDSKLFV�&RQWUROOHU�LQ�7KLV�'RFXPHQW� �

This manual sometimes refers to Graphics Controller groups as follows:

Carmine: MB86297/86297S

Coral-PA: MB86296/86296S *UDSKLFV�&RQWUROOHU�6XSSRUWHG�E\�7KLV�(GLWLRQ� �

Carmine only

7UDGHPDUNV�

Sun is a trademark of Sun Microsystems, Inc. in the United States.

Windows is a trademark of Microsoft Corporation in the United States and other countries.

Verilog-XL is a trademark of Cadence Design Systems, Inc.

UNIX is a registered trademark, which is licensing X/Open Company Limited in the United States and other countries.

Page 5: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

5

FUJITSU CONFIDENTIAL

5HYLVLRQ�+LVWRU\�

Rev.No Date Contents

0.1 2005/11/1 Initial Release 0.2 2005/11/30 Changed completely. 0.3 2006/2/1 Changed completely. 0.4 2006/5/18 Reflected points in the review. 0.9 2006/6/30 Changed completely.

Page 6: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

6

FUJITSU CONFIDENTIAL

&217(176�

� 2YHUYLHZ�RI�$FFHVV�/LEUDU\ ����������������������������������������������������������������������������������������� ������� )XQFWLRQV�3URYLGHG�E\�$FFHVV�/LEUDU\ ���������������������������������������������������������������������������������� ���

���� $3,�6\VWHP�RI�$FFHVV�/LEUDU\ ����������������������������������������������������������������������������������������������� ���

���� 2SHUDWLRQ�0RGH�RI�$FFHVV�/LEUDU\ ���������������������������������������������������������������������������������������� ���

���� $FFHVV�/LEUDU\�LQWHQGHG�6\VWHP������������������������������������������������������������������������������������������� ���

���� ([HFXWLRQ�5LJKWV�RI�$FFHVV�/LEUDU\�$3, ������������������������������������������������������������������������������� ���

� %DVLF�RI�$FFHVV�/LEUDU\������������������������������������������������������������������������������������������������ ������� *UDSKLFV�0HPRU\������������������������������������������������������������������������������������������������������������������ ���

������ $OORFDWLRQ�RI�JUDSKLFV�PHPRU\ ������������������������������������������������������������������������������������ ���

������ 8VH�RI�*UDSKLFV�0HPRU\ ��������������������������������������������������������������������������������������������� ���

������ *UDSKLFV�0HPRU\�$GGUHVV ������������������������������������������������������������������������������������������ ���

���� 2SHQLQJ�&ORVLQJ�RI�'HYLFH����������������������������������������������������������������������������������������������������� ���

���� *UDSKLFV�'UDZLQJ ����������������������������������������������������������������������������������������������������������������� ���

������ 'UDZLQJ�PHFKDQLVP���������������������������������������������������������������������������������������������������� ���

������ &RQWH[W ������������������������������������������������������������������������������������������������������������������������ ���

������ '/�%XIIHU��������������������������������������������������������������������������������������������������������������������� ���

������ '/�%XIIHU�6L]H�DQG�$OORFDWLRQ�5HTXLUHPHQWV ������������������������������������������������������������� ���

������ 6ZLWFKLQJ�'/�%XIIHU���������������������������������������������������������������������������������������������������� ���

������ +DQGOLQJ�0HPRU\�$OORFDWLRQ�(UURU�LQ�'/�%XIIHU ������������������������������������������������������� ���

������ 4XHXLQJ�RI�GUDZLQJ ����������������������������������������������������������������������������������������������������� ���

������ 7\SH�RI�*UDSKLFV�'UDZLQJ������������������������������������������������������������������������������������������� ���

������ 'UDZLQJ�$WWULEXWH ������������������������������������������������������������������������������������������������������� ���

������� 2SHQ*/�PRGH�DQG�&RUDO�FRPSDWLEOH�PRGH����������������������������������������������������������������� ���

������� 7H[WXUH�&RRUGLQDWH������������������������������������������������������������������������������������������������������ ���

���� 9LGHR�&DSWXUH�DQG�([WHUQDO�&RPPXQLFDWLRQV ��������������������������������������������������������������������� ���

������ *HWWLQJ�DQG�5HOHDVLQJ�5HVRXUFH���������������������������������������������������������������������������������� ���

���� (UURU�+DQGOLQJ���������������������������������������������������������������������������������������������������������������������� ���

� 3URJUDPPLQJ �������������������������������������������������������������������������������������������������������������� ������� +HDGHU�)LOH���������������������������������������������������������������������������������������������������������������������������� ���

���� 'LVSOD\�&RQWURO ��������������������������������������������������������������������������������������������������������������������� ���

������ /D\HU�6HWXS ����������������������������������������������������������������������������������������������������������������� ���

������ 7UDQVSDUHQW�'LVSOD\�RI�/D\HUV������������������������������������������������������������������������������������ ���

���� &XUVRU�&RQWURO����������������������������������������������������������������������������������������������������������������������� ���

������ 3URFHGXUHV�IRU�'LVSOD\LQJ�&XUVRU ������������������������������������������������������������������������������� ���

���� 3UHSDUDWLRQ�IRU�*UDSKLFV�'UDZLQJ���������������������������������������������������������������������������������������� ���

���� 3URFHGXUHV�IRU�'UDZLQJ�*UDSKLFV ����������������������������������������������������������������������������������������� ���

���� 3URFHGXUH�IRU�'UDZLQJ�3ULPLWLYH ������������������������������������������������������������������������������������������ ���

������ 'UDZLQJ�$WWULEXWH�IRU��'�*UDSKLFV����������������������������������������������������������������������������� ���

������ �'�*UDSKLFV�'UDZLQJ�3URFHGXUH��������������������������������������������������������������������������������� ���

Page 7: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

7

FUJITSU CONFIDENTIAL

������ 'UDZLQJ�DWWULEXWH�IRU��'�JUDSKLFV ������������������������������������������������������������������������������ ���

������ �'�*UDSKLFV�'UDZLQJ�3URFHGXUH��������������������������������������������������������������������������������� ���

������ +RZ�WR�8VH�9HUWH[�$UUD\ �������������������������������������������������������������������������������������������� ���

���� 5HFWDQJOH�%LW�3DWWHUQ�'UDZLQJ��������������������������������������������������������������������������������������������� ���

������ 'UDZLQJ�$WWULEXWHV�IRU�5HFWDQJOH�%LW�3DWWHUQ�'UDZLQJ ��������������������������������������������� ���

������ 'UDZLQJ�3URFHGXUHV�IRU�5HFWDQJOH�%LW�3DWWHUQ����������������������������������������������������������� ���

������ 'UDZLQJ�3URFHGXUH�IRU�5HFWDQJOH�%LW�3DWWHUQ�ZLWK�093�7UDQVIRUPDWLRQ����������������� ���

���� ,QGH[�5HIHUHQFH�'/�7UDQVIHU�0RGH �������������������������������������������������������������������������������������� ���

���� 7H[WXUH�0DSSLQJ������������������������������������������������������������������������������������������������������������������� ���

������ 7H[WXUH�0DSSLQJ ��������������������������������������������������������������������������������������������������������� ���

������ 7H[WXUH�8QLW ���������������������������������������������������������������������������������������������������������������� ���

����� 5HXVLQJ�'LVSOD\�/LVW ������������������������������������������������������������������������������������������������������������� ���

������� &DXWLRQV�ZKHQ�UHXVLQJ�WKH�GLVSOD\�OLVW ����������������������������������������������������������������������� ���

����� *UDSKLFV�'UDZLQJ�LQ�0XOWLSURFHVV ��������������������������������������������������������������������������������������� ���

������� 5HVHWWLQJ�'UDZLQJ�$WWULEXWH��������������������������������������������������������������������������������������� ���

������� ([HFXWLQJ�+LJKHU�3ULRULW\�'UDZLQJ ���������������������������������������������������������������������������� ���

����� 1RWHV�RQ�&RPELQLQJ�'UDZLQJ�$3,�)XQFWLRQV����������������������������������������������������������������������� ���

����� 9LGHR�&DSWXUH ����������������������������������������������������������������������������������������������������������������������� ���

������� 9LGHR�&DSWXUH�3URFHGXUH��������������������������������������������������������������������������������������������� ���

������� 5*%�LQSXW�������������������������������������������������������������������������������������������������������������������� ���

������� 6FDOLQJ ������������������������������������������������������������������������������������������������������������������������� ���

������� $SSOLFDWLRQ�RI�,PDJH�WR�7H[WXUH�0DSSLQJ������������������������������������������������������������������� ���

����� (UURU�&KHFN��������������������������������������������������������������������������������������������������������������������������� ���

� 'DWD�7\SH�������������������������������������������������������������������������������������������������������������������� ������� /LVW�RI�'DWD�7\SH������������������������������������������������������������������������������������������������������������������� ���

���� 'DWD�)RUPDW�������������������������������������������������������������������������������������������������������������������������� ���

������ GDC_FIXED32�����ELW�)L[HG�3RLQW!���������������������������������������������������������������������������� ���

������ 4GDC_CTX��&RQWH[W!��������������������������������������������������������������������������������������������������� ���

������ GDC_COLOR32�����ELW�&RORU!�������������������������������������������������������������������������������������� ���

������ GDC_COLOR16�����ELW�&RORU!�������������������������������������������������������������������������������������� ���

������ GDC_IDX8����ELW�&RORU! ���������������������������������������������������������������������������������������������� ���

������ GDC_RGB3F��)ORDWLQJ�3RLQW�7\SH�&RORU!�������������������������������������������������������������������� ���

������ GDC_RGB3X��)L[HG�3RLQW�7\SH�&RORU! ������������������������������������������������������������������������ ���

������ GDC_RGBA4F��)ORDWLQJ�3RLQW�7\SH�&RORU! ����������������������������������������������������������������� ���

������ GDC_RGBA4X��)L[HG�3RLQW�7\SH�&RORU!���������������������������������������������������������������������� ���

������� GDC_VTX2F��)ORDWLQJ�3RLQW�7\SH�[\�&RRUGLQDWH!������������������������������������������������������ ���

������� GDC_VTX2X��)L[HG�3RLQW�7\SH�[\�&RRUGLQDWH! ���������������������������������������������������������� ���

������� GDC_VTX2I��,QWHJHU�7\SH�[\�&RRUGLQDWH! ����������������������������������������������������������������� ���

������� GDC_VTX2IP��3DFNHG�,QWHJHU�7\SH�[\�&RRUGLQDWH! �������������������������������������������������� ���

������� GDC_VTX2X_U16��)L[HG�3RLQW�7\SH�[\�&RRUGLQDWH���,QWHJHU�7\SH�]�&RRUGLQDWH!���� ���

������� GDC_VTX3F��)ORDWLQJ�3RLQW�7\SH�[\]�&RRUGLQDWH! ���������������������������������������������������� ���

������� GDC_VTX3X �)L[HG�3RLQW�7\SH�[\]�&RRUGLQDWH! ������������������������������������������������������� ���

������� GDC_VTX3I��,QWHJHU�7\SH�[\]�&RRUGLQDWH! ��������������������������������������������������������������� ���

Page 8: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

8

FUJITSU CONFIDENTIAL

������� GDC_VTX2IP_X��3DFNHG�,QWHJHU�7\SH�[\�&RRUGLQDWH���)L[HG�3RLQW�7\SH�]�&RRUGLQDWH! ������������������� ���

������� GDC_VTX4X��)L[HG�3RLQW�7\SH�[\]Z�&RRUGLQDWH!������������������������������������������������������ ���

������� GDC_VTX4F��)ORDWLQJ�3RLQW�7\SH�[\]Z�&RRUGLQDWH! ������������������������������������������������� ���

������� GDC_TEX2I��,QWHJHU�7\SH�7H[WXUH�&RRUGLQDWH! �������������������������������������������������������� ���

������� GDC_TEX2FN��)ORDWLQJ�3RLQW�7\SH�1RUPDOL]HG�7H[WXUH�&RRUGLQDWH!����������������������� ���

������� GDC_TEX2XN��)L[HG�3RLQW�7\SH�1RUPDOL]HG�7H[WXUH�&RRUGLQDWH!���������������������������� ���

������� GDC_TEX2X���'�)L[HG�3RLQW�7\SH�7H[WXUH�&RRUGLQDWH!�������������������������������������������� ���

������� GDC_TEX4FN���'�)ORDWLQJ�3RLQW�7\SH�1RUPDOL]HG�7H[WXUH�&RRUGLQDWH! ����������������� ���

������� GDC_TEX4XN���'�IL[HG�SRLQW�W\SH�QRUPDOL]HG�WH[WXUH�FRRUGLQDWH!��������������������������� ���

������� GDC_NMR3X���'�)L[HG�3RLQW�7\SH�1RUPDO�9HFWRU! ��������������������������������������������������� ���

������� GDC_NMR3F���'�IORDWLQJ�SRLQW�W\SH�QRUPDO�YHFWRU!��������������������������������������������������� ���

������� GDC_TEXTURE_DATA��7H[WXUH�6WUXFWXUH�,QIRUPDWLRQ�6WUXFWXUH!����������������������������� ���

������� GDC_DLBUF_STRUCT��'/�%XIIHU�6WUXFWXUH�,QIRUPDWLRQ!������������������������������������������ ���

� $3,�5HIHUHQFH�������������������������������������������������������������������������������������������������������������� ������� 6\VWHP�)XQFWLRQ�������������������������������������������������������������������������������������������������������������������� ���

������ *GF6\V2SHQ����2SHQLQJ�*UDSKLFV�&RQWUROOHU!����������������������������������������������������������� ���

������ *GF6\V&ORVH����&ORVLQJ�*UDSKLFV�&RQWUROOHU!������������������������������������������������������������ ���

������ *GF6\V4XHU\&KLS,QIR����4XHU\LQJ�*UDSKLFV�&RQWUROOHU�,QIRUPDWLRQ! ��������������������� ���

������ *GF6\V6RIWZDUH5HVHW����6RIWZDUH�5HVHW! ������������������������������������������������������������������ ���

������ *GF6\V,QWHUUXSW0DVN����6HWWLQJ�,QWHUUXSW�0DVN!���������������������������������������������������� ���

������ *GF6\V:DLW96<1&����:DLWLQJ�IRU�96<1&�,QWHUUXSW!���������������������������������������������� ���

������ *GF6\V:DLW1RWLI\����:DLWLQJ�IRU�,QWHUUXSW�1RWLILFDWLRQ! ��������������������������������������� ����

������ *GF6\V$OORF95$0����$OORFDWLQJ�*UDSKLFV�0HPRU\!����������������������������������������������� ����

������ *GF6\V)UHH95$0����)UHHLQJ�*UDSKLFV�0HPRU\! ��������������������������������������������������� ����

������� *GF6\V4XHU\&KLS,'����4XHU\LQJ�&KLS�,'!������������������������������������������������������������� ����

������� *GF6\V4XHU\9HUVLRQ����4XHU\LQJ�9HUVLRQ�1XPEHU!����������������������������������������������� ����

������� *GF6\V0DOORF����$OORFDWLQJ�0DLQ�0HPRU\! ������������������������������������������������������������� ����

������� *GF6\V)UHH����)UHHLQJ�0DLQ�0HPRU\! �������������������������������������������������������������������� ����

������� *GF6\V/RFN&UHDWH����&UHDWLQJ�/RFN! ���������������������������������������������������������������������� ����

������� *GF6\V/RFN'HOHWH����'HOHWLQJ�/RFN! ����������������������������������������������������������������������� ����

������� *GF6\V/RFN:DLW�����:DLWLQJ�*HWWLQJ�/RFN!������������������������������������������������������������� ����

������� *GF6\V/RFN*HW����*HWWLQJ�/RFN! ����������������������������������������������������������������������������� ����

������� *GF6\V/RFN5HOHDVH����5HOHDVLQJ�/RFN! ������������������������������������������������������������������� ����

������� *GF6\V:ULWH95$0�����:ULWLQJ�WR�95$0�LQ���E\WH�8QLWV! ������������������������������������ ����

������� *GF6\V:ULWH95$0������:ULWLQJ�WR�95$0�LQ���E\WH�8QLWV! ���������������������������������� ����

������� *GF6\V:ULWH95$0������:ULWLQJ�WR�95$0�LQ���E\WH�8QLWV! ���������������������������������� ����

������� *GF6\V5HDG95$0�����5HDGLQJ�IURP�95$0�LQ���E\WH�8QLWV! �������������������������������� ����

������� *GF6\V5HDG95$0������5HDGLQJ�IURP�95$0�LQ���E\WH�8QLWV! ������������������������������ ����

������� *GF6\V5HDG95$0������5HDGLQJ�IURP�95$0�LQ���E\WH�8QLWV! ������������������������������ ����

������� *GF6\V/RFN0HP:LQGRZ����/RFNLQJ�0HPRU\�:LQGRZ!������������������������������������������ ����

������� *GF6\V8QORFN0HP:LQGRZ����8QORFNLQJ�/RFN�RI�0HPRU\�:LQGRZ!���������������������� ����

������� *GF6\V6HWXS0HP:LQGRZ����6HWWLQJ�0HPRU\�:LQGRZ! ����������������������������������������� ����

������� *GF6\V*HW0HP:LQGRZ$GGU����&RQYHUWLQJ�WR�$GGUHVV�LQ�0HPRU\�:LQGRZ! �������� ����

Page 9: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

9

FUJITSU CONFIDENTIAL

���� 'LVSOD\�6HWWLQJ�)XQFWLRQ ���������������������������������������������������������������������������������������������������� ����

������ *GF'LVS,QLWLDOL]H����,QLWLDOL]LQJ�'LVSOD\�,QIRUPDWLRQ!�������������������������������������������� ����

������ *GF'LVS&ORFN����6HWWLQJ�'LVSOD\�&ORFN�0RGH! �������������������������������������������������������� ����

������ *GF'LVS7LPLQJ����6HWWLQJ�'LVSOD\�7LPLQJ�3DUDPHWHU!������������������������������������������� ����

������ *GF'LVS'LPHQVLRQ����6HWWLQJ�GLVSOD\�IUDPH�DWWULEXWH!������������������������������������������� ����

������ *GF'LVS2Q����2XWSXWWLQJ�9LGHR�6LJQDO!������������������������������������������������������������������ ����

������ *GF'LVS2II����6XSSUHVVLQJ�RXWSXW�RI�YLGHR�VLJQDO! ������������������������������������������������� ����

������ *GF'LVS/D\HU2Q����'LVSOD\LQJ�/D\HU!�������������������������������������������������������������������� ����

������ *GF'LVS/D\HU2II����/D\HU�QRW�GLVSOD\! ������������������������������������������������������������������� ����

������ *GF'LVS)UDPH%XIIHU����6HWWLQJ�'LVSOD\�)UDPH�%XIIHU�,QIRUPDWLRQ! ��������������������� ����

������� *GF'LVS6WDUW3RV����6HWWLQJ�'LVSOD\�6WDUWLQJ�3RVLWLRQ! ������������������������������������������ ����

������� *GF'LVS%DFN&RORU����6HWWLQJ�'LVSOD\�%DFNJURXQG�&RORU! �������������������������������������� ����

������� *GF'LVS/D\HU3RV����6HWWLQJ�/D\HU�3RVLWLRQ!����������������������������������������������������������� ����

������� *GF'LVS/D\HU6L]H����6HWWLQJ�/D\HU�6L]H! ���������������������������������������������������������������� ����

������� *GF'LVS/D\HU2YHUOD\0RGH����6HWWLQJ�2YHUOD\�'LVSOD\�0RGH�!������������������������������ ����

������� *GF'LVS/D\HU2YHUOD\%OHQG����6HWWLQJ�/D\HU�%OHQG�0RGH! ������������������������������������ ����

������� *GF'LVS/D\HU2UGHU����6HWWLQJ�2UGHU�RI�/D\HU�'LVSOD\! ����������������������������������������� ����

������� *GF'LVS&KDQJH/D\HU2UGHU����&KDQJLQJ�2UGHU�RI�/D\HU�'LVSOD\! ������������������������� ����

������� *GF'LVS96<1&8SGDWH0RGH����6HWWLQJ�96<1&�8SGDWH�0RGH! ����������������������������� ����

������� *GF'LVS96<1&8SGDWH����([HFXWLQJ�96<1&�8SGDWH! ������������������������������������������� ����

������� *GF'LVS$OSKD'LPHQVLRQ����6HWWLQJ�$OSKD�/D\HU�$WWULEXWH! ���������������������������������� ����

������� *GF'LVS$OSKD����6HWWLQJ�$OSKD�/D\HU!�������������������������������������������������������������������� ����

������� *GF'LVS5HDG6NLS����6HWWLQJ�5HDG�6NLS�$UHD!��������������������������������������������������������� ����

������� *GF'LVS:ULWH%DFN����6HWWLQJ�:ULWH�%DFN!�������������������������������������������������������������� ����

������� *GF'LVS<890DWUL[����6HWWLQJ�0DWUL[�IRU�&RQYHUWLQJ�<&E&U�o 5*%!������������������ ����

���� &RORU�6HWWLQJ�)XQFWLRQ �������������������������������������������������������������������������������������������������������� ����

������ *GF&RORU3DOHWWH����6HWWLQJ�&RORU�WR�&RORU�3DOHWWH!�������������������������������������������������� ����

������ *GF&RORU3DOHWWH2IIVHW����6HWWLQJ�&RORU�3DOHWWH�2IIVHW!������������������������������������������� ����

������ *GF&RORU7UDQVSDUHQW����6HWWLQJ�7UDQVSDUHQW�&RORU�RI�/D\HU!�������������������������������� ����

������ *GF&RORU7UDQVSDUHQW0RGH����6HWWLQJ�7UDQVSDUHQW�0RGH�RI�/D\HU!����������������������� ����

���� &XUVRU�&RQWURO�)XQFWLRQ ����������������������������������������������������������������������������������������������������� ����

������ *GF&XUVRU$GGUHVV����6HWWLQJ�&XUVRU�3DWWHUQ�6WRUDJH�$UHD! ���������������������������������� ����

������ *GF&XUVRU3DWWHUQ����6HWWLQJ�&XUVRU�3DWWHUQ!��������������������������������������������������������� ����

������ *GF&XUVRU'LVSOD\����6HWWLQJ�&XUVRU�'LVSOD\�1RW�GLVSOD\! ������������������������������������� ����

������ *GF&XUVRU3RV����6HWWLQJ�&XUVRU�'LVSOD\�3RVLWLRQ!�������������������������������������������������� ����

������ *GF&XUVRU3ULRULW\����6HWWLQJ�&XUVRU�'LVSOD\�3ULRULW\! ������������������������������������������� ����

������ *GF&XUVRU&RORU7UDQVSDUHQW����6HWWLQJ�&XUVRU�7UDQVSDUHQW�&RORU�!���������������������� ����

������ *GF&XUVRU&RORU7UDQVSDUHQW0RGH����6HWWLQJ�7UDQVSDUHQW�0RGH�RI�&XUVRU�&RORU!� ����

���� &RQWH[W�2SHUDWLRQ�)XQFWLRQV���������������������������������������������������������������������������������������������� ����

������ *GF&UHDWH&RQWH[W����,QLWLDOL]LQJ�&RQWH[W�$UHD!������������������������������������������������������ ����

���� 'LVSOD\�/LVW�&RQWURO�)XQFWLRQV ������������������������������������������������������������������������������������������� ����

������ *GF)OXVK����7UDQVIHUULQJ�'LVSOD\�/LVW!������������������������������������������������������������������� ����

������ *GF)OXVK([����7UDQVIHUULQJ�'LVSOD\�/LVW�LQ�$UELWUDU\�'/�%XIIHU!������������������������� ����

������ *GF5HVHUYH'/%XIIHU����5HVHUYDWLRQ�RI�'/�%XIIHU! ������������������������������������������������� ����

Page 10: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

10

FUJITSU CONFIDENTIAL

������ *GF8Q5HVHUYH'/%XIIHU����8QUHVHUYH�RI�'/�%XIIHU!����������������������������������������������� ����

������ *GF&DQFHO'LVSOD\/LVW����&DQFHO�RI�'LVSOD\�/LVW! ���������������������������������������������������� ����

������ *GF6SHFLI\'UDZ4XHXH����6SHFLILFDWLRQ�RI�'UDZLQJ�4XHXH!������������������������������������ ����

������ *GF*HW'/%XIIHU,QIR����*HWWLQJ�RI�'/�%XIIHU�6WUXFWXUH�,QIRUPDWLRQ!�������������������� ����

������ *GF'/7UDQVIHU0RGH����6HWWLQJ�RI�7UDQVIHU�0RGH�RI�'LVSOD\�/LVW�!������������������������ ����

���� 'UDZLQJ�4XHXH�2SHUDWLRQ�)XQFWLRQV ��������������������������������������������������������������������������������� ����

������ *GF$GG'UDZ4XHXH����$GGLQJ�'UDZLQJ�4XHXH!������������������������������������������������������ ����

������ *GF6ZLWFK'UDZ4XHXH����6ZLWFKLQJ�'UDZLQJ�4XHXH!��������������������������������������������� ����

������ *GF&DQFHO'UDZ����&DQFHO�RI�'UDZLQJ!�������������������������������������������������������������������� ����

������ *GF&DQFHO'UDZ$OO����&DQFHO�RI�$OO�'UDZLQJV!�������������������������������������������������������� ����

���� 'UDZLQJ�6\QFKURQL]DWLRQ�)XQFWLRQV����������������������������������������������������������������������������������� ����

������ *GF:DLW'UDZ&RPSOHWH����:DLWLQJ�IRU�&RPSOHWLRQ�RI�'UDZLQJ!����������������������������� ����

������ *GF3ROO'UDZ&RPSOHWH����3ROOLQJ�&RPSOHWLRQ�RI�'UDZLQJ! ������������������������������������� ����

���� 'UDZLQJ�)UDPH�6HWWLQJ�)XQFWLRQV ������������������������������������������������������������������������������������� ����

������ *GF'UDZ'LPHQVLRQ����6HWWLQJ�RI�'UDZLQJ�)UDPH!������������������������������������������������� ����

����� *UDSKLFV�'UDZLQJ�)XQFWLRQV ���������������������������������������������������������������������������������������������� ����

������� *GF'UDZ3ULPLWLYH�'����'HYLFH�&RRUGLQDWH�6\VWHP�*UDSKLFV�'UDZLQJ!���������������� ����

������� *GF'UDZ3ULPLWLYH�'�����'�*UDSKLFV�'UDZLQJ!������������������������������������������������������ ����

������� *GF9HUWH[$UUD\����6SHFLILFDWLRQ�RI�9HUWH[�&RRUGLQDWH�$UUD\!�������������������������������� ����

������� *GF&RORU$UUD\����6SHFLILFDWLRQ�RI�9HUWH[�&RORU�)URQW�)DFH�9HUWH[�&RORU�$UUD\! ��� ����

������� *GF7H[&RRUG$UUD\����6SHFLILFDWLRQ�RI�7H[WXUH�&RRUGLQDWH�$UUD\! ������������������������� ����

������� *GF)RJ$UUD\����6SHFLILFDWLRQ�RI�)RJ�&RRUGLQDWH�$UUD\!������������������������������������������ ����

������� *GF1RUPDO$UUD\����6SHFLILFDWLRQ�RI�1RUPDO�9HFWRU�$UUD\! ������������������������������������ ����

������� *GF%DFN)DFH&RORU$UUD\����6SHFLILFDWLRQ�RI�%DFN�)DFH�&RORU�$UUD\!���������������������� ����

������� *GF$OSKD$UUD\����6SHFLILFDWLRQ�RI�$OSKD�EOHQGLQJ�IDFWRU�$UUD\!���������������������������� ����

�������� *GF7H[&RRUG�'>L�1I�1[@����6HWWLQJ��'�7H[WXUH�&RRUGLQDWH!���������������������������������� ����

�������� *GF7H[&RRUG�'>1I�1[@����6HWWLQJ��'�7H[WXUH�&RRUGLQDWH!������������������������������������ ����

�������� *GF%DFN)DFH&RORU>I�L@����6HWWLQJ�%DFN�)DFH�&RORU!������������������������������������������������� ����

�������� *GF1RUPDO>I@����6HWWLQJ�1RUPDO�9HFWRU! ����������������������������������������������������������������� ����

�������� *GF)RJ&RRUG>I@����6HWWLQJ�)RJ�&RRUGLQDWH! ������������������������������������������������������������� ����

�������� *GF%DFN)DFH$OSKD>L�I@����6HWWLQJ�%DFN�)DFH�$OSKD�%OHQGLQJ�)DFWRU!�������������������� ����

����� 'UDZLQJ�$WWULEXWH�6HWWLQJ�)XQFWLRQV ��������������������������������������������������������������������������������� ����

������� *GF&RORU>I�L@����6HWWLQJ�9HUWH[�&RORU�)URQW�)DFH�&RORU!������������������������������������������ ����

������� *GF%DFN&RORU����6HWWLQJ�%DFNJURXQG�&RORU!����������������������������������������������������������� ����

������� *GF$OSKD>L�I@����6HWWLQJ�$OSKD�%OHQGLQJ�)DFWRU!����������������������������������������������������� ����

������� *GF$WWU$UUD\����6HWWLQJ�$UUD\�$WWULEXWH! ��������������������������������������������������������������� ����

������� *GF'UDZ&OLS)UDPH����6HWWLQJ�'UDZLQJ�&OLS�)UDPH! ��������������������������������������������� ����

������� *GF&OLS0RGH����6HWWLQJ�(QDEOLQJ�'LVDEOLQJ�RI�&OLSSLQJ! ��������������������������������������� ����

������� *GF=%XIIHU$GGUHVV����6HWWLQJ�=�%XIIHU�6WDUWLQJ�$GGUHVV!�������������������������������������� ����

������� *GF=%XIIHU&OHDU9DOXH����6HWWLQJ�=�%XIIHU�&OHDU�9DOXH!����������������������������������������� ����

������� *GF&OHDU=%XIIHU����&OHDULQJ�=�%XIIHU!�������������������������������������������������������������������� ����

�������� *GF)UDPH%XIIHU&OHDU9DOXH����6HWWLQJ�)UDPH�%XIIHU�&OHDU�9DOXH!������������������������ ����

�������� *GF&OHDU)UDPH%XIIHU����&OHDULQJ�)UDPH�%XIIHU!��������������������������������������������������� ����

�������� *GF6WHQFLO%XIIHU&OHDU9DOXH����6HWWLQJ�6WHQFLO�%XIIHU�&OHDU�9DOXH!����������������������� ����

Page 11: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

11

FUJITSU CONFIDENTIAL

�������� *GF&OHDU6WHQFLO%XIIHU����&OHDULQJ�6WHQFLO�%XIIHU!�������������������������������������������������� ����

�������� *GF5RS0RGH����6HWWLQJ�/RJLFDO�2SHUDWLRQ�0RGH! ��������������������������������������������������� ����

�������� *GF$WWU/LQH����6HWWLQJ�/LQH�'UDZLQJ�$WWULEXWHV!��������������������������������������������������� ����

�������� *GF/LQH:LGWK����6HWWLQJ�/LQH�:LGWK! ��������������������������������������������������������������������� ����

�������� *GF/LQH3DWWHUQ����6HWWLQJ�%URNHQ�/LQH�3DWWHUQ!���������������������������������������������������� ����

�������� *GF$WWU6XUI����6HWWLQJ�6XUIDFH�'UDZLQJ�$WWULEXWH!������������������������������������������������ ����

�������� *GF6KDGRZ;<����6HWWLQJ�[\�2IIVHW�RI�6KDGRZ! ������������������������������������������������������� ����

�������� *GF2YHUODS=����6HWWLQJ�=�9DOXH�:KHQ�LQ�6KDGRZHG�0RGH�� �%RUGHUHG�0RGH��RU�7RS�/HIW�1RW�DSSOLFDEOH�0RGH! �������������������������������������������������� ����

�������� *GF6KDGRZ&RORU����6HWWLQJ�&RORU�RI�6KDGRZ! ��������������������������������������������������������� ����

�������� *GF6KDGRZ%DFN&RORU����6HWWLQJ�%DFNJURXQG�&RORU�RI�6KDGRZ!����������������������������� ����

�������� *GF%RUGHU&RORU����6HWWLQJ�%RUGHU�&RORU! ���������������������������������������������������������������� ����

�������� *GF%RUGHU%DFN&RORU����6HWWLQJ�%DFNJURXQG�&RORU�RI�%RUGHU! �������������������������������� ����

�������� *GF$WWU7H[WXUH��� ��5HJLVWUDWLRQ�RI�7H[WXUH�$WWULEXWH�LQ�7H[WXUH�,QIRUPDWLRQ�7DEOH! ������������������������� ����

�������� *GF7H[WXUH%RUGHU&RORU����6HWWLQJ�7H[WXUH�%RUGHU�&RORU!�������������������������������������� ����

�������� *GF7H[8QLW%OHQGHU0RGH����6HWWLQJ�2SHUDWLRQ�0HWKRG�IRU�7H[WXUH�8QLW! ������������� ����

�������� *GF7H[8QLW3DUDPHWHU����6HWWLQJ�,QSXW�9DOXH�IRU�7H[WXUH�8QLW! ��������������������������� ����

�������� *GF7H[%OHQGHU&RQVWDQW����6HWWLQJ�9DOXH�5HIHUHQFHG�E\�7H[WXUH�%OHQGLQJ! ��������� ����

�������� *GF$WWU%OW����6HWWLQJ�'UDZLQJ�$WWULEXWH�RI�5HFWDQJXODU�3DWWHUQ! ������������������������� ����

�������� *GF%OW&RORU7UDQVSDUHQW����6HWWLQJ�7UDQVSDUHQW�&RORU�:KHQ�7UDQVIHUULQJ�5HFWDQJXODU�3DWWHUQ! ������������������ ����

�������� *GF%LW3DWWHUQ0RGH����6HWWLQJ�6FDOLQJ�0RGH! ��������������������������������������������������������� ����

�������� *GF%OW)RUP&RORU��� ��6HWWLQJ�)RUPLQJ�&RORU�:KHQ�7UDQVIHUULQJ�5HFWDQJXODU�3DWWHUQ!������������������������� ����

�������� *GF3RO\JRQ)ODJ%XIIHU$GGUHVV��� ��6HWWLQJ�6WDUWLQJ�$GGUHVV�RI�3RO\JRQ�'UDZLQJ�&RQWURO�%XIIHU!������������������������������ ����

�������� *GF%OHQG)XQFWLRQ����6HWWLQJ�%OHQG�)XQFWLRQ!�������������������������������������������������������� ����

�������� *GF$OSKD7HVW��� ��6HWWLQJ�&RPSDULVRQ�)XQFWLRQ�IRU�DQG�5HIHUHQFH�9DOXH�RI�$OSKD�7HVW! ����������������� ����

�������� *GF%OHQG)XQFWLRQ0RGH����(QDEOLQJ�%OHQG�)XQFWLRQ�3URFHVVLQJ! �������������������������� ����

�������� *GF$OSKD7HVW0RGH����(QDEOLQJ�$OSKD�7HVW!����������������������������������������������������������� ����

�������� *GF6WHQFLO7HVW0RGH����(QDEOLQJ�6WHQFLO�7HVW!�������������������������������������������������������� ����

�������� *GF6WHQFLO%XIIHU$GGUHVV����6HWWLQJ�6WHQFLO�%XIIHU�6WDUWLQJ�$GGUHVV!�������������������� ����

�������� *GF6WHQFLO7HVW����6HWWLQJ�6WHQFLO�7HVW! ������������������������������������������������������������������� ����

�������� *GF6WHQFLO2SHUDWLRQ����6HWWLQJ�6WHQFLO�%XIIHU�8SGDWH�0HWKRG!����������������������������� ����

�������� *GF6WHQFLO%XIIHU:ULWH0DVN����6HWWLQJ�6WHQFLO�%XIIHU�:ULWH�0DVN!����������������������� ����

�������� *GF&RORU:ULWH0DVN����6HWWLQJ�&RORU�0DVN�LQ���%33���%33�! ������������������������������ ����

�������� *GF&RORU&RGH:ULWH0DVN����6HWWLQJ�&RORU�0DVN�LQ��%33! ������������������������������������� ����

�������� *GF)RJ&RORU����6HWWLQJ�)RJ�&RORU!��������������������������������������������������������������������������� ����

�������� *GF)RJ7DEOH����6HWWLQJ�)RJ�)DFWRU�7DEOH! �������������������������������������������������������������� ����

�������� *GF6HOHFW)RJ3DUDPHWHU����6HOHFWLQJ�,QSXW�)RJ�3DUDPHWHU!����������������������������������� ����

����� *HRPHWU\�$WWULEXWH�6HWWLQJ�)XQFWLRQV ������������������������������������������������������������������������������� ����

������� *GF*HR$WWU6XUI�����6HWWLQJ�2EMHFW�&RRUGLQDWH�6\VWHP�6XUIDFH�'UDZLQJ�$WWULEXWH! ���������������������������� ����

Page 12: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

12

FUJITSU CONFIDENTIAL

������� *GF*HR/RDG0DWUL[093>I@����6HWWLQJ�0RGHO9LHZ3URMHFWLRQ�7UDQVIRUPDWLRQ�0DWUL[!������������������������������������������ ����

������� *GF*HR9LHZSRUW7UDQV;<>I@����6HWWLQJ�9LHZ�3RUW�7UDQVIRUPDWLRQ�)DFWRU�RI�[\!���� ����

������� *GF*HR9LHZSRUW7UDQV'HSWK>I@����6HWWLQJ�9LHZ�3RUW�7UDQVIRUPDWLRQ�)DFWRU�RI�]!� ����

������� *GF*HR9LHZ9ROXPH;<&OLS>I@����6HWWLQJ�[\�&RRUGLQDWHV�RI�9LHZ�9ROXPH�%RXQGDU\! ����������������������������������������������� ����

������� *GF*HR9LHZ9ROXPH=&OLS>I@����6HWWLQJ�]�&RRUGLQDWH�RI�9LHZ�9ROXPH�%RXQGDU\! �� ����

������� *GF*HR9LHZ9ROXPH:PLQ&OLS>I@����6HWWLQJ�Z�9DOXH�RI�9LHZ�9ROXPH�%RXQGDU\! �� ����

������� *GF*HR/RJ2XW%DVH$GGUHVV����6HWWLQJ�6WDUWLQJ�$GGUHVV�RI�/RJ�2XWSXW�'HVWLQDWLRQ�RQ�'HYLFH�&RRUGLQDWH! �������� ����

������� *GF*HR/RJ2XW0RGH����6HWWLQJ�/RJ�2XWSXW�0RGH�RQ�'HYLFH�&RRUGLQDWH! �������������� ����

�������� *GF*HR/RDG0DWUL[09>I@����6HWWLQJ�0RGHO9LHZ�7UDQVIRUPDWLRQ�0DWUL[!�������������� ����

�������� *GF*HR/RDG0DWUL[,09>I@����6HWWLQJ�0RGHO9LHZ�,QYHUVH�7UDQVIRUPDWLRQ�0DWUL[!��������������������������������������������� ����

�������� *GF*HR,QGH[$UUD\����6HWWLQJ�(OHPHQW�$UUD\�XVHG�IRU�'/�7UDQVIHU! ��������������������� ����

�������� *GF*HR$WWU,QGH[$UUD\����6HWWLQJ�$UUD\�$WWULEXWH�XVHG� �IRU�,QGH[�5HIHUHQFH�'/�7UDQVIHU!����������������������������������������������������������������������������� ����

�������� *GF*HR9HUWH[1XPEHU$UUD\����6HWWLQJ�9HUWH[�1XPEHU�$UUD\!������������������������������ ����

�������� *GF*HR,QGH[0RGH����6HWWLQJ�'/�7UDQVIHU�0RGH!��������������������������������������������������� ����

�������� *GF*HR3RO\JRQ2IIVHW����6HWWLQJ�3RO\JRQ�2IIVHW�9DOXH! ������������������������������������������ ����

�������� *GF*HR*OREDO/LJKW����6HWWLQJ�*OREDO�$PELHQW�/LJKW! �������������������������������������������� ����

�������� *GF*HR/LJKW����6HWWLQJ�/LJKW�6RXUFH! ��������������������������������������������������������������������� ����

�������� *GF*HR0DWHULDO$UUD\����6HWWLQJ�0DWHULDO�&RORU�$UUD\! ����������������������������������������� ����

�������� *GF*HR0DWHULDO����6HWWLQJ�0DWHULDO�&RORU!������������������������������������������������������������� ����

�������� *GF*HR$WWU&RRUG7UDQV����6HWWLQJ�&RRUGLQDWH�7UDQVIRUPDWLRQ�$WWULEXWH!������������� ����

�������� *GF*HR1RUPDO6FDOH����6HWWLQJ�6FDOLQJ�)DFWRU�RI�1RUPDO�9HFWRU! �������������������������� ����

�������� *GF*HR$WWU/LJKW����6HWWLQJ�/LJKWLQJ�$WWULEXWH! ����������������������������������������������������� ����

����� 7H[WXUH�,PDJH�0DQDJHPHQW�)XQFWLRQV������������������������������������������������������������������������������ ����

������� *GF6SHFLI\7H[WXUH7DEOH����5HODWLQJ�7H[WXUH�,QIRUPDWLRQ�0DQDJHPHQW�7DEOH�WR�&RQWH[W! ����������������������������� ����

������� *GF/RDG7H[WXUH����/RDGLQJ�,PDJH�'DWD�WR�*UDSKLFV�0HPRU\!������������������������������ ����

������� *GF/RDG7H[WXUH'LUHFW����/RDGLQJ�,PDJH�'DWD�'LUHFWO\�WR�*UDSKLFV�0HPRU\! ������ ����

������� *GF7H[WXUH/RDG([W��)DVW����/RDGLQJ�,PDJH�'DWD� �IRU�%LOLQHDU�)DVW�0RGH�WR�*UDSKLFV�0HPRU\!����������������������������������������������������������� ����

������� *GF7H[WXUH,PDJH����6HWWLQJ�7H[WXUH�,PDJH�'DWD! ������������������������������������������������� ����

������� *GF%LQG7H[WXUH����$VVLJQLQJ�7H[WXUH�'DWD�WR�7H[WXUH!����������������������������������������� ����

������� *GF5HOHDVH7H[WXUH����5HOHDVLQJ�7H[WXUH�'DWD�IURP�7H[WXUH�7DEOH!���������������������� ����

������� *GF*HW7H[WXUH,QIR����*HWWLQJ�7H[WXUH�,QIRUPDWLRQ! ���������������������������������������������� ����

����� %/7�)XQFWLRQV��������������������������������������������������������������������������������������������������������������������� ����

������� *GF%OW&RS\����7UDQVIHUULQJ�5HFWDQJXODU�$UHD�LQ�&XUUHQW�'UDZLQJ�)UDPH!���������� ����

������� *GF%OW&RS\$OW����7UDQVIHUULQJ�5HFWDQJOH�EHWZHHQ�$UELWUDU\�)UDPHV! ������������������ ����

������� *GF%OW'UDZ>�������@����7UDQVIHUULQJ�5HFWDQJOH�IURP�0DLQ�0HPRU\� �WR�&XUUHQW�'UDZLQJ�)UDPH! ������������������������������������������������������������������������������������� ����

������� *GF%OW)LOO����)LOOLQJ�5HFWDQJXODU�$UHD!������������������������������������������������������������������� ����

������� *GF%OW&RS\$OW$OSKD0DS����7UDQVIHUULQJ�5HFWDQJOH�8VLQJ�$OSKD�0DS!���������������� ����

������� *GF%OW)LOO$OSKD0DS����)LOOLQJ�5HFWDQJXODU�$UHD�8VLQJ�$OSKD�0DS!��������������������� ����

Page 13: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

13

FUJITSU CONFIDENTIAL

������� *GF%OW&RS\&RPSUHVVHG����7UDQVIHUULQJ�5HFWDQJOH�8VLQJ�&RPSUHVVHG�'DWD! ������� ����

������� *GF%OW&RS\&RPS$OSKD0DS����7UDQVIHUULQJ�5HFWDQJOH� �ZLWK�$OSKD�0DS�8VLQJ�&RPSUHVVHG�'DWD�! �������������������������������������������������������������� ����

������� *GF*HR%OW&RS\����7UDQVIHUULQJ�5HFWDQJXODU�$UHD� �LQ�&XUUHQW�'UDZLQJ�)UDPH�ZLWK�093�7UDQVIRUPDWLRQ!������������������������������������������ ����

�������� *GF*HR%OW&RS\$OW����7UDQVIHUULQJ�5HFWDQJOH�EHWZHHQ�$UELWUDU\�)UDPHV� �ZLWK�093�7UDQVIRUPDWLRQ! �������������������������������������������������������������������������������������� ����

�������� *GF*HR%OW'UDZ>�������@����7UDQVIHUULQJ�5HFWDQJOH�IURP�0DLQ�0HPRU\� �WR�&XUUHQW�'UDZLQJ�)UDPH�ZLWK�093�7UDQVIRUPDWLRQ!������������������������������������������ ����

�������� *GF*HR%OW)LOO����)LOOLQJ�5HFWDQJXODU�$UHD�ZLWK�093�7UDQVIRUPDWLRQ!����������������� ����

�������� *GF*HR%OW&RS\$OW$OSKD0DS����7UDQVIHUULQJ�5HFWDQJOH� �ZLWK�093�7UDQVIRUPDWLRQ�8VLQJ�$OSKD�0DS! ��������������������������������������������������������� ����

�������� *GF*HR%OW)LOO$OSKD0DS����)LOOLQJ�5HFWDQJXODU�$UHD� �ZLWK�093�7UDQVIRUPDWLRQ�8VLQJ�$OSKD�0DS�! �������������������������������������������������������� ����

�������� *GF*HR%OW&RS\&RPSUHVVHG����7UDQVIHUULQJ�5HFWDQJOH� �ZLWK�093�7UDQVIRUPDWLRQ�RI�&RPSUHVVHG�'DWD! ����������������������������������������������������� ����

�������� *GF*HR%OW&RS\&RPS$OSKD0DS����7UDQVIHUULQJ�5HFWDQJOH� �ZLWK�093�7UDQVIRUPDWLRQ�8VLQJ�$OSKD�0DS�RI�&RPSUHVVHG�'DWD�!����������������������� ����

����� %LW�3DWWHUQ�'UDZLQJ�)XQFWLRQV������������������������������������������������������������������������������������������� ����

������� *GF%LW3DWWHUQ'UDZ%\WH����'UDZLQJ�%LW�3DWWHUQ! �������������������������������������������������� ����

������� *GF*HR%LW3DWWHUQ'UDZ%\WH����'UDZLQJ�%LW�3DWWHUQ�ZLWK�093�7UDQVIRUPDWLRQ! �������������������������������������������������� ����

����� 'LUHFW�'DWD�7UDQVIHU�)XQFWLRQV������������������������������������������������������������������������������������������ ����

������� *GF'LUHFW/RDG����7UDQVIHUULQJ�'LUHFW�'DWD�WR�*UDSKLFV�0HPRU\! ������������������������� ����

����� 9LGHR�&DSWXUH�&RQWURO�)XQFWLRQ ����������������������������������������������������������������������������������������� ����

������� *GF&DS*HW5HVRXUFH����*HWWLQJ�9LGHR�&DSWXUH�5HVRXUFH!��������������������������������������� ����

������� *GF&DS5HO5HVRXUFH����5HOHDVLQJ�9LGHR�&DSWXUH�5HVRXUFH!������������������������������������ ����

������� *GF&DS&DSWXUH$UHD����6HWWLQJ�9LGHR�&DSWXUH�$UHD! ��������������������������������������������� ����

������� *GF&DS*HW,PDJH$GGUHVV����*HWWLQJ�6WDUWLQJ�$GGUHVV�RI�9LGHR�&DSWXUH�,PDJH! �� ����

������� *GF&DS$WWU9LGHR����6HWWLQJ�9LGHR�&DSWXUH�0RGHV!������������������������������������������������ ����

������� *GF&DS$WWU0LVF����6HWWLQJ�9LGHR�&DSWXUH�$WWULEXWH!��������������������������������������������� ����

������� *GF&DS6WDUW9LGHR&DSWXUH����6WDUWLQJ�9LGHR�&DSWXUH!������������������������������������������� ����

������� *GF&DS6WRS9LGHR&DSWXUH����6WRSSLQJ�9LGHR�&DSWXUH!������������������������������������������� ����

������� *GF&DS,QSXW'DWD&RXQW176&����6HWWLQJ�9LGHR�&DSWXUH�'DWD�&RXQW�IRU�176&! �� ����

�������� *GF&DS,QSXW'DWD&RXQW3$/����6HWWLQJ�9LGHR�&DSWXUH�'DWD�&RXQW�IRU�3$/!�������� ����

�������� *GF&DS/3)0RGH����6HWWLQJ�/RZ�3DVV�)LOWHU�0RGH! ����������������������������������������������� ����

�������� *GF&DS5*%,QSXW7LPLQJ����6HWWLQJ�5*%�,QSXW�5DQJH! ����������������������������������������� ����

�������� *GF&DS5*%,QSXW6\QF����6HWWLQJ�5*%�,QSXW�6\QFKURQL]DWLRQ�6LJQDO!������������������ ����

�������� *GF&DS5*%0DWUL[����6HWWLQJ�5*%�o <&E&U�7UDQVIRUPDWLRQ�0DWUL[�! ���������������� ����

�������� *GF&DS*HW(UURU6WDWXV����*HWWLQJ�9LGHR�&DSWXUH�(UURU�6WDWXV!���������������������������� ����

�������� *GF&DS&OHDU(UURU6WDWXV����&OHDULQJ�9LGHR�&DSWXUH�(UURU�6WDWXV! ����������������������� ����

�������� *GF&DS9LGHR&DSWXUH%XIIHU����6HWWLQJ�9LGHR�&DSWXUH�%XIIHU! ������������������������������� ����

����� ,�&�)XQFWLRQ ������������������������������������������������������������������������������������������������������������������������ ����

������� *GF,�&JHW5HVRXUFH����*HWWLQJ�5HVRXUFH! ���������������������������������������������������������������� ����

������� *GF,�&UHO5HVRXUFH����5HOHDVLQJ�5HVRXUFH! ������������������������������������������������������������� ����

������� *GF,�&JHW%XV6WDWXV����*HWWLQJ�%XV�6WDWXV�5HJLVWHU�9DOXH!���������������������������������� ����

������� *GF,�&EXV&RQWURO����6HWWLQJ�%XV�&RQWURO�5HJLVWHU! ����������������������������������������������� ����

Page 14: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

14

FUJITSU CONFIDENTIAL

������� *GF,�&JHW%XV&RQWURO����*HWWLQJ�%XV�&RQWURO�5HJLVWHU�9DOXH!������������������������������� ����

������� *GF,�&�6HULDO&ORFN����6HWWLQJ�&ORFN�&RQWURO�5HJLVWHU�9DOXH! �������������������������������� ����

������� *GF,�&JHW6HULDO&RORFN����*HWWLQJ�&ORFN�&RQWURO�5HJLVWHU�9DOXH! �������������������������� ����

������� *GF,�&'DWD����6HWWLQJ�'DWD�5HJLVWHU!��������������������������������������������������������������������� ����

������� *GF,�&JHW'DWD����*HWWLQJ�'DWD�5HJLVWHU�9DOXH!����������������������������������������������������� ����

�������� *GF,�&�%XV&RQWURO�����6HWWLQJ�%XV�&RQWURO���5HJLVWHU�9DOXH!������������������������������� ����

�������� *GF,�&*HW�%XV&RQWURO�����*HWWLQJ�%XV�&RQWURO���5HJLVWHU�9DOXH! ������������������������ ����

�������� *GF,�&([W6HULDO&ORFN����6HWWLQJ�([WHQVLRQ�&6�5HJLVWHU�9DOXH!���������������������������� ����

�������� *GF,�&*HW([W6HULDO&ORFN����*HWWLQJ�([WHQVLRQ�&6�5HJLVWHU�9DOXH!���������������������� ����

�������� *GF,�&%XV&ORFN����6HWWLQJ�%XV�&ORFN�)UHTXHQF\�5HJLVWHU�9DOXH!������������������������� ����

�������� *GF,�&*HW%XV&ORFN����*HWWLQJ�%XV�&ORFN�)UHTXHQF\�5HJLVWHU�9DOXH! ������������������ ����

����� (UURU�*HWWLQJ)XQFWLRQV������������������������������������������������������������������������������������������������������� ����

������� *GF*HW(UU&RGH����*HWWLQJ�(UURU�&RGHV! ����������������������������������������������������������������� ����

������� *GF(UU&RGH����6HWWLQJ�(UURU�&RGHV!������������������������������������������������������������������������ ����

�� $SSHQGL[ ������������������������������������������������������������������������������������������������������������������� �������� 6L]H�RI�'LVSOD\�/LVWV�0DGH�E\�$3,�)XQFWLRQV ��������������������������������������������������������������������� ����

Page 15: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

15

FUJITSU CONFIDENTIAL

�� 2YHUYLHZ�RI�$FFHVV�/LEUDU\�

This chapter outlines the MB86920 Series Graphics Controller Access Library (hereafter described as $FFHVV�/LEUDU\).

This chapter includes the following contents:

� Functions provided by Access Library � Access Library API system � Operation mode of Access Library � Access Library-intended system � Execution rights of Access Library

Page 16: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

16

FUJITSU CONFIDENTIAL

���� )XQFWLRQV�3URYLGHG�E\�$FFHVV�/LEUDU\�

Access Library allows the user to use the various features implemented in MB86920 Series Graphics Controller (hereafter described as *UDSKLFV�&RQWUROOHU) in a multi-process environment.

The user programs can use the following functions via Access Library Application Programming Interface (API):

� Display � 2D/3D graphics drawing � Video capture � I2C communication�

Page 17: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

17

FUJITSU CONFIDENTIAL

���� $3,�6\VWHP�RI�$FFHVV�/LEUDU\�

)LJ������D shows Access Library API system. The API is a C function interface. Hereafter, we refer to functions called by Access Library’s API as “API functions.”

)LJ������D� � $FFHVV�/LEUDU\�$3,�6\VWHP�

Color setting function

Display list control function

Cursor control function

Display control API

Drawing control API

Context operation function

I2C control function

Drawing queue operation function

Graphics drawing function

Drawing attribute setting function

Geometry attribute setting function

Texture image management function

BLT function

Bit pattern drawing function

Execution control function

Direct data transfer function

System function

Drawing synchronization function

Error getting function

Display setting function

Drawing frame setting function

Graphics drawing API Video capture control function

Page 18: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

18

FUJITSU CONFIDENTIAL

���� 2SHUDWLRQ�0RGH�RI�$FFHVV�/LEUDU\�

)LJ������D shows the software hierarchy using Access Library.

)LJ������D� � 6RIWZDUH�+LHUDUFK\�

Access Library links with the user program to operate as a user process.

The Access Library consists of two layers: the common part and the environment-dependent part. The common part performs processing independent of the system and the OS environment. The environment-dependent part performs processing dependent on the environment, as the layer below the common part.

The configuration of the environment-dependent part varies with the OS environment to be implemented.

Link

Graphics Controller

$FFHVV�/LEUDU\��FRPPRQ�SDUW��

User program User program User program

OS

$FFHVV�/LEUDU\��HQYLURQPHQW�GHSHQGHQW�SDUW��

Page 19: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

19

FUJITSU CONFIDENTIAL

���� $FFHVV�/LEUDU\�LQWHQGHG�6\VWHP�

Access Library is basically designed to be used in processes that control resources, such as a server process in a client-server system.

Access Library treats each of the following items as an independent resource and can configure a system by different server processes from resource to resource. )LJ������D shows an example of the system configuration.

� Display (layer) � Cursor � Graphics drawing � Video capture

In the Access Library, resource can be used in several processes and several processes can use one resource. For details, see 6HFWLRQ������*UDSKLFV�'UDZLQJ�LQ�0XOWLSURFHVV�

)LJ������D� � ([DPSOH�RI�6\VWHP�&RQILJXUDWLRQ�

Video capture

$FFHVV�/LEUDU\�

Graphics drawing

Client

Display control

Client Client Client

Server process

Page 20: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

20

FUJITSU CONFIDENTIAL

���� ([HFXWLRQ�5LJKWV�RI�$FFHVV�/LEUDU\�$3,�

Since Access Library accesses the Graphics Controller, which is a system resource, the processes that use the Access Library API must be authorized.

The required authority varies depending on the OS to be used. For details, refer to 0DQXDO describing the environment-dependent part.

Page 21: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

21

FUJITSU CONFIDENTIAL

�� %DVLF�RI�$FFHVV�/LEUDU\�

This chapter describes an overview of the MB86290 Series Graphics Controller Access Library (hereafter described as $FFHVV�/LEUDU\). This chapter includes the following contents:

� Functions provided by Access Library � Access Library API system � Operation mode of Access Library � Access Library-intended system � Execution rights of Access Library

Page 22: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

22

FUJITSU CONFIDENTIAL

���� *UDSKLFV�0HPRU\�

������ $OORFDWLRQ�RI�JUDSKLFV�PHPRU\�

The Graphics Controller uses the graphics memory to display and draw graphics. The uses of graphics memory are listed below:

� Frame buffer � Alpha map � DL buffer � Vertex parameter area � Texture buffer � Z-buffer � Polygon drawing flag buffer � Polygon drawing flag buffer � Stencil buffer � Cursor pattern area � Video capture buffer

When designing a system, the user must decide where to allocate each of the above graphics memories (buffers). The following section describes the contents and required byte size of each buffer.

Access Library does not define how to allocate graphics memory. The graphics memory can be accessed from every process/task (process/task that executed the *GF2SHQ�� function) that uses Access Library. (Therefore, to restrict access, the user must restrict the process/task that can execute Access Library.) � Auxiliary function for allocation of graphics memory

Access Library has a *GF6\V$OORF95$0�� function as an API to help to allocate graphics memory. The *GF6\V$OORF95$0�� function returns an address where graphics memory is not allocated. When two or more processes/tasks use graphics memory, using the *GF6\V$OORF95$0�� function prevents each area to be allocated from overlapping. The *GF6\V$OORF95$0�� function just allocates addresses, so it does not prevent other processes/tasks from accessing to the allocated area. Therefore, even if a process/task is using the graphics memory without using the *GF6\V$OORF95$0�� function, the *GF6\V$OORF95$0�� function will not recognize it.

Page 23: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

23

FUJITSU CONFIDENTIAL

������ 8VH�RI�*UDSKLFV�0HPRU\� �

This section provides an overview of the contents and required byte size of each buffer mentioned above. For details, refer to 6SHFLILFDWLRQ�RI�WKH�*UDSKLFV�&RQWUROOHU. � Frame buffer

There are conceptually two types of frame buffers, display frame, and drawing frame. A display frame is an area to store graphics to be displayed by the Graphics Controller. Each of the frames exists autonomously for each layer. The user can set the display frame to any address of the graphics memory. But because the displayed contents are either graphics or video-captured images, actually set the display frame to either the drawing frame buffer or the video-capture buffer (explained later).

A drawing frame is an area where the Graphics Controller draws graphics. Two or more drawing frames can be used and switched between during use.

The byte size required for one frame buffer depends on the pixel color type (8-bit color, 16-bit color, or 32-bit color) and the resolution. For example, 16-bit color and VGA size (“640 × 480” pixels) image requires 600 KB. �Alpha map area

The display frame is displayed on the screen as a layer. At this time, it is possible to display its lower layers transparently. When setting, for each pixel, the factor used when displaying them transparently, use the alpha map area. Prepare the alpha map area of the same size as the display frame of 8 bits per pixel. � DL buffer

A DL buffer is an area to store a GLVSOD\�OLVW created by Access Library. A “display list” is a collection of commands executed by the Graphics Controller for graphics drawing, and associated data. For details on the specification defined by Access Library, refer to ������'/�%XIIHU. � Vertex parameter area

Vertex information used to draw graphics is directly specified in the display list, or is indirectly referenced from the display list (index reference DL transfer mode). The vertex parameter area is an area to store the vertex information referenced from the display list. � Texture buffer

A texture buffer is an area to store bitmap images used for texture mapping (“texture images”). The required byte size is the size of the texture image to be used. For example, a 16-bit color texture image of 64 × 64 pixels requires 8 KB. Using several texture images requires a total of all the required sizes. However, texture images need not be stored all the time in the graphics memory. When actually using the texture images, the same area in the buffer can be used by loading the texture images into graphics memory.

Page 24: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

24

FUJITSU CONFIDENTIAL

� Z buffer

This buffer is used to remove hidden surface when drawing 3D graphics. An area of the size “precision of the Z value (8 bits or 16 bits) × resolution of the drawing frame” is required. � Polygon drawing flag buffer

This is a work area used to draw polygon. Drawing a polygon requires only one buffer for the entire system. This buffer is unnecessary when not drawing polygons. The required bytes for this buffer are as follows: see 6HFWLRQ ��������*GF3RO\JRQ)ODJ%XIIHU$GGUHVV����6HWWLQJ�6WDUWLQJ�$GGUHVV�RI�3RO\JRQ�'UDZLQJ�&RQWURO�%XIIHU!.

Allocate the polygon drawing flag buffer based on the maximum numbers of width pixels and height lines of the drawing frame used by the system. � Stencil buffer

Stencil buffer area compares the reference stencil value and the stencil buffer value to control whether to draw pixels. Based on the result of the comparison, the user can specify various operation processing for the stencil buffer. For the stencil buffer, 1 pixel consists of 8 bits. Stencil value: 8 bits/pixel unsigned integer

7 6 5 4 3 2 1 0 Unsigned Integer

)LJ������D� � )RUPDW�RI�6WHQFLO�%XIIHU�

� Cursor pattern area

This area is used to store dot pattern data representing the cursor shape. Each cursor shape requires an area of 4096 bytes (“64 × 64” pixels). � Video capture buffer

This buffer is used to store video-captured images. The minimum required size is as big as 1 frame, but a size of 2.2 frames is recommended.

������ *UDSKLFV�0HPRU\�$GGUHVV� �

The graphics memory address used by the Graphics Controller is preceded by “0”. In the API that accesses the graphics memory via the Graphics Controller, specify the address starting with “0”.

Page 25: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

25

FUJITSU CONFIDENTIAL

���� 2SHQLQJ�&ORVLQJ�RI�'HYLFH� �

Each process/task of Access Library must first open the frame buffer device and initialize Access Library before it uses the Access Library API. To open and initialize the device, use the *GF6\V2SHQ�� function of the Access Library. To close the device when the process/task ends, use the *GF6\V&ORVH�� function.

Page 26: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

26

FUJITSU CONFIDENTIAL

���� *UDSKLFV�'UDZLQJ�

������ 'UDZLQJ�PHFKDQLVP�

In the Graphics Controller, a GLVSOD\�OLVW executes drawing. The display list consists of draw commands executed by the Graphics Controller and additional data.

)LJ������D shows the drawing process flow. Access Library creates a display list and transfers it to the display list FIFO (DFIFO) of the Graphics Controller. This transfer is executed by the indirect DL transfer function (writing to FIFO from external memory via the rendering unit) of the Graphics Controller. The Graphics Controller executes the display list after it received, and draws onto the drawing frame in the graphics memory.

)LJ������D� � *UDSKLFV�'UDZLQJ�)ORZ�

������ &RQWH[W�

In a process/task that draw graphics, a context must be created before using the API for drawing. A context is data that retains information such as the execution status of the Access Library and drawing attribute. The context allows several processes/tasks to execute drawing independently. The context is often used to set the status of the Graphics Controller, which was changed by other process, back to the status set by its own process/task.

Create a context using the *GF&UHDWH&RQWH[W�� function. Allocate the area for context storage on the application side.

Application

$FFHVV�/LEUDU\�

Graphics controller

DFIFO

Display list

Make

Transfer Drawing

VRAM

Drawing

Transfer

Drawing frame

Page 27: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

27

FUJITSU CONFIDENTIAL

������ '/�%XIIHU�

In a process/task that draws graphics, a DL buffer must be allocated at the same time as the context is created. A DL buffer is an area for storing a display list created by the Access Library, and consists of arrays of “one factor = 4 bytes”.

Process can use as many DL buffers as necessary for each context. For efficient processing, Fujitsu recommends at least two DL buffers be allocated. Because the display list must be saved in a DL buffer after it is transferred and until drawing is complete, if there is only one DL buffer, the process cannot execute next drawing (creating a display list) until the first drawing is complete. In contrast, multiple DL buffers enable creating a new display list in other DL buffer, which allows to continue drawing even while the other drawing is processed ()LJ������E). The created display list can be saved for future use (see 6HFWLRQ �����5HXVLQJ�'LVSOD\�/LVW).

Each DL buffer is assigned a number starting with “0” for controlling it. This DL buffer number (“DL buffer number”) is assigned to all contexts starting with “0”.

)LJ������E� � 2SHUDWLRQ�XVLQJ�7ZR�'/�%XIIHUV�

������ '/�%XIIHU�6L]H�DQG�$OORFDWLRQ�5HTXLUHPHQWV�

The size of each DL buffer must be any size but bigger than 134,016 bytes, and must be a multiple of 32. To efficiently draw without allocation error during execution of the Access Library, it must be of sufficient size to store the display list for drawing one screen (one frame for animation).

The starting address of each DL buffer must be aligned to an 8-byte boundary. If the DL buffer’s size and the allocated address do not meet the requirements during execution of the *GF&UHDWH&RQWH[W�� function, the *GF&UHDWH&RQWH[W�� function sets an error code. When an error occurred, if you continue drawing without handling the error, your system may hang. You can prevent this by executing error processing for applications where errors may occur.

$FFHVV�/LEUDU\�

Graphics controller

DL buffer 1

Transfer

DL buffer 0

Make

Page 28: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

28

FUJITSU CONFIDENTIAL

������ 6ZLWFKLQJ�'/�%XIIHU�

Display lists are stored in the “FXUUHQW�'/�EXIIHU”. By default, “0” is assigned to the current DL buffer. Switch the current DL buffer internally in Access Library. Executing the *GF)OXVK�� function switches the current DL buffer internally to the DL buffer with the next number. At this point, the contents of the switched DL buffer are discarded, and the newly created display list is stored in the DL buffer from the top.

When the *GF)OXVK�� function is executed continuously, the same display list is never re-executed unlike the conventional case. To re-execute a created display list (DL), use the *GF)OXVK([�� function. When reusing a created DL, the *GF5HVHUYH'/%XIIHU�� function is available to reserve the DL so that it will not be overwritten.

You need to reserve the DL buffer via the *GF5HVHUYH'/%XIIHU�� function so that the DL buffer is not overwritten when reusing the generated DL.

)LJ������F shows switching of the DL buffer using the *GF)OXVK���function.

)LJ������F� � 6ZLWFKLQJ�'/�%XIIHU�XVLQJ�*GF)OXVK���)XQFWLRQ�

DL buffer 0

DL buffer 1

Display list

Display list

Flow of drawing Executes graphics

drawing API

Transfers DL buffer 0 to GDC in the

*GF)OXVK�� function

Executes graphics drawing API

Page 29: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

29

FUJITSU CONFIDENTIAL

������ +DQGOLQJ�0HPRU\�$OORFDWLRQ�(UURU�LQ�'/�%XIIHU� �

Even though the memory allocation error occurs in DL buffer while executing the Access Library, Access Library performs the following operations internally so that complete drawing is performed.

First, when the memory allocation error occurs in the DL buffer, Access Library starts to transfer the created DL in the drawing API function. After that, Access Library creates the remaining DLs using another DL buffer and then starts to transfer the DLs internally. At this time, execution of the *GF)OXVK��/*GF)OXVK([�� function in other drawing processes/tasks is blocked. Due to this process, drawing is performed even when the DLs are divided into multiple buffers.

)LJ������G� � +DQGOLQJ�0HPRU\�$OORFDWLRQ�(UURU�LQ�'/�%XIIHU� �

������ 4XHXLQJ�RI�GUDZLQJ�

When the *GF)OXVK���*GF)OXVK([�� function, an API to start transferring a display list, is called while the Graphics Controller is transferring another display list, the environment-dependent part queues the former transfer processing and the *GF)OXVK���*GF)OXVK([�� function immediately returns. The queued transfer processing is executed sequentially right after the ongoing transfer is ended. The queuing mechanism (“drawing queue”) allows each process/task to call the *GF)OXVK���*GF)OXVK([�� function even during transfer of a display list and thereby to proceed with subsequent processing without waiting for completion of the transfer.

Any number of drawing queues can be added using the *GF$GG'UDZ4XHXH�� function. Drawing processes with different priorities can be controlled by providing several queues and using them separately, depending on the priority.

1RWH�� A drawing queue operates using the drawing command end interrupt of the Graphics Controller as a trigger. So, do not mask this drawing command end interrupt.

Graphics drawing API

1RWH� At this time, DL transfer by other processes/threads is blocked.

DL buffer 0

Created display lists

Transfer

Transfer

Already stored Memory allocation error

DL buffer 1

Empty

Empty

Switches DL buffer to a new one, and creates the remaining DLs in the new DL buffer to transfer.

Page 30: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

30

FUJITSU CONFIDENTIAL

������ 7\SH�RI�*UDSKLFV�'UDZLQJ�

Access Library can draw the supports the following types of graphics:

� Device coordinate system Line graphics Point

(*GF'UDZ3ULPLWLYH�'�� function) Line

Polyline

Triangle graphics Triangle

Triangle strip

Triangle fan

Quadrangle

Quadrangle strip

Polygon

� Object coordinate systems Line graphics Point

(*GF'UDZ3ULPLWLYH�'���function) Line

Polyline

Triangle graphics Triangle

Triangle strip

Triangle fan

Quadrangle

Quadrangle strip

Polygon � Rectangle drawing (BLT)

(Device coordinate / Object coordinate)

� Bit pattern drawing

(Device coordinate / Object coordinate) (1) Device coordinate system

To draw this type of graphics, specify each vertex of the graphics on the device coordinate. (2) Object coordinate system

To draw this type of graphics, specify each vertex on the object coordinate system used in 3D graphics. When drawing with object-coordinate-system, set a transformation matrix for the Model-view-projection transformation (hereafter described as 093), view volume clipping coordinate, and the viewport transformation factor.

Page 31: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

31

FUJITSU CONFIDENTIAL

(3) Rectangle drawing (BLT)

Rectangle drawing includes two types of operation: Operation for the rectangle on the device coordinate, and operation for the post-MVP-transformation coordinate.

(4) Bit pattern drawing

Bit pattern drawing is performed using a drawing color and a background color (or a transparent color) based on bit dot-pattern data. It includes the following types of operation: Operation for the rectangle on the device coordinate, and operation for the post-MVP-transformation coordinate.

������ 'UDZLQJ�$WWULEXWH�

“Drawing attribute” is used when drawing. The attributes include drawing color, alpha blending, and anti-aliasing. APIs for setting these attributes are divided roughly into the following two types:

� Drawing attribute setting function � Object coordinate attribute setting function

Among the drawing attribute setting functions, functions targeting Point, Line, Triangle, etc., are set for both graphics of the device-coordinate-system and the object-coordinate-system. The object coordinate system attribute setting functions are use only for graphics of object-coordinate-system. The object coordinate system attribute setting function starts with *GF*HR.

Each drawing attribute varies with context. Once set, the same settings remain until the user changes them. For each drawing attribute, an initial value is set.

������� 2SHQ*/�PRGH�DQG�&RUDO�FRPSDWLEOH�PRGH� �

Carmine has OpenGL mode to support functions of OpenGL function and Coral compatible mode to retain compatibility with Coral-PA. To specify these modes, use the argument corder of the *GF'UDZ'LPHQVLRQ�� function. These modes are used to drawing (object coordinate system drawing) by the *GF'UDZ3ULPLWLYH�'�� function. The difference between OpenGL mode and Coral-compatible mode is as shown below.

Page 32: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

32

FUJITSU CONFIDENTIAL

7DEOH�����D� � 'LIIHUHQFH�EHWZHHQ�2SHQ*/�0RGH�DQG�&RUDO�FRPSDWLEOH�0RGH� �

Attribute� OpenGL mode� Coral-compatible mode�

Top-left rule not-applicable mode × { Shadow primitive drawing mode × { Quads, Quad_strip graphics drawing� { × Use of the texture1 (use of the texture unit1) {

×

Lighting { × Fog { × Color of back face { × Index reference DL mode { × Polygon mode (polygon offset) { ×

{: Enabled or usable,

×: Disabled or unusable

������� 7H[WXUH�&RRUGLQDWH� �

The texture coordinate is a 2D coordinate system where the horizontal and vertical positions are represented by the ST coordinate. When the texture coordinate is given as a normalized coordinate, the ST coordinate at upper left of the texture is (0.0,0.0), and the ST coordinate at lower right of the texture is (1.0,1.0). The texture normalized coordinate given to a vertex is converted to a texture device coordinate by being multiplied by the texture size. When you are using a texture of “64x64” pixels, the texture normalized coordinate (1.0) is transformed to a texture device coordinate “64.0”. The texels that are referenced are as shown below.

)LJ������H� � ([DPSOH�RI�5HIHUHQFHG�7H[HOV�

64

64

(0,64)

(0,0) S

T

Texel referenced by the texture coordinate (0,0).

Texel referenced by the texture coordinate (0,64).

Page 33: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

33

FUJITSU CONFIDENTIAL

���� 9LGHR�&DSWXUH�DQG�([WHUQDO�&RPPXQLFDWLRQV�

������ *HWWLQJ�DQG�5HOHDVLQJ�5HVRXUFH�

The video capture function can be used in one process/task for each resource, meaning that multiple processes/tasks cannot use one function simultaneously. The Access Library controls exclusively using the “Resource Get/Release” procedures to prevent multiple processes from using these functions simultaneously. For video capture, a process/task must call the *GF&DS*HW5HVRXUFH�� function—an API to get the video capture resource—before using the video capture. Once it gets the video capture resource, other processes/tasks cannot get the video capture resource until the *GF&DS5HO5HVRXUFH�� function—an API to release the video capture resource—is called in the same processes/tasks( the same thread in the case of multithread).

���� (UURU�+DQGOLQJ�

If a parameter out of range is specified for some APIs that define the range of the parameter value, the API function sets an error code. (In this case, the return value is GDC_FALSE.)

The error code can be got by using the *GF*HW(UU&RGH�� function.

When an API function ends normally, (in this case, the return value is GDC_TRUE), the API function does not set an error code and holds the last error code.

To clear an error code, use the *GF(UU&RGH�� function to set GDC_ERR_NOERROR.

Page 34: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

34

FUJITSU CONFIDENTIAL

�� 3URJUDPPLQJ� �

This chapter describes programming using the Access Library APIs.

Topics covered in this chapter include:

� Header file in Access Library � Advance preparation � Common procedures for display control, graphics drawing, etc.

Page 35: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

35

FUJITSU CONFIDENTIAL

���� +HDGHU�)LOH�

Include gdc.h in sources that use the Access Library APIs.

���� 'LVSOD\�&RQWURO�

This section describes setup procedures to display layers and change display mode.

������ /D\HU�6HWXS�

The figure below shows procedures from layer display to display closing.

)LJ������D� � /D\HU�6HWXS�

(1) Opening device (*GF6\V2SHQ�� function)

Opens the Frame Buffer Device using the *GF6\V2SHQ�� function only once at the start of a process/task.

(2) Initializing display information (*GF'LVS,QWLDOL]H�� function)

Initializes the display information in the Access Library using the *GF'LVS,QLWLDOL]H�� function only once at the start of the process/task.

(5) Setting display frame attribute (*GF'LVS'LPHQVLRQ�� function)

Processing on layer by layer basis

(1) Opening device (*GF6\V2SHQ�� function)�

(2) Initializing display information (*GF'LVS,QLWLDOL]H�� function)

(6) Setting display frame buffer information (*GF'LVS)UDPH%XIIHU��

(8) Closing device (*GF6\V&ORVH�� function)

(3) Outputting video signal (*GF'LVS2Q�� function)

(4) Enabling vertical synchronization interrupt (*GF6\V,QWHUUXSW0DVN�� function)

(7) Other settings (such as setting of transparent color, change of display mode)

Page 36: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

36

FUJITSU CONFIDENTIAL

(3) Outputting video signal (*GF'LVS2Q�� function)

Generates video signal output using the�*GF'LVS2Q�� function to generate VSYNC interrupt. To clear interrupt mask, use the *GF6\V,QWHUUXSW0DVN�� function.

(4) Enabling vertical synchronization interrupt (*GF6\V,QWHUUXSW0DVN�� function)

Access Library has functions that control display by using vertical synchronization interrupt as a trigger. So, when controlling display, the mask of the interrupt must be cleared. The interrupt mask can be cleared at any timing. But, some functions cannot be used until the interrupt mask is cleared, Fujitsu recommends that the interrupt mask be cleared before the functions are set. To clear the vertical synchronization interrupt mask, use the *GF6\V,QWHUUXSW0DVN�� function. The functions that use vertical synchronization interrupt as a trigger are shown below. � Setting display frame buffer information (*GF'LVS)UDPH%XIIHU�� function) � Setting display starting position (*GF'LVS6WDUW3RV�� function) � Target function of VSYNC synchronization update For details, refer to 6HFWLRQ��������*GF'LVS96<1&8SGDWH0RGH����6HWWLQJ�96<1&�8SGDWH�0RGH!�

(5) Setting display frame attribute (*GF'LVS'LPHQVLRQ���function)

Set the display frame for each layer using the *GF'LVS'LPHQVLRQ�� function. The area for the display frame is the drawing frame or the video capture buffer. The *GF'LVS'LPHQVLRQ�� function can set the layers to either “display” or “not-display.” To change display (layer ON)/not display (layer OFF) after executing this function, use the *GF'LVS/D\HU2Q�� and *GF'LVS/D\HU2II�� functions.

(6) Setting display frame buffer information (*GF'LVS)UDPH%XIIHU�� function)

Sets the display frame attribute for each layer using the *GF'LVS'LPHQVLRQ�� function. The area that is set as the display frame is only the drawing frame.

(7) Other settings

Set other settings using the display and color setting functions as necessary. For details, see 6HFWLRQ�����'LVSOD\�6HWWLQJ�)XQFWLRQ.

(8) Closing device (*GF6\V&ORVH�� function)

Closes the frame buffer device using the *GF6\V&ORVH�� function. Execute this function for each process/task.

Page 37: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

37

FUJITSU CONFIDENTIAL

������ 7UDQVSDUHQW�'LVSOD\�RI�/D\HUV�

At initial setting time, upper layers are displayed in preference to lower ones (at this time, transparent color can be specified). On the other hand, when blend mode is specified, lower layers can be displayed transparently according to the alpha factor. As the alpha factor, either of “a single value for the entire layer” or “a value for each pixel” can be specified.

The procedure of displaying layers transparently is shown below.

)LJ������E� � 3URFHGXUH�RI�'LVSOD\LQJ�/D\HUV�7UDQVSDUHQWO\� �

(1) Setting of the display sequence for layers (*GF'LVS/D\HU2UGH�� function, *GF'LVS&KDQJH/D\HU2UGHU�� function)

Set the display order for layers. (2) Setting of overlay display mode for layers (*GF'LVS/D\HU2YHUOD\0RGH�� function)

Set overlay display mode to “overlay by blend” (GDC_OVERLY_BLEND). (3) Setting of blend mode for layers (*GF'LVS/D\HU2YHUOD\%OHQG�� function)

Sets various conditions of blend mode. When performing blend display using a single factor, specify GDC_BLEND_RATIO_CONSTANT; when specifying a blend factor for each pixel, specify GDC_BLEND_RATIO_L5.

(4) Allocation of the alpha map area

Allocates the VRAM area that is used as the alpha layer. Set the alpha factor for the allocated area (the alpha factor is needed for the layer size with 1 byte/pixel).

When a single factor is used, the user needs not perform this step.

(5) Setting of the alpha layer attribute (*GF'LVS$OSKD'LPHQVLRQ�� function)

(1) Setting of the display sequence for layers (*GF'LVS/D\HU2UGHU�� function, etc.)

(2) Setting of overlay display mode for layers (*GF'LVS/D\HU2YHUOD\0RGH�� function)

(6) Setting of the alpha layer (*GF'LVS$OSKD�� function)

(3) Setting of blend mode for layers (*GF'LVS/D\HU2YHUOD\%OHQG�� function)

(4) Allocation of the alpha map area

Page 38: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

38

FUJITSU CONFIDENTIAL

(5) Setting of the alpha layer attribute (*GF'LVS$OSKD'LPHQVLRQ�� function)

Register the allocated area as the alpha layer. (6) Setting of the alpha layer (*GF'LVS$OSKD�� function)

Associate the layers (L0 to L7) and the alpha layer. Each layer is not blended with the background color (specified using the *GF'LVS%DFN�� function).

Also, to maintain compatibility with Coral-PA, you can use the L5 layer as an alpha layer instead of using the alpha layer (GDC_DISP_LAYER_LA0 to GDC_DISP_LAYER_LA3). When you are using the L5 layer as an alpha layer, place it in the display state using the *GF'LVS/D\HU2Q�� function. When you are using the L5 layer as an alpha layer, the alpha layer (GDC_DISP_LAYER_LA0 to GDC_DISP_LAYER_LA3) can no longer be used, and so the alpha map can have only one face per display.

Page 39: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

39

FUJITSU CONFIDENTIAL

(6) Setting address for cursor storage area (*GF&XUVRU$GGUHVV�� function)

(7) Setting cursor pattern data in area described in step (3) (*GF&XUVRU3DWWHUQ�� function)

(3) Allocating storage area for cursor (*GF6\V$OORF95$0�� function)�

(10) Setting cursor display position (*GF&XUVRU3RV�� function)

(11) Displaying cursor (*GF&XUVRU'LVSOD\�� function)

(1) Opening device (*GF6\V2SHQ�� function)

(2) Initializing display information (*GF'LVS,QLWLDOL]H�� function)�

(9) Setting cursor display priority (*GF&XUVRU3ULRULW\�� function)

(5) Enabling vertical synchronization interrupt (*GF6\V,QWHUUXSW0DVN�� function)

(4) Outputting video signal (*GF'LVS2Q�� function)

(8) Setting transparent color (*GF&XUVRUFRORU7UDQVSDUHQW�� function,

*GF&XUVRUFRORU7UDQVSDUHQW0RGH�� function)

���� &XUVRU�&RQWURO�

This section describes procedures to display a cursor.

������ 3URFHGXUHV�IRU�'LVSOD\LQJ�&XUVRU�

The figure below shows procedures to display a cursor.

)LJ������D� � 'LVSOD\LQJ�&XUVRU�

(1) Opening device (*GF6\V2SHQ�� function)

Opens the Frame Buffer Device using the *GF6\V2SHQ�� function only once at the start of a process/task.

(2) Initializes display information (*GF'LVS,QLWLDOL]H�� function)

Initializes the display information in the Access Library using the *GF'LVS,QLWLDOL]H�� function only once at the start of the process/task.

Page 40: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

40

FUJITSU CONFIDENTIAL

(3) Allocating storage area for cursor (*GF6\V$OORF95$0�� function)

Allocates a storage area for the cursor pattern data in graphics memory. If the area address has already been defined, this function need not be executed.

(4) Outputting video signal (*GF'LVS2Q function)

Generates video signal output using the *GF'LVS2Q�� function to generate VSYNC interrupt. (5) Enabling vertical synchronization interrupt (*GF6\V,QWHUUXSW0DVN�� function)

Access Library has functions that control cursor by using a vertical synchronization interrupt as a trigger. So, when controlling cursor, the mask of the interrupt must be cleared. The interrupt mask can be cleared at any timing. But, cursors cannot be displayed until the interrupt mask is cleared, Fujitsu recommends that the interrupt mask be cleared before displaying the cursors. To clear the vertical synchronization interrupt mask, use the *GF6\V,QWHUUXSW0DVN�� function. Functions that use a vertical synchronization interrupt as a trigger are listed below: � Setting address for cursor storage area (*GF&XUVRU$GGUHVV�� function) � Setting cursor display position (*GF&XUVRU3RV�� function) � Setting cursor display/not display (*GF&XUVRU'LVSOD\�� function) � Setting cursor display priority (*GF&XUVRU3ULRULW\�� function) � Setting cursor transparent color

(*GF&XUVRU&RORU7UDQVSDUHQW���function, *GF&XUVRU&RORU7UDQVSDUHQW0RGH�� function) (6) Setting address for cursor storage area (*GF&XUVRU$GGUHVV�� function)

Uses the *GF&XUVRU$GGUHVV�� function to set the area allocated in the step (3) as a storage area for cursor pattern data.

(7) Setting cursor pattern data to area described in step (3) (*GF&XUVRU3DWWHUQ�� function)

Use the *GF&XUVRU3DWWHUQ�� function to copy the cursor pattern data to the area allocated in the step (3).

(8) Setting transparent color (*GF&XUVRU&RORU7UDQVSDUHQW�� function,

*GF&XUVRU&RORU7UDQVSDUHQW0RGH�� function)

Use the *GF&XUVRU&RORU7UDQVSDUHQW�� function to set a color to be used as transparent color; use the *GF&XUVRU&RORU7UDQVSDUHQW0RGH�� function to set whether or not to use transparent mode.

(9) Setting cursor display priority (*GF&XUVRU3ULRULW\�� function)

Sets whether the cursor has priority over the layer 0 for display or vice versa using the *GF&XUVRU3ULRULW\�� function.

(10) Setting cursor display position (*GF&XUVRU3RV�� function)

Sets the coordinates to display the cursor using the *GF&XUVRU3RV�� function.

(11) Displaying cursor (*GF&XUVRU'LVSOD\�� function)

Displays the cursor using the *GF&XUVRU'LVSOD\�� function.

Page 41: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

41

FUJITSU CONFIDENTIAL

(2) Allocating graphics memory (*GF6\V$OORF95$0�� function)�

(4) Creating context (*GF&UHDWH&RQWH[W�� function)�

(1) Opening device (*GF6\V2SHQ�� function)

(3) Allocating DL buffer area (*GF6\V$OORF95$0�� function)�

���� 3UHSDUDWLRQ�IRU�*UDSKLFV�'UDZLQJ�

The preparation needed for graphics drawing is shown below.

)LJ������D� � 3UHSDUDWLRQ�IRU�*UDSKLFV�'UDZLQJ�

(1) Opening device (*GF6\V2SHQ�� function)

Opens the Graphics Controller device, gets graphics system information, maps graphics memory and registers, and initializes exclusive control. Be sure to call this function at the beginning in each process/task that uses Access Library.

(2) Allocating graphics memory (*GF6\V$OORF95$0�� function)

Allocate a necessary area, such as a drawing frame, Z-buffer, or stencil buffer depending on graphics to draw, in the graphics memory. If the area address has already been defined, this function need not be executed.

(3) Allocating DL buffer area (*GF6\V$OORF95$0�� function)

Allocates an area for the DL buffer to graphics memory. In this case, the address should be defined beforehand, or allocate the address using the *GF6\V$OORF95$0�� function as in the step (2).

(4) Creating context (*GF&UHDWH&RQWH[W�� function)

Provides DL buffer structure information (see 6HFWLRQ��������*'&B'/%8)B6758&7��'/�%XIIHU�6WUXFWXUH�,QIRUPDWLRQ!) and creates a context using the *GF&UHDWH&RQWH[W�� function. Provide the DL buffer structure information for as many arrays as the number of DL buffers. The figure below shows an example of setting the DL buffer structure information with three DL buffers.

Page 42: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

42

FUJITSU CONFIDENTIAL

)LJ������E� � 6HWWLQJ�([DPSOH�RI�'/�%XIIHU�6WUXFWXUH�,QIRUPDWLRQ�

DL buffer structure information

ext_data backup_reg_mem_ad

top bottom

cur draw_id

flags

ext_data backup_reg_mem_ad

top bottom

cur draw_id

flags

ext_data backup_reg_mem_ad

top bottom

cur draw_id

flags

dlbuf_info[0]

dlbuf_info[1]

dlbuf_info[2]

dlbuf[0] (DL buffer 0)

dlbuf[1] (DL buffer 1)

dlbuf[2] (DL buffer 2)

Page 43: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

43

FUJITSU CONFIDENTIAL

(1) Setting drawing frame (*GF'UDZ'LPHQVLRQ�� function)�

(2) Setting drawing attribute (*GF$WWU �� function and others)�

(3) Setting vertex array (*GF9HUWH[$UUD\�� function)�

(4) Setting array attribute (*GF$WWU$UUD\�� function)�

(5) Drawing graphics (*GF'UDZ3ULPLWLYH �� function and others)�

(6) Transferring display list (*GF)OXVK �� function)�

���� 3URFHGXUHV�IRU�'UDZLQJ�*UDSKLFV�

Drawing procedure varies depending on drawing types, but it is generally as shown below. For details of graphics drawing (processing shown in (2) to (5) below), see the next section and later.

)LJ������D� � 3URFHGXUH�IRU�*UDSKLFV�'UDZLQJ�

(1) Setting drawing frame (*GF'UDZ'LPHQVLRQ�� function)

Specifies the frame buffer to draw using the *GF'UDZ'LPHQVLRQ�� function. At this time, the user can specify the input color format and set the direction of the coordinate system.

(2) Setting drawing attribute (*GF$WWU �� function and others)

Uses the relevant drawing attribute setting function and object coordinate system attribute setting function, depending on the function to use, such as shading, alpha blending, etc.

(3) Setting vertex array (*GF9HUWH[$UUD\�� function)

Sets each vertex data to be used for drawing. This setting is not necessary for the BLT function and bit pattern drawing function.

(4) Setting array attribute (*GF$WWU$UUD\�� function)

Validates each vertex data set in step (3). This setting is not necessary for the BLT function and bit pattern drawing function.

(5) Drawing graphics (*GF'UDZ3ULPLWLYH �� function and others)

Draws graphics using the graphics drawing function, BLT function and bit pattern drawing function, and thereby to create a display list. The display list is stored in the DL buffer.

(6) Transferring display list (*GF)OXVK �� function)

Transfers the display list in the DL buffer using the *GF)OXVK*���function to the Graphics Controller.

Page 44: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

44

FUJITSU CONFIDENTIAL

���� 3URFHGXUH�IRU�'UDZLQJ�3ULPLWLYH�

This section describes how to set the drawing attribute and specify vertex array, etc. for graphics drawing.

������ 'UDZLQJ�$WWULEXWH�IRU��'�*UDSKLFV�

7DEOH�����D�to 7DEOH�����G show the drawing attribute setting APIs used for each graphics, and the target attributes.

7DEOH�����D� � 'UDZLQJ�$WWULEXWH�IRU��'�*UDSKLFV��FRPPRQ�WR�DOO�W\SHV�RI�JUDSKLFV��

$3,�IXQFWLRQ� 7DUJHW�DWWULEXWH�

*GF&RORUL��� Drawing color *GF7H[&RRUG�'��'L��� Texture coordinate *GF)RJ&RRUG��� Fog coordinate *GF$WWU$UUD\��� Enable/disable various vertex arrays *GF'UDZ&OLS)UDPH��� Clipping boundary coordinate *GF&OLS0RGH��� Enable/disable clipping *GF$OSKDL��� Alpha blending factor *GF5RS0RGH��� Logical operation mode *GF$WWU7H[WXUH���� �� Texture *GF7H[WXUH%RUGHU&RORU���� �� Texture border color *GF=%XIIHU$GGUHVV��� Z buffer origin address and precision of Z value *GF%OHQG)XQFWLRQ��� Calculation method for alpha blending ratio *GF$OSKD7HVW��� Reference alpha value and comparison function *GF%OHQG)XQFWLRQ0RGH��� Enable/disable blend function *GF$OSKD7HVW0RGH��� Enable/disable alpha test *GF6WHQFLO7HVW0RGH��� Enable/disable stencil test *GF6WHQFLO%XIIHU$GGUHVV��� Stencil buffer starting address and precision of stencil value *GF6WHQFLO7HVW��� Reference stencil value of stencil test, stencil mask data, and stencil test comparison function *GF6WHQFLO2SHUDWLRQ��� Stencil buffer update method *GF&RORU:ULWH0DVN��� Enable/disable write to memory of each color component *GF&RORU&RGH:ULWH0DVN��� Enable/disable write to memory of each bit of color code *GF6WHQFLO%XIIHU:ULWH0DVN��� Enable/disable write to stencil buffer *GF)RJ&RORU���� �� Fog color *GF)RJ7DEOH���� �� Selecting input parameter used for fog factor calculation, and fog factor table *GF7H[8QLW%OHQGHU0RGH� �� Setting input value of each texture unit, and pre-operation transformation processing for

input value *GF7H[%OHQGHU&RQVWDQW� �� Value referenced when GDC_CONSTANT is selected for input value of texture unit *GF=%XIIHU&OHDU9DOXH��� Value used when clearing the Z buffer *GF&OHDU)UDPH%XIIHU��� Clearing the current drawing frame *GF)UDPH%XIIHU&OHDU9DOXH��� Value used when clearing the frame buffer *GF&OHDU6WHQFLO%XIIHU��� Clearing the stencil buffer for the size of the current drawing frame *GF6WHQFLO%XIIHU&OHDU9DOXH��� Value used when clearing the stencil buffer

The functions marked as * are disabled for polygon drawing.

Page 45: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

45

FUJITSU CONFIDENTIAL

7DEOH�����E� � 'UDZLQJ�$WWULEXWH�IRU��'�*UDSKLFV��IRU�OLQH�JUDSKLFV��

$3,�IXQFWLRQ� 7DUJHW�DWWULEXWH�

*GF%DFN&RORU��� Background color for broken line *GF$WWU/LQH��� All specifiable attributes *GF/LQH3DWWHUQ��� Broken line pattern *GF/LQH:LGWK��� Line width

7DEOH�����F� � 'UDZLQJ�$WWULEXWH�IRU��'�*UDSKLFV��IRU�WULDQJOH�JUDSKLFV��

$3,�IXQFWLRQ� 7DUJHW�DWWULEXWH�

*GF$WWU6XUI��� All specifiable attributes

7DEOH�����G� � 'UDZLQJ�$WWULEXWH�IRU��'�*UDSKLFV��IRU�SRO\JRQ�JUDSKLFV��

$3,�IXQFWLRQ� 7DUJHW�DWWULEXWH�

*GF3RO\JRQ)ODJ%XIIHU$GGUHVV��� Origin address of the polygon drawing control buffer

Page 46: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

46

FUJITSU CONFIDENTIAL

(1) Specifying vertex coordinate array (*GF9HUWH[$UUD\�� function)

(3) Drawing graphics d (*GF'UDZ3ULPLWLYH�'�� function)�

(2)-1 Specifying color array (*GF&RORU$UUD\���function)�

(2)-2 Specifying texture coordinate array (*GF7H[&RRUG$UUD\�� function)�

(2)-3 Specifying fog coordinate array (*GF)RJ$UUD\�� function)�

(2)-4 Specifying alpha blending factor array (*GF$OSKD$UUD\�� function)

������ �'�*UDSKLFV�'UDZLQJ�3URFHGXUH�

The following describes how to specify 2D graphics. Drawing attribute must be set before performing the following procedure. There is no restriction on sequence of (1) and (2) below.

Perform the following as needed:

(1) Specifying vertex coordinate array (*GF9HUWH[$UUD\�� function)

Specifies the vertex coordinate of graphics drawn by the *GF'UDZ3ULPLWLYH�'�� function. (2)-1 Specifying color array (*GF&RORU$UUD\���function)

Sets the color array that is set for each vertex. When using the array specified by this function, use the *GF$WWU$UUD\�� function to enable color array. When color array is disabled, the value set by the *GF&RORUL�� function is used for drawing graphics.

(2)-2 Specifying texture coordinate array (*GF7H[&RRUG$UUD\�� function)

Sets the texture coordinate array that is set for each vertex. When using the array specified by this function, use the *GF$WWU$UUD\�� function to enable texture coordinate array. When texture is enabled and texture coordinate array is disabled, the value set by the *GF7H[&RRUG�'�� or *GF7H[&RRUG�'L���function is used for drawing graphics.

(2)-3 Specifying fog coordinate array (*GF)RJ$UUD\�� function)

Sets the fog coordinate array that is set or each vertex. When using the array specified by this function, use the *GF$WWU$UUD\�� function to enable fog coordinate array. When fog is enabled and fog coordinate array is disabled, the value set by the *GF)RJ&RRUG�� function is used for drawing graphics.

Page 47: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

47

FUJITSU CONFIDENTIAL

(2)-4 Specifying alpha blending factor array (*GF$OSKD$UUD\�� function)

Specifies the array for an alpha blending factor that is set for each vertex. When using the array specified by this function, use the *GF$WWU$UUD\�� function to enable alpha blending factor array. When color array is disabled, the blend mode set by the *GF$WWU/LQH�� or *GF$WWU6XUI�� function is used for drawing graphics. When color array is alpha blending or logical operation, the value set by the *GF$OSKDL�� function is used for drawing graphics. When color array is other than the above, the alpha component set by the *GF&RORUL�� function (the alpha component varies with color mode set by the *GF'UDZ'LPHQVLRQ�� function) is used for drawing graphics.

(3) Drawing graphics (*GF'UDZ3ULPLWLYH�'�� function)

Specifies the type of graphics to be drawn, the starting position of an array element of vertex coordinates, and the vertex count.

Page 48: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

48

FUJITSU CONFIDENTIAL

������ 'UDZLQJ�DWWULEXWH�IRU��'�JUDSKLFV�

7DEOH�����H�to 7DEOH�����K show the drawing attribute setting API used for each graphics, and the target attributes.

7DEOH�����H� � 'UDZLQJ�$WWULEXWH�IRU��'�*UDSKLFV��FRPPRQ�WR�DOO�W\SHV�RI�JUDSKLFV��

$3,�IXQFWLRQ� 7DUJHW�DWWULEXWH�

*GF&RORU ��� Drawing color *GF%DFN)DFH&RORU ���� �� Back face color *GF7H[&RRUG�'1 ��� Texture coordinate *GF7H[&RRUG�'1 ��� Texture coordinate *GF1RUPDO ��� Normal vector *GF)RJ&RRUG ��� Fog coordinate *GF%DFN)DFH$OSKD ���� �� Alpha blending factor for back face *GF$WWU$UUD\��� Enable/disable various vertex arrays *GF'UDZ&OLS)UDPH��� Clipping boundary coordinate *GF&OLS0RGH��� Enable/disable clipping *GF$OSKD ��� Alpha blending factor *GF5RS0RGH��� Logical operation mode *GF6KDGRZ;<��� Offset for shadow body *GF6KDGRZ&RORU��� Shadow color *GF6KDGRZ%DFN&RORU��� Background color of shadow *GF$WWU7H[WXUH��� Texture *GF7H[WXUH%RUGHU&RORU��� Texture border color *GF=%XIIHU$GGUHVV��� Z buffer origin address and precision of Z value *GF%OHQG)XQFWLRQ��� Calculation method for alpha blending ratio *GF$OSKD7HVW��� Reference alpha value and comparison function *GF%OHQG)XQFWLRQ0RGH��� Enable/disable blend function *GF$OSKD7HVW0RGH��� Enable/disable alpha test *GF6WHQFLO7HVW0RGH��� Enable/disable stencil test *GF6WHQFLO%XIIHU$GGUHVV��� Stencil buffer starting address and precision of stencil value *GF6WHQFLO7HVW��� Reference stencil value of stencil test, stencil mask data, and stencil test comparison function *GF6WHQFLO2SHUDWLRQ��� Stencil buffer update method *GF&RORU:ULWH0DVN��� Enable/disable write to memory of each color component *GF&RORU&RGH:ULWH0DVN��� Enable/disable write to memory of each bit of color code *GF6WHQFLO%XIIHU:ULWH0DVN��� Enable/disable write to stencil buffer *GF)RJ&RORU��� Fog color *GF)RJ7DEOH��� Fog coefficient table *GF6HOHFW)RJ3DUDPHWHU��� Selects the input parameters that are used to calculate the fog coefficient. *GF7H[8QLW%OHQGHU0RGH��� Setting input value of each texture unit, and pre-operation transformation processing for

input value *GF7H[%OHQGHU&RQVWDQW��� Value referenced when GDC_CONSTANT is selected for input value of texture unit *GF=%XIIHU&OHDU9DOXH��� Value used when clearing the Z buffer *GF&OHDU)UDPH%XIIHU��� Clearing the current drawing frame *GF)UDPH%XIIHU&OHDU9DOXH��� Value used when clearing the frame buffer *GF&OHDU6WHQFLO%XIIHU��� Clearing the stencil buffer for the size of the current drawing frame *GF6WHQFLO%XIIHU&OHDU9DOXH��� Value used when clearing the stencil buffer *GF*HR/RDG0DWUL[093 ��� Transformation matrix by modelview matrix and projection matrix *GF*HR9LHZSRUW7UDQV;< ��� Viewport transformation coefficient *GF*HR9LHZSRUW7UDQV'HSWK ��� Depth range

Page 49: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

49

FUJITSU CONFIDENTIAL

*GF*HR9LHZ9ROXPH;<&OLS ��� x and y coordinates for view volume clipping *GF*HR9LHZ9ROXPH=&OLS ��� z coordinate for view volume clipping *GF*HR9LHZ9ROXPH:PLQ&OLS ��� Minimum w value *GF*HR/RJ2XW%DVH$GGUHVV��� Starting address of log output destination of device coordinate *GF*HR/RJ2XW0RGH��� Log output mode of device coordinate *GF*HR/RDG0DWUL[09 ��� Modelview transformation matrix *GF*HR/RDG0DWUL[,09� ��� Modelview inverse conversion matrix *GF*HR9HUWH[1XPEHU$UUD\��� Array storing vertex number *GF*HR,QGH[0RGH��� DL transfer mode *GF*HR*OREDO/LJKW���� �� Color of global ambient light *GF*HR/LJKW���� �� Light source *GF*HR0DWHULDO���� �� Material color *GF*HR$WWU&RRUG7UDQV��� Attribute in coordinate transformation *GF*HR1RUPDO6FDOH���� �� Scaling factor of normal vector *GF*HR$WWU/LJKW���� �� Attribute in lighting

The functions marked as * are disabled when the color format set by the *GF'UDZ'LPHQVLRQ�� function is ARGB format (Coral-compatible mode).

7DEOH�����I� � 'UDZLQJ�$WWULEXWH�IRU��'�*UDSKLFV��IRU�OLQH�JUDSKLFV��

$3,�IXQFWLRQ� 7DUJHW�DWWULEXWH�

*GF%DFN&RORU��� Background color for broken line *GF$WWU/LQH��� All specifiable attributes *GF/LQH3DWWHUQ��� Broken line pattern *GF2YHUODS=��� Z value of a primitive drawn with either shadowed or bordered, or with both of them *GF%RUGHU&RORU��� Border color *GF%RUGHU%DFN&RORU��� Border background color *GF/LQH:LGWK��� Line width

7DEOH�����J� � 'UDZLQJ�$WWULEXWH�IRU��'�*UDSKLFV��IRU�WULDQJOH�JUDSKLFV��

$3,�IXQFWLRQ� 7DUJHW�DWWULEXWH�

*GF$WWU6XUI��� All specifiable attributes *GF2YHUODS=��� Z value of a primitive drawn with either shadowed or using top left non-applied mode, or

using both of them. *GF*HR$WWU6XUI��� All specifiable attributes

*: The “top-left rule” is the function to not draw a pixel, to avoid drawing the pixel at the leftmost end and top end of the graphics, respectively. Top-left rule not-applicable mode is the function to not apply the top-left rule and to draw exactly according to the user-specified coordinate.

7DEOH�����K� � 'UDZLQJ�$WWULEXWH�IRU��'�*UDSKLFV��IRU�SRO\JRQ�JUDSKLFV��

$3,�IXQFWLRQ� 7DUJHW�DWWULEXWH�

*GF3RO\JRQ)ODJ%XIIHU$GGUHVV��� Origin address of the polygon drawing control buffer *GF*HR$WWU6XUI��� All specifiable attributes *GF*HR3RO\JRQ2IIVHW��� Offset value used for polygon offset

Page 50: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

50

FUJITSU CONFIDENTIAL

������ �'�*UDSKLFV�'UDZLQJ�3URFHGXUH�

The following describes how to specify 3D graphics. Drawing attribute must be set before performing the following procedure. There is no restriction on sequence of (1) and (2) below.

(1) Specifying vertex coordinate array (*GF9HUWH[$UUD\�� function)

Specifies the vertex coordinate of graphics drawn by the *GF'UDZ3ULPLWLYH�'�� function. (2)-1 Specifying color array (*GF&RORU$UUD\���function)

Sets the color array that is set for each vertex. When using the array specified by this function, use the *GF$WWU$UUD\�� function to enable color array. When color array is disabled, the value set by the *GF&RORU ���function is used for drawing graphics.

(1) Specifying vertex coordinate array (*GF9HUWH[$UUD\�� function)

(3) Drawing graphics (*GF'UDZ3ULPLWLYH�'�� function)

(2)-2 Specifying texture coordinate array (*GF7H[&RRUG$UUD\�� function)

(2)-3 Specifying fog coordinate array (*GF)RJ$UUD\�� function)

(2)-6 Specifying normal vector array (*GF1RUPDO$UUD\�� function)

(2)-5 Specifying back face color array (*GF%DFN)DFH&RORU$UUD\�� function)

(2)-7 Specifying material color array (*GF*HR0DWHULDO$UUD\�� function)

(2)-4 Specifying alpha blending factor array (*GF$OSKD$UUD\�� function)

(2)-8 Specifying vertex number array (*GF*HR0DWHULDO$UUD\�� function)

(2)-1 Specifying color array (*GF&RORU$UUD\���function)

Perform the following as needed:

The following is enabled only in Coral mode:

The following is enabled only in OpenGL mode:

The following is enabled in the mode where the vertex number in the vertex parameter array is specified:

Page 51: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

51

FUJITSU CONFIDENTIAL

(2)-2 Specifying texture coordinate array (*GF7H[&RRUG$UUD\�� function) Sets the texture coordinate array that is set for each vertex. When using the array specified by this function, use the *GF$WWU$UUD\�� function to enable texture coordinate array. When texture is enabled and texture coordinate array is disabled, the value set by the *GF7H[&RRUG�'1 �� or *GF7H[&RRUG�'1 ���function is used for graphics.

(2)-3 Specifying fog coordinate array (*GF)RJ$UUD\�� function)

Sets the fog coordinate array that is set or each vertex. When using the array specified by this function, use the *GF$WWU$UUD\�� function to enable fog coordinate array. When fog is enabled and fog coordinate array is disabled, the value set by the *GF)RJ&RRUG �� function is used for graphics.

(2)-4 Specifying alpha blending factor array (*GF$OSKD$UUD\�� function)

Specifies the array for an alpha blending factor that is set for each vertex. When using the array specified by this function, use the *GF$WWU$UUD\�� function to enable alpha blending factor array. When color array is disabled, the value set by the *GF$OSKDL�� function is used for graphics.

(2)-5 Specifying back face color array (*GF%DFN)DFH&RORU$UUD\�� function)

Sets the back face color array that is set for each vertex. When using the array specified by this function, use the *GF$WWU$UUD\�� function to enable back face color array. When no culling is performed or when vertex color is enabled in the lighting processing and when back face color array is disabled, the value set by the *GF%DFN)DFH&RORU �� function is used for graphics.

(2)-6 Specifying normal vector array (*GF1RUPDO$UUD\�� function)

Sets the normal vector array that is set for each vertex. When using the array specified by this function, use the *GF$WWU$UUD\�� function to enable normal vector coordinate array. When lighting is enabled and normal vector array is disabled, the value set by the *GF1RUPDO �� function is used for graphics.

(2)-7 Specifying material color array (*GF*HR0DWHULDO$UUD\�� function)

Sets the material color array that is set for each vertex. When using the array specified by this function, use the *GF$WWU$UUD\�� function to enable this array. When lighting is enabled and material color array is disabled, the value set by the *GF*HR0DWHULDO �� function is used for drawing graphics.

(2)-8 Specifying vertex number array (*GF*HR9HUWH[1XPEHU$UUD\�� function)

Sets the array storing a sequence to load data from arrays. The set array is enabled when GDC_ELEMENT_MODE is selected by the *GF*HR,QGH[0RGH�� function. When GDC_ARRAY_MODE is selected, the array is not used. For operation when other modes are selected, see 6HFWLRQ�����,QGH[�5HIHUHQFH�'/�7UDQVIHU�0RGH.

(3) Drawing graphics (*GF'UDZ3ULPLWLYH�'�� function)

Specifies the type of graphics to be drawn, the starting position of an array element of vertex coordinates, and the vertex count.

Page 52: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

52

FUJITSU CONFIDENTIAL

������ +RZ�WR�8VH�9HUWH[�$UUD\�

The following describes how to use various arrays.

(a) 2D graphics drawing, and when GDC_ARRAY_MODE is set by the *GF*HR,QGH[0RGH�� function:

)LJ������D� � �

The starting position for using array element and the array element count to be used are determined by the values of first and count set by the *GF'UDZ3ULPLWLYH �� function. The value got by multiplying stride in the array divided by the data type in the appropriate array by first, is defined as the starting position. The array elements are set to vertices sequentially from the starting position for array element. (In the figure, stride in the coordinate array and in the color array is “16”; stride in the texture coordinate array is “8”.)

Starting position for array element

Page 53: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

53

FUJITSU CONFIDENTIAL

(b) When GDC_ELEMENT_MODE is set by the *GF*HR,QGH[0RGH���function:

)LJ������E� � �

The array element count to be used is determined by the count value set by the *GF'UDZ3ULPLWLYH�'�� function. The order in which array elements are used is determined by the vertex number array set by the *GF*HR9HUWH[1XPEHU$UUD\�� function.

Example: Vertex coordinate, color, and texture coordinate in the )LJ������E are respectively used in order of “3 → 1 → 5 → n”. (In the case when stride == 0, or 16)

Starting position for array element

Page 54: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

54

FUJITSU CONFIDENTIAL

(c) Stride

)LJ������F� � �

The stride of arrays is a value from a vertex to the starting of the data for the next vertex.

Example: In the DERYH�H[DPSOH, GDC_TYPE_VTX4F is set as the data format of the *GF9HUWH[$UUD\���function. If “32” is set to the stride, the vertex coordinate array in the )LJ������F�is used in the order of “2 → 4 → 6”.

Starting position for array element

GDC_VTX4F

Page 55: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

55

FUJITSU CONFIDENTIAL

(d) Shading

When using the color array elements set to the *GF&RORU$UUD\�� function, for each vertex of graphics, the used color array elements vary depending on whether the shading mode is flat shading or Gouraud shading.

)LJ������G� � �

For Gouraud shading, the array elements are used for each vertex (see the )LJ������G).

)LJ������H� � ;;;;;�

Starting position for array element

Starting position for array element

Page 56: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

56

FUJITSU CONFIDENTIAL

On the other hand, for flat shading, when GDC_COLOR_A_VTX is selected for unit by the *GF&RORU$UUD\�� function, the color array element for the last vertex in the graphics to be drawn is used for the whole of the graphics (see )LJ������H).

)LJ������I� � �

When GDC_COLOR_A_PRIM is selected for unit by the *GF&RORU$UUD\�� function, the color array element for the first vertex in the graphics to be drawn is used for the whole of the graphics (see )LJ������I).

Starting position for array element

Page 57: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

57

FUJITSU CONFIDENTIAL

���� 5HFWDQJOH�%LW�3DWWHUQ�'UDZLQJ�

This section describes how to set the drawing attribute of rectangle drawing and bit pattern drawing, and how to specify the graphics.

������ 'UDZLQJ�$WWULEXWHV�IRU�5HFWDQJOH�%LW�3DWWHUQ�'UDZLQJ�

7DEOH�����D and7DEOH�����E show APIs for setting drawing attributes and target drawing attributes for drawing rectangles and bit patterns.

7DEOH�����D� � 5HFWDQJOH�'UDZLQJ�$WWULEXWH�

$3,�IXQFWLRQ� 7DUJHW�DWWULEXWH�

*GF&RORUL��� Drawing color *GF$WWU%OW��� All specifiable attributes *GF&OLS0RGH��� Enable/disable clipping *GF'UDZ&OLS)UDPH��� Clipping boundary coordinate *GF$OSKDL��� Blending ratio of alpha blending *GF5RS0RGH��� Logical operation mode *GF%OW&RORU7UDQVSDUHQW��� Transparent color *GF%OW)RUP&RORU��� Forming color

7DEOH�����E� � %LW�3DWWHUQ�'UDZLQJ�$WWULEXWH�

$3,�IXQFWLRQ� 7DUJHW�DWWULEXWH�

*GF&RORUL��� Drawing color *GF%DFN&RORU��� Background color *GF$WWU%OW��� All specifiable attributes *GF&OLS0RGH��� Enable/disable clipping *GF'UDZ&OLS)UDPH��� Clipping boundary coordinate *GF%LW3DWWHUQ0RGH��� Scaling *GF$OSKDL��� Blending ratio of alpha blending *GF5RS0RGH��� Logical operation mode *GF%OW&RORU7UDQVSDUHQW��� Transparent color *GF%OW)RUP&RORU��� Forming color

������ 'UDZLQJ�3URFHGXUHV�IRU�5HFWDQJOH�%LW�3DWWHUQ�

For the rectangle and bit pattern drawing, specification of graphics is completed with specifying each corresponding API. Therefore, there is no other procedure, unlike primitive drawing.

Set the required drawing attributes using the drawing attribute setting functions shown in 6HFWLRQ������ and use the BLT functions or bit pattern drawing functions.

Page 58: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

58

FUJITSU CONFIDENTIAL

������ 'UDZLQJ�3URFHGXUH�IRU�5HFWDQJOH�%LW�3DWWHUQ�ZLWK�093�7UDQVIRUPDWLRQ�

There are functions to draw rectangle and bit pattern for the post-MVP-transformation coordinate. These functions draw rectangle and bit pattern to the position concentrating on the post-MVP transformation coordinate.

For rectangle and bit pattern drawing with MVP transformation, there is no drawing procedure, unlike primitive drawing because specification of graphics to be drawn is completed by a single API.

Set the required drawing attributes using the drawing attribute setting functions shown in 6HFWLRQ������ and use the BLT functions with MVP transformation or bit pattern drawing functions.

Page 59: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

59

FUJITSU CONFIDENTIAL

(1) Setting OpenGL mode (RGBA format) (*GF'UDZ'LPHQVLRQ�� function)

(3) Setting vertex parameter array (*GF*HR,QGH[$UUD\�� function)

(4) Enabling vertex parameter array (*GF*HR$WWU,QGH[$UUD\�� function)

(5) Setting index reference DL transfer mode (*GF*HR,QGH[0RGH�� function)

(6) Setting vertex number array (*GF*HR9HUWH[1XPEHU$UUD\�� function)

(7) Drawing graphics (*GF'UDZ3ULPLWLYH�'�� function and others)

(2) Loading vertex parameter array (*GF'LUHFW/RDG�� function)

���� ,QGH[�5HIHUHQFH�'/�7UDQVIHU�0RGH�

This section describes the drawing procedure performed in index reference DL transfer mode. Index reference DL transfer mode is function that stores each element of vertices in graphics memory in advance and specifies index numbers to help the Graphics Controller automatically read each element to draw.

)LJ������D� � 'UDZLQJ�3URFHGXUH�LQ�,QGH[�5HIHUHQFH�'/�7UDQVIHU�0RGH�

(1) Setting OpenGL mode (RGBA format) (*GF'UDZ'LPHQVLRQ�� function)

Use the *GF'UDZ'LPHQVLRQ function to set the input color format to the RGBA format (OpenGL mode). Index reference DL transfer mode can be used only in OpenGL mode.

(2) Loading vertex parameter array (*GF'LUHFW/RDG�� function)

Stores each vertex parameter array used in index reference DL transfer mode, in graphics memory. The *GF'LUHFW/RDG�� function directly loads (without using DL) the arrays to graphics memory.

(3) Setting vertex parameter array (*GF*HR,QGH[$UUD\�� function)

Sets vertex parameter array type, stride between vertex parameters, and vertex parameter format, for each vertex parameter array loaded in step (2).

(4) Enabling vertex parameter array (*GF*HR$WWU,QGH[$UUD\�� function)

Enables vertex parameter arrays used in index reference DL transfer mode.

Page 60: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

60

FUJITSU CONFIDENTIAL

(5) Setting index reference DL transfer mode (*GF*HR,QGH[0RGH�� function)

Enables index reference DL transfer mode. Index reference DL transfer mode includes two modes: Mode (GDC_INDEX_ELEMENT_MODE) that references vertex data by specifying a vertex number from a vertex parameter array, and the mode (GDC_INDEX_ARRAY_MODE) that references vertex data from the beginning (vertex number “0”) of a vertex parameter array.

(6) Setting vertex number array (*GF*HR9HUWH[1XPEHU$UUD\�� function

Sets an array storing the vertex number used in index reference DL transfer mode. When GDC_INDEX_ELEMENT_MODE is specified by the *GF*HR,QGH[0RGH�� function, the vertex number array specified by this *GF*HR9HUWH[1XPEHU$UUD\�� function is used.

(7) Drawing graphics (*GF'UDZ3ULPLWLYH�'�� function and others)

Draws graphics that uses index reference DL transfer mode.

Page 61: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

61

FUJITSU CONFIDENTIAL

(1) Specifying texture information table associated with context

(*GF6SHFLI\7H[WXUH7DEOH�� function)

(2) Loading texture image data (*GF/RDG7H[WXUH���function�and others)

(3) Storing texture image data (*GF7H[WXUH,PDJH�� function)

(4) Setting of texture attribute (*GF$WWU7H[WXUH�� function and others)

(5) Assignment of texture (*GF%LQG7H[WXUH�� function)

(6) Setting texture unit (*GF7H[8QLW%OHQGHU0RGH�� function and others)

(7) Enabling texture unit (*GF$WWU/LQH�� function and others)

(8) Setting texture coordinate (*GF7H[&RRUG$UUD\�� function and others)

(9) Drawing graphics (*GF'UDZ3ULPLWLYH�'�� function and others)

(10) Releasing texture (*GF5HOHDVH7H[WXUH�� function)

���� 7H[WXUH�0DSSLQJ�

This section describes procedures for texture mapping. ������ 7H[WXUH�0DSSLQJ�

)LJ������D� � 3URFHGXUH�IRU�7H[WXUH�0DSSLQJ�

(1) Specifying texture information table associated with context (*GF6SHFLI\7H[WXUH7DEOH�� function)

Assigns a texture information table to a context. The data area for the texture information table must be allocated by the user. Before setting the texture, always specify the texture information table.

Page 62: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

62

FUJITSU CONFIDENTIAL

(2) Loading texture image data (*GF/RDG7H[WXUH���function and others)

Loads texture image data to graphics memory. - When texture data is in uncompressed format, use the *GF/RDG7H[WXUH�� function or *GF/RDG7H[WXUH'LUHFW�� function. The *GF/RDG7H[WXUH'LUHFW�� function directly loads texture data to graphics memory without using DL.

- When texture data is in compressed format, use the *GF'LUHFW/RDG�� function. - For bilinear fast mode, use the *GF7H[WXUH/RDG([W��)DVW�� function.

(3) Storing texture image data (*GF7H[WXUH,PDJH�� function)

Stores texture image data in the texture information table that is set in step (1). (4) Setting texture attribute (*GF$WWU7H[WXUH�� function and others)

Sets the attribute of texture data in the texture information table that is set in step (1). Use the *GF$WWU7H[WXUH�� function to set texture attribute. Use the *GF7H[WXUH%RUGHU&RORU�� function to set a texture border color.

(5) Assigning texture (*GF%LQG7H[WXUH�� function)

Assigns texture data to a texture. For Carmine, two types of textures (TEXTURE0 and TEXTURE1) can be used.

(6) Setting texture unit (*GF7H[8QLW%OHQGHU0RGH�� function and others)

Sets a texture unit. “Texture unit” is a calculation unit to blend texture. Use the *GF7H[8QLW%OHQGHU0RGH�� function to set how to calculate the texture unit. Use the *GF7H[8QLW3DUDPHWHU�� function to set the input value of the texture unit. Also, use the *GF7H[%OHQGHU&RQVWDQW���function to set a constant referenced by the input value.

(7) Enabling texture unit (*GF$WWU/LQH�� function and others)

Enables the texture unit. For point/line drawing, use the *GF$WWU/LQH�� function to enable the texture unit; for triangle/polygon drawing, use the *GF$WWU6XUI�� function to enable the texture unit. Enabling the texture unit enables texture to be drawn.

(8) Setting texture coordinate (*GF7H[&RRUG$UUD\�� function and others)

Specifies a texture coordinate. (9) Drawing graphics (*GF'UDZ3ULPLWLYH�'�� function and others)

Draws graphics that uses texture mapping. (10) Releasing texture (*GF5HOHDVH7H[WXUH�� function)

Releases unnecessary texture image data from the texture information table.

Page 63: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

63

FUJITSU CONFIDENTIAL

������ 7H[WXUH�8QLW�

When drawing graphics using the texture mapping, enable a texture unit. The texture unit is an operating unit that operates in texture drawing. There are two types of blending units, texture unit1 and texture unit2 to blend two texture, texture0 and texture1. Both texture units can select between texture0 and texture1 as a source. However, always enable texture unit0 when using texture 0; always enable texture unit1 when using texture1. When both texture unit0 and 1 are enabled, the operation result is used for drawing. In addition, the operation result of the texture unit0 can be specified for source of texture unit1.

)LJ������E� � 8VH�([DPSOH�RI�7H[WXUH�8QLW� �

Texture 0

Texture unit

Texture unit

Texture 1

Texture table

Page 64: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

64

FUJITSU CONFIDENTIAL

����� 5HXVLQJ�'LVSOD\�/LVW�

When the DL buffer is reserved by the *GF5HVHUYH'/%XIIHU�� function, the same DL can be transferred to the Graphics Controller by the *GF)OXVK([�� function as many times as needed until the reservation is cancelled by the *GF8Q5HVHUYH'/%XIIHU�� function. This feature is used in the case that the graphics already drawn once needs to be drawn again. In this case, use the *GF)OXVK([�� function to specify the reserved DL buffer number.

������� &DXWLRQV�ZKHQ�UHXVLQJ�WKH�GLVSOD\�OLVW� �

The graphics at the point when the DL buffer is reserved is redrawn, and so reuse the display list only when drawing the same graphics.

����� *UDSKLFV�'UDZLQJ�LQ�0XOWLSURFHVV� �

This section describes the cautions and control to be exercised when drawing graphics in multiple processes/tasks.

������� 5HVHWWLQJ�'UDZLQJ�$WWULEXWH� �

The attribute set in the context is internally restored so that the setting set before the display list is transferred will remain even after the display list has been transferred. This enables the user to draw graphics in multi processes/tasks without being concerned about changes of attributes by other processes/tasks.

������� ([HFXWLQJ�+LJKHU�3ULRULW\�'UDZLQJ�

Some systems may want to execute a drawing as a priority, although there are queued display lists in drawing queue. This can be handled by creating several drawing queues in advance. When drawings have two levels of priority, for example ordinary drawing and higher priority drawing, add a drawing queue by using the *GF$GG'UDZ4XHXH�� function to provide two queues including the default queue. Use the default queue for an ordinary drawing processing and the added queue for the higher priority drawing. When the higher priority drawing is performed, switch the queue for transfer processing from the default queue to the added queue. After the higher priority drawing is completed, switch the queue for transfer processing back to the default queue.

Specify the queue for registering transfer processing by using the ;*GF6SHFLI\'UDZ4XHXH�� function. In addition, specify the queue for executing transfer processing by using the *GF6ZLWFK'UDZ4XHXH�� function.

Page 65: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

65

FUJITSU CONFIDENTIAL

The following shows an example of adding a drawing queue to draw using the queue.

/* Adds Draw Queue */ *GF$GG'UDZ4XHXH�(&drawq); /* Switch Draw Queue */ *GF6ZLWFK'UDZ4XHXH�(drawq); /* Sets Draw Queue */ *GF6SHFLI\'UDZ4XHXH�(ctx, drawq); /* Drawing */ GdcAttrSurf(ctx, GDC_SHADE_MODE, GDC_SHADE_FLAT); GdcVertexArray(ctx, GDC_TYPE_VTX3F, 3*sizeof(float), (void *)input_data); GdcDrawPrimitive3D(ctx, GDC_TRIANGLES, 0, 3); draw_id = GdcFlush(ctx); /* Wait for completion */ GdcWaitDrawComplete(draw_id); /* Switch to default queue */ *GF6ZLWFK'UDZ4XHXH�(0);

Page 66: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

66

FUJITSU CONFIDENTIAL

����� 1RWHV�RQ�&RPELQLQJ�'UDZLQJ�$3,�)XQFWLRQV�

Graphics are drawn by combining multiple API functions, and note that some care must be taken when combining the following API functions.

(1) Buffer clearing function, and *GF'UDZ'LPHQVLRQ�� function Functions to clear buffers � *GF&OHDU=%XIIHU�� function � *GF&OHDU)UDPH%XIIHU�� function � *GF&OHDU6WHQFLO%XIIHU�� function

The above functions clear the area the area of the same size as the drawing frame before being called, so call these functions after calling the *GF'UDZ'LPHQVLRQ function.

<Correct coding example>

*GF'UDZ'LPHQVLRQ���

*GF&OHDU=%XIIHU��

<Incorrect coding example>

/*The *GF'UDZ'LPHQVLRQ�� function is not called at all before calling the *GF&OHDU=%XIIHU���function.*/ *GF&OHDU=%XIIHU /* NG */ *GF'UDZ'LPHQVLRQ�

Page 67: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

67

FUJITSU CONFIDENTIAL

����� 9LGHR�&DSWXUH�

This section describes the procedures for video capture.

When using a digital video decoder connected via an I2C interface, initialize the digital video decoder by using the I2C control functions (API functions that start with *GF,�&) before executing video capture.

������� 9LGHR�&DSWXUH�3URFHGXUH�

The graphics controller can capture ITU-R BT656-and RGB-666-compliant video data. The video data is stored in the area (video capture buffer) in graphics memory allocated by the user and then is displayed.

There exits two video capture resources: input port capture0 and input port capture1. Of the two input ports, one is dedicated to the ITU RBT656 format, and the other is selectable for the RGB-666 and ITU RBT656 formats (see )LJ�������D� � &DSWXUH�,QSXW�3RUW. For details, refer to +DUGZDUH�6SHFLILFDWLRQ).

)LJ�������D� � &DSWXUH�,QSXW�3RUW�

displaycontroller 0

capturecontroller 0

capturecontroller 1

displaycontroller 1

656 only

RGB/656 selectable

Page 68: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

68

FUJITSU CONFIDENTIAL

The procedures for capturing video data are as follows:

)LJ�������E� � 3URFHGXUHV�IRU�&DSWXULQJ�9LGHR�

(1) Opening device (*GF6\V2SHQ�� function)

(2) Getting video capture resource (*GF&DS*HW5HVRXUFH�� function)

(3) Setting display of video capture image

(4) Setting video capture buffer (*GF&DS9LGHR&DSWXUH%XIIHU�� function)

(6) Setting area for video capture image (*GF&DS&DSWXUH$UHD�� function)

(8) Starting video capture (*GF&DS6WDUW9LGHR&DSWXUH�� function)

(9) Stopping video capture (*GF&DS6WRS9LGHR&DSWXUH�� function)

(10) Releasing video capture resource (*GF&DS5HO5HVRXUFH�� function)

(5) Setting video capture parameter

(7) Enabling vertical synchronization interrupt (*GF6\V,QWHUUXSW0DVN�� function)

Page 69: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

69

FUJITSU CONFIDENTIAL

(1) Opening device (*GF6\V2SHQ�� function) Opens the frame buffer device using the�*GF6\V2SHQ�� function once at the start of a process/task.

(2) Getting video capture resource (*GF&DS*HW5HVRXUFH�� function)

Gets the video capture resource using the *GF&DS*HW5HVRXUFH�� function. (3) Setting display video capture image

Data is written in the YCbCr format to the video capture buffer. Display in the YCbCr format is possible only in the L1 layer. Use the following display API to set display for the L1 layer: • Setting display frame attribute of L1 layer (*GF'LVS'LPHQVLRQ�� function) • Setting position and size of L1 layer (*GF'LVS6HW/D\HU3RV�� function) • Setting display mode of L1 layer (*GF'LVS6HW/D\HU6L]H�� function)

(4) Setting video capture buffer (*GF&DS9LGHR&DSWXUH%XIIHU�� function)

Sets the video capture buffer using the *GF&DS9LGHR&DSWXUH%XIIHU�� function. The video capture buffer must be of the following size, depending on the size of the image to be captured:

size = width * height * frmae

size: Required buffer size

width: Width of image to be captured

height: Height of image to be captured

frame: Count of frame

The starting address (saddr) and end address (eaddr) of the video capture buffer must be allocated on a 16-byte boundary and the width of 64-byte units. In addition, a value smaller for two rasters from the total count of rasters, must be set to the end address specified for the *GF&DS6HW9LGHR&DSWXUH%XIIHU�� function. Therefore, set the following value for the parameter eaddr of the *GF&DS6HW9LGHR&DSWXUH%XIIHU�� function.

eaddr = saddr + 64*stride*(height*frame-2)

saddr: Starting address (16-byte boundary)

stride: Buffer width (in units of 64 bytes)

height: Height of graphics to be captured

frame: Count of frame

As a result, the area from “saddr to (eaddr + 2 rasters)” is used as the video capture buffer.

Page 70: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

70

FUJITSU CONFIDENTIAL

(5) Setting video capture parameter Set the video capture parameters, using the *GF&DS6HW$WWU9LGHR�� function and the *GF&DS$WWU0LVF�� function. For details, see 6HFWLRQ�����9LGHR�&DSWXUH�&RQWURO�)XQFWLRQ.

(6) Setting area for video capture image (*GF&DS&DSWXUH$UHD�� function)

Sets the area for video capture image using the�*GF&DS&DSWXUH$UHD�� function. (7) Enabling vertical synchronization interrupt (*GF6\V,QWHUUXSW0DVN�� function)

The Access Library starts and/or stops capturing video capture using the vertical synchronization interrupt as a trigger. Therefore, when starting or stopping video capture, cancel the mask of the vertical synchronization interrupt before or after performing the procedure ��� and Procedure ���. Use the *GF6\V,QWHUUXSW0DVN�� function to cancel the mask of the vertical synchronization interrupt.

(8) Starting video capture (*GF&DS6WDUW9LGHR&DSWXUH�� function)

Starts video capture using the *GF&DS6WDUW9LGHR&DSWXUH�� function. For Coral-PA, if the vertical synchronization interrupt is masked when this function is called, the start of video capture is suspended until the mask of the vertical synchronization interrupt is cancelled. (To issue the vertical synchronization interrupt, the video signal must be output using the *GF'LVS2Q�� function.) The vertical synchronization interrupt can be masked after starting video capture. Use the *GF6\V:DLW96<1&�� function to suspend the start of video capture.

(9) Stopping video capture (*GF&DS6WRS9LGHR&DSWXUH�� function)

Stops capturing video using the *GF&DS6WRS9LGHR&DSWXUH�� function after capturing is completed. If the vertical synchronization interrupt is masked when this function is called, stopping of video capture is suspended until the mask of the vertical synchronization interrupt is cancelled. (To issue the vertical synchronization interrupt, the video signal must be output using the *GF'LVS2Q�� function.) The vertical sync interrupt can be masked after stopping video capture. Use the *GF6\V:DLW96<1&�� function to suspend the stopping of video capture.

(10) Releasing video capture resource (*GF&DS5HO5HVRXUFH�� function)

Releases the video capture resources using the *GF&DS5HO5HVRXUFH�� function.

Page 71: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

71

FUJITSU CONFIDENTIAL

������� 5*%�LQSXW�

When inputting RGB, set the following using the following corresponding APIs.

Set input format to RGB-666 (*GF&DS$WWU9LGHR�� function)

Set RGB input area (*GF&DS5*%,QSXW7LPLQJ�� function)

Set RGB input synchronization signal (*GF&DS5*%,QSXW6\QF�� function)

Set transformation matrix from RGB format to YCbCr format (*GF&DS5*%0DWUL[�� function)

������� 6FDOLQJ�

The graphics controller can scale the video-captured image to display. Follow the procedures below to scale the video-captured image.

)LJ�������F� � 6FDOLQJ�3URFHGXUHV�

(1) Setting the area of video capture image (*GF&DS&DSWXUH$UHD���function)

Sets the area of image to be video captured using the *GF&DS&DSWXUH$UHD�� function. (2) Setting display position of layer (*GF'LVS/D\HU3RV�� function)

Sets the display position of L1 layer using the�*GF'LVS/D\HU3RV�� function. (3) Setting display size of layer (*GF'LVS/D\HU6L]H�� function)

Sets the display size of L1 layer using the�*GF'LVS/D\HU6L]H�� function.

(2) Setting display position of layer (*GF'LVS/D\HU3RV�� function)

(1) Setting the area of video capture image (*GF&DS&DSWXUH$UHD���function)

(3) Setting display size of layer (*GF'LVS/D\HU6L]H�� function)

Page 72: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

72

FUJITSU CONFIDENTIAL

<Setting of video capture>

For the parameters to be set to the *GF&DS&DSWXUH$UHD�� function, set them according to the following figures: Using video capture allows the user to clip an arbitrary rectangular area from the image (original image) input to a device, and to scale (enlarge or reduce) the image and then display it. The size of the video capture buffer required for capturing video is determined by the size (src_w, src_h) of the image to be clipped. The area to be actually written to the buffer is specified using the coordinate at upper left (src_x0, src_y0) and at lower right (src_x1, src_y1) of the image to be clipped from the input image. Also, whether the image is enlarged or reduced is determined by specifying the size (dest_w, dest_h) of the enlarged or reduced image to be actually displayed. To set the above settings, use the *GF&DS&DSWXUH$UHD�� function.

)LJ�������G� � 9LGHR�&DSWXUH�&RRUGLQDWH�

dest_w

dest_h

src_w

src_h

src_x0 src_x1

src_y0

src_y1

Input image (original image)

Output image (displayed image)

Page 73: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

73

FUJITSU CONFIDENTIAL

������� $SSOLFDWLRQ�RI�,PDJH�WR�7H[WXUH�0DSSLQJ�

The video-captured image can be used for texture mapping by setting the following. Use the APIs for this setting.

Set the buffer mode of the video capture buffer to single buffer (*GF&DS$WWU0LVF�� function) Set the format for writing to the video capture buffer to RGB mode (*GF&DS$WWU0LVF���function)

Video-captured images are stored in RGB format in the video capture buffer. Therefore, when setting texture image data using the *GF7H[WXUH,PDJH�� function, set the starting address of the video capture buffer as the origin address of the texture data.

When using video-captured image only as a texture image, it is not necessary to specify the video capture buffer area for the L1 layer display frame.

Page 74: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

74

FUJITSU CONFIDENTIAL

����� (UURU�&KHFN�

If an error occurs when executing an Access Library API, the API function sets an error code and returns GDC_FALSE as a return value. Error codes can be got using the *GF*HW(UU&RGH�� function. The application must check errors based on this information if necessary. However, when an error occurs while executing the *GF&UHDW&RQWH[W�� function, and if the following processing continues, the process/task may hang. To prevent this problem, check for errors concerning the *GF&UHDW&RQWH[W�� function immediately after calling the function. For errors concerning graphics drawing APIs, check for them before transferring the display list. The following shows an example of error check.

/* Note: “…” denotes omission. Bold face denotes error check areas. */ /* DL buffer and display initialization part is omitted.

int ret;

int errcode;

GDC_ULONG draw_id

ret = GdcCreateContext(...); /* &UHDWH�D�FRQWH[W */

if(ret != GDC_TRUE){

/* (UURU�SURFHVVLQJ */

return GDC_FALSE;

}

GdcDrawDimension(...);/*Set a drawing frame */

/* Start drawing a rectangle */ GdcColori(...);

GdcAttrBlt(...);

GdcBltFill(...);

/* Error check in a drawing processing block of the rectangle */ errcode = GdcGetErrCode(...);/*Get an error code */

if(errcode == GDC_ERR_INVALID_ATTRIBUTE){

/* 3URFHVVLQJ�FRUUHVSRQGLQJ�WR�WKH�HUURU�FRGH */

:

}

draw_id = GdcFlush(...);/*Transfer a display list */

Page 75: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

75

FUJITSU CONFIDENTIAL

�� 'DWD�7\SH�

This chapter describes the data type used in the Access Library API

���� /LVW�RI�'DWD�7\SH�

7DEOH�����D shows the data types used in Access Library.

7DEOH�����D� � /LVW�RI�GDWD�W\SHV�

Type name Description GDC_UCHAR 8-bit unsigned integer GDC_SHORT 16-bit signed integer GDC_USHORT 16-bit unsigned integer GDC_LONG 32-bit signed integer GDC_ULONG 32-bit unsigned integer GDC_SFLOAT 32-bit single precision floating point (IEEE754 compliant) GDC_BOOL True or false (value of GDC_TRUE or GDC_FALSE) GDC_FIXED32 32-bit signed fixed point

(Sign part: 1 bit, integer part: 15 bits, and fraction part: 16 bits)

GDC_ENUM Symbol constant (unsigned int type) GDC_CTX Context GDC_COLOR32 32-bit color (32-bit unsigned integer) GDC_COLOR16 16-bit color (16-bit unsigned integer) GDC_IDX8 8-bit index color (equivalent to GDC_COL8 type of

Coral-PA) GDC_RGB3F Floating point type RGB structure GDC_RGB3X Fixed point RGB structure GDC_RGBA4F Floating point type RGBA structure GDC_RGBA4X Fixed point RGBA structure GDC_VTX2F Floating point type xy coordinate GDC_VTX2X Fixed point type xy coordinate GDC_VTX2I Integer type xy coordinate GDC_VTX2IP Packed integer type xy coordinate GDC_VTX 2X_U16 Fixed point type xy coordinate + Integer type z coordinate GDC_VTX3F Floating point type xyz coordinate GDC_VTX3X Fixed point type xyz coordinate GDC_VTX3I Integer type xyz coordinate GDC_VTX2IP_X Packed integer type xy coordinate + Fixed point type z

coordinate GDC_VTX4X Fixed point type xyzw coordinate GDC_VTX4F Floating point type xyzw coordinate GDC_TEX2I 2D integer type texture coordinate GDC_TEX2FN 2D floating point type normalized texture coordinate GDC_TEX2XN 2D fixed point type normalized texture coordinate GDC_TEX2X 2D fixed point type texture coordinate

Page 76: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

76

FUJITSU CONFIDENTIAL

GDC_TEX4FN 4D floating point type normalized texture coordinate GDC_TEX4XN 4D fixed point type normalized texture coordinate GDC_NMR3X 3D fixed point type normal vector GDC_NMR3F 3D floating point type normal vector GDC_TEXTURE_DATA Texture structure information structure GDC_DLBUF_STRUCT DL buffer structure information

Type name Description GDC_COLOR32 32-bit color (32-bit unsigned integer) GDC_IDX8 8-bit index color

Page 77: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

77

FUJITSU CONFIDENTIAL

���� 'DWD�)RUPDW� �

The following shows the internal formats of the data types defined in the Access Library.

������ GDC_FIXED32�����ELW�)L[HG�3RLQW!� �

This is a signed fixed point format represented by 1-bit sign part, 15-bit integer part, and 16-bit decimal part.

31 30 16 15 0

S I F

S: Sign part (1 bit) 0: Indicates that the value is a positive number or “0”. 1: Negative number

I: Integer part (15 bits) F: Decimal part (16 bits)

)LJ������D� � *'&B),;('���)RUPDW� �

������ 4GDC_CTX��&RQWH[W!�

A context is an area to store the execution state and the drawing attribute of the Access Library, and this area is allocated by the application side. The context is generated using the *GF&UHDWH&RQWH[W function. The context uses the system control functions, drawing control functions, and display list control functions, and so do not change the values in this area from the application (this area is managed by the Access Library, and so the description on the data structure is omitted).

Page 78: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

78

FUJITSU CONFIDENTIAL

������ GDC_COLOR32�����ELW�&RORU!� �

This is the color format in which a color value is represented by 32 bits. The bits to be used vary with the API functions and the color mode. For details, see the description on each API function. An example of specifying a vertex color of the primitive drawing via the *GF&RORUL function is shown below.

[32-bit color mode in RGBA format]

This is the color data where each of R, G, B and A is represented by 8 bits, respectively. 31 24 23 16 15 8 7 0

R G B A

A: Alpha bit (*1)

Specify the blend factor (0 to 255) of the vertex. (*1) Blend factor referenced when using the alpha Gouraud shading function when drawing triangle.

R, G, B: Specify the color value (0 to 255) of the red, green and blue of the vertex.

[16-bit color mode in RGBA format]

This is the color data where R, G, B and A are represented by 5551 bits, respectively. 31 16 15 11 10 6 5 1 0 R G B A

A: Alpha bit

The alpha bit has no meaning. R, G, B: Specify the color value (0 to 31) of the red, green and blue of the vertex.

[8-bit index color mode]

This is the data where the index code used when referencing the color palette is represented by bit0 to 7.

31 8 7 0

index code

index code: 8-bit color value

Specify the index code (0 to 255) that is used when referencing the color palette.

)LJ������E� � ([DPSOH�RI�GDC_COLOR32�)RUPDW� �

Page 79: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

79

FUJITSU CONFIDENTIAL

������ GDC_COLOR16�����ELW�&RORU!� �

This is the color format in which a color value is represented by 16 bits. The bits to be used vary with the color order. Data is given by 5 bits of each of R, G and B. The alpha bit (A) has no meaning.

[When the color order is in RGBA format] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

R G B A

[When the color order is in ARGB format] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

A R G B

)LJ������F� � GDC_COLOR16�)RUPDW� �

������ GDC_IDX8����ELW�&RORU!� �

This is the index code that references the 8-bit color palette. 7 0

Index code

Index code: Specify the index code (0 to 255) used when referencing the color palette.

)LJ������G� � GDC_IDX8�)RUPDW� �

������ GDC_RGB3F��)ORDWLQJ�3RLQW�7\SH�&RORU!� �

This is the color data in the following format. R, G and B are the value 0.0 to 1.0. GDC_RGB3F structure

typedef struct{

GDC_SFLOAT r; /* R */

GDC_SFLOAT g; /* G */

GDC_SFLOAT b; /* B */

} GDC_RGB3F

Page 80: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

80

FUJITSU CONFIDENTIAL

������ GDC_RGB3X��)L[HG�3RLQW�7\SH�&RORU!� �

This is the color data in the following format: GDC_RGB3X structure

typedef struct{

GDC_FIXED32 r; /* R */

GDC_FIXED32 g; /* G */

GDC_FIXED32 b; /* B */

} GDC_RGB3X

������ GDC_RGBA4F��)ORDWLQJ�3RLQW�7\SH�&RORU!� �

This is the color data in the following format. R, G, B and A are the value 0.0 to 1.0. GDC_RGBA4F structure

typedef struct{

GDC_SFLOAT r; /* R */

GDC_SFLOAT g; /* G */

GDC_SFLOAT b; /* B */

GDC_SFLOAT a; /* A */

} GDC_RGBA4F

������ GDC_RGBA4X��)L[HG�3RLQW�7\SH�&RORU!� �

This is the color data in the following format: GDC_RGBA4X structure

typedef struct{

GDC_FIXED32 r; /* R */

GDC_FIXED32 g; /* G */

GDC_FIXED32 b; /* B */

GDC_FIXED32 a; /* A */

} GDC_RGBA4X

Page 81: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

81

FUJITSU CONFIDENTIAL

������� GDC_VTX2F��)ORDWLQJ�3RLQW�7\SH�[\�&RRUGLQDWH!� �

This is the x,y vertex coordinate in the following format: GDC_VTX2F structure

typedef struct{

GDC_SFLOAT x; /* x coordinate */

GDC_SFLOAT y; /* y coordinate */

} GDC_VTX2F

������� GDC_VTX2X��)L[HG�3RLQW�7\SH�[\�&RRUGLQDWH!� �

This is the x,y vertex coordinate in the following format: GDC_VTX2X structure

typedef struct{

GDC_FIXED32 x; /* x coordinate */

GDC_FIXED32 y; /* y coordinate */

} GDC_VTX2X

������� GDC_VTX2I��,QWHJHU�7\SH�[\�&RRUGLQDWH!�

This is the x,y vertex coordinate in the following format. When using this data as a device coordinate, the value that can be set to x,y is -4096 to 4095. GDC_VTX2I structure

typedef struct{

GDC_LONG x; /* x coordinate */

GDC_LONG y; /* y coordinate */

} GDC_VTX2I

Page 82: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

82

FUJITSU CONFIDENTIAL

������� GDC_VTX2IP��3DFNHG�,QWHJHU�7\SH�[\�&RRUGLQDWH!� �

This is the x,y vertex coordinate in the following format. When using this data as a device coordinate, the value that can be set to x,y is -4096 to 4095.

31 16 15 0

Y X

X: x coordinate (signed 16-bit integer) Y: y coordinate (signed 16-bit integer)

)LJ������H� � GDC_VTX2IP�)RUPDW� �

������� GDC_VTX2X_U16��)L[HG�3RLQW�7\SH�[\�&RRUGLQDWH���,QWHJHU�7\SH�]�&RRUGLQDWH!� �

This is the x,y,z vertex coordinate in the following format: GDC_VTX2X_U16 structure

typedef struct{

GDC_FIXED32 x; /* x coordinate */

GDC_FIXED32 y; /* y coordinate */

GDC_USHORT z; /* z coordinate */

} GDC_VTX2X_U16

������� GDC_VTX3F��)ORDWLQJ�3RLQW�7\SH�[\]�&RRUGLQDWH!� �

This is the x,y,z vertex coordinate in the following format: GDC_VTX3F structure

typedef struct{

GDC_SFLOAT x; /* x coordinate */

GDC_SFLOAT y; /* y coordinate */

GDC_SFLOAT z; /* z coordinate */

} GDC_VTX3F

Page 83: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

83

FUJITSU CONFIDENTIAL

������� GDC_VTX3X �)L[HG�3RLQW�7\SH�[\]�&RRUGLQDWH!� �

This is the x,y,z vertex coordinate in the following format: GDC_VTX3X structure

typedef struct{

GDC_FIXED32 x; /* x coordinate */

GDC_FIXED32 y; /* y coordinate */

GDC_FIXED32 z; /* z coordinate */

} GDC_VTX3X

������� GDC_VTX3I��,QWHJHU�7\SH�[\]�&RRUGLQDWH!� �

This is the x,y,z vertex coordinate in the following format.

When using this data as a device coordinate, the value that can be set to x,y is -4096 to 4095. The value that can be set to “z” is 0 to 255 for 8-bit precision; 0 to 65535 for 16-bit precision; and 0 to 4294967295 for 16-bit precision. GDC_VTX3I structure

typedef struct{

GDC_LONG x; /* x coordinate */

GDC_LONG y; /* y coordinate */

GDC_ULONG z; /* z coordinate */

} GDC_VTX3I

������� GDC_VTX2IP_X��3DFNHG�,QWHJHU�7\SH�[\�&RRUGLQDWH���)L[HG�3RLQW�7\SH�]�&RRUGLQDWH!� �

This is the x,y,z vertex coordinate in the following format: GDC_VTX2IP_X structure

typedef struct{

GDC_VTX_2IP xy; /* x,y coordinate */

GDC_FIXED32 z; /* z coordinate*/

} GDC_VTX2IP_X

Page 84: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

84

FUJITSU CONFIDENTIAL

������� GDC_VTX4X��)L[HG�3RLQW�7\SH�[\]Z�&RRUGLQDWH!� �

This is the x,y,z,w vertex coordinate in the following format: GDC_VTX4X structure

typedef struct{

GDC_FIXED32 x; /* x coordinate */

GDC_FIXED32 y; /* y coordinate */

GDC_FIXED32 z; /* z coordinate */

GDC_FIXED32 w; /* w coordinate */

} GDC_VTX4X

������� GDC_VTX4F��)ORDWLQJ�3RLQW�7\SH�[\]Z�&RRUGLQDWH!� �

This is the x,y,z,w vertex coordinate in the following format: GDC_VTX4F structure

typedef struct{

GDC_SFLOAT x; /* x coordinate */

GDC_SFLOAT y; /* y coordinate */

GDC_SFLOAT z; /* z coordinate */

GDC_SFLOAT w; /* w coordinate */

} GDC_VTX4F

������� GDC_TEX2I��,QWHJHU�7\SH�7H[WXUH�&RRUGLQDWH!� �

This is the s,t texture coordinate in the following format: GDC_TEX2I structure

typedef struct{

GDC_LONG s; /* s coordinate */

GDC_LONG t; /* t coordinate */

} GDC_TEX2I

Page 85: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

85

FUJITSU CONFIDENTIAL

������� GDC_TEX2FN��)ORDWLQJ�3RLQW�7\SH�1RUPDOL]HG�7H[WXUH�&RRUGLQDWH!� �

This is the s,t texture coordinate in the following format. s and t are values normalized in the range of 0.0 to 1.0. GDC_TEX2FN structure

typedef struct{

GDC_SFLOAT s; /* s coordinate */

GDC_SFLOAT t; /* t coordinate */

} GDC_TEX2FN

������� GDC_TEX2XN��)L[HG�3RLQW�7\SH�1RUPDOL]HG�7H[WXUH�&RRUGLQDWH!� �

This is the s,t texture coordinate in the following format. s and t are values normalized in the range of 0.0 to 1.0 in the fixed point representation. GDC_TEX2XN structure

typedef struct{

GDC_FIXED32 s; /* s coordinate */

GDC_FIXED32 t; /* t coordinate */

} GDC_TEX2XN

������� GDC_TEX2X���'�)L[HG�3RLQW�7\SH�7H[WXUH�&RRUGLQDWH!� �

This is the s,t texture coordinate in the following format: GDC_TEX2X structure

typedef struct{

GDC_FIXED32 s; /* s coordinate */

GDC_FIXED32 t; /* t coordinate */

} GDC_TEX2X

Page 86: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

86

FUJITSU CONFIDENTIAL

������� GDC_TEX4FN���'�)ORDWLQJ�3RLQW�7\SH�1RUPDOL]HG�7H[WXUH�&RRUGLQDWH!� �

The following s, t and q are values normalized in the range of 0.0 to 1.0. The value that has been set for “r” is not used. GDC_TEX4FN structure

typedef struct{

GDC_SFLOAT s; /* s coordinate */

GDC_SFLOAT t; /* t coordinate */

GDC_SFLOAT r; /* r coordinate */

GDC_SFLOAT q; /* q coordinate */

} GDC_TEX4FN

������� GDC_TEX4XN���'�IL[HG�SRLQW�W\SH�QRUPDOL]HG�WH[WXUH�FRRUGLQDWH!� �

The following s, t and q are values normalized in the range of 0.0 to 1.0 in the fixed point representation. The value set to “r” is not used. GDC_TEX4XN structure

typedef struct{

GDC_FIXED32 s; /* s coordinate */

GDC_FIXED32 t; /* t coordinate */

GDC_FIXED32 r; /* r coordinate */

GDC_FIXED32 q; /* q coordinate */

} GDC_TEX4XN

Page 87: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

87

FUJITSU CONFIDENTIAL

������� GDC_NMR3X���'�)L[HG�3RLQW�7\SH�1RUPDO�9HFWRU!� �

This is the nx, ny and nz normal vectors in the following format: GDC_NMR3X structure

typedef struct{

GDC_FIXED32 nx; /* nx coordinate*/

GDC_FIXED32 ny; /* ny coordinate */

GDC_FIXED32 nz; /* nz coordinate */

} GDC_NMR3X

������� GDC_NMR3F���'�IORDWLQJ�SRLQW�W\SH�QRUPDO�YHFWRU!� �

This is the nx, ny and nz normal vectors in the following format: GDC_NMR3F structure

typedef struct{

GDC_SFLOAT nx; /* nx coordinate */

GDC_SFLOAT ny; /* ny coordinate */

GDC_SFLOAT nz; /* nz coordinate */

} GDC_NMR3F

������� GDC_TEXTURE_DATA��7H[WXUH�6WUXFWXUH�,QIRUPDWLRQ�6WUXFWXUH!� �

The data structure of the texture structure information structure, and the setting of each parameter are shown below. GDC_TEXTURE_DATA structure

typedef struct{

GDC_ULONG adrs; /* Offset address where texture data is stored */

GDC_ULONG size; /* Size of texture image data */

GDC_ULONG base_data; /* Texture base information */

GDC_ULONG state_data; /* Texture state information */

GDC_ULONG border_color; /* Border color */

GDC_ENUM entry_flag; /* Empty state flag */

} GDC_TEXTURE_DATA

Page 88: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

88

FUJITSU CONFIDENTIAL

[Setting of each parameter]

adrs Offset address where texture data is stored

size Size of texture image data

base_data Texture base information

� Pixel format of texture

� Compression format of texture

� Information on bilinear fast mode

� Texture type

� Selection of texture or tile

7DEOH�����D� � &RQWHQWV�RI�0HPEHU�base_data� �

Bit[0-3] Texture pixel format 000: 8-bit palette code assuming the palette code

001: 16-bit color code where each of the R, G and B components is 5 bits and the A component is 1 bit

010: 32-bit color code where each of the R, G, B and A components is 8 bits 011: 16-bit color code where R is 5 bits, G is 6 bits, and B is 5 bits 100: 16-bit color code where each of the R, G, B and A components is 4 bits 101: 16-bit value assuming LUMINANCE_ALPHA Bit[8-9] Texture compression format 00: Non-compression format 01: Compression format

10: 4-bit palette code format

11: 8-bit palette code format Bit[15] Information on bilinear fast mode 0: Normal format 1: Format for bilinear fast mode Bit[16-18] Texture type 000: ALPHA (Assumes 8 bits/pixel.) 001: LUMINANCE (Assumes 8 bits/pixel.)

010: LUMINANCE_ALPHA (Assumes 8 bits/pixel for LUMINANCE, and assumes 16 bits/pixel for ALPHA.)

011: INTENSITY (Assumes 8 bits/pixel.) 100: RGB (Assumes 16-bit color code or 32-bit color code.) 101: RGBA (Assumes 16-bit color code or 32-bit color code.) Bit[31] Selection of texture or tile 0: Referenced as texture. 1: Referenced as tile.

state_data Texture state information

� Information on filtering mode

� Information on wrapping mode

� Information on perspective correction

Page 89: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

89

FUJITSU CONFIDENTIAL

7DEOH�����E� � &RQWHQWV�RI�0HPEHU�state_data� �

Bit[0] Information on perspective correction 0: Does not perform perspective correction. 1: Performs perspective correction. Bit[4-6] Interpolation method used when reducing the texture 000: Point sampling 001: Bilinear filtering 010: Mipmap 011: Bilinear filtering, mipmap 110: Interpolates between mipmaps. 111: Trilinear filtering Bit[8] Interpolation method used when enlarging the texture 0: Point sampling 1: Bilinear filtering Bit[24-27] T-direction texture coordinate wrapping method 0000: Clamp to edge 0001: Repeat 0010: Border 0011: Clamp 0100: Mirrored repeat Bit[28-31] S-direction texture coordinate wrapping method 0000: Clamp to edge 0001: Repeat 0010: Border 0011: Clamp 0100: Mirrored repeat

border_color� Texture border color

entry_flag Availability flag

GDC_TRUE In use GDC_FALSE Free

Page 90: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

90

FUJITSU CONFIDENTIAL

������� GDC_DLBUF_STRUCT��'/�%XIIHU�6WUXFWXUH�,QIRUPDWLRQ!� �

DL buffer structure information is used by the *GF&UHDWH&RQWH[W function to register the DL buffer structure in the context.

The data structure of the DL buffer structure information and the setting of each parameter are shown below. GDC_DLBUF_STRUCT structure

typedef struct{

GDC_ULONG *base; /* DL buffer starting address */

GDC_ULONG size; /* DL buffer size */

GDC_ULONG *top; /* Starting address to which DL is written */

GDC_ULONG *bottom; /* End address to which DL is written +1 */

GDC_ULONG *cur; /* Address to which display list is written */

GDC_ULONG draw_id; /* Drawing number */

GDC_ULONG flags; /* Flag set */

GDC_ULONG backup_reg_mem_adrs; /* Starting address of area to which register is saved */

GDC_ULONG offset_base; /* DL buffer starting offset address */

GDC_ENUM mem_type; /* Type of area where the DL buffer is allocated */

GDC_ULONG ext_data; /* Extended data area */

} GDC_DLBUF_STRUCT;

[Setting of each parameter] base

The starting address of the DL buffer is set to this parameter. The user must not change the value of this variable.

size

The size of the DL buffer is specified for this parameter. Specify the size in units of bytes. top

Starting address to which display list is written is set to this parameter. The user must not change the value of this variable.

bottom

Address of “end address to which DL is written +1” is set to this parameter. The user must not change the value of this variable.

cur

The next address to which the display list is written is set by the API function. The user must not change the value of this variable.

Page 91: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

91

FUJITSU CONFIDENTIAL

draw_id

The drawing number when the *GF)OXVK function has transferred the display list stored in the concerned DL buffer, is set to this parameter. The drawing number is used check whether or not the Access Library can use the concerned DL buffer as the current one. By checking the completion of the drawing for the concerned drawing number via the *GF3ROO'UDZ&RPSOHWH�� function, it is checked whether the display list stored in the concerned DL buffer can be discarded. The initial value is “0”. The user must not change the value of this variable.

flags

This parameter is a set of flags. Each bit is a functionally independent flag. The meaning of each bit is as follows. bit0 (least significant bit) / Reserved flag:

Indicates whether or not the DL buffer has been reserved by the *GF5HVHUYH'/%XIIHU function. When this bit is “1”, it means that the DL buffer has been reserved.

bit1 / DL continuation flag:

Indicates the state of the display list in the DL buffer. When this bit is “0”, it means that the DL buffer is empty or the entire display list has been stored in it; in the latter case, it is possible to execute the *GF)OXVK([ function. When this bit is “1”, it means the display list has been divided into multiple DL buffers, and thus the�*GF)OXVK([ function cannot be executed. This bit is set to “0” when the DL buffer is set to “the current DL buffer”.

bit2 to 31

Currently, unused. The user must not change the value of this variable.

backup_reg_mem_adrs

The starting address of area to which register value of the register is saved to restore the attribute, is set to this parameter. This parameter is set inside the *GF&UHDWH&RQWH[W function, for each DL buffer. The user must not change the value of this variable.

offset_base

DL buffer starting offset address is set to this parameter.

mem_type

Type of area where the DL buffer is allocated is set to this parameter. Specify GDC_MEM_TYPE_VRAM.

ext_data

This parameter is a variable that the application can freely use. Use it when, for example, adding the information on the DL buffer. The Access Library does not reference or set this variable.

Page 92: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

92

FUJITSU CONFIDENTIAL

�� $3,�5HIHUHQFH�

This chapter describes the interface of the API function.

The description format is as follows: >)RUPDW@�

Function prototype declaration >$UJXPHQW@�

Description of arguments

“Default” in the description means values set during initialization of Access Library. >5HWXUQ�YDOXH@�

Return values and their descriptions >(UURU�FRGH@�

Error code and its name when a function terminated abnormally (when return value is GDC_FALSE, and processing returns).

There is no description when a function has no return value.

Some functions have undefined error codes, even if their return values are defined for functions for future expansion.

>'HVFULSWLRQ@�

Description of a function >1RWH@�

Note

This space will be blank when there is no note.

Page 93: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

93

FUJITSU CONFIDENTIAL

���� 6\VWHP�)XQFWLRQ�

������ *GF6\V2SHQ����2SHQLQJ�*UDSKLFV�&RQWUROOHU!�

>)RUPDW@�

GDC_BOOL *GF6\V2SHQ (

void GHYLFH, void IG

) >$UJXPHQW@�

device Pointer to device Specify “NULL”.

fd Pointer to the area that stores file descriptor (OUT) 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_INVALID_PARAMETER Invalid parameter NULL was specified for a pointer of the argument fd.

GDC_ERR_ENV_OPEN_FAILED� � Error occurred when opening the device. GDC_ERR_ENV_GETSYSTEMINF_FAILED� Error occurred when getting graphics system

information. GDC_ERR_ENV_MEMMAP_FAILED� � Error occurred when mapping memory. GDC_ERR_ENV_LOCKCREATE_FAILED� � Error occurred when creating lock.�GDC_ERR_ENV_INTERNAL� Internal error occurred.�

>'HVFULSWLRQ@�

This function opens the Graphics Controller device, gets graphics system information, maps graphics memory and registers, and initializes exclusive control.

Always call this function first at each process/task that uses the Access Library.

If this function is called when it has already opened the Graphics Controller in the same process, the function does not open. Instead, this function sets the file descriptor of when it opened the Graphics Controller previously, to fd.

>1RWH@�

Input format of the argument device may vary depending on how the environment-dependent part was implemented.

Page 94: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

94

FUJITSU CONFIDENTIAL

������ *GF6\V&ORVH����&ORVLQJ�*UDSKLFV�&RQWUROOHU!�

>)RUPDW@�

GDC_BOOL *GF6\V&ORVH (void *IG) >$UJXPHQW@�

IG� File descriptor Specify a file descriptor that was got by the *GF6\V2SHQ�� function other than “NULL”.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for a pointer of the argument fd.

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ���function is not called. GDC_ERR_ENV_MUNMAP_FAILED Error occurred when unmapping memory. GDC_ERR_ENV_LOCKRELEASE_FAILED Error occurred when releasing lock. GDC_ERR_ENV_CLOSE_FAILED Error occurred when closing the device. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function unmaps the graphics memory and registers, terminates exclusive control, and closes the Graphics Controller device.

Always call this function at the end of each process/task that uses the Access Library.

Specify a file descriptor got by the *GF6\V2SHQ���function for the argument fd. >1RWH@�

When an error code other than GDC_ERR_ ENV _CLOSE_FAILED�is provided, which means the device is closed.

Page 95: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

95

FUJITSU CONFIDENTIAL

������ *GF6\V4XHU\&KLS,QIR����4XHU\LQJ�*UDSKLFV�&RQWUROOHU�,QIRUPDWLRQ!�

>)RUPDW@�

GDC_BOOL *GF6\V4XHU\&KLS,QIR (GDC_ULONG NH\��GDC_ULONG LQIR) >$UJXPHQW@�

key� Type of Information to be got on the Graphics Controller

info� Pointer to area that stores information on the Graphics Controller (OUT) 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for a pointer of argument key or info.

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ���function is not called. >'HVFULSWLRQ@�

The following parameters can be specified for key, and the following information can be got for info:

When information fails to be got for info, GDC_INFO_ERROR is stored for info irrespective of the parameter specified for key.

key�(IN)� info�(OUT)�

*'&B,1)2B*'&B7<3(� Type of the Graphics Controller�*'&B7<3(B0%������ Carmine

*'&B,1)2B),50B3,;(/� Pixel firmware version (The version format is shown in the figure below.)�

*'&B,1)2B),50B*(2� Geometry firmware version (The version format is shown in the figure below.)�

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Version Release 0 0

)LJ������D� � 9HUVLRQ�)RUPDW�

Page 96: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

96

FUJITSU CONFIDENTIAL

*'&B,1)2B95$0B%$6(� Base address of graphics memory

*'&B,1)2B95$0B6,=( Graphics memory size that the user can use

*'&B,1)2B95$0B2))6(7 Offset address from the starting of graphics memory that the user can use

)LJ������E� � *UDSKLFV�0HPRU\�,QIRUPDWLRQ�

>1RWH@�

How to map and how to use graphics memory vary depending on the Graphics Controller that the user uses.

Carmine maps graphics memory and registers to different areas respectively. Therefore information got using this function refers to only graphics memory.

Carmine allocates firmware used by the Graphics Controller to graphics memory. Therefore information got using this function is only that the user can use.

*'&B,1)2B95$0B2))6(7

*'&B,1)2B95$0B6,=(�

*'&B,1)2B95$0B%$6( System area

Graphics memory that the user can use.

All graphics memory areas

Page 97: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

97

FUJITSU CONFIDENTIAL

������ *GF6\V6RIWZDUH5HVHW����6RIWZDUH�5HVHW!�

>)RUPDW@�

GDC_BOOL *GF6\V6RIWZDUH5HVHW (void) >$UJXPHQW@�

None >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ���function is not called.�GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function performs a software reset. >1RWH@�

For details, refer to +DUGZDUH�0DQXDO�of the Graphics Controller to be used.

Page 98: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

98

FUJITSU CONFIDENTIAL

������ *GF6\V,QWHUUXSW0DVN����6HWWLQJ�,QWHUUXSW�0DVN!�

>)RUPDW@�

GDC_BOOL *GF6\V,QWHUUXSW0DVN (GDC_ULONG PDVN) >$UJXPHQW@�

mask Mask pattern (The following are for Carmine.) 0xXXXXXXXX

Each bit has the following meaning: 0: Mask ON 1: Mask OFF

Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

Name Reserve DLL

(ALM_U)

MASK

DLL

(Ulock2)

MASK

DLL

(ALM_L)

MASK

DLL

(Unlok1)

MASK

PLL

(Unlock)

MASK

PCI

(INTA#)

MASK

PCI

(AHB-E)

MASK

AHB2

HBUS(E)

MASK

AHB2

AXI(WE)

MASK

AHB2

AXI(RE)

NASK

MBUS2

AXI(WE)

MASK

Initial 0 0 0 0 0 0 0 0 0 0 0 0

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Name MBUS2

AXI(RE)

MASK

I2C

MASK

DRAMC

MASK

2D/3D(E)

MASK

2D/3D

MASK

WB

MASK

DISP1

Register update

DISP1

Sync Error

DISP1

Frame Sync

DISP1

VSYNC

DISP0

Register update

DISP0

Sync Error

DISP0

Frame Sync

DISP0

VSYNC

CAP1

MASK

CAP0

MASK

Initial 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0

)LJ������F� � ,QWHUUXSW�0DVN�3DWWHUQ�

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function writes a value of mask pattern mask to the IMASK (Interrupt MASK) register and disables an interrupt to the corresponding bit position.

>1RWH@�

When “Cancel → Setting → Cancel” is executed for the corresponding INT MASK while the INT is being asserted, the INT detector is reset and any INT is detected even though it is not a new INT.

Changing setting using this function affects all processes/tasks. If use this function is used in multiple processes/tasks, which may cause an unexpected operation.

For details, refer to +DUGZDUH�0DQXDO�of the Graphics Controller to be used.

Page 99: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

99

FUJITSU CONFIDENTIAL

������ *GF6\V:DLW96<1&����:DLWLQJ�IRU�96<1&�,QWHUUXSW!�

>)RUPDW@�

GDC_BOOL *GF6\V:DLW96<1& (GDC_ENUM GLVSOD\) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

� *'&B',63B',63/$<B��� ��� Display 1 >5HWXUQ�YDOXH@�

GDC_TRUE� Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called.�GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function waits for generation of VSYC interrupt and returns. To generate VSYNC interrupt, unmask the VSYNC interrupt to enable video signal output. To unmask the interrupt and to output the video signal, use the *GF6\V,QWHUUXSW0DVN�� function and the *GF'LVS2Q�� function, respectively.

Page 100: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

100

FUJITSU CONFIDENTIAL

������ *GF6\V:DLW1RWLI\����:DLWLQJ�IRU�,QWHUUXSW�1RWLILFDWLRQ!�

>)RUPDW@�

GDC_BOOL *GF6\V:DLW1RWLI\�(GDC_ULONG IDFWRU) >$UJXPHQW@�

factor Interrupt factor (one of the following)

*'&B,17B&$3B�� VSYNC of capture0�*'&B,17B&$3B�� VSYNC of capture1�*'&B,17B)6<1&B�� FSYNC of display0�*'&B,17B)6<1&B�� FSYNC of display1�*'&B,17B:%� End of writeback operation�*'&B,17B,�&� I2C�

*'&B(55B32:(5'2:1 Power down *'&B(55B'5$:� Drawing error occurred. *'&B(55B(;76<1&B�� External synchronization error occurred. (display

part 0)�*'&B(55B(;76<1&B�� External synchronization error occurred. (display

part 1)�*'&B(55B'5$0B&75/� Error occurred in DRAM controller.�*'&B(55B3//B81/2&.� Unlock occurred in PLL.�*'&B(55B'//B81/2&.B�� Unlock occurred in DLL1.�*'&B(55B'//B$/0B�� Operation error occurred in DLL for MDQS3 to 0.�*'&B(55B'//B81/2&.B�� Unlock occurred in DLL2.�*'&B(55B'//B$/0B�� Operation error occurred in DLL for MDQS7 to 4.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE� Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ���function is not called. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

factor. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function waits for a notification of interrupt factor generation specified using the argument factor. Multiple factors can be specified by logical add (OR). When any of the specified factors occurs, this function receives the notification and returns.

Page 101: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

101

FUJITSU CONFIDENTIAL

������ *GF6\V$OORF95$0����$OORFDWLQJ�*UDSKLFV�0HPRU\!�

>)RUPDW@�

GDC_BOOL *GF6\V$OORF95$0 (

GDC_ULONG VL]H��

GDC_ULONG *�DGGU�)

>$UJXPHQW@�

size Graphics memory size to be allocated (Byte count) 0x00000001 to 0xffffffff

addr� Pointer to area that stores offset address from the starting of graphics memory (OUT) 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� is not called. GDC_ERR_MEM_ALLOC_FAILED Error occurred when allocating graphics

memory. GDC_ERR_INVALID_PARAMETER “0” was specified for an argument size, or

invalid parameter was specified for a pointer of an argument addr.

*'&B(55B(19B,17(51$/ Internal error occurred. >'HVFULSWLRQ@�

This function allocates graphics memory.

Specify graphics memory size (byte count) to be used for the argument size. If empty area for the size is allocated, this function stores the starting position of the area for the addr, as an offset address value from the starting of graphics memory.

The size can be specified from, at minimum 1 byte, but the returned offset address is aligned on 64 bytes. To free the area allocated by this function, use the *GF6\V)UHH95$0�� function.

>1RWH@�

For the parameter range of the size, its maximum/minimum value may be restricted according to the system to be used.

This function does not reallocate the already allocated area and empty area.

Page 102: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

102

FUJITSU CONFIDENTIAL

������ *GF6\V)UHH95$0����)UHHLQJ�*UDSKLFV�0HPRU\!�

>)RUPDW@�

GDC_BOOL *GF6\V)UHH95$0 (GDC_ULONG DGGU) >$UJXPHQW@�

addr Offset address of area to be freed Offset address of the starting of empty area allocated by the *GF6\V$OORF95$0�� function

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� is not called. GDC_ERR_INVALID_PARAMETER addr is not the offset address allocated by the

*GF6\V$OORF95$0�� function. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function frees the area allocated by the *GF6\V$OORF95$0�� function.

Specify an offset address of the starting of empty area allocated by the *GF6\V$OORF95$0�� function for the argument addr.

Page 103: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

103

FUJITSU CONFIDENTIAL

������� *GF6\V4XHU\&KLS,'����4XHU\LQJ�&KLS�,'!�

>)RUPDW@�

GDC_BOOL *GF6\V4XHU\&KLS,'�(

GDC_ULONG * FKLSBQR, GDC_ULONG * YHUVLRQ�

) >$UJXPHQW@�

chip_no Pointer to area that stores a chip number (OUT) 0xXXXXXXXX Valid value in a system using other than “NULL”

version Pointer to area that stores a chip version number (OUT) 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for pointers of arguments chip_no and version.

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function returns a chip number and a chip version number.

Input numeric values to the chip number and the chip version number.

For details on each number, refer to +DUGZDUH�0DQXDO�of the Graphics Controller to be used.

Page 104: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

104

FUJITSU CONFIDENTIAL

������� *GF6\V4XHU\9HUVLRQ����4XHU\LQJ�9HUVLRQ�1XPEHU!�

>)RUPDW@�

GDC_BOOL *GF6\V4XHU\9HUVLRQ (

GDC_ULONG * YHUVLRQ, GDC_ULONG * OHYHO�

) >$UJXPHQW@�

version Pointer to area that stores a version number (OUT) 0xXXXXXXXX Valid value in a system using other than “NULL”

level Pointer to area that stores a level number (OUT) 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for pointers of arguments version and level.

>'HVFULSWLRQ@�

This function returns a version number and a level number of Access Library.

Input numeric values to the version number and level number.

For example, when this function is called when the version number is “3” and the level number is “1”, the following numbers are input to each argument as follows:

* YHUVLRQ = 3

* OHYHO = 1

Page 105: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

105

FUJITSU CONFIDENTIAL

������� *GF6\V0DOORF����$OORFDWLQJ�0DLQ�0HPRU\!�

>)RUPDW@�

GDC_BOOL *GF6\V0DOORF�(GDC_ULONG VL]H� void **�DGGU)

>$UJXPHQW@�

size� Memory area size to be allocated. 0xXXXXXXXX Valid value in system that uses other than “0”

addr Pointer to area that stores the starting address of the memory area (OUT) 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_INVALID_PARAMETER “0” was specified for an argument size, or invalid parameter was specified for a pointer of an argument addr.

GDC_ERR_MALLOC_FAILED An error occurred when allocating main memory. >'HVFULSWLRQ@�

This function allocates main memory area of the specified size. To free the memory area allocated by this function, use the *GF6\V)UHH�� function.

>1RWH@�

The user must implement the functions in the environment-department part that this function uses.

For the parameter range of the size, its maximum/minimum value may be restricted according to the system to be used.

Page 106: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

106

FUJITSU CONFIDENTIAL

������� *GF6\V)UHH����)UHHLQJ�0DLQ�0HPRU\!�

>)RUPDW@�

GDC_BOOL�*GF6\V)UHH�(void *SWU) >$UJXPHQW@�

ptr� Starting pointer of memory area to be freed 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for a pointer of an argument ptr.

>'HVFULSWLRQ@�

This function frees the main memory area allocated by the *GF6\V0DOORF���function. >1RWH@�

The user must implement the functions in the environment-department part that this function uses.

Page 107: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

107

FUJITSU CONFIDENTIAL

������� *GF6\V/RFN&UHDWH����&UHDWLQJ�/RFN!�

>)RUPDW@�

GDC_BOOL�*GF6\V/RFN&UHDWH (GDC_ULONG NH\��void **ORFN) >$UJXPHQW@�

key� Lock identification number Its range is currently being checked.

lock� Pointer to area that stores lock handle (OUT) 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_PARAMETER Invalid value was specified for an argument key,

or invalid parameter was specified for a pointer of an argument lock.

GDC_ENVERR_LOCL_MALLOC_FAILED The lock management information area failed to be allocated in main memory.

GDC_ERR_ENV_LOCK_CREATE_MAX The number of generated locks exceeds the upper limit.

GDC_ERR_ENV_INTERNAL Internal error occurred. >'HVFULSWLRQ@�

This function creates lock corresponding to the argument key. Material number of the created lock is “1”.

If there is already a lock that corresponds to the key, this function does not create a new lock.

When a lock is created successfully, or a lock is already created, this function stores the lock handle in the area indicated by the argument lock. Even in the case of multitask/thread, the value is not affected by other multitask/thread and can be held as a global variable.

Always use the *GF6\V/RFN5HOHDVH�� function to terminate the handle got using this function. >1RWH@�

(1) This function creates up to “6” locks. (2) The key value is used by the environment-department part so that it can identify the lock. The

key value is not used as a key or an ID that the OS requires.

Page 108: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

108

FUJITSU CONFIDENTIAL

������� *GF6\V/RFN'HOHWH����'HOHWLQJ�/RFN!�

>)RUPDW@�

GDC_BOOL�*GF6\V/RFN'HOHWH (void *ORFN) >$UJXPHQW@�

lock� Lock handle 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for a pointer of

an argument lock. GDC_ERR_INVALID_LOCK_HANDLE Invalid handle was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function discards the use rights of the lock specified using the argument lock. When there is no process/task that uses this lock, this function deletes the lock.

Always execute this function for the handle got by the *GF6\V/RFN&UHDWH�� function.

Page 109: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

109

FUJITSU CONFIDENTIAL

������� *GF6\V/RFN:DLW�����:DLWLQJ�*HWWLQJ�/RFN!�

>)RUPDW@�

GDC_BOOL�*GF6\V/RFN:DLW�(void *ORFN) >$UJXPHQW@�

lock� Lock handle 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for a pointer of

an argument lock. GDC_ERR_INVALID_LOCK_HANDLE Invalid handle was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function gets lock. Other process/task that intends to get the same lock will be blocked until the lock is released. If other process/task already gets the lock, this function waits until it can get the lock and returns.

Page 110: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

110

FUJITSU CONFIDENTIAL

������� *GF6\V/RFN*HW����*HWWLQJ�/RFN!�

>)RUPDW@�

GDC_BOOL�*GF6\V/RFN*HW�(void *ORFN) >$UJXPHQW@�

lock� Lock handle 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for a pointer of

an argument lock. GDC_ERR_INVALID_LOCK_HANDLE Invalid handle was specified. GDC_ERR_LOCK_USED The lock is being used by other process/task. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function gets lock. Other process/task that intends to get the same lock will be blocked until the lock is released. If other process/task already uses the lock, this function cannot get the lock.

Page 111: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

111

FUJITSU CONFIDENTIAL

������� *GF6\V/RFN5HOHDVH����5HOHDVLQJ�/RFN!�

>)RUPDW@�

GDC_BOOL�*GF6\V/RFN5HOHDVH (void *ORFN) >$UJXPHQW@�

lock� Lock handle 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for a pointer of

an argument lock. GDC_ERR_INVALID_LOCK_HANDLE Invalid handle was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function releases lock.

Page 112: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

112

FUJITSU CONFIDENTIAL

������� *GF6\V:ULWH95$0�����:ULWLQJ�WR�95$0�LQ���E\WH�8QLWV!�

>)RUPDW@�

GDC_BOOL�*GF6\V:ULWH95$0� (GDC_ULONG RIIVHW, GDC_ULONG OHQJWK, GDC_UCHAR *GDWD)

>$UJXPHQW@�

offset� � Offset address from the starting of graphics memory 0x00000000 to 0xffffffff�

length� � Lengths of storage area for written data and destination area to be written (in bytes) 0x00000001 to 0xffffffff

data� � Starting address of storage area for written data 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE� � Success�

GDC_FALSE� � Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_ENV_ACCESS_DENIED Access was denied. GDC_ERR_INVALID_PARAMETER “0” was specified for length.

Invalid parameter was specified for a pointer of an argument data. Area straddling a boundary in the graphics memory was specified.

Page 113: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

113

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function writes data stored in the area specified using data and length to the area in the graphics memory specified using offset and length. The write is performed in 1-byte units.

The functions described in Sections ������ to ������ (including this function) are used in a system that must straddle the boundary in the graphics memory because the size of the window (memory size) for accessing graphics memory on the PCI bus is smaller than the graphics memory, as shown in the figure below.

)LJ������G� � 0HPRU\�:LQGRZ�

>1RWH@�

This function starts accessing the graphics memory after locking the memory window. Therefore, one process/task must wait the completion of this function when other process/task is locking the memory window, until the lock is released. Also, when Access Library manages the graphics memory on its own, carefully specify an area not straddling a boundary in the graphics memory, for offset and length. When the *GF6\V$OORF95$0�� function is used to manage the graphics memory, specify an area within the range allocated using the same function.

When calling this function from the process/task that is locking the memory window, this function fails to be executed. In this case, this function returns the error code GDC_ENVERR_ACCESS_DENIED.

When the area size specified using offset and length is greater than the memory window, this area cannot be mapped to the memory window. In this case, this function fails to be executed, returning the error code GDC_ERR_INVALID_PARAMETER.

16 MB

16 MB

����

Memory window

16 MB

� �

RIIVHW Æ

� � �

PCI Address

Graphics memory

Page 114: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

114

FUJITSU CONFIDENTIAL

������� *GF6\V:ULWH95$0������:ULWLQJ�WR�95$0�LQ���E\WH�8QLWV!�

>)RUPDW@�

GDC_BOOL�*GF6\V:ULWH95$0��(GDC_ULONG RIIVHW, GDC_ULONG OHQJWK, GDC_ USHORT *GDWD)

>$UJXPHQW@�

offset� Offset address from the starting of graphics memory 0x00000000 to 0xffffffff

length� Lengths of storage area for written data and destination area to be written (in bytes) 0x00000002 to 0xffffffff

data� Starting address of storage area for written data 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE� � Success

GDC_FALSE Failure

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_ENV_ACCESS_DENIED Access was denied. GDC_ERR_INVALID_PARAMETER “0” was specified for length.

Invalid parameter was specified for a pointer of an argument data. Area that could not be mapped to the memory window was specified. The offset or length is not a multiple of “2”.

>'HVFULSWLRQ@�

This function writes data stored in the area specified using data and length to the area in the graphics memory specified using offset and length. The write is performed in 2-byte units.

Page 115: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

115

FUJITSU CONFIDENTIAL

>1RWH@�

This function starts accessing the graphics memory after locking the memory window. Therefore, one process/task must wait the completion of this function when other process/task is locking the memory window, until the lock is released. Also, when Access Library manages the graphics memory on its own, carefully specify an area not straddling a boundary in the graphics memory, for offset and length. When the *GF6\V$OORF95$0�� function is used to manage the graphics memory, specify an area within the range allocated using the same function.

When calling this function from the process/task that is locking the memory window, this function fails to be executed. In this case, this function returns the error code GDC_ENVERR_ACCESS_DENIED.

When the area size specified using offset and length is greater than the memory window, this area cannot be mapped to the memory window. In this case, this function fails to be executed, returning the error code GDC_ERR_INVALID_PARAMETER.

Page 116: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

116

FUJITSU CONFIDENTIAL

������� *GF6\V:ULWH95$0������:ULWLQJ�WR�95$0�LQ���E\WH�8QLWV!�

>)RUPDW@�

GDC_BOOL�*GF6\V:ULWH95$0��(GDC_ULONG RIIVHW, GDC_ULONG OHQJWK, GDC_ ULONG *GDWD)

>$UJXPHQW@�

offset Offset address from the starting of graphics memory 0x00000000 to 0xfffffff�

length Lengths of storage area for written data and destination area to be written (in bytes) 0x00000004 to 0xffffffff

data� Starting address of storage area for written data 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE� � Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_ENV_ACCESS_DENIED Access was denied. GDC_ERR_INVALID_PARAMETER� “0” was specified for length.

Invalid parameter was specified for a pointer of an argument data. Area that could not be mapped to the memory window was specified. The offset or length is not a multiple of “4”.

>'HVFULSWLRQ@�

This function writes data stored in the area specified using data and length to the area in the graphics memory specified using offset and length. The write is performed in 4-byte units.

>1RWH@�

This function starts accessing the graphics memory after locking the memory window. Therefore, one process/task must wait the completion of this function when other process/task is locking the memory window, until the lock is released. Also, when Access Library manages the graphics memory on its own, carefully specify an area not straddling a boundary in the graphics memory, for offset and length. When the *GF6\V$OORF95$0�� function is used to manage the graphics memory, specify an area within the range allocated using the same function.

When calling this function from the process/task that is locking the memory window, this function fails to be executed. In this case, this function returns the error code GDC_ENVERR_ACCESS_DENIED.

Page 117: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

117

FUJITSU CONFIDENTIAL

When the area size specified using offset and length is greater than the memory window, this area cannot be mapped to the memory window. In this case, this function fails to be executed, returning the error code GDC_ERR_INVALID_PARAMETER.

Page 118: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

118

FUJITSU CONFIDENTIAL

������� *GF6\V5HDG95$0�����5HDGLQJ�IURP�95$0�LQ���E\WH�8QLWV!�

>)RUPDW@�

GDC_BOOL�*GF6\V5HDG95$0� (GDC_ULONG RIIVHW, GDC_ULONG OHQJWK, GDC_UCHAR *GDWD)

>$UJXPHQW@�

offset Offset address from the starting of graphics memory 0x00000000 to 0xffffffff

length Lengths of area for data to be read and area to which read data is returned (in bytes) 0x00000001 to 0xffffffff

data Starting address of area to which to which read data is returned 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE� � Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_ENV_ACCESS_DENIED Access was denied. GDC_ERR_INVALID_PARAMETER� “0” was specified for length.

Invalid parameter was specified for a pointer of an argument data. Area that could not be mapped to the memory window was specified.

>'HVFULSWLRQ@�

This function reads data stored in the area in the graphics memory specified using offset and length, and stores that data in the area specified using data and length. The read is performed in 1-byte units.

>1RWH@�

This function starts accessing the graphics memory after locking the memory window. Therefore, one process/task must wait the completion of this function when other process/task is locking the memory window, until the lock is released. Also, when Access Library manages the graphics memory on its own, carefully specify an area not straddling a boundary in the graphics memory, for offset and length. When the *GF6\V$OORF95$0�� function is used to manage the graphics memory, specify an area within the range allocated using the same function.

When calling this function from the process/task that is locking the memory window, this function fails to be executed. In this case, this function returns the error code GDC_ENVERR_ACCESS_DENIED.

Page 119: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

119

FUJITSU CONFIDENTIAL

When the area size specified using offset and length is greater than the memory window, this area cannot be mapped to the memory window. In this case, this function fails to be executed, returning the error code GDC_ERR_INVALID_PARAMETER.

Page 120: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

120

FUJITSU CONFIDENTIAL

������� *GF6\V5HDG95$0������5HDGLQJ�IURP�95$0�LQ���E\WH�8QLWV!�

>)RUPDW@�

GDC_BOOL�*GF6\V5HDG95$0��(GDC_ULONG RIIVHW, GDC_ULONG OHQJWK, GDC_UCHAR *GDWD)

>$UJXPHQW@�

offset Offset address from the starting of graphics memory 0x00000000 to 0xff

length Lengths of area for data to be read and area to which read data is returned (in bytes) 0x00000002 to 0xffffffff

data Starting address of area to which to which read data is returned 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE� � Success

GDC_FALSE Failure

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_ENV_ACCESS_DENIED� Access was denied. GDC_ERR_INVALID_PARAMETER “0” was specified for length.

Invalid parameter was specified for a pointer of an argument data. Area that could not be mapped to the memory window was specified. The offset or length�is not a multiple of “2”.

>'HVFULSWLRQ@�

This function reads data stored in the area in the graphics memory specified using offset and length, and stores that data in the area specified using data and length. The read is performed in 2-byte units.

Page 121: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

121

FUJITSU CONFIDENTIAL

>1RWH@�

This function starts accessing the graphics memory after locking the memory window. Therefore, one process/task must wait the completion of this function when other process/task is locking the memory window, until the lock is released. Also, when Access Library manages the graphics memory on its own, carefully specify an area not straddling a boundary in the graphics memory, for offset and length. When the *GF6\V$OORF95$0�� function is used to manage the graphics memory, specify an area within the range allocated using the same function.

When calling this function from the process/task that is locking the memory window, this function fails to be executed. In this case, this function returns the error code GDC_ENVERR_ACCESS_DENIED.

When the area size specified using offset and length is greater than the memory window, this area cannot be mapped to the memory window. In this case, this function fails to be executed, returning the error code GDC_ERR_INVALID_PARAMETER.

Page 122: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

122

FUJITSU CONFIDENTIAL

������� *GF6\V5HDG95$0������5HDGLQJ�IURP�95$0�LQ���E\WH�8QLWV!�

>)RUPDW@�

GDC_BOOL�*GF6\V5HDG95$0��(GDC_ULONG RIIVHW, GDC_ULONG OHQJWK, GDC_UCHAR *GDWD)

>$UJXPHQW@�

offset Offset address from the starting of graphics memory 0x00000000 to 0xffffffff

length Lengths of area for data to be read and area to which read data is returned (in bytes) 0x00000004 to 0xffffffff

data Starting address of area to which to which read data is returned 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE� � Success

GDC_FALSE� Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_ENV_ACCESS_DENIED Access was denied. GDC_ERR_INVALID_PARAMETER “0” was specified for length.

Invalid parameter was specified for a pointer of an argument data. Area that could not be mapped to the memory window was specified. The offset or length is not a multiple of “4”.

>'HVFULSWLRQ@�

This function reads data stored in the area in the graphics memory specified using offset and length, and stores that data in the area specified using data and length. The read is performed in 4-byte units.

Page 123: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

123

FUJITSU CONFIDENTIAL

>1RWH@�

This function starts accessing the graphics memory after locking the memory window. Therefore, one process/task must wait the completion of this function when other process/task is locking the memory window, until the lock is released. Also, when Access Library manages the graphics memory on its own, carefully specify an area not straddling a boundary in the graphics memory, for offset and length. When the *GF6\V$OORF95$0�� function is used to manage the graphics memory, specify an area within the range allocated using the same function.

When calling this function from the process/task that is locking the memory window, this function fails to be executed. In this case, this function returns the error code GDC_ENVERR_ACCESS_DENIED.

When the area size specified using offset and length is greater than the memory window, this area cannot be mapped to the memory window. In this case, this function fails to be executed, returning the error code GDC_ERR_INVALID_PARAMETER.

Page 124: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

124

FUJITSU CONFIDENTIAL

������� *GF6\V/RFN0HP:LQGRZ����/RFNLQJ�0HPRU\�:LQGRZ!�

>)RUPDW@�

GDC_BOOL *GF6\V/RFN0HP:LQGRZ (void) >$UJXPHQW@�

None >5HWXUQ�YDOXH@�

GDC_TRUE� � Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_ENV_ACCESS_DENIED Memory window is already locked.

>'HVFULSWLRQ@�

This function locks the window (memory window) to access the graphics memory in the PCI bus. After this function succeeds, set the memory window using the *GF6\V6HWXS0HP:LQGRZ�� function.

When other process/task is locking the memory window, this function completes after waiting for the lock to be unlocked.

Recall of this function from the process/task that has already locked the memory window fails. In this case, this function returns the error code GDC_ERR_ENV_ACCESS_DENIED.

>1RWH@�

Use this function in a system like that shown in )LJ�� ����G�when accessing the graphics memory without using the functions described in Sections �������to ������.

Page 125: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

125

FUJITSU CONFIDENTIAL

������� *GF6\V8QORFN0HP:LQGRZ����8QORFNLQJ�/RFN�RI�0HPRU\�:LQGRZ!�

>)RUPDW@�

GDC_BOOL *GF6\V8QORFN0HP:LQGRZ (void) >$UJXPHQW@�

None >5HWXUQ�YDOXH@�

GDC_TRUE� � Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_ENV_ACCESS_DENIED� Memory window is not locked yet.

>'HVFULSWLRQ@�

This function unlocks the lock of the memory window.

Calling of this function from the process/task that has not locked the memory window fails. In this case, this function returns the error code GDC_ERR_ENV_ACCESS_DENIED.

>1RWH@�

Use this function when accessing the graphics memory without using the functions described in Sections ������ to ������.

.

Page 126: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

126

FUJITSU CONFIDENTIAL

������� *GF6\V6HWXS0HP:LQGRZ����6HWWLQJ�0HPRU\�:LQGRZ!�

>)RUPDW@�

GDC_BOOL *GF6\V6HWXS0HP:LQGRZ (GDC_ULONG RIIVHW, void **DGGU�� �GDC_ULONG *OHQJWK)

>$UJXPHQW@�

offset Offset address from the starting of graphics memory 0x00000000 to 0xffffffff

addr Pointer to area to which starting address of accessible area is returned 0xXXXXXXXX Valid value in a system using other than “NULL”

length Pointer to area to which length (in bytes) of accessible area is returned 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE� � Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_ENV_INTERNAL� Internal error occurred. GDC_ERR_ENV_ACCESS_DENIED Memory window is not locked yet. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for a pointer of

an argument addr or length. >'HVFULSWLRQ@�

This function sets the memory window to access the graphics memory.

Before calling this function, lock the memory window using the *GF6\V/RFN0HP:LQGRZ�� function.

Calling of this function from the process/task that has not locked the memory window fails. In this case, this function returns the error code GDC_ERR_ENV_ACCESS_DENIED.

This function maps the graphics memory area starting from offset to the memory window. Use this function as follows according to how to manage the graphics memory:

� When using the *GF6\V$OORF95$0�� and *GF6\V)UHH95$0�� functions For offset, specify the starting offset address of the area allocated using the *GF6\V$OORF95$0��

function. This area is mapped entirely to the memory window. Ignore the value to be returned to length.

��When not using the *GF6\V$OORF95$0�� and *GF6\V)UHH95$0�� functions When the offset is specified this function, this function returns the accessible length to length.

This means that the area in the graphic memory specified using offset and length has been accessible (has been mapped to the memory window). To access beyond the area, call this function again and set the memory window again.

Page 127: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

127

FUJITSU CONFIDENTIAL

>1RWH@�

Use this function in a system like that shown in )LJ�� ����G�when accessing the graphics memory without using the functions described in Sections ������ to ������.

The address returned to addr can be accessed only for the period when this function succeeds until the function in the environment-dependent part is called. After calling the function in the environment-dependent part, call this function again and set the memory window again.

In this case, when this function is called several times with the same offset address specified, the values returned to addr and length are always same.

Page 128: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

128

FUJITSU CONFIDENTIAL

������� *GF6\V*HW0HP:LQGRZ$GGU����&RQYHUWLQJ�WR�$GGUHVV�LQ�0HPRU\�:LQGRZ!�

>)RUPDW@�

GDC_BOOL *GF6\V*HW0HP:LQGRZ$GGU (GDC_ULONG RIIVHW, void **DGGU�� �GDC_ULONG *OHQJWK)

>$UJXPHQW@�

offset Offset address from the starting of graphics memory 0x00000000 to 0xffffffff

addr Pointer to area to which starting address of accessible area is returned 0xXXXXXXXX Valid value in a system using other than “NULL”

length Pointer to area to which length (in bytes) of accessible area is returned 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE� � Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_INVALID_PARAMETER� Invalid parameter was specified for a pointer to

an argument addr or length. >'HVFULSWLRQ@�

This function converts the offset address from the starting of the graphics memory specified using offset to an address to access the memory window. The address and accessible length to be returned from this function is equal to those to be returned when the same offset address is specified for the *GF6\V6HWXS0HP:LQGRZ�� function.

This function does not set the memory window. Therefore, there is no need to lock the memory window before calling this function. However, access to the graphics memory is not possible even after this function succeeds. To enable access to the graphics memory, call the *GF6\V6HWXS0HP:LQGRZ�� function.

>1RWH@�

Use this function in a system like that shown in )LJ�� ����G�when accessing the graphics memory without using the functions described in Sections ������ to ������.

The address returned to addr can be accessed only for the period when this function succeeds until the function in the environment-dependent part is called. After calling the function in the environment-dependent part, call this function again and set the memory window again.

In this case, when this function is called several times with the same offset address specified, the values returned to addr and length are always same.

Page 129: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

129

FUJITSU CONFIDENTIAL

���� 'LVSOD\�6HWWLQJ�)XQFWLRQ�

������ *GF'LVS,QLWLDOL]H����,QLWLDOL]LQJ�'LVSOD\�,QIRUPDWLRQ!�

>)RUPDW@�

GDC_BOOL *GF'LVS,QLWLDOL]H (void) >$UJXPHQW@�

None >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called.�GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function initializes display information.

Always call this function in each process that uses the following API functions after executing the *GF6\V2SHQ���function.

� Display setting function (*GF'LVS )

� Color setting function (*GF&RORU )

� Cursor control function (*GF&XUVRU )

When the following functions are called, the display information returns to uninitialized state. After that, to use the three types of functions above, call this function. (For the *GF6\V&ORVH�� function, the *GF6\V2SHQ�� function must also be called.)

��*GF6\V&ORVH��

��*GF6\V6RIWZDUH5HVHW��

Page 130: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

130

FUJITSU CONFIDENTIAL

������ *GF'LVS&ORFN����6HWWLQJ�'LVSOD\�&ORFN�0RGH!�

>)RUPDW@�

GDC_BOOL *GF'LVS&ORFN (GDC_ENUM GLVSOD\, GDC_ULONG PRGH) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

� *'&B',63B',63/$<B��� ��� Display 1

mode Clock mode (0 to 0xffef, default: 0x1400)

The following shows the display control mode register to be set when the clock mode is enabled.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

&.6�

/&6�

SC ((4�

(*9�

))�

5HVY�

6)�

(6<�

SYNC

RW RW RW RW RW RW R0 RW RW RW

Bit 1-0 SYNC (Synchronize) Sets synchronization mode. 00 Non-interlace mode

01 Interlace mode

11 Interlace video mode

Bit 2 ESY (External Synchronize) Sets external synchronization mode. 0 Disables external synchronization. 1 Enables external synchronization.

Bit 3 SF (Synchronize signal Format) Sets format of synchronization signal (VSYNC, HSYNC). 0 Negative logic

1 Positive logic

Bit 4 Resv (Reserved: Read only, Always 0)

Bit 5 FF (FIELD signal Format) Specifies format of FIELD signal. 0 Outputs “0” when in odd number field. 1 Outputs “0” when in even number field.

)LJ������D� � 'LVSOD\�&RQWURO�0RGH�5HJLVWHU��&RQWLQXH��

Page 131: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

131

FUJITSU CONFIDENTIAL

Bit 6 EGV (Enable GV) Selects function of CCYNC/GV signal. 0 Outputs CCYNC signal. 1 Outputs GV signal.

Bit 7 EEQ (Enable Equalizing pulse) Sets CCYNC signal mode. 0 Does not insert equalizing pulse into CCYNC signal. 1 Inserts insert equalizing pulse into CCYNC signal.

Bit 13-8 SC (Scaling)

Divides display reference clock based on the set ratio and generates dot clock.

DCM1

000000 Does not divide.

000001 Divides into 1/2.

000010 Divides into 1/3.

000011 Divides into 1/4.

:

111111 Divides into 1/64.

When the m is set in DCM1, the dividing ratio is “1/(m + 1)”. Both are the setting parameters with the same function, resulting in “2n + 2 = m + 1”. Therefore their relation is “m = 2n + 1”. When the n is set to the SC fields of DCM0, the setting of the n is reflected as “2n + 1” in DCM1. In addition, if PLL is selected as the reference clock, the settings of “1/1” to “1/5” are disabled. In this case, other setting ratio is applied.

Bit 14 LCS (Lower frequency Clock Select) Selects frequency of the internal PLL clock. 0 Typical frequency (533 MHz)

1 Lower frequency (266 MHz)

Bit 15 CKS (Clock Source) Selects reference clock. 0 Uses reference clock as internal PLL output. 1 Uses reference clock as DCLKI signal input.

)LJ������D� � 'LVSOD\�&RQWURO�0RGH�5HJLVWHU��&RQWLQXHG��

Page 132: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

132

FUJITSU CONFIDENTIAL

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called.�GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called.�GDC_ERR_INVALID_DISPLAY Invalid display was specified.�

>'HVFULSWLRQ@�

This function sets a value to the display control mode register and controls the display clock and synchronization mode. The following items can be set:

Setting of synchronization mode Setting of external synchronization mode Selection of signal format (ESY, SF, EGV, and EEQ) Selection of frequency of dot clock (based on the internal PLL clock frequency and its dividing ratio) Selection of source of dot clock (reference clock)

>1RWH@�

When this *GF'LVS&ORFN�� function is executed while outputting video signal using the *GF'LVS2Q�� function, the display may be distorted.

Page 133: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

133

FUJITSU CONFIDENTIAL

������ *GF'LVS7LPLQJ����6HWWLQJ�'LVSOD\�7LPLQJ�3DUDPHWHU!�

>)RUPDW@�

GDC_BOOL *GF'LVS7LPLQJ (GDC_ENUM GLVSOD\,

GDC_ULONG KWS, GDC_ULONG KVS, GDC_ULONG KVZ, GDC_ULONG KGS, GDC_ULONG YWU, GDC_ULONG YVS, GDC_ULONG YVZ, GDC_ULONG YGS)

>$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

htp Horizontal total pixel count (1 to 4096, default 800)�

hsp Horizontal synchronization pulse position (1 to 4096,.default 656)

hsw Horizontal synchronization pulse width (1 to 256, default 96)

hdp Horizontal display pixel count (1 to 4096, default 640)

vtr Vertical total raster count (1 to 4096, default 525)

vsp Vertical synchronization pulse position (1 to 4096, default 490)

vsw Vertical synchronization pulse width (1 to 64, default 2)

vdp Vertical display raster count (1 to 4096, default 480) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called.�GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

htp, hsp, hsw, hdp, vtr, vsp, vsw, and vdp.

Page 134: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

134

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets display screen size and display timing parameter.

For details on the parameter values, refer to 'LVSOD\�3DUDPHWHU and 6XSSRUWHG�'LVSOD\ of the display Controller in 0%������3URGXFW�6SHFLILFDWLRQV.

The following shows an example of parameter setting.

7DEOH�����D� � ([DPSOH�RI�'LVSOD\�6FUHHQ�6L]H�DQG�'LVSOD\�7LPLQJ�3DUDPHWHU�

Resolution DCM1 (*1)

HTP HSP HSW HDP VTR VSP VSW VDP Pixel frequency Horizontal frequency Vertical frequency

640x480 Non-int VGA

0x0f00 800 656 96 640 525 490 2 480 25.4 MHz 31.4 kHz 60.5 Hz

854x480 Non-int WVGA

0x0b00 1062 875 126 854 525 490 2 480 33.3 MHz 31.7 kHZ 59.8 Hz

800x600 Non-int SVGA

0x0900 1060 840 128 800 628 601 4 600 41.0 MHz 38.7 kHz 61.6 Hz

1024x768 Non-int XGA

0x0500 1380 1048 135 1024 806 771 6 768 66.7 MHz 48.3 kHz 59.9 Hz

*1: DCM1 is the clock mode specified using the *GF'LVS&ORFN�� function.

>1RWH@�

The value decremented by “1” from specified value, is set.

Page 135: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

135

FUJITSU CONFIDENTIAL

������ *GF'LVS'LPHQVLRQ����6HWWLQJ�GLVSOD\�IUDPH�DWWULEXWH!�

>)RUPDW@�

GDC_BOOL *GF'LVS'LPHQVLRQ (GDC_ENUM GLVSOD\,

GDC_ENUM OD\HU, GDC_ENUM HQDEOH, GDC_ENUM FRUGHU�� GDC_ENUM FPRGH, GDC_ULONG OZ, GDC_ULONG OK)

>$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer� Layer specification

*'&B',63B/$<(5B/��� ��� L0 Layer

*'&B',63B/$<(5B/��� ��� L1 Layer

:

*'&B',63B/$<(5B/��� ��� L7 Layer

enable Layer display/not-display setting�

� *'&B(1$%/( Displays layer.�

� *'&B',6$%/( Does not display layer (default).�

corder� Input color format

*'&B$5*%B25'(5�� �[��������� ARGB format (default)

� *'&B5*%$B25'(5�� �[��������� RGBA format�

cmode Color mode setting�

� *'&B��%33B)250$7�� ����� 32-bit color mode (default)

� *'&B��%33B)250$7�� ����� 16-bit color mode

� *'&B�%33B)250$7�� ���� 8-bit index color mode

� *'&B<&B1250$/B)250$7�� ��� YC mode, normal mode

Only L1 layer can be set.

For displaying JPEG images

� *'&B<&B&$3785(B)250$7�� ��� YC mode, capture mode

Only L1 layer can be set.

For capturing 656

� *'&B5*%B&$3785(B)250$7�� ��� RGB mode, capture mode

Only L1 layer can be set.

For capturing RGB�

Page 136: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

136

FUJITSU CONFIDENTIAL

lw Display frame width pixel count (default 64)�

32-bit color mode: Specify a multiple of “16” ranging from 16 to 4096.

16-bit color mode: Specify a multiple of “32” ranging from 32 to 4096.

8-bit index color mode: Specify a multiple of “64” ranging from 64 to 4096.

YC mode, normal mode: Specify a multiple of “64” ranging from 64 to 4096.

YC mode, capture mode: Specify a multiple of “64” ranging from 64 to 4096.

RGB mode, capture mode: Specify a multiple of “64” ranging from 64 to 4096.

lh Display frame height line number (1 to 4096, default 1) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called.�GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked.�GDC_ERR_INVALID_DISPLAY Invalid display was specified.�GDC_ERR_INVALID_LAYER Invalid layer was specified.�GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

enable, corder, cmode, lw, and lh. >'HVFULSWLRQ@�

This function sets display frame attributes of each display frame separately. When this function is called, the display origin address of the specified layer is set to the same value as the display frame starting address specified using the *GF'LVS)UDPH%XIIHU�� function (top left corner of display frame).

>1RWH@�

When using the L5 layer as the blend ratio layer, always display the L5 layer and set the 8-bit index color mode.

The L4 to L7 layers cannot be set to the 8-bit index color mode (except when the L5 layer is used as the blend ratio layer).

For the parameter range of the lw and lh, its maximum/minimum value may be restricted according to the system to be used.

When the argument cmode is set to other than GDC_32BPP_FORMAT and GDC_16BPP_FORMAT, the setting of the argument corder is disabled.

Page 137: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

137

FUJITSU CONFIDENTIAL

������ *GF'LVS2Q����2XWSXWWLQJ�9LGHR�6LJQDO!�

>)RUPDW@�

GDC_BOOL *GF'LVS2Q (GDC_ENUM GLVSOD\) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1 >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_INVALID_DISPLAY Invalid display was specified.

>'HVFULSWLRQ@�

This function outputs video signal.

Video signal is started to output right after this function is called. Call this function after other display parameter is set to appropriate value; otherwise display may be distorted.

>1RWH@�

The screen is not displayed until this function is called.

Unmask the VSYNC interrupt using the *GF6\V,QWHUUXSW0DVN�� function.

Page 138: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

138

FUJITSU CONFIDENTIAL

������ *GF'LVS2II����6XSSUHVVLQJ�RXWSXW�RI�YLGHR�VLJQDO!�

>)RUPDW@�

GDC_BOOL *GF'LVS2II (GDC_ENUM GLVSOD\) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1 >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ���function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_INVALID_DISPLAY Invalid display was specified.

>'HVFULSWLRQ@�

This function suppresses output of video signal. >1RWH@�

Outputting of video signal is suppressed right after this function is called. However, the Graphics Controller continues to draw.

Page 139: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

139

FUJITSU CONFIDENTIAL

������ *GF'LVS/D\HU2Q����'LVSOD\LQJ�/D\HU!� �

>)RUPDW@�

GDC_BOOL *GF'LVS/D\HU2Q (GDC_ENUM GLVSOD\, GDC_ENUM OD\HU) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer� Layer specification

*'&B',63B/$<(5B/��� ��� L0 Layer

*'&B',63B/$<(5B/��� ��� L1 Layer

:

*'&B',63B/$<(5B/��� ��� L7 Layer >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid layer was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function displays the layer specified using the argument layer. The layer is displayed when VSYNC interrupt is detected. Therefore, when using this function, unmask the VSYNC interrupt using the *GF6\V,QWHUUXSW0DVN���function.

>1RWH@�

When using the L5 layer as blend ratio layer, the L5 layer must be displayed.

Page 140: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

140

FUJITSU CONFIDENTIAL

������ *GF'LVS/D\HU2II����/D\HU�QRW�GLVSOD\!�

>)RUPDW@�

GDC_BOOL *GF'LVS/D\HU2II (GDC_ENUM GLVSOD\ , GDC_ENUM OD\HU) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer� Layer specification

*'&B',63B/$<(5B/��� ��� L0 Layer

*'&B',63B/$<(5B/��� ��� L1 Layer

:

*'&B',63B/$<(5B/��� ��� L7 Layer >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid layer was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function hides layers specified using the argument layer. The layer is displayed when VSYNC interrupt is detected.

>1RWH@�

When using this function, unmask the VSYNC interrupt using the *GF6\V,QWHUUXSW0DVN�� function beforehand.

Page 141: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

141

FUJITSU CONFIDENTIAL

������ *GF'LVS)UDPH%XIIHU����6HWWLQJ�'LVSOD\�)UDPH�%XIIHU�,QIRUPDWLRQ!�

>)RUPDW@�

GDC_BOOL *GF'LVS)UDPH%XIIHU (GDC_ENUM GLVSOD\, GDC_ENUM OD\HU, GDC_ULONG DGGUHVV, GDC_ULONG GUDZBLG, GDC_ULONG FRPSOHWLRQ)

>$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer� Layer specification

*'&B',63B/$<(5B/��� ��� L0 Layer

*'&B',63B/$<(5B/��� ��� L1 Layer

:

*'&B',63B/$<(5B/��� ��� L7 Layer

address Display frame origin address

Specify using the offset address from the starting of the graphics memory.

0x00100000 to size of graphics memory (valid 16-byte aligned value)

draw_id Drawing number

Specify the return values of the *GF)OXVK�� and *GF)OXVK([�� functions or “0”.

When no drawing is performed, specify “0”.

completion Completion wait specification

*'&B:$,7B&203/(7(�� �� Returns after completion.

� *'&B5(7B,00(',$7(/<�� ��� Returns without waiting for completion. >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid layer was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

address and completion. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Alignment of an argument address is invalid.

Page 142: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

142

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets display frame origin address of the display/layer specified using the arguments display and layer to address in synchronization with the interrupt of VSYNC signal after drawing.

Specify the return values of the *GF)OXVK�� and *GF)OXVK([���functions for the draw_id.

When the GDC_WAIT_COMPLETE is specified for the argument completion, this function returns after the change of display frame origin address is reflected. When the GDC_RET_IMMEDIATELY is specified, this function returns without waiting for the completion of the processing.

The layer is displayed when VSYNC interrupt is detected. >1RWH@�

When using this function, unmask the VSYNC interrupt using the *GF6\V,QWHUUXSW0DVN�� function beforehand.

For the parameter range of the address, its maximum/minimum value may be restricted according to the system to be used.

The size of the graphics memory can be got using the *GF6\V4XHU\&KLS,QIR�� function.

Page 143: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

143

FUJITSU CONFIDENTIAL

������� *GF'LVS6WDUW3RV����6HWWLQJ�'LVSOD\�6WDUWLQJ�3RVLWLRQ!�

>)RUPDW@�

GDC_BOOL *GF'LVS6WDUW3RV (GDC_ENUM GLVSOD\, GDC_ENUM OD\HU, GDC_ULONG G[, GDC_ULONG G\, GDC_ENUM FRPSOHWLRQ)

>$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer� Layer specification

*'&B',63B/$<(5B/��� ��� L0 Layer

*'&B',63B/$<(5B/��� ��� L1 Layer

:

*'&B',63B/$<(5B/��� �� L7 Layer

dx Display origin x coordinate (0 to 4095, default 0)

dy Display origin y coordinate (0 to 4095, default 0)

completion Completion wait specification

� *'&B:$,7B&203/(7(�� ��� Returns after completion.

� *'&B5(7B,00(',$7(/<�� ��� Returns without waiting for completion. >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid layer was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

dx, dy, and completion. GDC_ERR_ENV_INTERNAL Internal error occurred.

Page 144: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

144

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets display starting position by the relative position from the origin of the display frame. The display starting position is set when VSYNC interrupt is detected.

When the GDC_WAIT_COMPLETE is specified, this function returns after the change of the display position is completed. When the GDC_RET_IMMEDIATELY is specified, this function returns immediately without waiting for the completion of the change of the display position. If this function is executed again before the display position is changed, the last setting of the display position is cancelled and (dx and dy) specified later are enabled.

When a coordinate out of the range of the display frame is specified for x and y, the coordinate is displayed at the circled position. For example, if the specified values of x and y are the “display frame maximum value + n”, it is displayed from the position of n.

>1RWH@�

When using this function, unmask the VSYNC interrupt using the *GF6\V,QWHUUXSW0DVN�� function and call the *GF'LVS2Q�� function beforehand.

Page 145: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

145

FUJITSU CONFIDENTIAL

������� *GF'LVS%DFN&RORU����6HWWLQJ�'LVSOD\�%DFNJURXQG�&RORU!�

>)RUPDW@�

GDC_BOOL *GF'LVS%DFN&RORU (GDC_ENUM GLVSOD\, GDC_COLOR32 FRORU) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

color Background color

0xXXXXXXXX (Specify by the lower 24 bits. Default 0) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified.

>'HVFULSWLRQ@�

This function sets background color of each layer on screen.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 R G B

)LJ������E� � 0HWKRG�RI�6SHFLI\LQJ�'LVSOD\�%DFNJURXQG�&RORU�

>1RWH@�

The display background color and the layers cannot be blended.

Page 146: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

146

FUJITSU CONFIDENTIAL

������� *GF'LVS/D\HU3RV����6HWWLQJ�/D\HU�3RVLWLRQ!�

>)RUPDW@�

GDC_BOOL *GF'LVS/D\HU3RV�(GDC_ENUM display, GDC_ENUM layer,

GDC_ULONG x, GDC_ULONG \) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer Layer specification

*'&B',63B/$<(5B/���� �� L0 Layer

*'&B',63B/$<(5B/��� ��� L1 Layer

:

*'&B',63B/$<(5B/��� ��� L7 Layer

x x coordinate on device coordinate system 0xXXXXXXXX (Default 0)

y y coordinate on device coordinate system 0xXXXXXXXX (Default 0)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid layer was specified.

>'HVFULSWLRQ@�

This function sets x and y positions of layer.

Page 147: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

147

FUJITSU CONFIDENTIAL

������� *GF'LVS/D\HU6L]H����6HWWLQJ�/D\HU�6L]H!�

>)RUPDW@�

GDC_BOOL *GF'LVS/D\HU6L]H (GDC_ENUM GLVSOD\, GDC_ENUM OD\HU,

GDC_ULONG Z, GDC_ULONG K) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer Layer specification

*'&B',63B/$<(5B/��� ��� L0 Layer

*'&B',63B/$<(5B/��� ��� L1 Layer

:

*'&B',63B/$<(5B/��� ��� L7 Layer

w Layer width (pixel count) (1 to 4095, default 1)

h Layer height (pixel count) (1 to 4096, default 1) >5HWXUQ�YDOXH@�

*'&B758( Success

*'&B)$/6( Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid layer was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments w

and h. >'HVFULSWLRQ@�

This function sets width and height of layer. >1RWH@�

For the parameter range of the w and h, its maximum/minimum value may be restricted according to the system to be used.

Page 148: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

148

FUJITSU CONFIDENTIAL

������� *GF'LVS/D\HU2YHUOD\0RGH����6HWWLQJ�2YHUOD\�'LVSOD\�0RGH�!�

>)RUPDW@�

GDC_BOOL *GF'LVS/D\HU2YHUOD\0RGH�(GDC_ENUM GLVSOD\, GDC_ENUM OD\HU,

GDC_ENUM PRGH) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer Layer specification

*'&B',63B/$<(5B/��� ��� L0 Layer

*'&B',63B/$<(5B/��� ��� L1 Layer

:

*'&B',63B/$<(5B/��� ��� L7 Layer

mode Overlay display mode

*'&B29(5/$<B35,25,7<�� ��� Overlay with transparent colors (Default)

*'&B29(5/$<B%/(1' � ��� Overlay with blend >5HWXUQ�YDOXH@�

*'&B758( Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid layer was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

mode. >'HVFULSWLRQ@�

This function sets overlay display mode for each layer.

Page 149: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

149

FUJITSU CONFIDENTIAL

>1RWH@�

When the overlay display mode is overlay with blend (GDC_OVERLAY_BLEND), set the blend mode using the *GF'LVS/D\HU2YHUOD\%OHQG�� function.

When the overlay display mode is overlay with transparent colors (GDC_OVERLAY_PRIORITY), set the transparent colors using the *GF&RORU7UDQVSDUHQW0RGH�� and *GF&RORU7UDQVSDUHQW�� functions.

When the L5 layer is used as the blend ratio layer, the L5 layer is not the target of overlay with transparent colors or blend.

Page 150: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

150

FUJITSU CONFIDENTIAL

������� *GF'LVS/D\HU2YHUOD\%OHQG����6HWWLQJ�/D\HU�%OHQG�0RGH!�

>)RUPDW@�

GDC_BOOL *GF'LVS/D\HU2YHUOD\%OHQG (GDC_ENUM GLVSOD\, GDC_ENUM OD\HU,

GDC_ENUM VHOHFW, GDC_ENUM FRUUHFW,

GDC_ENUM VRXUFH,

GDC_ULONG EOHQG, GDC_ENUM EOHQGBELW) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer Layer specification

*'&B',63B/$<(5B/��� ��� L0 Layer

*'&B',63B/$<(5B/��� ��� L1 Layer

:

*'&B',63B/$<(5B/��� ��� L7 Layer

select Selecting blend calculation formula

*'&B%/(1'B&855(17B5$7,2�� ����(Default)

Layer color × blend ratio + lower layer color × (1 − blend ratio)

*'&B%/(1'B21(B0,186B&855(17B5$7,2�� ���

Layer color × (1 - blend ratio) + lower layer color × blend ratio

correct Correction with value of “1/256”

*'&B%/(1'B12B&255(&7�� ����(Default)

Uses blend factor as is.

*'&B%/(1'B&255(&7�� ���

Adds “1/256” when the blend ratio is not “0”.

(When using 100% blend ratio)

source Specifies source data of blend ratio

*'&B%/(1'B5$7,2B&2167$17�� ����(Default)

Uses the fixed value specified using the blend as blend ratio.

*'&B%/(1'B5$7,2B/��� ���

Uses the pixel value of the L5 layer or LA0 to LA3 layers as blend ratio.

Page 151: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

151

FUJITSU CONFIDENTIAL

blend Blend ratio

0xXXXXXXXX (Specify by the lower 8 bits. Default 0)

Use the blend ratio when the argument source is GDC_BLEND_RATIO_CONSTANT.

blend_bit Blend bit

*'&B(1$%/( Blend bit of data to be blended is enabled. (Default)

� *'&B',6$%/( Blend bit of data to be blended is disabled. >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid layer was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

select, correct, source, and blend_bit. >'HVFULSWLRQ@�

This function sets blend mode when overlay display mode is overlay with blend.

When the L5 layer is specified, the setting of the source is disabled.

Specification of display using display is ignored.

When the L1 layer is in the capture mode, and the L5 layer is used as the blend ratio layer, the L1 layer is not blended normally.

The meaning of the blend ratio is as follows:

7DEOH�����E� � %OHQG�5DWLR�

blend Blend ratio 0x00 0 0x01 1/256 0x02 2/256 0x03 3/256

: : 0xff 255/256

Page 152: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

152

FUJITSU CONFIDENTIAL

������� *GF'LVS/D\HU2UGHU����6HWWLQJ�2UGHU�RI�/D\HU�'LVSOD\!�

>)RUPDW@�

GDC_BOOL *GF'LVS/D\HU2UGHU�(GDC_ENUM GLVSOD\,

GDC_LONG QOD\HU, GDC_ENUM *RUGHU) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

nlayer Number of layer to set the display order (0 to 8)

order Pointer of array to indicate the display order of layer 0xXXXXXXXX Valid value in a system using other than “NULL”�

� Set the following value to the array elements.

*'&B',63B/$<(5B/��� ��� L0 Layer

*'&B',63B/$<(5B/��� ��� L1 Layer

:

*'&B',63B/$<(5B/��� ��� L7 Layer

*'&B',63B12B/$<(5�� ��[I� Layer not selected

� (Default is order[0:7] = *'&B',63B12B/$<(5) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid layer was specified for the array element

of an argument order. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

nlayer or the pointer of an argument order.

Page 153: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

153

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets the display order of layer by array. The order[0] is displayed in the foreground. Area in the array where the GDC_DISP_NO_LAYER is set is ignored.

If “0” is set to the argument nlayer, this function returns GDC_TRUE without executing anything. >1RWH@�

The layers set to display order (6 and 7) are forcibly not selected when both layer 6 and layer 7 are not displayed.

For details on the overlay, refer to +DUGZDUH�0DQXDO�of the Graphics Controller to be used.

If the array to specify display order contains the same layer several times, this function returns an error code GDC_ERR_INVALID_LAYER.

When using the L5 layer as a blend ratio layer, do not specify the L5 layer.

For the parameter range of the order, its maximum/minimum value may be restricted according to the system to be used.

Page 154: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

154

FUJITSU CONFIDENTIAL

������� *GF'LVS&KDQJH/D\HU2UGHU����&KDQJLQJ�2UGHU�RI�/D\HU�'LVSOD\!�

>)RUPDW@�

GDC_BOOL *GF'LVS&KDQJH/D\HU2UGHU�(GDC_ENUM GLVSOD\,

GDC_ENUM OD\HU, GDC_ENUM RUGHU) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer� Layer specification

*'&B',63B/$<(5B/��� ��� L0 Layer

*'&B',63B/$<(5B/��� ��� L1 Layer

:

*'&B',63B/$<(5B/��� ��� L7 Layer

order Changes in display order

� *'&B',63B25'(5B83�� ��� Moves up the order by one.

� *'&B',63B25'(5B'2:1�� ��� Moves down the order by one.

� *'&B',63B25'(5B723�� ��� Moves the order to the top face.

� *'&B',63B25'(5B%27720�� ��� Moves the order to the bottom face. >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid layer was specified. GDC_ERR_INVALID_ORDER Invalid display order was specified.

Page 155: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

155

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function changes the display order of layer specified using the arguments display and layer. >1RWH@�

If the specified layer is in a state of “not selected”, this function returns an error code GDC_ERR_INVALID_LAYER.

If GDC_DISP_ORDER_UP or GDC_DISP_ORDER_DOWN is used when a layer is set to the top or to the bottom, this function returns an error code GDC_ERR_INVALID_ORDER.

In addition, in the same state as above, if GDC_DISP_ORDER_UP or GDC_DISP_ORDER_DOWN is used, this function returns the return value GDC_TRUE.

Page 156: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

156

FUJITSU CONFIDENTIAL

������� *GF'LVS96<1&8SGDWH0RGH����6HWWLQJ�96<1&�8SGDWH�0RGH!�

>)RUPDW@�

GDC_BOOL *GF'LVS96<1&8SGDWH0RGH�(GDC_ENUM GLVSOD\, GDC_ENUM PRGH) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

mode� Specification of VSYNC update mode

� *'&B(1$%/( Enables VSYNC update mode.

� *'&B',6$%/( Disables VSYNC update mode.

� � � (Default) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ���function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

mode. GDC_ERR_VSYNCUD_USED VSYNC update mode is already used. (When

mode is GDC_DISABLE and register is operated.) GDC_ERR_VSYNCUD_ENABLED VSYNC update mode is already enabled. (When

mode is GDC_ENABLE.) GDC_ERR_VSYNCUD_DISABLED VSYNC update mode is already disabled. (When

mode is GDC_DISABLE.) >'HVFULSWLRQ@�

This function sets VSYNC update mode of the display setting functions.

The setting of VSYNC update mode using a display setting function that is called when VSYNC update mode is enabled, is reserved until the *GF'LVS96<1&8SGDWH�� function is called. After the *GF'LVS96<1&8SGDWH�� function is called, all the changes of setting is enabled in synchronization with the first VSYNC. This prevents flicker on screen due to changes of display setting.

If a display setting function is called when the VSYNC update mode is disabled, this function reflects the setting in the Graphics Controller.

Page 157: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

157

FUJITSU CONFIDENTIAL

The following API functions are subject to the VSYNC update mode.

� *GF'LVS'LPHQVLRQ���� *GF'LVS/D\HU2Q���� *GF'LVS/D\HU2II���� *GF'LVS)UDPH%XIIHU���� *GF'LVS6WDUW3RV���� *GF'LVS%DFN&RORU���� *GF'LVS/D\HU3RV���� *GF'LVS/D\HU6L]H���� *GF'LVS/D\HU2YHUOD\0RGH���� *GF'LVS/D\HU2YHUOD\%OHQG���� *GF'LVS/D\HU2UGHU���� *GF'LVS&KDQJH/D\HU2UGHU���� *GF'LVS$OSKD'LPHQVLRQ���� *GF'LVS$OSKD���� *GF'LVS5HDG6NLS���� *GF&RORU7UDQVSDUHQW���� *GF&RORU7UDQVSDUHQW0RGH���� *GF&RORU3DOHWWH2IIVHW���� *GF&XUVRU'LVSOD\���� *GF&XUVRU3RV���� *GF&XUVRU3ULRULW\���� *GF&XUVRU&RORU7UDQVSDUHQW���� *GF&XUVRU&RORU7UDQVSDUHQW0RGH��

The following API functions are updated in synchronization with VSYNC when called even when VSYNC update mode is disabled.

� *GF'LVS6WDUW3RV���� *GF'LVS)UDPH%XIIHU���� *GF&XUVRU$GGUHVV���� *GF&XUVRU'LVSOD\���� *GF&XUVRU3RV���� *GF&XUVRU3ULRULW\���� *GF&XUVRU&RORU7UDQVSDUHQW���� *GF&XUVRU&RORU7UDQVSDUHQW0RGH��

Page 158: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

158

FUJITSU CONFIDENTIAL

������� *GF'LVS96<1&8SGDWH����([HFXWLQJ�96<1&�8SGDWH!�

>)RUPDW@�

GDC_BOOL *GF'LVS96<1&8SGDWH (GDC_ENUM GLVSOD\) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1 >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_NOT_READY VSYNC update mode is not enabled GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_ENV_BUF_FULL Internal buffer is full.

>'HVFULSWLRQ@�

This function executes the reflection of conditions set when VSYNC update mode is enabled.

Page 159: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

159

FUJITSU CONFIDENTIAL

������� *GF'LVS$OSKD'LPHQVLRQ����6HWWLQJ�$OSKD�/D\HU�$WWULEXWH!�

>)RUPDW@�

GDC_BOOL *GF'LVS$OSKD'LPHQVLRQ�(GDC_ENUM GLVSOD\,

GDC_ENUM DOSKDBOD\HU, GDC_ULONG OD�� GDC_ULONG OZ, GDC_ULONG OK�� GDC_ULONG VWULGH)

>$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

alpha_layer� � � � Alpha layer specification

*'&B',63B/$<(5B/$� LA0 Layer (For alpha only)

*'&B',63B/$<(5B/$� LA1 Layer (For alpha only)

*'&B',63B/$<(5B/$� LA2 Layer (For alpha only)

*'&B',63B/$<(5B/$� LA3 Layer (For alpha only)

la0 Display origin address of alpha layer�

Specify using the offset address from the starting of the graphics memory.

0x00100000 to size of graphics memory (Valid 16-byte aligned value)�

lw Specify the window width of the alpha layer in pixel units (1 to 4095).�

lh Specify the window height of the alpha layer in pixel units (1 to 4096).

stride Specify the memory width of the logical frame of the alpha layer in 64-byte units (1 to 255).

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 160: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

160

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_ALPHALAYER Invalid alpha layer was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

la0, lw, lh, and stride. GDC_ERR_INVALID_PARAMETER Alignment of an argument address is disabled.

>'HVFULSWLRQ@�

This function sets attributes of alpha map layer specified using the arguments display and alpha_layer.

>1RWH@�

For the parameter range of the la0, lw, lh, and stride, its maximum/minimum value may be restricted according to the system to be used.

Get the size of the graphics memory using the *GF6\V4XHU\&KLS,QIR�� function.

Page 161: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

161

FUJITSU CONFIDENTIAL

������� *GF'LVS$OSKD����6HWWLQJ�$OSKD�/D\HU!�

>)RUPDW@�

GDC_BOOL *GF'LVS$OSKD�(GDC_ENUM GLVSOD\, GDC_ENUM OD\HU�

GDC_ENUM PRGH, GDC_ENUM DOSKDBOD\HU, GDC_ULONG O[, GDC_ULONG O\,� GDC_ENUM HQDEOH)

>$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer� Layer specification

*'&B',63B/$<(5B/��� ��� L0 Layer

*'&B',63B/$<(5B/��� ��� L1 Layer

:

*'&B',63B/$<(5B/��� �� L7 Layer

mode Alpha layer mode

� *'&B$/3+$B5$7,2B/�� Uses pixel value of L5 layer for alpha map.

� *'&B$/3+$B5$7,2B&86720� Uses pixel value of dedicated layer for alpha map.

� *'&B$/3+$B5$7,2B,17$&7� Does not change mode for alpha map.

alpha_layer� � � Alpha layer specification

*'&B',63B/$<(5B/$� LA0 alpha layer

*'&B',63B/$<(5B/$� LA1 alpha layer

*'&B',63B/$<(5B/$� LA2 alpha layer

*'&B',63B/$<(5B/$� LA3 alpha layer

lx� x coordinate of alpha starting position�

0xXXXXXXXX�

ly� y coordinate of alpha starting position�

0xXXXXXXXX

enable Using alpha layer�

� *'&B(1$%/( Uses alpha layer.�

� *'&B',6$%/( Does not use alpha layer. (Default)

Page 162: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

162

FUJITSU CONFIDENTIAL

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid layer was specified. GDC_ERR_INVALID_ALPHALAYER Invalid alpha layer was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

mode and enable. >'HVFULSWLRQ@�

This function sets alpha layer used for the layer specified using the arguments display and layer.

When a coordinate out of the range of the display frame is specified for lx and ly, the coordinate is displayed at the circled position. For example, if the specified values of lx and ly are the “display frame maximum value + n”, it is displayed from the position of n.

>1RWH@�

mode is common to all layers. When mode of one layer is specified, modes of all layers are set similarly.

Page 163: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

163

FUJITSU CONFIDENTIAL

������� *GF'LVS5HDG6NLS����6HWWLQJ�5HDG�6NLS�$UHD!�

>)RUPDW@�

GDC_BOOL *GF'LVS5HDG6NLS�(GDC_ENUM GLVSOD\, GDC_ENUM OD\HU��

GDC_ULONG S[�, GDC_ULONG S[�, GDC_ULONG S\�, GDC_ULONG S\���GDC_ULONG SU, GDC_ENUM PRGH)

>$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer� Layer specification

*'&B',63B/$<(5B/��� ��� L0 Layer

*'&B',63B/$<(5B/��� ��� L2 Layer

:

*'&B',63B/$<(5B/��� ��� L7 Layer

px0� Area x coordinate 0 (Default: 0) 0xXXXXXXXX, S[� ≤ S[��(0 to 4095)

px1� Area x coordinate 1 (Default: 1) 0xXXXXXXXX, S[� ≤ S[��(0 to 4095)

py0� Area y coordinate 0 (Default: 0) 0xXXXXXXXX, S\� ≤ S\��(0 to 4095)

py1� Area y coordinate 1 (Default: 1) 0xXXXXXXXX, S\� ≤ S\��(0 to 4095)

pr� Area specification (Default: 0) 000000000B to 111111111B (Specify by the lower 9 bits.)

Specifies whether or not each bit reads the following nine areas.

0: Does not read.

1: Reads.

)LJ������F� � 5HDG�6NLS�$UHD�

SU[0] SU[1] SU[2]

SU[3] SU[4] SU[5]

SU[6] SU[7] SU[8]

px0 S[��

S\��

S\��

Page 164: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

164

FUJITSU CONFIDENTIAL

mode� Enable/disable read skip

GDC_ENABLE Enables read skip.

GDC_DISABLE Disables read skip. (Default) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid layer was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

and pr and mode. >'HVFULSWLRQ@�

This function sets a read skip area specified using the arguments display and layer.

This setting prevents data of area hidden by the upper layer from being read, reducing read traffic for memory. In addition, in the top layer, when the active image is located at the specific area in the screen (e.g. operation menu), this setting prevents unnecessary read traffic.

When a coordinate out of range of display frame is specified for the arguments px0, py0, px1, py1, data is used at the circled position. For example, when the specified value of px0, py0, px1, py1, are “maximal value of display frame + n”, the data is used from the position of n.

The argument mode is used to set whether or not to enable/disable the read skip for the layer specified using the argument layer.

>1RWH@�

This function cannot be applied to L1 layer and alpha layer.

When not using this function, set the mode to GDC_DISABLE, which may improve memory transfer efficiency.

Page 165: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

165

FUJITSU CONFIDENTIAL

������� *GF'LVS:ULWH%DFN����6HWWLQJ�:ULWH�%DFN!�

>)RUPDW@�

GDC_BOOL *GF'LVS:ULWH%DFN�(GDC_ENUM GLVSOD\,

GDC_ULONG ZED�� GDC_ULONG ZED�, GDC_ULONG ZEZ�� GDC_ENUM�PRGH��

GDC_ULONG ZLKVWU� GDC_ULONG ZLYVWU, GDC_ULONG ZLKHQG� GDC_ULONG ZLYHQG��

GDC_ENUM FRUGHU� GDC_ENUM FPRGH� GDC_ENUM EOHQ�� GDC_ENUM FRPSOHWLRQ)

>$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

wba0� Starting address to which non-interlaced display output is written 0xXXXXXXXX Valid value in a system using other than “NULL”

8-byte alignment must be performed.

For interlaced display output, the starting address to which the odd field is written

wba1� Starting address to which the even field for interlaced display output is written 0xXXXXXXXX Valid value in a system using other than “NULL”

8-byte alignment must be performed.

Specification for non-interlaced display is invalid.

mode� Write back mode

� *'&B',63B2'' Odd field mode (non-interlaced)

� *'&B',63B(9(1 Even field mode

� *'&B',63B%27+� Both field modes

� *'&B',63B6(481(7,$/� Both field modes (no distinction between the fields)

wbw� Memory width (stride) of image area to be written (Specify in 64-byte units). 1 to 255 (64 to 16320 bytes)

Set a value greater than data amount for one line of display screen.

wihstr� x coordinate to start clipping 0 to 4095 (ZLKVWU�<�ZLKHQG)�

wivstr� y coordinate to start clipping 0 to 4095 (ZLYVWU�<�ZLYHQG)�

wihend� x coordinate to end clipping 0 to 4095 (ZLKVWU�<�ZLKHQG)�

Page 166: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

166

FUJITSU CONFIDENTIAL

wivend� y coordinate to end clipping

0 to 4095 (ZLYVWU�<�ZLYHQG)

corder� Input color format of image area to be written

*'&B$5*%B25'(5 � �[���������� ARGB Format (Default)

*'&B5*%$B25'(5 � �[���������� RGBA Format

cmode Color mode setting of image area to be written

� *'&B��%33B)250$7�� ���� 32-bit color mode (Default)

� *'&B��%33B)250$7�� ���� 16-bit color mode

blen Selects value of A field that controls blend when image data is written.

� *'&B(1$%/( Blend enabled (Default)

*'&B',6$%/( Blend disabled

completion Completion wait specification

� *'&B:$,7B&203/(7(�� ��� Returns after completion.

� *'&B5(7B,00(',$7(/<�� ��� Returns without waiting for completion.

)LJ������G� � &OLSSLQJ�&RRUGLQDWH�IRU�:ULWH�%DFN�

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The�*GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

wba0, wba1, mode, wbw, wihstr, wivstr, wihend, and wivend.

GDC_ERR_DEVICE_BUSY Write back is being used.

(0,0)

(ZLKVWU��ZLYVWU)

(ZLKHQG��ZLYHQG)

Page 167: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

167

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function writes the display area specified using the argument display back once to the memory. This function writes the display output image that is overlaid multiple layers, to the graphics memory as image data of 24 bits/pixel.

The starting addresses where the image data is transferred are as follows:

wba0� Odd field

wba1� Even field

)LJ������H� � $GGUHVVHV�RI�2GG�DQG�(YHQ�)LHOGV�

When capturing the even field after capturing the odd field to make the captured image that are arranged in a line in the order of non-interlace (progressive) scan on the graphics memory, use the “mode = GDC_DISP_BOTH” to set as follows:

(1) Increase the starting address of the even field for one raster for the starting address of the odd field.

(2) Set a stride twice as one stride.

)LJ������I� � 6\QWKHVLV�RI�2GG�DQG�(YHQ�)LHOGV�LQ�,QWHUODFHG�0RGH�

Shifting the first address and transferring raster as spacing for one raster enables synthesis of the odd and even fields.

>1RWH@�

Write back operates simultaneously with displaying. Comply with bandwidth defined in the specification of the graphics memory.

For the parameter range of the wba0,� wba1,� wihstr, wivstr, wihend, and wivend, its maximum/minimum value may be restricted according to the system to be used.

ZED��

Odd field

ZED��

Even field

ZED��ZED��ZED�� ZED��

Odd field Even field

Odd + Even fields

��UDVWHU�

Page 168: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

168

FUJITSU CONFIDENTIAL

������� *GF'LVS<890DWUL[����6HWWLQJ�0DWUL[�IRU�&RQYHUWLQJ�<&E&U�o�5*%!�

>)RUPDW@�

GDC_BOOL� � *GF'LVS<890DWUL[�(GDC_ENUM GLVSOD\, const GDC_ULONG *PDWUL[) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

matrix� Pointer to matrix value to be set�0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

matrix. >'HVFULSWLRQ@�

This function specifies conversion parameters used to convert from the YCbCr format to the RGB format at display, in a matrix format. For the matrix, specify the pointer to the array corresponding to the “3×4” matrix (M) shown below. Represent the elements (a11 to a33) in signed fixed decimal format with the 8-bit fraction part (Sign=1 bit, Int=2 bits, Fraction=8 bits; 11 bits in total). Represent elements (b1 to b3) in signed integer format (Sign=1 bit, Int=8 bits; 9 bits in total).

a11 a12 a13 b1

PDWUL[��� a21 a22 a23 b2�a31 a32 a33 b3 �

Page 169: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

169

FUJITSU CONFIDENTIAL

Initial value of pointer to set matrix value, maximum value, and minimum value

(Range of matrix elements: initial value)

0x12b 0x0 0x198 0x1f0

PDWUL[ = 0x12b 0x79c 0x72f 0x1f0 0x12b 0x204 0x0 0x1f0

(Maximum value) 0x7ff 0x7ff 0x7ff 0x1ff

PDWUL[ = 0x7ff 0x7ff 0x7ff 0x1ff 0x7ff 0x7ff 0x7ff 0x1ff

Note: Minimum values are all “0”s.

Page 170: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

170

FUJITSU CONFIDENTIAL

���� &RORU�6HWWLQJ�)XQFWLRQ�

������ *GF&RORU3DOHWWH����6HWWLQJ�&RORU�WR�&RORU�3DOHWWH!�

>)RUPDW@�

GDC_BOOL *GF&RORU3DOHWWH (GDC_ENUM GLVSOD\, GDC_ENUM OD\HU,

GDC_ULONG QXPEHU, GDC_ULONG VL]H, const GDC_COLOR32 *OS&RORU)

>$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer Selecting color palette

*'&B/�B/$<(5B3$/(77( Color palette of L0 layer

*'&B/�B/$<(5B3$/(77( Color palette of L1 layer

*'&B/�B/$<(5B3$/(77( Color palette of L2 layer

*'&B/�B/$<(5B3$/(77( Color palette of L3 layer

number Starting color palette number to be set

0 to 255

size Number of color palette to be set

0 to 256

lpColor Pointer to color data 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid color palette was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

number and size and a pointer of an argument lpColor.

Page 171: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

171

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets a color to a color palette.

When the value of the argument size is “0”, this function sets 256 color palettes.

The precision of each color element of a palette is 6 bits. The basic precision of display output is 8 bits for each of R, G and B, but the color element of a palette is displayed with 2-bit shifted to the MSB side.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

A R G B

)LJ������D� � &RORU�6HWWLQJ�IRU�&RORU�3DOHWWH�

>1RWH@�

For the parameter range of the lpColor, its maximum/minimum value may be restricted according to the system to be used.

Page 172: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

172

FUJITSU CONFIDENTIAL

������ *GF&RORU3DOHWWH2IIVHW����6HWWLQJ�&RORU�3DOHWWH�2IIVHW!�

>)RUPDW@�

GDC_BOOL *GF&RORU3DOHWWH2IIVHW (GDC_ENUM GLVSOD\, GDC_ENUM OD\HU,

GDC_ULONG VXEBQR) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer Selecting color palette

*'&B/�B/$<(5B3$/(77(�� ��� Color palette of L0 layer

*'&B/�B/$<(5B3$/(77(�� ��� Color palette of L1 layer

*'&B/�B/$<(5B3$/(77(�� ��� Color palette of L2 layer

*'&B/�B/$<(5B3$/(77(�� ��� Color palette of L3 layer

sub_no Sub-palette number (serial number assigned to 16-divided color palettes of 256 color palettes 0 to 15)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid color palette was specified. *DC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

sub_no. >'HVFULSWLRQ@�

This function sets color palette offset.

Specify the offset using a sub-palette number. The sub-palette number means a “serial number” assigned to 16-divided color palettes of 256 color palettes. Using this function enables switching colors used for display at a time.

Page 173: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

173

FUJITSU CONFIDENTIAL

<Using Example of the *GF&RORU3DOHWWH2IIVHW�� Function>

In the state in which 16 sub-palettes are set to color palette of L0 layer, when switching to the color of each sub-palette number:

*GF&RORU3DOHWWH2IIVHW�� (GDC_L0_LAYER_PALETTE, Sub-palette number) Color palette of L0 layer

Sub-palette number 0 → Color palette 0 Color palette 0 of Sub-palette number 0 •

• •

• • •

Color palette 15 Color palette 15 of Sub-palette number 0 Sub-palette number 1 → Color palette 16 Color palette 0 of Sub-palette number 1

• • •

• • •

Color palette 31 Color palette 15 of Sub-palette number 1 •

• •

• • •

Sub-palette number 15 → Color palette 240 Color palette 0 of Sub-palette number 15 •

• •

• • •

Color palette 255 Color palette 15 of Sub-palette number 15

)LJ������E� � 8VLQJ�([DPSOH�RI�WKH�*GF&RORU3DOHWWH2IIVHW���)XQFWLRQ�

Page 174: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

174

FUJITSU CONFIDENTIAL

������ *GF&RORU7UDQVSDUHQW����6HWWLQJ�7UDQVSDUHQW�&RORU�RI�/D\HU!�

>)RUPDW@�

GDC_BOOL *GF&RORU7UDQVSDUHQW�(GDC_ENUM GLVSOD\, GDC_ENUM OD\HU,

GDC_COLOR32 FRORU) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer Layer specification

*'&B',63B/$<(5B/��� ��� L0 Layer

*'&B',63B/$<(5B/��� ��� L1 Layer

:

*'&B',63B/$<(5B/��� ��� L7 Layer

color Color value treated as transparent color (Default 0) 0xXXXXXXXX

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H���function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid layer was specified.

>'HVFULSWLRQ@�

This function sets transparent color of layer. The following values are used depending on the color mode.

� 8-bit index color mode: Lower 8 bits of color � 16-bit color mode: Lower 8 bits of color � 24-bit color mode:� � Lower 24 bits of color

>1RWH@�

To enable transparent color of the set layer, set the argument mode of the *GF&RORU7UDQVSDUHQW0RGH�� function to GDC_ENABLE. To disable, set the mode of the *GF&RORU7UDQVSDUHQW0RGH�� function to GDC_DISABLE.

Page 175: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

175

FUJITSU CONFIDENTIAL

������ *GF&RORU7UDQVSDUHQW0RGH����6HWWLQJ�7UDQVSDUHQW�0RGH�RI�/D\HU!�

>)RUPDW@�

GDC_BOOL *GF&RORU7UDQVSDUHQW0RGH (GDC_ENUM GLVSOD\, GDC_ENUM OD\HU,

GDC_ENUM PRGH) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

layer Layer specification

*'&B',63B/$<(5B/��� ��� L0 Layer

*'&B',63B/$<(5B/��� ��� L1 Layer

:

*'&B',63B/$<(5B/��� ��� L7 Layer

mode Transparent mode

*'&B',6$%/(� � Disables transparent mode.

*'&B(1$%/( Enables transparent mode. (Default) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_LAYER Invalid layer was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

mode. >'HVFULSWLRQ@�

This function sets transparent mode of layer.

Page 176: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

176

FUJITSU CONFIDENTIAL

���� &XUVRU�&RQWURO�)XQFWLRQ�

������ *GF&XUVRU$GGUHVV����6HWWLQJ�&XUVRU�3DWWHUQ�6WRUDJH�$UHD!�

>)RUPDW@�

GDC_BOOL *GF&XUVRU$GGUHVV (GDC_ENUM GLVSOD\,

GDC_ENUM QXP&XUVRU, GDC_ULONG ODGUV) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1�

NumCursor� Cursor number

*'&B&85625B��� ��� Cursor 0

� *'&B&85625B��� ��� Cursor 1

ladrs Cursor pattern address

Specify using the offset address from the starting of graphics memory.

0x00100000 to size of graphics memory (Valid16-byte aligned value) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_CURSOR_NUMBER Invalid cursor number was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

ladrs. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_ENV_BUF_FULL� Internal buffer is full. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Alignment of an argument address is disabled.

Page 177: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

177

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets an address in the graphics memory to store cursor patterns.

Because the size of a cursor pattern is 64 × 64 pixels and is specified in 8-bit index color, the memory size required to store two cursor patterns is 64 × 64 × 1 × 2 = 8192 bytes.

The setting of a storage area of cursor patterns is reserved until VSYNC interrupt occurs, and this function returns immediately.

Therefore, if video signal output is stopped when this function is called, a cursor pattern storage area is set when video signal is output and the VSYNC interrupt occurs. Similarly, when the VSYNC interrupt is masked, the cursor pattern storage area is set when the VSYNC interrupt is unmasked.

To enable the VSYNC interrupt, use the *GF6\V,QWHUUXSW0DVN�� function, and to output video signal, use the *GF'LVS2Q���function.

>1RWH@�

For the parameter range of the ladrs, its maximum/minimum value may be restricted according to the system to be used.

To get the size of the graphics memory, use the *GF6\V4XHU\&KLS,QIR�� function.

Page 178: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

178

FUJITSU CONFIDENTIAL

������ *GF&XUVRU3DWWHUQ����6HWWLQJ�&XUVRU�3DWWHUQ!�

>)RUPDW@�

GDC_BOOL *GF&XUVRU3DWWHUQ (GDC_ENUM GLVSOD\,

GDC_ENUM QXP&XUVRU, const GDC_IDX8� OS&XUVRU) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1�

numCursor Cursor number

*'&B&85625B��� ��� Cursor 0

� *'&B&85625B��� ��� Cursor 1

lpCursor Pointer of cursor pattern 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_CURSOR_NUMBER Invalid cursor number was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for a pointer of

an argument lpCursor. >'HVFULSWLRQ@�

This function sets cursor pattern. It transfers the cursor pattern in the main memory specified using lpCursor into the graphics memory set using the *GF&XUVRU$GGUHVV�� function. The cursor pattern is a fixed size of 64 × 64 pixels.

>1RWH@�

For the parameter range of the lpCursor, its maximum/minimum value may be restricted according to the system to be used.

Page 179: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

179

FUJITSU CONFIDENTIAL

������ *GF&XUVRU'LVSOD\����6HWWLQJ�&XUVRU�'LVSOD\�1RW�GLVSOD\!�

>)RUPDW@�

GDC_BOOL *GF&XUVRU'LVSOD\ (GDC_ENUM GLVSOD\,

GDC_ENUM QXP&XUVRU, GDC_ENUM YLVLEOH) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

numCursor Cursor number

*'&B&85625B��� ��� Cursor 0

� *'&B&85625B��� ��� Cursor 1

visible Specifying cursor display/not-display

� *'&B(1$%/( Displays cursor.

� *'&B',6$%/( Does not display cursor. (Default) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_CURSOR_NUMBER Invalid cursor number was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

visible. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_ENV_BUF_FULL Internal buffer is full.

Page 180: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

180

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets display/not-display of the cursor.

The setting of cursor display/not-display is reserved until VSYNC interrupt occurs, and this function returns immediately.

Therefore, if video signal output is stopped when this function is called, display/not-display of the cursor is executed when video signal is output and the VSYNC interrupt occurs. Similarly, when the VSYNC interrupt is masked, displaying/not-displaying of the cursor is executed when the VSYNC interrupts is unmasked.

To enable VSYNC interrupt, use the *GF6\V,QWHUUXSW0DVN�� function, and to output video signal, use the *GF'LVS2Q�� function.

Page 181: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

181

FUJITSU CONFIDENTIAL

������ *GF&XUVRU3RV����6HWWLQJ�&XUVRU�'LVSOD\�3RVLWLRQ!�

>)RUPDW@�

GDC_BOOL *GF&XUVRU3RV�(GDC_ENUM GLVSOD\, GDC_ENUM QXP&XUVRU,

GDC_ULONG [, GDC_ULONG \, GDC_ENUM FRPSOHWLRQ)

>$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

numCursor Cursor number

*'&B&85625B��� ��� Cursor 0

� *'&B&85625B��� ��� Cursor 1

x x coordinate of cursor display position (Default 0) Specifies upper left corner of the cursor 0xXXXXXXXX

y y coordinate of cursor display position (Default 0) Specifies upper left corner of the cursor 0xXXXXXXXX

completion Completion wait specification

� *'&B:$,7B&203/(7(� Returns after completion.

� *'&B5(7B,00(',$7(/<� Returns without waiting for completion. >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H���function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_CURSOR_NUMBER Invalid cursor number was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

completion. GDC_ERR_ENV_INTERNAL Internal error occurred.

Page 182: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

182

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets display position of the cursor.

When a coordinate out of range of display frame is specified for the arguments x and y, the coordinate is displayed at the circled position. For example, when the specified value of x and y are “maximal value of display frame + n”, it is displayed from the position of n.

The setting of cursor display position is reserved until VSYNC interrupt, and this function returns immediately. Therefore, if video signal output is stopped when this function is called, display position of the cursor is set when video signal is output and the VSYNC interrupt occurs. Similarly, when the VSYNC interrupt is masked, display position of the cursor is set when the VSYNC interrupt is unmasked.

To enable the VSYNC interrupt, use the *GF6\V,QWHUUXSW0DVN�� function, and to output video signal, use the *GF'LVS2Q�� function.

When GDC_WAIT_COMPLETION is specified, this function returns after the change of the cursor display position is completed. When GDC_RET_IMMEDIATELY is specified, this function returns immediately without waiting for the completion of the change of the cursor display position.

Page 183: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

183

FUJITSU CONFIDENTIAL

������ *GF&XUVRU3ULRULW\����6HWWLQJ�&XUVRU�'LVSOD\�3ULRULW\!�

>)RUPDW@�

GDC_BOOL *GF&XUVRU3ULRULW\(GDC_ENUM GLVSOD\,

GDC_ENUM QXP&XUVRU, GDC_ENUM PRGH) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

numCursor Cursor number

*'&B&85625B��� ��� Cursor 0

� *'&B&85625B��� ��� Cursor 1

mode Cursor display priority mode

*'&B35,25,7<B/�B/$<(5 Prioritizes display of L0 layer.

*'&B35,25,7<B&85625 Prioritizes display of cursor. (Default) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_CURSOR_NUMBER Invalid cursor number was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

mode. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_ENV_BUF_FULL Internal buffer is full.

>'HVFULSWLRQ@�

This function sets which to prioritize the cursor over L0 layer or L0 layer.

When using this function, unmask the VSYNC interrupt using the *GF6\V,QWHUUXSW0DVN�� function beforehand.

Page 184: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

184

FUJITSU CONFIDENTIAL

������ *GF&XUVRU&RORU7UDQVSDUHQW����6HWWLQJ�&XUVRU�7UDQVSDUHQW�&RORU�!�

>)RUPDW@�

GDC_BOOL *GF&XUVRU&RORU7UDQVSDUHQW (GDC_ENUM GLVSOD\, GDC_IDX8 FRORU) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

color Color code treated as transparent color (Default 0) 0xXXXXXXXX (Specify using lower 8 bits.)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_ENV_BUF_FULL Internal buffer is full.

>'HVFULSWLRQ@�

This function sets color code treated as transparent color of cursor.

To enable the set color code, set the argument mode of the *GF&XUVRU&RORU7UDQVSDUHQW0RGH�� function to GDC_ENABLE. To disable, set the mode of the *GF&XUVRU&RORU7UDQVSDUHQW0RGH�� function to GDC_DISABLE.

When using this function, unmask the VSYNC interrupt using the *GF6\V,QWHUUXSW0DVN�� function beforehand.

Page 185: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

185

FUJITSU CONFIDENTIAL

������ *GF&XUVRU&RORU7UDQVSDUHQW0RGH����6HWWLQJ�7UDQVSDUHQW�0RGH�RI�&XUVRU�&RORU!�

>)RUPDW@�

GDC_BOOL *GF&XUVRU&RORU7UDQVSDUHQW0RGH (GDC_ENUM GLVSOD\, GDC_ENUM PRGH) >$UJXPHQW@�

display� Display specification

*'&B',63B',63/$<B��� ��� Display 0

*'&B',63B',63/$<B��� ��� Display 1

mode Cursor transparent mode

*'&B',6$%/(� Disables transparent mode.

*'&B(1$%/( Enables transparent mode. (Default) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_DISPPARAM_NOT_READY The *GF'LVS,QLWLDOL]H�� function is not called. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_INVALID_DISPLAY Invalid display was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

mode. GDC_ERR_ENV_INTERNAL Internal error occurred. GDC_ERR_ENV_BUF_FULL Internal buffer is full.

>'HVFULSWLRQ@�

This function sets transparent mode of cursor.

When using this function, unmask the VSYNC interrupt using the *GF6\V,QWHUUXSW0DVN�� function.

Page 186: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

186

FUJITSU CONFIDENTIAL

���� &RQWH[W�2SHUDWLRQ�)XQFWLRQV�

������ *GF&UHDWH&RQWH[W����,QLWLDOL]LQJ�&RQWH[W�$UHD!�

>)RUPDW@�

GDC_BOOL *GF&UHDWH&RQWH[W (

GDC_CTX *GUYFW[,

GDC_ULONG GOEXIQXP,

GDC_DLBUF_STRUCT *GOEXIVWU� >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX Valid value in a system using other than “NULL”)

dlbufnum Number of DL buffers to be used (0x00000001 to 0x00000040)

dlbufstr Pointer to DL buffer structure information array (0xXXXXXXXX Valid value in a system using other than “NULL”)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_NUMBER_OF_DL_BUF Illegal number of DL buffer (dlbufnum) was

specified. GDC_ERR_ADDRESS_MISS_ALIGN The starting addresses of the context area and

the DL buffer structure information are not on a 4-byte boundary.

GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN The starting address of the DL buffer is not on an 8-byte boundary.

GDC_ERR_DL_BUF_TOO_SMALL� The size of the DL buffer is less than the minimum size (134016 bytes).

GDC_ERR_DL_SIZE The size of the DL buffer is not a multiple of 32 bytes.

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments (drvctx and dlbufstr).

Page 187: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

187

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets an initial value in the context area allocated by the user.

The user allocates a data area for the context and specifies the address of that area, for the drvctx.

For the dlbufnum, specify the number of DL buffers to be used.

For dlbufstr, specify the starting address of the array of the DL buffer structure information. The number of the array elements equal to the number of DL buffers to be used, is needed. The user must allocate an area for the DL buffer structure information and set information on each DL buffer in advance as follows:

� When allocating DL buffers in VRAM Specify GDC_MEM_TYPE_VRAM for mem_type. Specify the starting offset address of the DL buffer for offset_base (on an 8-byte boundary). Specify the DL buffer size for size in byte units.

>1RWH@�

��DL buffer structure information is referenced by each API function, so do not discard it even after this function returns.

� When transferring display lists via DMA, set the allocated address of each DL buffer to the used DMA. In general, the allocated address of data to be transferred via DMA must be aligned on boundary for each transfer.

� Do not release the context area until the last drawing ends. To check the completion of drawing, use the *GF3ROO'UDZ&RPSOHWH�� function.

��When an invalid value is set to a pointer variable, system may hang up. This also applies to other functions.

� No error occurs even when a value greater than “64” is set to the argument dlbufnum.

Page 188: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

188

FUJITSU CONFIDENTIAL

���� 'LVSOD\�/LVW�&RQWURO�)XQFWLRQV�

������ *GF)OXVK����7UDQVIHUULQJ�'LVSOD\�/LVW!�

>)RUPDW@�

GDC_ULONG *GF)OXVK (GDC_CTX *GUYFW[) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX Valid value in a system using other than “NULL”)

>5HWXUQ�YDOXH@�

1 or greater Drawing number

0 Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_NO_DATA There is no display list in the DL buffer. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function transfers the display list in the current DL buffer to the Graphics Controller.

The transfer processing is queued in the environment-dependent part, and this function returns immediately. For the return value, the drawing number to identify the queued drawing processing, is set. The drawing number is used by the following functions:

� *GF:DLW'UDZ&RPSOHWH��

� *GF3ROO'UDZ&RPSOHWH��

� *GF&DQFHO'UDZ��

� *GF'LVS)UDPH%XIIHU��

When the drawing queue is full, this function does not perform transfer processing, and returns the value “0”.

When there is no display list in the current DL buffer, this function sets the error code GDC_ERR_NO_DATA, and returns the drawing number of the last drawing as a return value. However, when there is no drawing processing, this function returns “0”.

Page 189: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

189

FUJITSU CONFIDENTIAL

This function changes the current DL buffer to other available DL buffer after starting transfer of the display list. The “available DL buffer” is one not reserved using the *GF5HVHUYH'/%XIIHU�� function. In other words, it is either that the stored display list is already transferred to the Graphics Controller and the drawing is completed, or is the one where the drawing processing is cancelled by the *GF&DQFHO'UDZ function.

When there is no available DL buffer, this function waits for the completion of the drawing in the current DL buffer, sets this buffer to the current DL buffer, and returns.

Page 190: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

190

FUJITSU CONFIDENTIAL

������ *GF)OXVK([����7UDQVIHUULQJ�'LVSOD\�/LVW�LQ�$UELWUDU\�'/�%XIIHU!�

>)RUPDW@�

GDC_ULONG *GF)OXVK([ (

GDC_CTX *GUYFW[,

GDC_ULONG EXI1R

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX Valid value in a system using other than “NULL”)

bufNo DL buffer number (0x00000000 to 0xFFFFFFFE) >5HWXUQ�YDOXH@�

1 or greater Drawing number

0 Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_NO_DATA There is no display list in the DL buffer. GDC_ERR_DL_INCOMPLETE The display list in the DL buffer cannot be

executed. GDC_ERR_INVALID_PARAMETER Invalid DL buffer number (bufNo) was specified,

or drvctx is invalid. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function transfers the display list in the DL buffer specified using bufNo to the Graphics Controller.

The transfer processing is queued in the environment-dependent part, and this function returns immediately. For the return value, the drawing number to identify the queued drawing processing, is set. The drawing number is used by the following functions:

� *GF:DLW'UDZ&RPSOHWH��

� *GF3ROO'UDZ&RPSOHWH��

� *GF&DQFHO'UDZ��

� *GF'LVS)UDPH%XIIHU��

When the drawing queue is full, this function does not perform transfer processing, and returns the value “0”.

Page 191: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

191

FUJITSU CONFIDENTIAL

When there is no display list in the DL buffer, this function sets the error code GDC_ERR_NO_DATA, and returns the drawing number of the last drawing as a return value. However, when there is no drawing processing, this function returns “0”.

When the display list in the specified DL buffer is incomplete and discontinuous, this function sets the error code GDC_ERR_DL_INCOMPLETE and returns “0”. In this case, this function does not transfer the display list.

Unlike the *GF)OXVK�� function, this function does not change the current DL buffer.

Page 192: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

192

FUJITSU CONFIDENTIAL

������ *GF5HVHUYH'/%XIIHU����5HVHUYDWLRQ�RI�'/�%XIIHU!�

>)RUPDW@�

GDC_BOOL *GF5HVHUYH'/%XIIHU (

GDC_CTX *GUYFW[��

GDC_ULONG *EXI1R

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX Valid value in a system using other than “NULL”)

bufNo Pointer to area storing number of reserved DL buffer (0xXXXXXXXX Valid value in a system using other than “NULL”)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

(drvctx and bufNo). GDC_ERR_FULL_DL_BUF_RESERVED All the DL buffers other than the current DL

buffer are reserved, or there is only one DL buffer.

>'HVFULSWLRQ@�

This function reserves the current DL buffer.

When the processing succeeds, this function stores the number of the reserved DL buffer in the area indicated by the argument bufNo.

The DL buffer reserved using this function is used as the current DL buffer until the *GF)OXVK�� function is executed. However, after that, the DL buffer is not used again as the current DL buffer, and the display list stored in the DL buffer is stored instead of being discarded. This stored display list can be used by the *GF)OXVK([�� function.

To make the reserved DL buffer available again as the current DL buffer, unreserve the DL buffer using the *GF8Q5HVHUYH'/%XIIHU�� function.

When all the DL buffers other than the current DL buffer are reserved or when there is only one DL buffer, this function sets the error code GDC_ERR_FULL_DL_BUF_RESERVED and returns GDC_FALSE.

Page 193: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

193

FUJITSU CONFIDENTIAL

������ *GF8Q5HVHUYH'/%XIIHU����8QUHVHUYH�RI�'/�%XIIHU!�

>)RUPDW@�

GDC_BOOL *GF8Q5HVHUYH'/%XIIHU (

GDC_CTX *GUYFW[,

GDC_ULONG EXI1R�

>$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX Valid value in a system using other than “NULL”)

bufNo DL Buffer number (0x00000000 to 0xFFFFFFFE) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid DL buffer number (bufNo) was specified,

or drvctx is invalid. GDC_ERR_DL_BUF_NOT_RESERVED The specified DL buffer is not reserved.

>'HVFULSWLRQ@�

This function unreserves the DL buffer specified using bufNo.

Page 194: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

194

FUJITSU CONFIDENTIAL

������ *GF&DQFHO'LVSOD\/LVW����&DQFHO�RI�'LVSOD\�/LVW!�

>)RUPDW@�

GDC_BOOL� � *GF&DQFHO'LVSOD\/LVW�(GDC_CTX *GUYFW[)

>$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX Valid value in a system using other than “NULL”)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER� Invalid parameter was specified for an argument

drvctx.

>'HVFULSWLRQ@�

This function cancels the display list in the current DL buffer.

Page 195: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

195

FUJITSU CONFIDENTIAL

������ *GF6SHFLI\'UDZ4XHXH����6SHFLILFDWLRQ�RI�'UDZLQJ�4XHXH!�

>)RUPDW@�

GDC_BOOL *GF6SHFLI\'UDZ4XHXH (

GDC_CTX *GUYFW[,

GDC_ULONG GUDZT�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX Valid value in a system using other than “NULL”)

drawq Drawing queue number (“0”, or value got using the *GF$GG'UDZ4XHXH���function; default = 0)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function specifies the drawing queue where the *GF)OXVK�� function queues drawing.

In the initial state, this function uses the default drawing queue (queue number: 0). >1RWH@�

If a nonexistent drawing queue is specified, no error occurs when this function is executed but instead an error occurs when the *GF)OXVK function is executed.

Page 196: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

196

FUJITSU CONFIDENTIAL

������ *GF*HW'/%XIIHU,QIR����*HWWLQJ�RI�'/�%XIIHU�6WUXFWXUH�,QIRUPDWLRQ!�

>)RUPDW@�

const GDC_DLBUF_STRUCT **GF*HW'/%XIIHU,QIR (GDC_CTX *GUYFW[) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX Valid value in a system using other than “NULL”)

>5HWXUQ�YDOXH@�

Other than 0 Pointer to DL buffer structure information

0 Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function returns a pointer to the starting element (DL buffer number 0) of the DL buffer structure information array.

When an error occurs, this function returns 0 pointer.

Page 197: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

197

FUJITSU CONFIDENTIAL

������ *GF'/7UDQVIHU0RGH����6HWWLQJ�RI�7UDQVIHU�0RGH�RI�'LVSOD\�/LVW�!�

>)RUPDW@�

GDC_BOOL *GF'/7UDQVIHU0RGH (

GDC_CTX *GUYFW[,

GDC_ENUM� � PRGH�

)� >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX Valid value in a system using other than “NULL”)

mode Transfer mode of display list

� *'&B'/75$1602'(B/2&$/ Local display list transfer (Default)

� *'&B'/75$1602'(B6/$9( DMA Slave transfer (not supported for V03L01)

<The following macro is available only for Coral-PA:>

� *'&B'/75$1602'(B0$67(5 DMA master transfer >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

drvctx and mode. >'HVFULSWLRQ@�

This function specifies transfer mode of the display list.

Page 198: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

198

FUJITSU CONFIDENTIAL

���� 'UDZLQJ�4XHXH�2SHUDWLRQ�)XQFWLRQV�

������ *GF$GG'UDZ4XHXH����$GGLQJ�'UDZLQJ�4XHXH!�

>)RUPDW@�

GDC_BOOL *GF$GG'UDZ4XHXH (GDC_ULONG *GUDZT) >$UJXPHQW@�

drawq Pointer to area that stores drawing queue number (Valid value in a system using other than “NULL”)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_OVER_DRAWQUEUE_MAX The count of drawing queues that can be added

was exceeded. GDC_ERR_INVALID_PARAMETER drawq�is invalid. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function creates new drawing queues.

In the initial state, the default drawing queue (queue number 0) is used to queue drawing. Using the *GF6SHFLI\'UDZ4XHXH�� function allows the used drawing queue to be changed. Also, Using the *GF6ZLWFK'UDZ4XHXH�� function allows the drawing queue to be executed to be changed.

When there is a drawing with high priority, the high-priority drawing can be executed on ahead by creating exclusive drawing queue using this function and distinguish the queue to be used from the other drawing.

An added drawing queue is identified by a drawing queue number. The drawing queue number is stored in the area indicated to by drawq.

Page 199: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

199

FUJITSU CONFIDENTIAL

������ *GF6ZLWFK'UDZ4XHXH����6ZLWFKLQJ�'UDZLQJ�4XHXH!�

>)RUPDW@�

GDC_BOOL *GF6ZLWFK'UDZ4XHXH (GDC_ULONG GUDZT) >$UJXPHQW@�

drawq Drawing queue number (0, or value got using the *GF$GG'UDZ4XHXH�� function)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_CONFLICT_I2C I2C is in use (only for Coral-PA). GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function switches the drawing queue to be executed.

When there remains unprocessed drawing in the drawing queue specified using drawq, this function starts drawing.

When there is drawing remaining in the drawing queue to be executed before executing this function, the queued drawing is suspended until specified again by this function.

>1RWH@�

Coral-PA cannot use this function when I2C is in use. When using this function after executing the I2C control function, end the I2C first using the *GF,�&5HO5HVRXUFH�� function.

Page 200: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

200

FUJITSU CONFIDENTIAL

������ *GF&DQFHO'UDZ����&DQFHO�RI�'UDZLQJ!�

>)RUPDW@�

GDC_BOOL *GF&DQFHO'UDZ (GDC_ULONG GUDZBLG) >$UJXPHQW@�

draw_id Drawing number (Return value of the *GF)OXVK�� or *GF)OXVK([�� function) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_DRAW_IN_PROGRESS� Drawing is in progress. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function deletes the drawing specified using draw_id, from the current drawing queue.

For draw_id, specify the return value of the *GF)OXVK�� or *GF)OXVK([�� function.

If the drawing specified using draw_id is already completed or if there is no drawing specified using draw_id at the instant this function is called, this function returns without executing anything. Also, when a drawing is already started, this function cannot be canceled. In this case, check the completion of the drawing using the *GF:DLW'UDZ&RPSOHWH�� or *GF3ROO'UDZ&RPSOHWH�� function.

When this function is called, a process waiting for the completion of drawing specified using draw_id of the *GF:DLW'UDZ&RPSOHWH�� function, returns from the *GF:DLW'UDZ&RPSOHWH�� function.

Page 201: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

201

FUJITSU CONFIDENTIAL

������ *GF&DQFHO'UDZ$OO����&DQFHO�RI�$OO�'UDZLQJV!�

>)RUPDW@�

GDC_BOOL *GF&DQFHO'UDZ$OO (void) >$UJXPHQW@�

None >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function deletes all drawing processing in the current drawing queue.

Page 202: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

202

FUJITSU CONFIDENTIAL

���� 'UDZLQJ�6\QFKURQL]DWLRQ�)XQFWLRQV�

������ *GF:DLW'UDZ&RPSOHWH����:DLWLQJ�IRU�&RPSOHWLRQ�RI�'UDZLQJ!�

>)RUPDW@�

GDC_BOOL *GF:DLW'UDZ&RPSOHWH (GDC_ULONG GUDZBLG) >$UJXPHQW@�

draw_id Drawing number (Return value of the *GF)OXVK�� or *GF)OXVK([�� function) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_WAIT_DRAW_INCOMPLETE The drawing queue was reset. GDC_ERR_ENV_INTER Internal error occurred.

>'HVFULSWLRQ@�

This function waits for the completion of the drawing specified using draw_id and then returns.

For draw_id, specify the return value of the *GF)OXVK�� or *GF)OXVK([�� function.

When the drawing specified using draw_id is already completed at the instant this function is called, this function returns immediately. Also, when there is no drawing specified using draw_id, this function returns immediately. In both cases, the return value is an error code GDC_TRUE. GDC_ERR_WAIT_DRAW_INCOMPLETE is an error code for debugging.

Page 203: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

203

FUJITSU CONFIDENTIAL

������ *GF3ROO'UDZ&RPSOHWH����3ROOLQJ�&RPSOHWLRQ�RI�'UDZLQJ!�

>)RUPDW@�

GDC_BOOL *GF3ROO'UDZ&RPSOHWH (GDC_ULONG GUDZBLG) >$UJXPHQW@�

draw_id Drawing number (Return value of the *GF)OXVK�� or *GF)OXVK([�� function) >5HWXUQ�YDOXH@�

GDC_TRUE Drawing is completed.

GDC_FALSE Completion of drawing is being awaited or an error occurred. >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_DRAW_IN_PROGRESS Drawing is in progress. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function checks the completion of the drawing specified using draw_id.

For draw_id, specify the return value of the *GF)OXVK�� or *GF)OXVK([�� function.

When drawing is completed, this function returns GDC_TRUE; when not completed, this function returns GDC_FALSE. Also, when an error occurs during execution of this function, this function returns GDC_FALSE. To check the state the GDC_FALSE indicates, get an error code.

>1RWH@�

The return value is GDC_TRUE when there is no drawing specified using draw_id.

Page 204: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

204

FUJITSU CONFIDENTIAL

���� 'UDZLQJ�)UDPH�6HWWLQJ�)XQFWLRQV�

������ *GF'UDZ'LPHQVLRQ����6HWWLQJ�RI�'UDZLQJ�)UDPH!�

>)RUPDW@�

GDC_BOOL GdcDrawDimension (

GDC_CTX *GUYFW[,

GDC_ENUM FRUGHU�

GDC_ENUM FPRGH,

GDC_ULONG GDGUV,

GDC_USHORT GZ,

GDC_USHORT GK��

GDC_ENUM WXUQRYHU[��

GDC_ENUM WXUQRYHU\�

>$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

corder Input color format

*'&B$5*%B25'(5 ARGB Format (Coral compatible mode)

� *'&B5*%$B25'(5 RGBA Format (OpenGL mode)

cmode Color mode

� *'&B��%33B)250$7�� ���� 32-bit color mode

� *'&B��%33B)250$7�� ���� 16-bit color mode

� *'&B�%33B)250$7�� ��� 8-bit index color mode

dadrs Drawing frame origin address (Specify using the offset address from the starting of the graphics memory as a 64-byte aligned value.)

dw Drawing frame width pixel count (Specify a multiple of “16” ranging from 16 to 4096.)

dh Drawing frame height line count (1 to 4096)

turnoverx Setting of x-direction coordinate system inversion (only enabled for 3D graphics drawing)

� *'&B(1$%/� Inverts.

� *'&B',6$%/( Does not invert.

turnovery Setting of y-direction coordinate system inversion (only enabled for 3D graphics drawing)

� *'&B(1$%/( Inverts.

� *'&B',6$%/( Does not invert.

Page 205: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

205

FUJITSU CONFIDENTIAL

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_COLOR_MODE Invalid color mode was specified. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the drawing

frame is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, corder, cmode, turnoverx, or turnovery.

GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for argument dadrs.

>'HVFULSWLRQ@�

This function sets the color mode, origin address, size, and input color format of the drawing frame.

For the argument corder, set the input color format. When cmode is GDC_8BPP_FORMAT, the palette mode is selected. In this case, the input value is treated as the index code referenced in the palette, irrespective of the setting of corder. When GDC_ARGB_ORDER is specified, the Coral compatible mode is selected; when GDC_RGBA_ORDER is specified, the OpenGL mode is selected.

Settings arguments turnoverx and turnovery allows the coordinate system to be inverted for graphics drawing performed using the *GF'UDZ3ULPLWLYH�'�� function. For example, when GDC_ENABLE is set to turnovery, the coordinate system in which smaller Y coordinate values are at the bottom and greater Y coordinate values are at the top, can be used.

>1RWH@�

For the drawing frame width pixel count (dw), set a value in 16-pixel units.

Inversion of the coordinate system is set for each drawing frame. Therefore, when setting the drawing frame using this function, this function calls the *GF)OXVK�� function internally to perform Flush processing for the current DL.

Page 206: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

206

FUJITSU CONFIDENTIAL

����� *UDSKLFV�'UDZLQJ�)XQFWLRQV�

������� *GF'UDZ3ULPLWLYH�'����'HYLFH�&RRUGLQDWH�6\VWHP�*UDSKLFV�'UDZLQJ!�

>)RUPDW@�

GDC_BOOL *GF'UDZ3ULPLWLYH�' (

GDC_CTX *GUYFW[,

GDC_ENUM SULP,

GDC_ULONG ILUVW,

GDC_ULONG FRXQW�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

prim Primitive to be drawn

*'&B32,176 Point

*'&B/,1(6 Line

*'&B32/</,1( Polyline

*'&B75,$1*/(6 Triangle

*'&B75,$1*/(B675,3 Triangle strip

*'&B75,$1*/(B)$1 Triangle fan

*'&B32/<*21 Polygon

*'&B48$'6 Quadrangle (This can be specified when the input color format is GDC_RGBA_ORDER.)

*'&B48$'B675,3 Quadrangle strip (This can be specified when the input color format is GDC_RGBA_ORDER.)

first First item position in each data array (0 to maximum element count of array)

count Number of drawings (1 to maximum element count of array) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 207: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

207

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PRIMITIVE Invalid primitive is specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or count. GDC_ERR_NO_ARRAY_PTR There is no valid coordinate array in the

*GF$WWU$UUD\�� function. GDC_ERR_DRAWQUEUE_FULL� The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function draws graphics of device coordinate system.

This function draws graphics specified using prim by the vertex count specified using count. The vertex coordinate used for drawing is extracted from the vertex array specified using the *GF9HUWH[$UUD\�� function as many times as specified using count. The distance (in bytes) between elements in the array is offset specified using the *GF9HUWH[$UUD\�� function. The first vertex coordinate is data at the element position of the value obtained by multiplying first in the vertex array by the offset; first begins at “0”.

As a vertex color, either a color specified using the *GF&RORUL�� function or a color stored in the vertex color array specified using the *GF&RORU$UUD\�� function is used. When the color array is enabled using the *GF$WWU$UUD\�� function, the latter vertex color array is used. How to extract a color from the vertex color array is the same for the vertex array. When the vertex color unit is set to the graphics unit using the *GF&RORU$UUD\�� function, one vertex color is applied to one line or all vertices of a triangle. For example, in a triangle fan with four vertices, two vertex colors are used because it consists of two triangles.

As an alpha factor, either data specified using the *GF$OSKDL�� function or data stored in the array specified using the *GF$OSKD$UUD\�� function is used. When the alpha factor array is enabled using the *GF$WWU$UUD\�� function, the latter alpha factor array is used. How to extract data from the alpha factor array is the same as for the vertex array.

As a texture coordinate, either coordinate data specified using the *GF7H[&RRUG�'>L@�� function or coordinate data stored in the array specified using the *GF7H[&RRUG$UUD\�� function is used. When the texture coordinate array is enabled using the *GF$WWU$UUD\�� function, the latter texture coordinate array is used. How to extract texture coordinate data from the texture coordinate array is the same as for the vertex array.

As a fog coordinate, either data specified using the *GF)RJ&RRUG�� function or data stored in the array specified using the *GF)RJ$UUD\�� function is used. When the fog coordinate array is enabled using the *GF$WWU$UUD\�� function, the latter fog coordinate array is used. How to extract fog coordinate data from the fog coordinate array is the same as for the vertex array.

Available data types of the vertex coordinate, vertex color, texture coordinate, and fog coordinate are shown in 7DEOH������D. Operation is not guaranteed when other combinations are specified.

Page 208: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

208

FUJITSU CONFIDENTIAL

7DEOH������D� � 'DWD�W\SH�RI�*GF'UDZ3ULPLWLYH�'�3DUDPHWHUV�

Data classification Data type

Vertex coordinate GDC_VTX2I GDC_VTX2IP GDC_VTX2X

Vertex color GDC_COLOR32 Alpha factor GDC_UCHAR Texture coordinate (texture0, texture1)

GDC_TEX2I GDC_TEX2X

Fog coordinate GDC_FIXED32

When count is less than the minimum value required to make up the graphics, this function returns GDC_TRUE without executing anything. Also, when count is an odd number in GDC_LINES, when count is not a multiple of “3” in GDC_TRIANGLES, when count is not a multiple of “4” in GDC_QUADS, and when count is an odd number greater than “4” in GDC_QUAD_STRIP, fractional vertices are ignored.

>1RWH@�

In this function, index reference DL transfer mode, mipmap, alpha test, lighting processing, coordinate transformation, shadowed, bordered, and top left non-applied mode cannot be used.

Polygon drawing has the following restrictions. In addition, when drawing polygon, only the color set using the *GF&RORUL�� function can be used.

7DEOH������E� � 'UDZLQJ�$WWULEXWH�IRU�3RO\JRQ�'UDZLQJ�

Drawing attribute Applicable/Not applicable

Drawing with logical operation { Alpha blending { Gouraud shading × Drawing with texture × Fog ×

{ : Applicable, × : Not applicable

Page 209: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

209

FUJITSU CONFIDENTIAL

������� *GF'UDZ3ULPLWLYH�'�����'�*UDSKLFV�'UDZLQJ!�

>)RUPDW@�

GDC_BOOL *GF'UDZ3ULPLWLYH�' (

GDC_CTX *GUYFW[,

GDC_ENUM SULP,

GDC_ULONG ILUVW,

GDC_ULONG FRXQW�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

prim Primitive to be drawn

*'&B32,176 Point

*'&B/,1(6 Line

*'&B32/</,1( Polyline

*'&B75,$1*/(6 Triangle

*'&B75,$1*/(B675,3 Triangle strip

*'&B75,$1*/(B)$1 Triangle fan

*'&B32/<*21 Polygon

*'&B48$'6 Quadrangle (for OpenGL mode only)

*'&B48$'B675,3 Quadrangle strip (for OpenGL mode only)

first First item position in each data array (0 to maximum element count of array)

count Number of drawings (1 to maximum element count of array) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PRIMITIVE Invalid primitive was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx�or count. GDC_ERR_NO_ARRAY_PTR There is no valid coordinate array in the

*GF$WWU$UUD\�function. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

Page 210: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

210

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function draws the object coordinate system graphics specified using prim by the count specified using count. The logical coordinate system is converted to the device coordinate system when drawing by hardware, according to the contents set using the geometry attribute setting function.

The vertex coordinate used for drawing is extracted from the vertex array specified using the *GF9HUWH[$UUD\�� function as many times as specified using count. The distance (in bytes) between elements in the array is offset specified using the *GF9HUWH[$UUD\�� function. The first vertex coordinate is data at the element position of the value obtained by multiplying first in the vertex array by the offset; first begins at “0”.

As a vertex color, either a color specified using the *GF&RORUL>I�L@�� function or a color stored in the vertex color array specified using the *GF&RORU$UUD\�� function is used. When the color array is enabled using the *GF$WWU$UUD\�� function, the latter vertex color array is used. How to extract a color from the vertex color array is the same for the vertex array. When the vertex color unit is set to the graphics unit using the *GF&RORU$UUD\�� function, one vertex color is applied to one line or all vertices of a triangle. For example, in a triangle fan with four vertices, two vertex colors are used because it consists of two triangles. In the OpenGL mode, the setting of the front face color is used. The rear face color is set using the *GF%DFN)DFH&RORU>L�I@�� function or the *GF%DFN)DFH&RORU$UUD\�� function.

As an alpha factor, either data specified using the *GF$OSKDL>L�I@�� function or data stored in the array specified using the *GF$OSKD$UUD\�� function is used. When the alpha factor array is enabled using the *GF$WWU$UUD\�� function, the latter alpha factor array is used. How to extract data from the alpha factor array is the same as for the vertex array. In the OpenGL mode, the setting of the front face is used. The rear face is set using the *GF%DFN)DFH$OSKD>L�I@�� function or the *GF%DFN)DFH$OSKD$UUD\�� function.

As a texture coordinate, either coordinate data specified using the *GF7H[&RRUG�'>1[�1I@�� function or coordinate data stored in the array specified using the *GF7H[&RRUG�'>1I�1[@�� function or the*GF7H[&RRUG$UUD\�� function is used. When the texture coordinate array is enabled using the *GF$WWU$UUD\�� function, the latter texture coordinate array is used. How to extract texture coordinate data from the texture coordinate array is the same as for the vertex array.

As a normal vector, either data specified using the *GF1RUPDO>I@�� function or data stored in the array specified using the *GF1RUPDO$UUD\�� function is used. When the normal vector array is enabled using the *GF$WWU$UUD\�� function, the latter normal vector array is used. How to extract normal vector data from the normal vector array is the same as for the vertex array.

As a fog coordinate, either data specified using the *GF)RJ&RRUG>I@�� function or data stored in the array specified using the *GF)RJ$UUD\�� function is used. When the fog coordinate array is enabled using the *GF$WWU$UUD\�� function, the latter fog coordinate array is used. How to extract fog coordinate data from the fog coordinate array is the same as for the vertex array.

Available data types of the vertex coordinate, vertex color, texture coordinate, normal vector, and fog coordinate are shown in 7DEOH������F to 7DEOH������H below. Operation is not guaranteed when other combination of data types are specified. When GDC_VTX_2* is specified for the vertex coordinate, the Z coordinate is treated as “0”.

Page 211: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

211

FUJITSU CONFIDENTIAL

7DEOH������F� � 'DWD�7\SH�RI�&RUDO�&RPSDWLEOH�0RGH�)ORDWLQJ�3RLQW�3DUDPHWHUV�

Data classification Data type

Vertex coordinate GDC_VTX2F GDC_VTX3F

Vertex color GDC_RGB3F Texture coordinate GDC_TEX2FN

7DEOH������G� � 'DWD�7\SH�RI�&RUDO�&RPSDWLEOH�0RGH�,QWHJHU�3DUDPHWHUV�

Data classification Data type

Vertex coordinate GDC_VTX2X GDC_VTX2IP GDC_VTX2I GDC_VTX3X GDC_VTX2IP_X GDC_VTX3I

Vertex color GDC_COLOR32 Alpha factor GDC_UCHAR Texture coordinate GDC_TEX2XN

Page 212: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

212

FUJITSU CONFIDENTIAL

7DEOH������H� � 'DWD�7\SH�RI�2SHQ*/�0RGH�3DUDPHWHUV�

Data classification Data type

Vertex coordinate GDC_VTX2X GDC_VTX2F GDC_VTX3X GDC_VTX3F GDC_VTX4X GDC_VTX4F

Vertex color (front face color, rear face color)

GDC_COLOR32 GDC_RGB3X GDC_RGB3F GDC_RGB4X GDC_RGB4F GDC_COLOR8 (for 32-bit color mode only)

Alpha factor (front face alpha factor, rear face alpha factor)

GDC_UCHAR GDC_FIXED32 GDC_SFLOAT

Texture coordinate (texture0, texture1)

GDC_TEX2XN GDC_TEX2FN GDC_TEX4XN GDC_TEX4FN

Normal vector GDC_NMR3X GDC_NMR3F

Fog coordinate GDC_FIXED32 GDC_SFLOAT

When count is less than the minimum value required to make up the graphics, this function returns GDC_TRUE without executing anything. Also, fractional vertices are ignored in the following cases: count is an odd number in CDC_LINES, count is not a multiple of “3” in CDC_TRIANGLES, count is not a multiple of “4” in CDC_QUADS, and count is an odd number greater than “4” for CDC_QUAD_STRIP.

When using the index reference DL transfer mode, enable this mode using the *GF*HR,QGH[0RGH�� function. The index reference DL transfer mode uses the data for count from the array of each vertex data set using the *GF*HR,QGH[$UUD\�� function, according to the mode specified using the *GF*HR,QGH[0RGH�� function.

Page 213: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

213

FUJITSU CONFIDENTIAL

>1RWH@�

When using the index reference DL transfer mode, the argument first is meaningless. The index reference DL transfer mode is enabled using the *GF*HR,QGH[0RGH�� function. Also, the index reference DL transfer mode can only be used for the OpenGL mode.

When the data type is floating point type in the Coral compatible mode, alpha Gouraud shading cannot be used.

When the argument prim is GDC_LINES/GDC_POLYLINE, applicable drawing attributes are shown in the table below.

7DEOH������I� � $WWULEXWHV�$SSOLFDEOH�WR�/LQH�3RO\OLQH�'UDZLQJ�

Attribute of line *'&B/,1(6 �*'&B32/</,1(

Line width 1 Lighting { Texture { Fog { How to draw broken line pattern { Gouraud shading { Alpha Gouraud shading { Setting of background color mode of broken line pattern {

Setting of reference direction of broken line pattern {

Shadowed line × Bordered line × Interpolation mode for thick line connection section ×

{ : Applicable, × : Not applicable

Polygon drawing has the following restrictions.

Polygon drawing has the following restrictions. In addition, to draw polygon, set the geometry clip frame so that it will be the same as the rendering clip frame. When drawing polygon, the color set using the *GF&RORU>L�I@�� function is used.

7DEOH������J� � 'UDZLQJ�$WWULEXWHV�RI�3RO\JRQ�'UDZLQJ�

Drawing attribute Applicable/Not applicable

Drawing with logical operation { Alpha blending { Gouraud shading × Drawing with texture { Fog {

{ : Applicable, × : Not applicable

Page 214: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

214

FUJITSU CONFIDENTIAL

������� *GF9HUWH[$UUD\����6SHFLILFDWLRQ�RI�9HUWH[�&RRUGLQDWH�$UUD\!�

>)RUPDW@�

GDC_BOOL *GF9HUWH[$UUD\��

GDC_CTX *GUYFW[,

GDC_ENUM W\SH,

GDC_ULONG VWULGH,

const void *YW[�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

type Data format of vertex coordinate

*'&B7<3(B97;�, GDC_VTX2I type

*'&B7<3(B97;�,3 GDC_ VTX2IP type

*'&B7<3(B97;�; GDC_ VTX2X type

*'&B7<3(B97;�) GDC_ VTX2F type

*'&B7<3(B97;�, GDC_ VTX3I type

*'&B7<3(B97;�; GDC_ VTX3X type

*'&B7<3(B97;�) GDC_ VTX3F type

*'&B7<3(B97;�,3B; GDC_ VTX2IP_X type

*'&B7<3(B97;�; GDC_ VTX4X type

*'&B7<3(B97;�) GDC_ VTX4F type

stride Distance between vertex coordinate data (in bytes) (Specify a multiple of “4” ranging from 0x00000000 to 0xFFFFFFFF(*1).)

vtx Pointer to vertex coordinate data (Valid value in a system using other than “NULL”)

(*1) The range varies with the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

drvctx, type, stride, or vtx.

Page 215: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

215

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function specifies the array that has stored the vertex coordinate used by the *GF'UDZ3ULPLWLYH function.

Using the argument stride allows the required data to be accessed in the set data array at a fixed interval. When the argument stride is “0”, the system interprets that vertex coordinate data is contained with no space between the data array.

For the argument stride, specify a 4-byte aligned value. Operation is not guaranteed when the argument stride exceeding the accessible range is specified.

Page 216: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

216

FUJITSU CONFIDENTIAL

������� *GF&RORU$UUD\����6SHFLILFDWLRQ�RI�9HUWH[�&RORU�)URQW�)DFH�9HUWH[�&RORU�$UUD\!�

>)RUPDW@�

GDC_BOOL *GF&RORU$UUD\ (

GDC_CTX *GUYFW[,

GDC_ENUM W\SH,

GDC_ENUM XQLW,

GDC_ULONG VWULGH,

const void *FRORU�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

type Data format of vertex color

*'&B7<3(B&2/25��� GDC_COLOR32 type

*'&B7<3(B5*%�; GDC_ RGB3X type

*'&B7<3(B5*%�) GDC_ RGB3F type

*'&B7<3(B5*%$�; GDC_ RGBA4X type (for OpenGL mode only)

*'&B7<3(B5*%$�) GDC_ RGBA4F type (for OpenGL mode only)

*'&B7<3(B&2/25�� GDC_UCHAR type (for OpenGL mode and 32-bit color mode only)

unit Unit where vertex color applied

*'&B&2/25B$B97;� � In units of vertices�

*'&B&2/25B$B35,0� � In units of graphics�

stride Distance between vertex color data (in bytes) (0x00000000 to 0xFFFFFFFF(*1). When a type is other than GDC_TYPE_COLOR8, specify a multiple of “4”.)

color Pointer to vertex color data (Valid value in a system using other than “NULL”)

(*1) The range varies with the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 217: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

217

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER� Invalid parameter was specified for arguments

drvctx, type, unit, stride, or color. >'HVFULSWLRQ@�

This function specifies the array where the vertex color used by the *GF'UDZ3ULPLWLYH function is stored.

When the GDC_COLOR_A_VTX is specified for unit, the same number of vertex colors as the vertex coordinate is used for drawing.

On the other hand, when the GDC_COLOR_A_PRIM is specified for unit, one vertex color is used for each line, triangle, or quadrangle.

When an argument type is the GDC_TYPE_COLOR32, the color data format set in the OpenGL mode and in the Coral compatible mode is different.

In the OpenGL mode, set a value of RGBA32 bit including the alpha value.

In the Coral compatible mode, the following values are used depending on the color mode:

� 8-bit index color mode: lower 8 bits of color � 16-bit color mode: lower 16 bits of color � 32-bit color mode: value of color (32 bits)

GDC_TYPE_RGBA4X, GDC_TYPE_RGBA4F, and GDC_TYPE_COLOR8 of the argument type can be specified only in the OpenGL mode. When GDC_TYPE_COLOR8 is specified, the system interprets that the color information is arranged in the provided array in 8-bit units in the order of R, G, B and A.

In the Coral compatible mode, when setting the alpha value for each vertex, use the *GF$OSKD$UUD\�� function. The OpenGL mode does not use the alpha value specified for the *GF$OSKD$UUD\�� function.

In the 32-bit or 16-bit color modes, specify vertex color data in the RGBA or ARGB format. To set the color order, use the *GF'UDZ'LPHQVLRQ�� function.

Using the argument stride allows the required data to be accessed in the set data array at a fixed interval. When the argument stride is “0”, the system interprets that color data is contained with no space between the data array.

When the argument type is other than GDC_TYPE_COLOR8, specify a 4-byte aligned value for the argument stride. Operation is not guaranteed when the argument stride exceeding the accessible range is specified.

>1RWH@�

In the OpenGL mode, the setting of the front face vertex color is used.

When drawing polygon, the value set using the *GF&RORU>L�I@�� function is used, instead the value set using this function.

Page 218: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

218

FUJITSU CONFIDENTIAL

������� *GF7H[&RRUG$UUD\����6SHFLILFDWLRQ�RI�7H[WXUH�&RRUGLQDWH�$UUD\!�

>)RUPDW@�

GDC_BOOL *GF7H[&RRUG$UUD\ (

GDC_CTX *GUYFW[,

GDC_ENUM WH[WXUH�

GDC_ENUM W\SH,

GDC_ULONG VWULGH,

const void *WH[FRRUG�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

texture Texture

*'&B7(;785(�� Texture0

*'&B7(;785(�� Texture1

type Data format of texture coordinate

*'&B7<3(B7(;�, GDC_ TEX2I type

*'&B7<3(B7(;�; GDC_ TEX2X type

*'&B7<3(B7(;�;1 GDC_ TEX2XN type

*'&B7<3(B7(;�)1 GDC_ TEX2FN type

*'&B7<3(B7(;�;1 GDC_ TEX4XN type

*'&B7<3(B7(;�)1 GDC_ TEX4FN type

stride Distance between texture coordinate data (in bytes) (Specify a multiple of “4” ranging from 0x00000000 to 0xFFFFFFFF(*1).)

texcoord Pointer to texture coordinate data (Valid value in a system using other than “NULL”)

(*1) The range varies with the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 219: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

219

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

drvctx, texture, type, stride, or texcoord. >'HVFULSWLRQ@�

This function specifies the texture coordinate array for each texture (TEXTURE0, TEXTURE1).

Using the argument stride allows the required data to be accessed in the set data array at a fixed interval. When the argument stride is “0”, the system interprets that vertex coordinate data is contained with no space between the data array.

For the argument stride, specify a 4-byte aligned value. Operation is not guaranteed when the argument stride exceeding the accessible range is specified.

Page 220: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

220

FUJITSU CONFIDENTIAL

������� *GF)RJ$UUD\����6SHFLILFDWLRQ�RI�)RJ�&RRUGLQDWH�$UUD\!�

>)RUPDW@�

GDC_BOOL *GF)RJ$UUD\ (

GDC_CTX *GUYFW[,

GDC_ENUM W\SH,

GDC_ULONG VWULGH,

const void *IRJFRRUG�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

type Data format of fog coordinate

*'&B7<3(B)2*; GDC_FIXED32type

*'&B7<3(B)2*) GDC_SFLOAT type

stride Distance between fog coordinate data (in bytes) (Specify a multiple of “4” ranging from 0x00000000 to 0xFFFFFFFF(*1).)

fogcoord Pointer to fog coordinate data (Valid value in a system using other than “NULL”)

(*1) The range varies with the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

drvctx, type, stride, or fogcoord. >'HVFULSWLRQ@�

This function specifies the array that has stored the fog coordinate.

Page 221: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

221

FUJITSU CONFIDENTIAL

>1RWH@�

The fog coordinate specified using this function is used when GDC_SELECT_FOG (fog coordinate to be set for each vertex) was set to the argument select using the *GF)RJ7DEOH�� function.

Using the argument stride allows to the required data to be accessed in the set data array at a fixed interval. When the argument stride is “0”, the system interprets that fog coordinate data is contained with no space between the data array.

For the argument stride, specify a 4-byte aligned value. Operation is not guaranteed when the argument stride exceeding the accessible range is specified.

Page 222: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

222

FUJITSU CONFIDENTIAL

������� *GF1RUPDO$UUD\����6SHFLILFDWLRQ�RI�1RUPDO�9HFWRU�$UUD\!�

>)RUPDW@�

GDC_BOOL *GF1RUPDO$UUD\ (

GDC_CTX *GUYFW[,

GDC_ENUM W\SH,

GDC_ULONG VWULGH,

const void *QRUPDO�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

type Data format of normal vector

*'&B7<3(B105�; GDC_ NMR3X type

*'&B7<3(B105�) GDC_ NMR3F type

stride Distance between normal vector data (in bytes) (Specify a multiple of “4” ranging from 0x00000000 to 0xFFFFFFFF(*1).)

normal Pointer to normal vector data (Valid value in a system using other than “NULL”)

(*1) The range varies with the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

drvctx, type, stride, or normal. >'HVFULSWLRQ@�

This function specifies the array that has stored the normal vector.

Using the argument stride allows the required data to be accessed in the set data array at a fixed interval. When the argument stride is “0”, the system interprets that normal vector data is contained with no space between the data array.

For the argument stride, specify a 4-byte aligned value. Operation is not guaranteed when the argument stride exceeding the accessible range is specified.

Page 223: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

223

FUJITSU CONFIDENTIAL

������� *GF%DFN)DFH&RORU$UUD\����6SHFLILFDWLRQ�RI�%DFN�)DFH�&RORU�$UUD\!�

>)RUPDW@�

GDC_BOOL *GF%DFN)DFH&RORU$UUD\ (

GDC_CTX *GUYFW[,

GDC_ULONG VWULGH,

const void *FRORU�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

stride Distance between back face color data (in bytes) (Specify a multiple of “4” ranging from 0x00000000 to 0xFFFFFFFF(*1).)

color Pointer to back face color data (Valid value in a system using other than “NULL”)

(*1) The range varies with the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

drvctx, type, stride, or color. >'HVFULSWLRQ@�

This function specifies the array that has stored the back space color.

Using the argument stride allows the required data to be accessed in the set data array at a fixed interval. When the argument stride is “0”, the system interprets that back face color data is contained with no space between the data array.

For the argument stride, specify a 4-byte aligned value. Operation is not guaranteed when the argument stride exceeding the accessible range is specified.

The format of color data follows the format of the *GF&RORU$UUD\�� function. If these formats do not match when the *GF'UDZ3ULPLWLYH�'�� function is called, the drawing result is not guaranteed.

>1RWH@�

This function can be used in the OpenGL mode.

Page 224: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

224

FUJITSU CONFIDENTIAL

������� *GF$OSKD$UUD\����6SHFLILFDWLRQ�RI�$OSKD�EOHQGLQJ�IDFWRU�$UUD\!�

>)RUPDW@�

GDC_BOOL *GF$OSKD$UUD\�(

GDC_CTX *GUYFW[,

GDC_ENUM W\SH,

GDC_ULONG VWULGH,

const void *DOSKD�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

type Data format of alpha blending factor *'&B7<3(B8%<7(� 8-bit unsigned integer type

stride Distance between alpha blending factor data (in bytes) � (0x00000000 to 0xFFFFFFFF(*1).)

alpha Pointer to alpha blending factor data (Valid value in a system using other than “NULL”)

(*1) The range varies with the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

drvctx, type, stride, or alpha. >'HVFULSWLRQ@�

This function specifies the array that has stored the alpha blending factor data for each vertex.

Using the argument stride allows the required data to be accessed in the set data array at a fixed interval. When the argument stride is “0”, the system interprets that alpha blending factor data is contained with no space between the data array. Operation is not guaranteed when the argument stride exceeding the accessible range is specified

When the argument type is GDC_TYPE_UBYTE, there is no alignment restriction for the argument stride.

Page 225: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

225

FUJITSU CONFIDENTIAL

>1RWH@�

x�In the OpenGL mode, the value set using this function cannot be used.

x�When vertex data is in floating-point format, the value set using this function is not reflected irrespective of the setting of the *GF$WWU$UUD\�� function; instead, the value set using the *GF$OSKD>L�I@�� function is used.

x�Whether the set value is used for each vertex or for each graphics depends on the argument unit of the *GF&RORU$UUD\ function.

x�When drawing polygon, the value set using the *GF$OSKD>L�I@�� function is used, instead the value set using this function.

Page 226: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

226

FUJITSU CONFIDENTIAL

�������� *GF7H[&RRUG�'>L�1I�1[@����6HWWLQJ��'�7H[WXUH�&RRUGLQDWH!�

>)RUPDW@�

GDC_BOOL *GF7H[&RRUG�'�(

GDC_CTX *GUYFW[,

GDC_ENUM WH[WXUH�

GDC_TEX2X WH[FRRUG�

)

GDC_BOOL *GF7H[&RRUG�'L�(

GDC_CTX *GUYFW[,

GDC_ENUM WH[WXUH�

GDC_TEX2I WH[FRRUG�

)

GDC_BOOL *GF7H[&RRUG�'1I�(

GDC_CTX *drvctx,

GDC_ENUM texture,

GDC_TEX2FN texcoord

)

GDC_BOOL� � *GF7H[&RRUG�'1[�(

GDC_CTX *drvctx,

GDC_ENUM texture,

GDC_TEX2XN texcoord

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

texture Texture

� *'&B7(;785(�� Texture0

� *'&B7(;785(�� Texture1

texcoord Texture coordinate >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 227: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

227

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

drvctx or texture. >'HVFULSWLRQ@�

This function sets the 2D texture coordinate.

The effective combination of the function is shown in 7DEOH� �����K. Operation is not guaranteed when other combinations are specified.

7DEOH������K� � &RPELQDWLRQ�RI��'�7H[WXUH�&RRUGLQDWH�)XQFWLRQV�

Drawing API 2D Texture coordinate *GF'UDZ3ULPLWLYH�' *GF7H[&RRUG�'�

*GF7H[&RRUG�'L *GF'UDZ3ULPLWLYH�'(*)� [Coral compatible mode]�

WH[WXUH : The setting of GDC_TEXTURE1 is invalid.�*GF7H[&RRUG�'1I�*GF7H[&RRUG�'1[�[OpenGL mode]�*GF7H[&RRUG�'1I�*GF7H[&RRUG�'1[�

(*) When using the index reference DL transfer mode, the setting of the 2D texture coordinate functions is invalid.

Page 228: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

228

FUJITSU CONFIDENTIAL

�������� *GF7H[&RRUG�'>1I�1[@����6HWWLQJ��'�7H[WXUH�&RRUGLQDWH!�

>)RUPDW@�

GDC_BOOL *GF7H[&RRUG�'1I (

GDC_CTX *GUYFW[,

GDC_ENUM WH[WXUH�

GDC_TEX4FN WH[FRRUG�

)

GDC_BOOL *GF7H[&RRUG�'1[ (

GDC_CTX *GUYFW[,

GDC_ENUM WH[WXUH�

GDC_TEX4XN WH[FRRUG�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

texture Texture

� *'&B7(;785(�� Texture0

� *'&B7(;785(�� Texture1

texcoord Texture coordinate >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or texture. >'HVFULSWLRQ@�

This function sets the 3D texture coordinate.

The effective combination of the function is shown in 7DEOH������L. Operation is not guaranteed when other combinations are specified.

Page 229: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

229

FUJITSU CONFIDENTIAL

7DEOH������L� � &RPELQDWLRQ�RI��'�WH[WXUH�FRRUGLQDWH�IXQFWLRQV�

Drawing API 3D Texture coordinate *GF'UDZ3ULPLWLYH�' (*)� [OpenGL mode]�

*GF7H[&RRUG�'1I�*GF7H[&RRUG�'1[�

(*) When using the index reference DL transfer mode, the setting of the 3D texture coordinate functions is invalid.

Page 230: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

230

FUJITSU CONFIDENTIAL

�������� *GF%DFN)DFH&RORU>I�L@����6HWWLQJ�%DFN�)DFH�&RORU!�

>)RUPDW@�

GDC_BOOL *GF%DFN)DFH&RORU (

GDC_CTX *GUYFW[,

GDC_RGB3X FRORU�

)

GDC_BOOL *GF%DFN)DFH&RORUI (

GDC_CTX *GUYFW[,

GDC_RGB3F FRORU�

)

GDC_BOOL *GF%DFN)DFH&RORUL(

GDC_CTX *GUYFW[,

GDC_COLOR32 FRORU�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

color Back face color

(Default value *GF%DFN)DFH&RORUI: r=1.0, g=1.0, b=1.0) >5HWXUQ�YDOXH@�

*'&B758( Success

*'&B)$/6( Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the back face color.

For the argument color of the *GF%DFN)DFH&RORUL function, the following values are used depending on the color mode:

� 8-bit index color mode: lower 8 bits of color

� 16-bit color mode: lower 16 bits of color

� 32-bit color mode: value of color (32 bits)

Page 231: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

231

FUJITSU CONFIDENTIAL

The effective combination of the function is shown in 7DEOH������M. Operation is not guaranteed when other combinations are specified.

7DEOH������M� � &RPELQDWLRQ�RI�%DFN�)DFH�&RORU�)XQFWLRQV�

Drawing API Back face color function *GF'UDZ3ULPLWLYH�' (*)� [OpenGL mode]�

*GF%DFN)DFH&RORU�*GF%DFN)DFH&RORUI�*GF%DFN)DFH&RORUL�

(*) When using the index reference DL transfer mode, the setting of the back face color functions is invalid.

>1RWH@�

Operation is not guaranteed when a data format (GDC_RGB3X, GDC_RGB3F, or GDC_COLOR32) different from that of the front face color, is specified.

Page 232: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

232

FUJITSU CONFIDENTIAL

�������� *GF1RUPDO>I@����6HWWLQJ�1RUPDO�9HFWRU!�

>)RUPDW@�

GDC_BOOL *GF1RUPDO (

GDC_CTX *GUYFW[,

GDC_NMR3X QRUPDO�

)

GDC_BOOL *GF1RUPDOI (

GDC_CTX *GUYFW[,

GDC_NMR3F QRUPDO�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

normal Normal vector (The range of each element is as follows: GDC_FIXED32 type: range of fixed decimal GDC_SFLOAT type: range of single precision floating point)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the normal vector.

The effective combination of the function is shown in 7DEOH� �����N. Operation is not guaranteed when other combinations are specified.

Page 233: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

233

FUJITSU CONFIDENTIAL

7DEOH������N� � &RPELQDWLRQ�RI�1RUPDO�9HFWRU�)XQFWLRQV�

Drawing API Normal vector function *GF'UDZ3ULPLWLYH�' (*)� [OpenGL mode]�

*GF1RUPDO�*GF1RUPDOI�

(*) When using the index reference DL transfer mode, the setting of the normal vector functions is invalid.

Page 234: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

234

FUJITSU CONFIDENTIAL

�������� *GF)RJ&RRUG>I@����6HWWLQJ�)RJ�&RRUGLQDWH!�

>)RUPDW@�

GDC_BOOL *GF)RJ&RRUG (

GDC_CTX *GUYFW[,

GDC_FIXED32 IRJ�

)

GDC_BOOL *GF)RJ&RRUGI (

GDC_CTX *GUYFW[,

GDC_SFLOAT IRJ�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

fog� Fog coordinate (The range of each element is as follows: GDC_FIXED32 type: range of fixed decimal GDC_SFLOAT type: range of single precision floating point)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the fog coordinate.

The effective combination of the function is shown in 7DEOH������O. Operation is not guaranteed when other combinations are specified.

Page 235: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

235

FUJITSU CONFIDENTIAL

7DEOH������O� � &RPELQDWLRQ�RI�)RJ�&RRUGLQDWH�)XQFWLRQV�

Drawing API Fog coordinate function *GF'UDZ3ULPLWLYH�'� *GF)RJ&RRUG�

*GF'UDZ3ULPLWLYH�' (*)� [OpenGL mode]�*GF)RJ&RRUG�*GF)RJ&RRUGI�

(*) When using the index reference DL transfer mode, the setting of the fog coordinate functions is invalid.

Page 236: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

236

FUJITSU CONFIDENTIAL

�������� *GF%DFN)DFH$OSKD>L�I@����6HWWLQJ�%DFN�)DFH�$OSKD�%OHQGLQJ�)DFWRU!�

>)RUPDW@�

GDC_BOOL *GF%DFN)DFH$OSKD (

GDC_CTX *GUYFW[,

GDC_FIXED32 DOSKD�

)

GDC_BOOL *GF%DFN)DFH$OSKDL�(

GDC_CTX *GUYFW[,

GDC_UCHAR DOSKD�

)

GDC_BOOL *GF%DFN)DFH$OSKDI�(

GDC_CTX *GUYFW[,

GDC_SFLOAT DOSKD�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

alpha Alpha blending factor (Default value *GF%DFN)DFH$OSKDI: 1.0)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the back face alpha blending factor.

An alpha blending factor of 0 represents alpha value 0%; an alpha blending factor of 255 represents alpha value 100%.

Page 237: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

237

FUJITSU CONFIDENTIAL

The effective combination of the function is shown in 7DEOH������P. Operation is not guaranteed when other combinations are specified.

7DEOH������P� � &RPELQDWLRQ�RI�%DFN�)DFH�$OSKD�%OHQGLQJ�)XQFWLRQV�

Drawing API Back face alpha blending function *GF'UDZ3ULPLWLYH�' (*)� [OpenGL mode]�

*GF%DFN)DFH$OSKD�*GF%DFN)DFH$OSKDL�*GF%DFN)DFH$OSKDI�

(*) When using the index reference DL transfer mode, the setting of the back face alpha blending functions is invalid.

>1RWH@�

Specify the same data format (GDC_FIXED32, GDC_UCHAR, or GDC_SFLOAT) as that of the back face color. Operation is not guaranteed when a different data format is specified.

Page 238: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

238

FUJITSU CONFIDENTIAL

����� 'UDZLQJ�$WWULEXWH�6HWWLQJ�)XQFWLRQV�

������� *GF&RORU>I�L@����6HWWLQJ�9HUWH[�&RORU�)URQW�)DFH�&RORU!�

>)RUPDW@�

GDC_BOOL *GF&RORU (

GDC_CTX *GUYFW[,

GDC_RGB3X FRORU�

)

GDC_BOOL *GF&RORUI (

GDC_CTX *GUYFW[,

GDC_RGB3F FRORU�

)

GDC_BOOL *GF&RORUL(

GDC_CTX *GUYFW[,

GDC_COLOR32 FRORU�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

color Setting of drawing color and foreground color of vertex. (Default value: r = 1.0, g = 1.0, b = 1.0)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets vertex color, and foreground color of bitmap drawing and broken line drawing. Once this function has been executed, the same color set using this function is used for drawing until that color is changed by this function.

Page 239: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

239

FUJITSU CONFIDENTIAL

For the argument color of the *GF&RORUL function, the following values are used depending on the color mode:

� 8-bit index color mode: lower 8 bits of color � 16-bit color mode: lower 16 bits of color � 32-bit color mode: value of color (32 bits)

In the setting of the vertex color of each vertex, the effective combination of the function is shown in 7DEOH������D. Operation is not guaranteed when other combinations are specified.

7DEOH������D� � &RPELQDWLRQ�RI�9HUWH[�&RORU�)XQFWLRQV�LQ�6HWWLQJ�RI�&RORU�RI�(DFK�9HUWH[�

Drawing API Vertex color function *GF'UDZ3ULPLWLYH�'� *GF&RORUL�

*GF'UDZ3ULPLWLYH�' � [Coral compatible mode]�*GF&RORUL�*GF&RORUI�[OpenGL mode]�The following sets the front face color:�*GF&RORU�*GF&RORUI�*GF&RORUL�

(*) When using the index reference DL transfer mode, the setting of the vertex color functions is invalid.

>1RWH@�

In the 16-bit and 32-bit color modes, the *GF&RORUL function specifies value of the argument color in RGBA or ARGB format. To set the color order, use the *GF'UDZ'LPHQVLRQ function. This function cannot set the alpha value.

In the 8-bit index color mode, use the *GF&RORUL function. Operation is not guaranteed when other functions are used.

Page 240: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

240

FUJITSU CONFIDENTIAL

������� *GF%DFN&RORU����6HWWLQJ�%DFNJURXQG�&RORU!�

>)RUPDW@�

GDC_BOOL *GF%DFN&RORU (

GDC_CTX *GUYFW[,

GDC_COLOR32 FRORU�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

color Setting of background color (0x00000000 to 0xFFFFFFFF. Default: Color palette number 0 for the 8-bit index color mode; black for 16/32-bit color mode)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the background color of bit pattern drawing and broken line drawing. Once this function has been executed, the same color set using this function is used for drawing until that color is changed by this function.

The following values are used depending on the color mode:

� 8-bit index color mode: lower 8 bits of color � 16-bit color mode: lower 16 bits of color � 32-bit color mode: value of color (32 bits)

The background color can be made transparent. To do so, set “1” to the following bits depending on the color order and color mode:

� 8-bit index color mode: bit15 of color � 16-bit color mode in ARGB format: bit 15 of color � 16-bit color mode in RGBA format: bit 0 of color � 32-bit color mode in ARGB format: bit 31 of color � 32-bit color mode in RGBA format: bit 0 of color

Page 241: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

241

FUJITSU CONFIDENTIAL

>1RWH@�

In the 16-bit and 32-bit color modes, this function specifies value of the argument color in RGBA or ARGB format. To set the color order, use the *GF'UDZ'LPHQVLRQ function.

Page 242: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

242

FUJITSU CONFIDENTIAL

������� *GF$OSKD>L�I@����6HWWLQJ�$OSKD�%OHQGLQJ�)DFWRU!�

>)RUPDW@�

GDC_BOOL *GF$OSKD (

GDC_CTX *GUYFW[,

GDC_FIXED32 DOSKD�

)

GDC_BOOL *GF$OSKDL (

GDC_CTX *GUYFW[,

GDC_UCHAR DOSKD�

)

GDC_BOOL *GF$OSKDI (

GDC_CTX *GUYFW[,

GDC_SFLOAT DOSKD�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

alpha Alpha blending factor (GdcAlpha: default value 00010000 GdcAlphai: default value 255 GdcAlphaf: default value 1.0)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets an alpha blending factor.

An alpha blending factor of 0 represents alpha value 0%; an alpha blending factor of 255 (1.0 for GdcAlphaf; 0x00010000 for GdcAlpha) represents alpha value 100%. When a value less than 0 (0.0) is set, the value is clamped to 0%; when a value exceeding 0x00010000 (1.0) is set, the value is clamped to 100%.

Page 243: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

243

FUJITSU CONFIDENTIAL

For example, when the function of the blend function is disabled, drawing color C is calculated as follows (the color of the pixel to be drawn is Cp, the color of the frame buffer is Cf, and the alpha value is A):

C = Cp X A + (1 – A) X Cf The effective combination of the function is shown in 7DEOH� �����E. Operation is not guaranteed when other combinations are specified.

7DEOH������E� � &RPELQDWLRQ�RI�$OSKD�%OHQGLQJ�)DFWRU�)XQFWLRQV�

Drawing API Alpha blending factor functions *GF'UDZ3ULPLWLYH�'� *GF$OSKDL�

*GF'UDZ3ULPLWLYH�' (*)� [Coral compatible mode] *GF$OSKDL�[OpenGL mode]�The following sets the front face alpha blending factor: *GF$OSKD�*GF$OSKDI�*GF$OSKDL�

(*) When using the index reference DL transfer mode, the setting of the alpha blending factor functions is invalid.

>1RWH@�

For the OpenGL mode, specify the same data format (GDC_FIXED32, GDC_UCHAR, or GDC_SFLOAT) as that of the front face color set using the *GF&RORU$UUD\ or *GF&RORU>I�L@�� function. Operation is not guaranteed when a different data format is specified.

Page 244: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

244

FUJITSU CONFIDENTIAL

������� *GF$WWU$UUD\����6HWWLQJ�$UUD\�$WWULEXWH!�

>)RUPDW@�

GDC_BOOL *GF$WWU$UUD\ (

GDC_CTX *GUYFW[,

GDC_ENUM WDUJHW,

GDC_BOOL HQDEOH3DUDP

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

target Vertex array attribute to be set (See 7DEOH������F.)

enableParam Specification of enabling/disabling of vertex array specified using target. >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, target, or enableParam. >'HVFULSWLRQ@�

This function sets enabling of various vertex arrays.

7DEOH������F�shows the parameters that can be set to target and enableParam.

Page 245: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

245

FUJITSU CONFIDENTIAL

7DEOH������F� � 9HUWH[�$UUD\�$WWULEXWHV�WR�%H�6HW�

Value specified for target Value set for enableParam

*'&B&2/25B$55$< *'&B758(�

Enables the color array set using the *GF&RORU$UUD\�� function. In OpenGL mode, the front face color is used. *'&B)$/6(��GHIDXOW��

Disables color array set using the *GF&RORU$UUD\�� function. When drawing, the color specified using the *GF&RORU>I�L@�� function is used. In the OpenGL mode, the front face color is used.

*'&B7(;785(�B$55$< *'&B758(�

Enables texture coordinate array of texture0 (texture: GDC_TEXTURE0) set using the *GF7H[&RRUG$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables the texture coordinate array of the texture0 (texture: GDC_TEXTURE0) set using the *GF7H[&RRUG$UUD\�� function. When drawing, the texture coordinate of the texture0 (texture: GDC_TEXTURE0) specified using the *GF7H[&RRUG�'>L�1I�1[@�� and *GF7H[&RRUG�'>1I�1[@���function is used.

*'&B7(;785(�B$55$< *'&B758(�

Enables texture coordinate array of texture1 (texture: GDC_TEXTURE1) set using the *GF7H[&RRUG$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables texture coordinate array of texture1 (texture: GDC_TEXTURE1) using the *GF7H[&RRUG$UUD\�� function. When drawing, the texture coordinate of the texture1 (texture: GDC_TEXTURE1) specified using the *GF7H[&RRUG�'>L�1I�1[@�� and *GF7H[&RRUG�'>1I�1[@�� functions is used.

(continue)

Page 246: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

246

FUJITSU CONFIDENTIAL

9HUWH[�$UUD\�$WWULEXWHV�WR�%H�6HW��FRQWLQXHG��

Value specified for target Value set for enableParam

*'&B)2*B$55$< *'&B758(�

Enables fog coordinate array set using the *GF)RJ$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables fog coordinate array set using the *GF)RJ$UUD\�� function. When drawing, the fog coordinate specified using the *GF)RJ&RRUG>I@�� function is used.

*'&B1250$/B$55$< *'&B758(�

Enables normal vector array set using the *GF1RUPDO$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables normal vector array set using the *GF1RUPDO$UUD\�� function. When drawing, the normal vector specified using the *GF1RUPDO>I@�� function is used.

*'&B%$&.B)$&(B&2/25B$55$< *'&B758(�

Enables back face color array set using the *GF%DFN)DFH&RORU$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables back face color array set using the *GF%DFN)DFH&RORU$UUD\�� function When drawing, the back face color specified using the *GF%DFN)DFH&RORU>I�L@�� function is used.

*'&B$/3+$B$55$< *'&B758(�

Enables alpha blending factor array set using the *GF$OSKD$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables alpha blending factor array set using the *GF$OSKD$UUD\�� function. When drawing, the alpha blending factor specified using the *GF$OSKD>L�I@�� function is used.

(continue)

Page 247: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

247

FUJITSU CONFIDENTIAL

9HUWH[�$UUD\�$WWULEXWHV�WR�%H�6HW��FRQWLQXHG��

Value specified for target Value set for enableParam

*'&B0$7(5,$/B)5217B$0%B$55$< *'&B758(�

Enables ambient light color array of front face material set using the *GF*HR0DWHULDO$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables ambient light color array of front face material set using the *GF*HR0DWHULDO$UUD\�� function. When drawing, the ambient light color of the front face material specified using the *GF*HR0DWHULDO�� function is used.

*'&B0$7(5,$/B%$&.B$0%B$55$< *'&B758(�

Enables ambient light color array of back face material set using the *GF*HR0DWHULDO$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables ambient light color array of back face material set using the *GF*HR0DWHULDO$UUD\�� function. When drawing, the ambient light color of the back face material specified using the *GF*HR0DWHULDO�� function is used.

*'&B0$7(5,$/B)5217B',))B$55$< *'&B758(�

Enables diffuse light color array of front face material set using the *GF*HR0DWHULDO$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables diffuse light color array of front face material set using the *GF*HR0DWHULDO$UUD\�� function. When drawing, the diffuse light color of the front face material specified using the *GF*HR0DWHULDO�� function is used.

*'&B0$7(5,$/B%$&.B',))B$55$< *'&B758(�

Enables diffuse light color array of back face material set using the *GF*HR0DWHULDO$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables diffuse light color array of back face material set using the *GF*HR0DWHULDO$UUD�� function. When drawing, the diffuse light color of the back face material specified using the *GF*HR0DWHULDO�� function is used.

(continue)

Page 248: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

248

FUJITSU CONFIDENTIAL

9HUWH[�$UUD\�$WWULEXWHV�WR�%H�6HW��FRQWLQXHG��

Value specified for target Value set for enableParam

*'&B0$7(5,$/B)5217B(0,B$55$< *'&B758(�

Enables emission light color array of front face material set using the *GF*HR0DWHULDO$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables emission light color array of front face material set using the *GF*HR0DWHULDO$UUD\�� function. When drawing, the emission light color of the front face material specified using the *GF*HR0DWHULDO�� function is used.

*'&B0$7(5,$/B%$&.B(0,B$55$< *'&B758(�

Enables emission light color array of front face material and back face material set using the *GF*HR0DWHULDO$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables emission light color array of front face material and back face material set using the *GF*HR0DWHULDO$UUD\�� function. When drawing, the emission light color of the front face material and back face material specified using the *GF*HR0DWHULDO�� function is used.

*'&B0$7(5,$/B%27+B$0%B$55$<� *'&B758(�

Enables ambient light color array of front face material and back face material set using the *GF*HR0DWHULDO$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables ambient light color array of front face material and back face material set using the *GF*HR0DWHULDO$UUD\�� function. When drawing, the ambient light color of the front face material and back face material specified using the *GF*HR0DWHULDO�� function is used.�

(continue)

Page 249: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

249

FUJITSU CONFIDENTIAL

9HUWH[�$UUD\�$WWULEXWHV�WR�%H�6HW��FRQWLQXHG��

Value specified for target Value set for enableParam

*'&B0$7(5,$/B%27+B',))B$55$<� *'&B758(�

Enables diffuse light color array of front face material and back face material set using the *GF*HR0DWHULDO$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables diffuse light color array of front face material and back face material set using the *GF*HR0DWHULDO$UUD�� function. When drawing, the diffuse light color of the front face material and back face material specified using the *GF*HR0DWHULDO�� function is used.�

*'&B0$7(5,$/B%27+B(0,B$55$<� *'&B758(�

Enables emission light color array and diffuse light color array of front face material set using the *GF*HR0DWHULDO$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables emission light color array and diffuse light color array of front face material set using the *GF*HR0DWHULDO$UUD\�� function. When drawing, the emission light color and diffuse light color of the front face material specified using the *GF*HR0DWHULDO�� function is used.�

*'&B0$7(5,$/B)5217B$0%B$1'B',))B$55$<� *'&B758(�

Enables ambient light color array and diffuse light color array of back face material set using the *GF*HR0DWHULDO$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables ambient light color array and diffuse light color array of back face material set using the *GF*HR0DWHULDO$UUD\�� function. When drawing, the ambient light color and diffuse light color of the back face material specified using the *GF*HR0DWHULDO�� function is used.�

(continue)

Page 250: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

250

FUJITSU CONFIDENTIAL

9HUWH[�$UUD\�$WWULEXWHV�WR�%H�6HW��FRQWLQXHG��

Value specified for target Value set for enableParam

*'&B0$7(5,$/B%$&.B$0%B$1'B',))B$55$<� *'&B758(�

Enables ambient light color array and diffuse light color array of back face material set using the GdcGeoMaterialArray() function. *'&B)$/6(��GHIDXOW��

Disables ambient light color array and diffuse light color array of back face material set using the *GF*HR0DWHULDO$UUD\�� function. When drawing, the ambient light color and diffuse light color of the back face material specified using the *GF*HR0DWHULDO�� function is used.�

*'&B0$7(5,$/B%27+B$0%B$1'B',))B$55$<� *'&B758(�

Enables ambient light color array and diffuse light color array of front face material and back face material set using the *GF*HR0DWHULDO$UUD\�� function. *'&B)$/6(��GHIDXOW��

Disables ambient light color array and diffuse light color array of front face material and back face material set using the *GF*HR0DWHULDO$UUD\�� function. When drawing, the ambient light color and diffuse light color of the front face material and back face material specified using the *GF*HR0DWHULDO�� function is used.�

Page 251: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

251

FUJITSU CONFIDENTIAL

������� *GF'UDZ&OLS)UDPH����6HWWLQJ�'UDZLQJ�&OLS�)UDPH!�

>)RUPDW@�

GDC_BOOL *GF'UDZ&OLS)UDPH (

GDC_CTX *GUYFW[,

GDC_ULONG [�,

GDC_ULONG \�,

GDC_ULONG [�,

GDC_ULONG \��

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

x0� x coordinate at upper left in clip frame (0 to 4095; default: 0)

y0 y coordinate at upper left in clip frame (0 to 4095; default: 0)

x1� x coordinate at lower right in clip frame (0 to 4095; default: 4095)

y1� y coordinate at lower right in clip frame (0 to 4095; default: 4095) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, x0, y0, x1, or y1. GDC_ERR_CLIP_SIZE The size of the clip frame is invalid.

>'HVFULSWLRQ@�

This function sets the drawing clip frame. It sets a rectangular area at a relative position from the origin of the drawing frame. It does not draw in areas other than this area.

Set the clip frame in such a way that x0 <= x1 and y0 <= y1. x0 and y0 represent the clip starting coordinate of each coordinate system, respectively; x1 and y1 represent the clip end coordinate of each coordinate system, respectively. When x0==x1 is set, drawing is performed only at position x0; when y0==y1 is set, drawing is performed only at position y0.

If the above conditions are not met, this function sets the error code GDC_ERR_CLIP_SIZE and returns GDC_FALSE.

Page 252: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

252

FUJITSU CONFIDENTIAL

������� *GF&OLS0RGH����6HWWLQJ�(QDEOLQJ�'LVDEOLQJ�RI�&OLSSLQJ!�

>)RUPDW@�

GDC_BOOL *GF&OLS0RGH (

GDC_CTX *GUYFW[,

GDC_ENUM PRGH�

) >$UJXPHQW@�

GUYFW[ Pointer to context area (Valid value in a system using other than “NULL”)

PRGH Clip mode

*'&B&/,3B;B21 Enables clipping in x coordinate direction.

*'&B&/,3B<B21 Enables clipping in y coordinate direction.

*'&B&/,3B;B$1'B<B21 Enables clipping in both x and y coordinate directions.

*'&B&/,3B',6$%/( Disables clipping (default). >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or mode. >'HVFULSWLRQ@�

This function sets clip mode. >1RWH@�

When a graphic is drawn outside the specified drawing frame, the drawing is performed on a horizontally wrapped around position or in a vertically protruded memory area. To not draw a graphic outside the specified drawing frame, set an appropriate clip size using the *GF'UDZ&OLS)UDPH�� function and enable clipping using this function.

Page 253: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

253

FUJITSU CONFIDENTIAL

������� *GF=%XIIHU$GGUHVV����6HWWLQJ�=�%XIIHU�6WDUWLQJ�$GGUHVV!�

>)RUPDW@�

GDC_BOOL *GF=%XIIHU$GGUHVV (

GDC_CTX *GUYFW[,

GDC_ULONG ]DGUV��

GDC_ULONG� � GHSWK�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

zadrs Origin address of Z buffer (Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFFC, a 64-byte aligned value)

depth Precision of Z value (bit count per pixel)

Note: For Carmine, only 8 or 16 can be specified (default). >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or depth. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

zadrs. >'HVFULSWLRQ@�

This function sets the origin address of the Z buffer, and the precision of the Z value. The horizontal and vertical lengths of the Z buffer are treated as the same as that of the drawing frame.

>1RWH@�

For Carmine, only set 8 bits or 16 bits for the precision of the Z value (argument depth). When the precision of the Z value is 16 bits, 16-bit memory per pixel is required. When the precision of the Z value is 8 bits, 8-bit memory per pixel is required.

Page 254: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

254

FUJITSU CONFIDENTIAL

������� *GF=%XIIHU&OHDU9DOXH����6HWWLQJ�=�%XIIHU�&OHDU�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF=%XIIHU&OHDU9DOXH ( GDC_CTX *GUYFW[��GDC_ULONG YDOXH

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

value Value used when clearing Z buffer (0x00000000 to 0xFFFFFFFF. Default=0) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets a value used when clearing the Z buffer.

For the argument value, specify lower 16 bits when the precision of the Z buffer is 16 bits; specify lower 8 bits when the precision of the Z buffer is 8 bits.

To clear the Z buffer, use the *GF&OHDU=%XIIHU�� function.

Page 255: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

255

FUJITSU CONFIDENTIAL

������� *GF&OHDU=%XIIHU����&OHDULQJ�=�%XIIHU!�

>)RUPDW@�

GDC_BOOL *GF&OHDU=%XIIHU (GDC_CTX *GUYFW[) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. GDC_ERR_NO_DRAW_DIMENSION There is no drawing frame. GDC_ERR_CLEAR_BUFFER_ADDRESS The starting address of the Z buffer is invalid. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function clears the Z buffer for the size of the current drawing frame. To set the value used when clearing the Z buffer, use the *GF=%XIIHU&OHDU9DOXH�� function.

When removing hidden surface using the Z buffer, clear the Z buffer using this function before drawing.

>1RWH@�

Before calling this function, set the drawing frame using the *GF'UDZ'LPHQVLRQ�� function.

Page 256: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

256

FUJITSU CONFIDENTIAL

�������� *GF)UDPH%XIIHU&OHDU9DOXH����6HWWLQJ�)UDPH�%XIIHU�&OHDU�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF)UDPH%XIIHU&OHDU9DOXH (

GDC_CTX *GUYFW[��

GDC_COLOR32 FRORU

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

color Value used when clearing the frame buffer (0x00000000 to 0xFFFFFFFF. Default: Color palette number 0 for the 8-bit index color mode; black for 16/32-bit color mode)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets a value used when clearing the frame buffer.

For the argument color, the following values are used depending on the color mode:

� 8-bit index color mode: lower 8 bits of color � 16-bit color mode: lower 16 bits of color � 32-bit color mode: value of color (32 bits)

To clear the frame buffer, use the *GF&OHDU)UDPH%XIIHU�� function. >1RWH@�

In the 16-bit or 32-bit color modes, specify the value of argument color in the RGBA or ARGB format. To set the color order, use the *GF'UDZ'LPHQVLRQ�� function.

Page 257: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

257

FUJITSU CONFIDENTIAL

�������� *GF&OHDU)UDPH%XIIHU����&OHDULQJ�)UDPH�%XIIHU!�

>)RUPDW@�

GDC_BOOL *GF&OHDU)UDPH%XIIHU (GDC_CTX *GUYFW[) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. GDC_ERR_NO_DRAW_DIMENSION There is no drawing frame. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function clears the current drawing frame. To set a value used when clearing the current drawing frame, use the *GF)UDPH%XIIHU&OHDU9DOXH�� function.

>1RWH@�

Before calling this function, set the drawing frame using the *GF'UDZ'LPHQVLRQ�� function.

Page 258: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

258

FUJITSU CONFIDENTIAL

�������� *GF6WHQFLO%XIIHU&OHDU9DOXH����6HWWLQJ�6WHQFLO�%XIIHU�&OHDU�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF6WHQFLO%XIIHU&OHDU9DOXH (

GDC_CTX *GUYFW[��

GDC_UCHAR YDOXH

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

value Value used when clearing the stencil buffer (0 to 255. Default=0) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets a value used when clearing the stencil buffer.

To clear the stencil buffer, use the *GF&OHDU6WHQFLO%XIIHU�� function.

Page 259: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

259

FUJITSU CONFIDENTIAL

�������� *GF&OHDU6WHQFLO%XIIHU����&OHDULQJ�6WHQFLO�%XIIHU!�

>)RUPDW@�

GDC_BOOL *GF&OHDU6WHQFLO%XIIHU (GDC_CTX *GUYFW[) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. GDC_ERR_NO_DRAW_DIMENSION There is no drawing frame. GDC_ERR_CLEAR_BUFFER_ADDRESS The starting address of the stencil buffer is

invalid. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function clears the stencil buffer for the size of the current drawing frame. To set a value used when clearing the stencil buffer, use the *GF6WHQFLO%XIIHU&OHDU9DOXH�� function.

>1RWH@�

Before calling this function, set the drawing frame using the *GF'UDZ'LPHQVLRQ�� function.

Page 260: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

260

FUJITSU CONFIDENTIAL

�������� *GF5RS0RGH����6HWWLQJ�/RJLFDO�2SHUDWLRQ�0RGH!�

>)RUPDW@�

GDC_BOOL *GF5RS0RGH (

GDC_CTX *GUYFW[,

GDC_ENUM PRGH�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

mode Selection of logical operation mode

� *'&B523B&/($5 Sets all bits to “0”.

*'&B523B$1' s & d

*'&B523B$1'B5(9(56( s & !d

*'&B523B&23<� s (default)

*'&B523B$1'B,19(57(' !s & d

*'&B523B123 d

*'&B523B;25 s ^ d

*'&B523B25 s | d

*'&B523B125 !(s | d)

*'&B523B(48,9 !(s ^ d)

*'&B523B,19(57 !d

*'&B523B25B5(9(56( s | !d

*'&B523B&23<B,19(57(' !s

*'&B523B25B,19(57(' !s | d

*'&B523B1$1' !(s & d)

*'&B523B6(7 Sets all bits to “1”.

Note: s: Value to be drawn d: Value of drawing destination

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 261: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

261

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or mode. >'HVFULSWLRQ@�

This function sets all logical operation modes for drawing. The logical operation is performed between the color of the pixel to be drawn and the color of the pixel (not drawn yet) in the drawing frame and then the result is written to the drawing frame. This function is effective when the blend mode (GDC_BLEND_MODE) of the line, surface, or rectangular drawing attribute is the (GDC_BLEND_ROP) mode where drawing with logical operation is performed.

To set the logical operation mode for line, surface, or rectangle, use the *GF$WWU/LQH��, *GF$WWU6XUI��, or *GF$WWU%OW�� function, respectively.

>1RWH@�

� The same logical operation mode applies to the shadow and the shadow synthesis primitive. Therefore, the area where a shadow and a shadow synthesis primitive overlap, logical operation is also performed between the shadow and the shadow synthesis primitive.

� When the drawing frame is in 8-bit index color mode and the blend mode is the mode where drawing with logical operation is performed, the color of the drawing frame and the color to be drawn from now on are obtained by logical operation using the color palette code (0 to 255) in GDC_IDX8 format; instead obtained by logical operation using the color value. For example, assume that the drawing frame is in 8-bit index color mode and the logical operation mode is set to GDC_ROP_OR (logical OR), and the color palette code of a coordinate point in the drawing frame is “1”. In this case, when a point with color palette code “2” is drawn on the same coordinate, the color palette code “1” and “2” are subjected to logical operation, causing the color palette code “3” to be written to the drawing frame.

Page 262: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

262

FUJITSU CONFIDENTIAL

�������� *GF$WWU/LQH����6HWWLQJ�/LQH�'UDZLQJ�$WWULEXWHV!�

>)RUPDW@�

GDC_BOOL *GF$WWU/LQH (

GDC_CTX *GUYFW[,

GDC_ENUM WDUJHW,

GDC_ENUM SDUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

target Target line drawing attributes *'&B'(37+B7(67 Setting of Z test *'&B'(37+B)81& Setting of Z test function *'&B'(37+B:5,7(B0$6. Setting of Z value write enable mode *'&B%/(1'B02'( Setting of blend mode *'&B%52.(1B/,1( Setting of broken line mode *'&B$17,B$/,$6 Setting of antialiasing *'&B/,1(B(1'32,17 Control of end point drawing *'&B%52.(1B/,1(B2))6(7 Control of offset of broken line pattern *'&B%52.(1B/,1(B3(5,2' Setting of period of broken line pattern *'&B523B02'( Setting of logical operation mode *'&B%52.(1B/,1(B9(57,&$/ Setting of drawing mode for broken line

pattern *'&B6+$'(B02'( Setting of shading mode *'&B$/3+$B6+$'(B02'( Setting of alpha shading mode *'&B)2*B02'( Setting of fog mode *'&B%52.(1B/,1(B',5(&7,21 Setting of reference direction of broken

line pattern�*'&B%&B02'(� � Setting of background color mode for

broken line pattern *'&B7(;785(B81,7�� Setting of texture unit0�*'&B7(;785(B81,7�� Setting of texture unit1

<The following macros are available for Coral-PA only.>

*'&B6+$'2:B'(37+B7(67 Setting of Z test of shadow *'&B6+$'2:B'(37+B)81& Setting of Z test function of shadow *'&B6+$'2:B'(37+B:5,7(B0$6. Setting of Z value write enable mode for

shadow *'&B6+$'2:B%/(1'B02'( Setting of blend mode for shadow *'&B6+$'2:B%52.(1B/,1( Setting of broken line mode for shadow

Page 263: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

263

FUJITSU CONFIDENTIAL

*'&B6+$'2:B%52.(1B/,1(B3(5,2' Setting of period of broken line pattern of shadow

*'&B6+$'2:B523B02'( Setting of logical operation mode for shadow

*'&B%25'(5B'(37+B7(67 Setting of Z test of border *'&B%25'(5B'(37+B)81& Setting of Z test function of border *'&B%25'(5B'(37+B:5,7(B0$6. Setting of Z value write enable mode for

border *'&B%25'(5B%/(1'B02'( Setting of blend mode for border *'&B%25'(5B%52.(1B/,1( Setting of broken line mode for border *'&B%25'(5B%52.(1B/,1(B3(5,2' Setting of period of broken line pattern

of border *'&B%25'(5B523B02'( Setting of logical operation mode for

border *'&B*(2B%25'(5B/,1( Setting of drawing mode for border

primitive *'&B*(2B6+$'2:B02'( Setting of drawing mode for shadow

primitive *'&B*(2B7+,&.B/,1(B&255(&7 Setting of interpolation mode for thick

line connection *'&B*(2B%52.(1B/,1(B&255(&7 Setting of interpolation mode for broken

line pattern *'&B*(2B%52.(1B/,1(B&255(&7B/(1*7+

Setting of broken line pattern reference address fixed pixel count

*'&B*(2B81,)250B/,1(B:,'7+ Setting of uniforming mode for line width

*'&B*(2B7+,&.B/,1(B9(57,&$/ Setting of verticalization mode for thick line and broken line

param Parameter(*1) for target >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_ATTRIBUTE Invalid attribute (target) was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or param. >'HVFULSWLRQ@�

This function sets attributes used when drawing a line.

Page 264: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

264

FUJITSU CONFIDENTIAL

>1RWH@�

When the drawing frame is in 8-bit index color mode and the blend mode is the mode where drawing with logical operation is performed, the color of the drawing frame and the color to be drawn from now on are obtained by logical operation using the color palette code (0 to 255) in GDC_IDX8 format; instead obtained by logical operation using the color value. For example, assume that the drawing frame is in 8-bit index color mode and the logical operation mode is set to GDC_ROP_OR (logical OR), and the color palette code of a coordinate point in the drawing frame is “1”. In this case, when a point with color palette code “2” is drawn on the same coordinate, the color palette code “1” and “2” are subjected to logical operation, causing the color palette code “3” to be written to the drawing frame.

In the 8-bit index color mode, Gouraud shading (grayscale Gouraud shading) is performed for the color palette code (0 to 255), not for the value of the drawing color. Grayscale Gouraud shading can be used by specifying Gouraud shading in the 8-bit index color mode.

(*1) The following shows each line drawing attribute (target), and the parameter (param) for each line drawing attribute:

>([SODQDWRU\�QRWH@�

Line drawing attribute Description of line drawing attribute

Specifiable parameter 1 Description of parameter 1 Specifiable parameter 2 Description of parameter 2 : :

*'&B'(37+B7(67 Sets enabling/disabling of Z test

*'&B(1$%/( Performs Z test.

*'&B',6$%/( Does not perform Z test. (Default)

*'&B'(37+B)81& Selects comparative calculation expression for when performing Z test.

*'&B'(37+B1(9(5 Never draws. *'&B'(37+B$/:$<6 Always draws. *'&B'(37+B/(66 Draws when Z value smaller than value of Z buffer. (Default) *'&B'(37+B/(48$/ Draws when Z value equal to or smaller than value of Z buffer. *'&B'(37+B(48$/ Draws when Z value equal to value of Z buffer. *'&B'(37+B*(48$/ Draws when Z value equal to or greater than value of Z buffer. *'&B'(37+B*5($7(5 Draws when Z value greater than value of Z buffer. *'&B'(37+B127(48$/ Draws when Z value different from value of Z buffer.

Page 265: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

265

FUJITSU CONFIDENTIAL

*'&B'(37+B:5,7(B0$6. Sets mask for write of Z value to Z buffer.

*'&B(1$%/( Writes Z value to Z buffer. (Default) *'&B',6$%/( Does not write Z value to Z buffer.

*'&B%/(1'B02'(

Sets blend mode for when writing pixel to drawing frame. Logical operation and alpha blending cannot be set concurrently.

*'&B%/(1'B&23< Performs normal drawing (writes color of pixel to drawing frame). (Default)

*'&B%/(1'B$/3+$ Performs alpha blending. *'&B%/(1'B523 Draws with logical operation.

*'&B%52.(1B/,1(

Selects broken line processing mode.

*'&B(1$%/( Draws broken line using broken line pattern.

*'&B',6$%/( Draws solid line. (Default)

*'&B$17,B$/,$6

Selects antialiasing mode

*'&B(1$%/( Performs antialiasing.

*'&B',6$%/( Does not perform antialiasing. (Default)

*'&B/,1(B(1'32,17 Controls drawing of end point of straight line.

*'&B(1$%/( Draws end point. *'&B',6$%/( Does not draw end point. (Default)

*'&B%52.(1B/,1(B2))6(7

Specifies how to write broken line.

*'&B(1$%/( Starts new broken line pattern. *'&B',6$%/( Continues from previous broken line pattern. (Default)

Page 266: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

266

FUJITSU CONFIDENTIAL

*'&B%52.(1B/,1(B3(5,2' Sets period of broken line pattern.

*'&B%52.(1B/,1(B�� 32 bits (Default) *'&B%52.(1B/,1(B�� 24 bits *'&B%52.(1B/,1(B�� 16 bits

*'&B523B02'( Sets logical operation mode of body.

*'&B523B&/($5� Sets all bits to “0”. *'&B523B$1'� s & d *'&B523B$1'B5(9(56(� s & !d *'&B523B&23<� s (Default) *'&B523B$1'B,19(57('� !s & d *'&B523B123� d *'&B523B;25� s ^ d *'&B523B25� s | d *'&B523B125� !(s | d) *'&B523B(48,9� !(s ^ d) *'&B523B,19(57� !d *'&B523B25B5(9(56(� s | !d *'&B523B&23<B,19(57('� !s *'&B523B25B,19(57('� !s | d *'&B523B1$1'� !(s & d) Note: s: Value to be drawn *'&B523B6(7� Sets all bits to “1”. d: value of drawing destination

*'&B%52.(1B/,1(B9(57,&$/� �

Sets how to draw broken line pattern. *'&B(1$%/( Draws broken line pattern vertical to theoretical line. (Default) *'&B',6$%/( Draws broken line pattern vertical to main axis.

*'&B6+$'(B02'(�

Sets the shading mode *'&B6+$'(B)/$7 Draws using shading *'&B6+$'(B60227+ Draws using Gouraud (smooth) shading. (Default).

*'&B$/3+$B6+$'(B02'( Sets alpha shading mode. Use this attribute for all color modes. *'&B6+$'(B)/$7 Draws alpha value using flat shading.

*'&B6+$'(B60227+ Draws alpha value using Gouraud (smooth) shading. When using this function, set the shading mode (GDC_SHADE_MODE) to Gouraud shading (GDC_SHADE_SMOOTH). (Default).

Page 267: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

267

FUJITSU CONFIDENTIAL

*'&B)2*B02'( Sets enabling/disabling of fog function. *'&B(1$%/( Uses fog function.

*'&B',6$%/( Does not use fog function. (Default)

*'&B%52.(1B/,1(B',5(&7,21 Sets reference starting direction of broken line pattern. *'&B67$57B+,*+B%,7� Sets reference starting direction to direction from upper bit to

lower bit. (Default) *'&B67$57B/2:B%,7 Sets reference starting direction to direction from lower bit to

upper bit.

*'&B%&B02'( Sets background color mode for when drawing broken line pattern.

In the 32-bit or 16-bit color mode, the least significant bit of the pixel is set to “0” to draw the background color specified using the *GF%DFN&RORU�� function. Therefore, this mode is used to write “1” to the least significant bit of the pixel.

*'&B(1$%/(� Writes “1” to the least significant bit of pixel to be drawn as background color.

*'&B',6$%/( Writes “0” to the least significant bit of pixel to be drawn as background color. (Default)

*'&B7(;785(B81,7� Sets enabling/disabling of computing unit texture unit0 dedicated to texture processing.

When using texture0, enable texture unit0. *'&B(1$%/(� Enables texture unit0. *'&B',6$%/( Disables texture unit0. (Default)

*'&B7(;785(B81,7� Sets enabling/disabling of computing unit texture unit1 dedicated to texture processing.

When using texture1, enable texture unit1. Texture1 can only be used in the OpenGL mode.

*'&B(1$%/(� Enables texture unit1. *'&B',6$%/( Disables texture unit1. (Default)

Page 268: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

268

FUJITSU CONFIDENTIAL

*'&B6+$'2:B'(37+B7(67� Sets enabling/disabling of Z test of shadow.

*'&B(1$%/(� Performs Z test.

*'&B',6$%/(� Does not perform Z test. (Default)

*'&B6+$'2:B'(37+B)81& Selects comparative calculation expression for when performing Z test for shadow.

*'&B'(37+B1(9(5 Never draws. *'&B'(37+B$/:$<6 Always draws. *'&B'(37+B/(66 Draws when Z value smaller than value of Z buffer. (Default) *'&B'(37+B/(48$/ Draws when Z value equal to or smaller than value of Z buffer. *'&B'(37+B(48$/ Draws when Z value equal to value of Z buffer. *'&B'(37+B*(48$/ Draws when Z value equal to or greater than value of Z buffer. *'&B'(37+B*5($7(5 Draws when Z value greater than value of Z buffer *'&B'(37+B127(48$/ Draws when Z value different from value of Z buffer.

*'&B6+$'2:B'(37+B:5,7(B0$6.�

Sets mask for write of Z value of shadow to Z buffer. *'&B(1$%/(� Writes Z value to Z buffer. (Default)

*'&B',6$%/(� Does not write Z value to Z buffer.

*'&B6+$'2:B%/(1'B02'(� Sets blend mode for when writing pixel of shadow to drawing frame. (Only enabled for Coral-PA.) *'&B%/(1'B&23<� Performs normal drawing (writes color of pixel to drawing

frame). (Default) *'&B%/(1'B$/3+$� Performs alpha blending.

*'&B%/(1'B523� Draws with logical operation.

*'&B6+$'2:B%52.(1B/,1(� Selects broken line processing mode of shadow. (Only enabled for Coral-PA.) *'&B(1$%/(� Draws broken line using broken line pattern.

*'&B',6$%/(� Draws solid line. (Default)

Page 269: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

269

FUJITSU CONFIDENTIAL

*'&B6+$'2:B%52.(1B/,1(B3(5,2'�

Sets period of broken line pattern of shadow. (Only enabled for Coral-PA.) *'&B%52.(1B/,1(B��� 32 bits (Default)

*'&B%52.(1B/,1(B��� 24 bits

*'&B%52.(1B/,1(B��� 16 bits

*'&B6+$'2:B523B02'( Sets logical operation mode of shadow.

The same logical operation mode applies to the shadow and the shadow synthesis primitive. In an area where a shadow and a shadow synthesis primitive overlap, logical operation is also performed between the shadow and the shadow synthesis primitive. (Only enabled for Coral-PA.)

*'&B523B&/($5� Sets all bits to “0”. *'&B523B$1'� s & d *'&B523B$1'B5(9(56(� s & !d *'&B523B&23<� s (Default) *'&B523B$1'B,19(57('� !s & d *'&B523B123� d *'&B523B;25� s ^ d *'&B523B25� s | d *'&B523B125� !(s | d) *'&B523B(48,9� !(s ^ d) *'&B523B,19(57� !d *'&B523B25B5(9(56(� s | !d *'&B523B&23<B,19(57('� !s *'&B523B25B,19(57('� !s | d *'&B523B1$1'� !(s & d) *'&B523B6(7� Sets all bits to “1”. Note: s: Value to be drawn d: Value of drawing destination

*'&B%25'(5B'(37+B7(67 Sets enabling/disabling of Z test of border. (Only enabled for Coral-PA.) *'&B(1$%/( Performs Z test.

*'&B',6$%/( Does not perform Z test. (Default)

Page 270: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

270

FUJITSU CONFIDENTIAL

*'&B%25'(5B'(37+B)81&� Selects comparative calculation expression for when performing Z test for border. *'&B'(37+B1(9(5� Never draws. *'&B'(37+B$/:$<6� Always draws. *'&B'(37+B/(66� Draws when Z value smaller than value of Z buffer. (Default *'&B'(37+B/(48$/� Draws when Z value equal to or smaller than value of Z buffer. *'&B'(37+B(48$/� Draws when Z value equal to value of Z buffer *'&B'(37+B*(48$/� Draws when Z value equal to or greater than value of Z buffer. *'&B'(37+B*5($7(5� Draws when Z value greater than value of Z buffer. *'&B'(37+B127(48$/� Draws when Z value different from value of Z buffer.

*'&B%25'(5B'(37+B:5,7(B0$6.�

Sets mask for write of Z value of border to Z buffer. *'&B(1$%/(� Writes Z value to Z buffer. (Default) *'&B',6$%/(� Does not write Z value to Z buffer.

*'&B%25'(5B%/(1'B02'(� Sets blend mode for when writing pixel of border to drawing frame. (Only enabled for Coral-PA.) *'&B%/(1'B&23<� Performs normal drawing (writes color of pixel to drawing

frame). (Default)

*'&B%/(1'B$/3+$� Performs alpha blending.

*'&B%/(1'B523� Draws with logical operation.

*'&B%25'(5B%52.(1B/,1(

Selects broken line processing mode of border. (Only enabled for Coral-PA.) *'&B(1$%/( Draws broken line using broken line pattern.

*'&B',6$%/( Draws solid line. (Default)

*'&B%25'(5B%52.(1B/,1(B3(5,2'

Sets period of broken line pattern of border. (Only enabled for Coral-PA.)

*'&B%52.(1B/,1(B�� 32 bits (Default)

*'&B%52.(1B/,1(B�� 24 bits

*'&B%52.(1B/,1(B�� 16 bits

Page 271: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

271

FUJITSU CONFIDENTIAL

*'&B%25'(5B523B02'(� Sets logical operation mode of border. (Only enabled for Coral-PA.)

*'&B523B&/($5� Sets all bits to “0”. *'&B523B$1'� s & d *'&B523B$1'B5(9(56(� s & !d *'&B523B&23<� s (default) *'&B523B$1'B,19(57('� !s & d *'&B523B123� d *'&B523B;25� s ^ d *'&B523B25� s | d *'&B523B125� !(s | d) *'&B523B(48,9� !(s ^ d) *'&B523B,19(57� !d *'&B523B25B5(9(56(� s | !d *'&B523B&23<B,19(57('� !s *'&B523B25B,19(57('� !s | d *'&B523B1$1'� !(s & d) Note: s: Value to be draws. *'&B523B6(7� Sets all bits to “1”. d: Value of drawing destination �

*'&B*(2B%25'(5B/,1(� Sets drawing mode of border primitive. (Only enabled for Coral-PA.)

*'&B(1$%/(� Draws border primitive (the color specified using the�*GF%RUGHU&RORU�� function is used as the color of the border).

*'&B',6$%/(� Does not draw border primitive. (Default)

*'&B*(2B6+$'2:B02'(� Sets drawing mode of shadow primitive. (Only enabled for Coral-PA.)

*'&B(1$%/(� Draws shadow primitive (the color specified using the *GF6KDGRZ&RORU�� function is used as the color of the shadow).

*'&B',6$%/(� Does not draw shadow primitive. (Default)

*'&B*(2B7+,&.B/,1(B&255(&7

Sets interpolation mode for thick line connection. (Only enabled for Coral-PA.)

*'&B(1$%/( Interpolates thick line connection.

*'&B',6$%/( Does not interpolate thick line connection. (Default)

Page 272: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

272

FUJITSU CONFIDENTIAL

*'&B*(2B%52.(1B/,1(B&255(&7� Sets interpolation mode for broken line pattern. (Only enabled for Coral-PA.)

*'&B(1$%/(� References the same broken line pattern as several pixels before and after connection of broken line (broken line pattern reference address fixed mode). Specify the pixel count using GDC_GEO_BROKEN_LINE_CORRECT_LENGTH of this function.

*'&B',6$%/(� Does not interpolate broken line pattern. (Default)

*'&B*(2B%52.(1B/,1(B&255(&7B/(1*7+� Sets broken line pattern reference address fixed pixel count.

The recommended value is the same value as the line width. This parameter is enabled when the broken line pattern interpolation mode (GDC_GEO_BROKEN_LINE_CORRECT) is the broken line pattern reference address fixed mode (GDC_ENABLE). (Only enabled for Coral-PA.)

Values 0 to 32 Pixel count (Default: 0)

*'&B*(2B81,)250B/,1(B:,'7+� Sets uniforming mode for line width. (Only enabled for Coral-PA.)

*'&B(1$%/(� Uniforms line width. Always set this mode when the verticalization mode for thick line and broken line (GDC_GEO_THICK_LINE_VERTICAL) draws thick line and broken line vertical to theoretical line of line (GDC_ENABLE).

*'&B',6$%/(� Does not uniform line width. (Default)

*'&B*(2B7+,&.B/,1(B9(57,&$/

Sets verticalization mode for thick line and broken line. (Only enabled for Coral-PA.)

*'&B(1$%/( Draws thick line and broken line vertical to theoretical line of line.

*'&B',6$%/( Draws thick line and broken line vertical to main axis of line. (Default)

Page 273: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

273

FUJITSU CONFIDENTIAL

There are the restrictions as to the setting of the verticalization mode for thick line and broken line (GDC_GEO_THICK_LINE_VERTICAL), as follows:

7DEOH������G� � &RPELQDWLRQ�RI�/LQH�'UDZLQJ�$WWULEXWHV�

*'&B*(2B7+,&.B/,1(B9(57,&$/�

*'&B(1$%/(� *'&B',6$%/(�

*'&B(1$%/(� { × *'&B*(2B7+,&.B/,1(B&255(&7�

*'&B',6$%/(� { { *'&B(1$%/(� { ×

*'&B*(2B81,)250B/,1(B:,'7+�*'&B',6$%/(� × { *'&B(1$%/(� { ×

*'&B*(2B%25'(5B/,1(�*'&B',6$%/(� { { *'&B(1$%/(� { ×

*'&B*(2B6+$'2:B02'(�*'&B',6$%/(� { {

{: Combination available ×: Combination not available. (Operation is not guaranteed when combining the attributes.)

The following shows the drawing attributes applicable to each drawing API.

7DEOH������H� � � /LVW�RI�'UDZLQJ�$WWULEXWHV�$SSOLFDEOH�WR�(DFK�'UDZLQJ�$3,�

*GF$WWU/LQH WDUJHW *GF'UDZ3ULPLWLYH�'� *GF'UDZ3ULPLWLYH�'�

*'&B'(37+B7(67� × { *'&B'(37+B)81&� × { *'&B'(37+B:5,7(B0$6.� � × { *'&B%/(1'B02'(� { { *'&B%52.(1B/,1(� { { *'&B$17,B$/,$6� { { *'&B/,1(B(1'32,17� { { *'&B%52.(1B/,1(B2))6(7� { { *'&B%52.(1B/,1(B3(5,2'� { { *'&B523B02'(� { { *'&B%52.(1B/,1(B9(57,&$/� { { *'&B6+$'(B02'(� { { *'&B$/3+$B6+$'(B02'(� { { *'&B)2*B02'(� { {

(continue)

Page 274: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

274

FUJITSU CONFIDENTIAL

7DEOH������H� � /LVW�RI�'UDZLQJ�$WWULEXWHV�$SSOLFDEOH�WR�(DFK�'UDZLQJ�$3,��FRQWLQXHG��

*GF$WWU/LQH WDUJHW *GF'UDZ3ULPLWLYH�'� *GF'UDZ3ULPLWLYH�'�

*'&B%52.(1B/,1(B',5(&7,21� { { *'&B%&B02'(� { { *'&B7(;785(B81,7�� { { *'&B7(;785(B81,7�� { { *'&B6+$'2:B'(37+B7(67� × (*) *'&B6+$'2:B'(37+B)81&� × (*) *'&B6+$'2:B'(37+B:5,7(B0$6.� × (*) *'&B6+$'2:B%/(1'B02'(� × (*) *'&B6+$'2:B%52.(1B/,1(� × (*) *'&B6+$'2:B%52.(1B/,1(B3(5,2'� × (*) *'&B6+$'2:B523B02'(� × (*) *'&B%25'(5B'(37+B7(67� × (*) *'&B%25'(5B'(37+B)81&� × (*) *'&B%25'(5B'(37+B:5,7(B0$6.� × (*) *'&B%25'(5B%/(1'B02'(� × (*) *'&B%25'(5B%52.(1B/,1(� × (*) *'&B%25'(5B%52.(1B/,1(B3(5,2'� × (*) *'&B%25'(5B523B02'(� × (*) *'&B*(2B%25'(5B/,1(� × (*) *'&B*(2B6+$'2:B02'(� × (*) *'&B*(2B7+,&.B/,1(B&255(&7� × (*) *'&B*(2B%52.(1B/,1(B&255(&7� � × (*) *'&B*(2B%52.(1B/,1(B&255(&7B/(1*7+� × (*) *'&B*(2B81,)250B/,1(B:,'7+� × (*) *'&B*(2B7+,&.B/,1(B9(57,&$/� × (*)

(*) Only enabled for Coral-PA.

Page 275: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

275

FUJITSU CONFIDENTIAL

�������� *GF/LQH:LGWK����6HWWLQJ�/LQH�:LGWK!�

>)RUPDW@�

GDC_BOOL *GF/LQH:LGWK (

GDC_CTX *GUYFW[��

GDC_ENUM WDUJHW,�

GDC_ULONG ZLGWK

)

>$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

target Target to which line width is set

*'&B/,1(B:,'7+ Setting of line width of body

*'&B6+$'2:B/,1(B:,'7+ Setting of line width of shadow (Only enabled for Coral-PA.)

*'&B%25'(5B/,1(B:,'7+ Setting of line width of border (Only enabled for Coral-PA.)

width Line width (1 to 256; default: 1)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or target. GDC_ERR_ILLEGAL_LINE_WIDTH Illegal line width was specified.

>'HVFULSWLRQ@�

This function sets the line width.

The following shows the line width setting (target) applicable to each drawing API.

7DEOH������I� � /LQH�:LGWK�6HWWLQJ�$SSOLFDEOH�WR�(DFK�'UDZLQJ�$3,�

*GF/LQH:LGWK target *GF'UDZ3ULPLWLYH�'� *GF'UDZ3ULPLWLYH�'�

*'&B/,1(B:,'7+� { { *'&B6+$'2:B/,1(B:,'7+� × { (Only enabled for Coral-PA.) *'&B%25'(5B/,1(B:,'7+� × { (Only enabled for Coral-PA.)

Page 276: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

276

FUJITSU CONFIDENTIAL

The following shows the range of the line width (width) that can be specified for each drawing API.

7DEOH������J� � � 5DQJH�RI�/LQH�:LGWK�6SHFLILHG�IRU�(DFK�'UDZLQJ�$3,�

Drawing API Drawing primitive Range of line width (*GF/LQH:LGWK: width)

*'&B/,1(6 *GF'UDZ3ULPLWLYH�' *'&B32/</,1(

1 to 32

*'&B/,1(6 *GF'UDZ3ULPLWLYH�' *'&B32/</,1(

Always 1

Page 277: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

277

FUJITSU CONFIDENTIAL

�������� *GF/LQH3DWWHUQ����6HWWLQJ�%URNHQ�/LQH�3DWWHUQ!�

>)RUPDW@�

GDC_BOOL *GF/LQH3DWWHUQ (

GDC_CTX *GUYFW[,

GDC_ULONG SDWWHUQ�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

pattern Broken line pattern data (default=0xAAAAAAAA) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the broken line pattern used when drawing the broken line as a 32-bit pattern. The location where the bit is “1” is drawn in the foreground color; the location where the bit is “0” is drawn in the background color. 1 bit of the broken line pattern corresponds to 1 pixel of the line. The bit arrangement used as the broken line pattern data (value of pattern) varies with the period (GDC_BROKEN_LINE_PERIOD) of the broken line pattern set using the *GF$WWU/LQH�� function and the reference starting direction (GDC_BROKEN_LINE_DIRECTION) of the broken line pattern. See�7DEOH������K�for the bit arrangement of the broken line pattern in each setting.

Page 278: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

278

FUJITSU CONFIDENTIAL

7DEOH������K� � %LW�$UUDQJHPHQW�RI�%URNHQ�/LQH�3DWWHUQ�

GdcAttrLine() function�

*'&B%52.(1B/,1(B3(5,2'� *'&B%52.(1B/,1(B',5(&7,21�

Bits used as broken line pattern data of the pattern value, and reference direction of broken line pattern

*'&B67$57B+,*+B%,7 Bit 31 to 0 [Bit 31 → Bit 0] *'&B%52.(1B/,1(B��� *'&B67$57B/2:B%,7 Bit 31 to 0 [Bit 0 → Bit 31]

*'&B67$57B+,*+B%,7 Bit 31 to 8 [Bit 31 → Bit 8] *'&B%52.(1B/,1(B��� *'&B67$57B/2:B%,7 Bit 23 to 0 [Bit 0 → Bit 23]

*'&B67$57B+,*+B%,7 Bit 31 to 16 [Bit 31 → Bit 16] *'&B%52.(1B/,1(B��� *'&B67$57B/2:B%,7 Bit 15 to 0 [Bit 0 → Bit 15]

)LJ�������D�shows an example of the broken line to be drawn under the following conditions: the period of the broken line pattern is 32 bits; the reference starting direction of the broken line pattern is from upper bit to lower bit; and the broken line pattern is set to 0xAAAAAAAA.

)LJ�������D� � ([DPSOH�RI�%URNHQ�/LQH�

Starting point End point

: foreground color

: background color

Page 279: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

279

FUJITSU CONFIDENTIAL

�������� *GF$WWU6XUI����6HWWLQJ�6XUIDFH�'UDZLQJ�$WWULEXWH!�

>)RUPDW@�

GDC_BOOL *GF$WWU6XUI (

GDC_CTX *GUYFW[,

GDC_ENUM WDUJHW,

GDC_ENUM SDUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

target Target surface drawing attributes

*'&B6+$'(B02'( Setting of shading mode *'&B'(37+B7(67 Setting of Z test *'&B'(37+B)81& Setting of Z test function *'&B'(37+B:5,7(B0$6. Setting of Z value write enable mode *'&B%/(1'B02'( Setting of blend mode *'&B523B02'( Setting of logical operation mode *'&B$/3+$B6+$'(B02'( Setting of alpha shading mode *'&B6+$'2:B'(37+B7(67 Setting of Z test of shadow *'&B6+$'2:B'(37+B)81& Setting of Z test function of shadow *'&B6+$'2:B'(37+B:5,7(B0$6. Setting of Z value write enable mode of

shadow *'&B6+$'2:B%/(1'B02'( Setting of blend mode of shadow *'&B6+$'2:B523B02'( Setting of logical operation mode of

shadow *'&B121B723/()7 Setting of drawing algorithm *'&B6+$'2:B02'( Setting of drawing mode for shadow

primitive *'&B)2*B02'( Setting of fog mode *'&B7(;785(B81,7�� Setting of texture unit0 *'&B7(;785(B81,7�� Setting of texture unit1

param Parameter(*1) for target >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 280: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

280

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_ATTRIBUTE Invalid attribute (target) was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or param. >'HVFULSWLRQ@�

This function sets attributes used when drawing the surface (excluding attributes of texture mapping).

>1RWH@�

When the drawing frame is in 8-bit index color mode and the blend mode is the mode where drawing with logical operation is performed, the color of the drawing frame and the color to be drawn from now on are obtained by logical operation using the color palette code (0 to 255) in GDC_IDX8 format; instead obtained by logical operation using the color value. For example, assume that the drawing frame is in 8-bit index color mode and the logical operation mode is set to GDC_ROP_OR (logical OR), and the color palette code of a coordinate point in the drawing frame is “1”. In this case, when a point with color palette code “2” is drawn on the same coordinate, the color palette code “1” and “2” are subjected to logical operation, causing the color palette code “3” to be written to the drawing frame.

In the 8-bit index color mode, Gouraud shading (grayscale Gouraud shading) is performed for the color palette code (0 to 255), not for the value of the drawing color. Grayscale Gouraud shading can be used by specifying Gouraud shading in the 8-bit index color mode

(*1) The following shows each surface drawing attribute (target), and the parameter (param) for each surface drawing attribute:

[Explanatory note]

Surface drawing attribute Description of surface drawing attribute

Specifiable parameter 1 Description of parameter 1

Specifiable parameter 2 Description of parameter 2 : :

*'&B6+$'(B02'(� Sets shading mode *'&B6+$'(B)/$7� Draws using flat shading. *'&B6+$'(B60227+� Draws using Gouraud (smooth) shading. (Default)

*'&B'(37+B7(67 Sets enabling/disabling of Z test.

*'&B(1$%/( Performs Z test

*'&B',6$%/( Does not perform Z test. (Default)

Page 281: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

281

FUJITSU CONFIDENTIAL

*'&B'(37+B)81&� Selects comparative calculation expression used when performing Z test.

*'&B'(37+B1(9(5� Never draws.

*'&B'(37+B$/:$<6� Always draws.

*'&B'(37+B/(66� Draws when Z value smaller than value of Z buffer. (Default)

*'&B'(37+B/(48$/� Draws when Z value equal to or smaller than value of Z buffer.

*'&B'(37+B(48$/� Draws when Z value equal to value of Z buffer.

*'&B'(37+B*(48$/� Draws when Z value equal to or greater than value of Z buffer.

*'&B'(37+B*5($7(5� Draws when Z value greater than value of Z buffer.

*'&B'(37+B127(48$/� Draws when Z value different from value of Z buffer.

*'&B'(37+B:5,7(B0$6.� Permits write of Z value to Z buffer.

When the value of this attribute is GDC_ENABLE, the Z value is written to the Z buffer when drawing is performed as a result of the Z test.

*'&B(1$%/(� Writes Z value to Z buffer. (Default)

*'&B',6$%/(� Does not write Z value to Z buffer.

*'&B%/(1'B02'(� Sets blend mode used when writing pixel to drawing frame.

Logical operation and alpha blending cannot be set concurrently. *'&B%/(1'B&23<� Performs normal drawing (writes color of pixel to drawing

frame). (Default) *'&B%/(1'B$/3+$� Performs alpha blending.

*'&B%/(1'B523� Draws with logical operation.

*'&B$/3+$B6+$'(B02'(� Sets alpha shading mode. Use this attribute for all color modes. *'&B6+$'(B)/$7� Draws alpha value using flat shading.

*'&B6+$'(B60227+� Draws alpha value using Gouraud (smooth) shading. When using this function, set the shading mode (GDC_SHADE_MODE) to Gouraud shading (GDC_SHADE_SMOOTH). (Default)

*'&B523B02'(� Sets logical operation mode of body. *'&B523B&/($5� Sets all bits to “0”. *'&B523B$1'� s & d *'&B523B$1'B5(9(56(� s & !d *'&B523B&23<� s (default) *'&B523B$1'B,19(57('� !s & d *'&B523B123� d *'&B523B;25� s ^ d *'&B523B25� s | d *'&B523B125� !(s | d) *'&B523B(48,9� !(s ^ d)

Page 282: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

282

FUJITSU CONFIDENTIAL

*'&B523B,19(57� !d *'&B523B25B5(9(56(� s | !d *'&B523B&23<B,19(57('� !s *'&B523B25B,19(57('� !s | d *'&B523B1$1'� !(s & d) Note: s: Value to be drawn *'&B523B6(7� Sets all bits to “1”. d: Value of drawing destination

*'&B6+$'2:B'(37+B7(67� Sets enabling/disabling of Z test of shadow.

*'&B(1$%/(� Performs Z test.

*'&B',6$%/(� Does not perform Z test. (Default)

*'&B6+$'2:B'(37+B)81&� Selects comparative calculation expression used when performing Z test for shadow.

*'&B'(37+B1(9(5� Never draws.

*'&B'(37+B$/:$<6� Always draws.

*'&B'(37+B/(66� Draws when Z value smaller than value of Z buffer. (Default

*'&B'(37+B/(48$/� Draws when Z value equal to or smaller than value of Z buffer.

*'&B'(37+B(48$/� Draws when Z value equal to value of Z buffer.

*'&B'(37+B*(48$/� Draws when Z value equal to or greater than value of Z buffer.

*'&B'(37+B*5($7(5� Draws when Z value greater than value of Z buffer.

*'&B'(37+B127(48$/� Draws when Z value different from value of Z buffer.

*'&B6+$'2:B'(37+B:5,7(B0$6.� Permits write of Z value of shadow to Z buffer.

When the value of this attribute is GDC_ENABLE, the Z value is written to the Z buffer when drawing is performed as a result of the Z test.

*'&B(1$%/(� Writes Z value to Z buffer. (Default) *'&B',6$%/(� Does not write Z value to Z buffer.

*'&B6+$'2:B%/(1'B02'(

Sets blend mode used when writing pixel of shadow to drawing frame.

*'&B%/(1'B&23< Performs normal drawing (writes color of pixel to drawing frame). (Default)

*'&B%/(1'B$/3+$ Performs alpha blending.

GDC_BLEND_ROP Draws with logical operation.

Page 283: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

283

FUJITSU CONFIDENTIAL

*'&B6+$'2:B523B02'(� Sets logical operation mode of shadow.

*'&B523B&/($5� Sets all bits to “0”. *'&B523B$1'� s & d *'&B523B$1'B5(9(56(� s & !d *'&B523B&23<� s (default) *'&B523B$1'B,19(57('� !s & d *'&B523B123� d *'&B523B;25� s ^ d *'&B523B25� s | d *'&B523B125� !(s | d) *'&B523B(48,9� !(s ^ d) *'&B523B,19(57� !d *'&B523B25B5(9(56(� s | !d *'&B523B&23<B,19(57('� !s *'&B523B25B,19(57('� !s | d *'&B523B1$1'� !(s & d) Note: s: Value to be drawn *'&B523B6(7� Sets all bits to “1”. d: Value of drawing destination

*'&B121B723/()7� Sets drawing algorithm.

*'&B(1$%/(� Uses top-left not-applicable rule. *'&B',6$%/(� Does not use top-left not-applicable rule. (Default)

*'&B6+$'2:B02'(� Sets drawing mode of shadow primitive.

*'&B(1$%/(� Draws shadow primitive (the color specified busing the *GF6KDGRZ&RORU�� function is used as the color of the shadow.)

*'&B',6$%/(� Does not draw shadow primitive. (Default)

*'&B)2*B02'(� Sets enabling/disabling of fog function. *'&B(1$%/(� Uses fog function. � *'&B',6$%/(� Does not use fog function. (Default)

*'&B7(;785(B81,7�� Sets enabling/disabling of computing unit texture unit0 dedicated to texture processing.

When using texture0, enable texture unit0. *'&B(1$%/(� Enables texture unit0. *'&B',6$%/(� Disables texture unit0. (Default)

Page 284: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

284

FUJITSU CONFIDENTIAL

*'&B7(;785(B81,7� Sets enabling/disabling of computing unit texture unit1 dedicated to texture processing.

When using texture1, enable texture unit1. Texture1 can only be used in the OpenGL mode.

*'&B(1$%/(� Enables texture unit1. *'&B',6$%/( Disables texture unit1. (Default)

The following shows the drawing attributes applicable to each drawing API.

7DEOH������L� � /LVW�RI�'UDZLQJ�$WWULEXWHV�$SSOLFDEOH�WR�(DFK�'UDZLQJ�$3,�

*GF$WWU6XUI target *GF'UDZ3ULPLWLYH�'� *GF'UDZ3ULPLWLYH�'�

*'&B6+$'(B02'(� { { *'&B'(37+B7(67� × { *'&B'(37+B)81&� × { *'&B'(37+B:5,7(B0$6.� × { *'&B%/(1'B02'(� { { *'&B523B02'(� { { *'&B$/3+$B6+$'(B02'(� { { *'&B6+$'2:B'(37+B7(67� × { *'&B6+$'2:B'(37+B)81&� × { *'&B6+$'2:B'(37+B:5,7(B0$6.� × { *'&B6+$'2:B%/(1'B02'(� × { *'&B6+$'2:B523B02'(� × { *'&B121B723/()7� × { *'&B6+$'2:B02'(� × { *'&B)2*B02'(� { { *'&B7(;785(B81,7�� { { *'&B7(;785(B81,7�� { {

Page 285: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

285

FUJITSU CONFIDENTIAL

�������� �*GF6KDGRZ;<����6HWWLQJ�[\�2IIVHW�RI�6KDGRZ!�

>)RUPDW@�

GDC_BOOL *GF6KDGRZ;< (

GDC_CTX *GUYFW[,

GDC_ENUM W\SH,

GDC_LONG RIIVHW[,

GDC_LONG RIIVHW\�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

type Type of primitive

*'&B*(2B6+$'2: Shadow (for Carmine, only enabled for triangle drawing.)

*'&B*(2B6+$'2:B&20326,7,21 Shadow synthesis primitive (Only enabled for Coral-PA.)

offsetx x offset of shadow (or shadow synthesis primitive) against the body (in pixels) ((-1 * width of drawing frame + 1) to (width of drawing frame - 1); the range varies with the maximum coordinate value before the offset is added; the default value is 0.)

offsety y offset (in pixels) of shadow (or shadow synthesized primitive) against the body ((-1 * height of drawing frame + 1) to (height of drawing frame - 1); the range varies with the maximum coordinate value before the offset is added; the default value is 0.)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or type. >'HVFULSWLRQ@�

This function sets the offset of the shadow against the body. Specify the offset in pixel units. The shadow synthesis primitive is the second shadow that is always drawn when a shadowed line is drawn. To not to display the shadow synthesis primitive, set its offset to the same value as the shadow. When the primitive is a triangle, the shadow synthesis primitive is not drawn. )LJ�������E shows the relationship between the body, shadow, and shadow synthesis primitive.

Page 286: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

286

FUJITSU CONFIDENTIAL

When the offset is a positive value, the x position is at the right and the y position is at the bottom. When the offset is a negative value, the x position is at the left and the y position is at the top. Set the offset before drawing a shadow.

The shadow drawing function cannot be used when drawing graphics on device coordinate system.

)LJ�������E� � 5HODWLRQVKLS�EHWZHHQ�%RG\��6KDGRZ��DQG�6KDGRZ�6\QWKHVLV�3ULPLWLYH�

>1RWH@�

Drawing of the shadowed line is only enabled for Coral-PA. This function cannot be used for line drawing for Carmine. Set the entire shadow (starting coordinate of shadow drawing + size of shadow) to fall within the range up to 4096. If the entire shadow exceeds 4096, the drawing result is not guaranteed.

Body of line

Shadow of line

Shadow synthesis primitive of line

Body of triangle

Shadow of triangle

Page 287: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

287

FUJITSU CONFIDENTIAL

�������� *GF2YHUODS=����6HWWLQJ�=�9DOXH�:KHQ�LQ�6KDGRZHG�0RGH��%RUGHUHG�0RGH��RU�7RS�/HIW�1RW�DSSOLFDEOH�0RGH!�

>)RUPDW@�

GDC_BOOL *GF2YHUODS= (

GDC_CTX *GUYFW[,

GDC_ENUM WDUJHW,

GDC_ULONG RIIVHWB]

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

target Target to which Z value is set (one of following).

*'&B35,0B%2'< Body of primitive to be drawn in shadowed mode, bordered mode, or top-left not-applicable mode

*'&B35,0B6+$'2: Shadowed part (For Carmine, only enabled for triangle drawing.)

*'&B35,0B%25'(5 Bordered part (Only enabled for Coral-PA.)

offset_z� � Z value (0x00000000 to 0x00007fff; the range varies with the maximum Z value before the offset is added; the default value is 0.)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or target. >'HVFULSWLRQ@�

This function sets the Z value of the primitive to be drawn in either shadowed mode or bordered mode or top-left not-applicable mode or drawn in a combination of these modes. For example, shadowed drawing is used to set the hierarchical between the body and the shadow; and bordered drawing is used when represent the connection of the overlapped part of the bordering line.

Set the Z value before drawing the above primitive.

When the precision of the Z value is 8 bits, lower 8 bits of offset_z are enabled.

When the precision of the Z value is 16 bits, lower 16 bits of offset_z are enabled.

The starting bit is treated as a sign bit.

Operation is not guaranteed when the value exceeding the range is set.

Page 288: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

288

FUJITSU CONFIDENTIAL

>1RWH@�

Drawing of the shadowed line and bordered line is only enabled for Coral-PA. This function cannot be used for line drawing for Carmine.

Page 289: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

289

FUJITSU CONFIDENTIAL

�������� *GF6KDGRZ&RORU����6HWWLQJ�&RORU�RI�6KDGRZ!�

>)RUPDW@�

GDC_BOOL *GF6KDGRZ&RORU�(

GDC_CTX *GUYFW[,

GDC_COLOR32 FRORU�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

color Setting of shadow color (Default value: 0)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the shadow color. This function is effective when drawing the shadowed line, shadowed triangle, and shadowed polygon.

Once this function has been executed, the same color set using this function is used for drawing until that color is changed by this function.

The following values are used depending on the color mode:

� 8-bit index color mode: lower 8 bits of color � 16-bit color mode: lower 16 bits of color � 32-bit color mode: value of color (32 bits)

>1RWH@�

Drawing of the shadowed line is only enabled for Coral-PA. This function cannot be used for line drawing for Carmine.

Page 290: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

290

FUJITSU CONFIDENTIAL

�������� *GF6KDGRZ%DFN&RORU����6HWWLQJ�%DFNJURXQG�&RORU�RI�6KDGRZ!�

>)RUPDW@�

GDC_BOOL *GF6KDGRZ%DFN&RORU�(

GDC_CTX *GUYFW[,

GDC_COLOR32 FRORU�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

color Setting of background color of shadow (Default value: 0xffffffff)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the background color of the shadow. The background color of the shadow is effective when the shadow of the shadowed line is a broken line. The background color of the shadow is the color of the position where the bit of the broken line pattern when the shadow is drawn using the broken line, is “0” (see figure below).

)LJ�������F� � 5HODWLRQVKLS�EHWZHHQ�&RORU�RI�6KDGRZ�DQG�%DFNJURXQG�&RORU�RI�6KDGRZ� �:KHQ�%URNHQ�/LQH�3DWWHUQ�LV��[I�I�I�I��

Background color of shadow

Body

Shadow

Page 291: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

291

FUJITSU CONFIDENTIAL

Once this function has been executed, the same color set using this function is used for drawing until that color is changed by this function.

The following values are used depending on the color mode:

� 8-bit index color mode: lower 8 bits of color � 16-bit color mode: lower 16 bits of color � 32-bit color mode: value of color (32 bits)

>1RWH@�

Drawing of the shadowed line is only enabled for Coral-PA. This function cannot be used for line drawing for Carmine.

Page 292: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

292

FUJITSU CONFIDENTIAL

�������� *GF%RUGHU&RORU����6HWWLQJ�%RUGHU�&RORU!�

>)RUPDW@�

GDC_BOOL *GF%RUGHU&RORU�(�

GDC_CTX *GUYFW[,

GDC_COLOR32 FRORU�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

color Setting of border color (Default value: 0)

>5HWXUQ�YDOXH@�

*'&B758( Success

*'&B)$/6( Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the border color. This function is effective when drawing the bordered line.

Once this function has been executed, the same color set using this function is used for drawing until that color is changed by this function.

The following values are used depending on the color mode:

� 8-bit index color mode: lower 8 bits of color � 16-bit color mode: lower 16 bits of color � 32-bit color mode: value of color (32 bits)

>1RWH@�

Drawing of the bordered line is only enabled for Coral-PA. This function cannot be used for line drawing for Carmine.

Page 293: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

293

FUJITSU CONFIDENTIAL

�������� *GF%RUGHU%DFN&RORU����6HWWLQJ�%DFNJURXQG�&RORU�RI�%RUGHU!�

>)RUPDW@�

GDC_BOOL *GF%RUGHU%DFN&RORU�(

GDC_CTX *GUYFW[,

GDC_COLOR32 FRORU�

) >$UJXPHQW@�

GUYFW[ Pointer to context area (Valid value in a system using other than “NULL”)

color Setting of background color of border (Default value: 0xffffffff)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the background color of the border. The background color of the border is effective when the border of the bordered line is the broken line.

The background color of the border is the color of the position where the bit of the broken line pattern when the border primitive is drawn using the broken line, is “0” (see figure below).

)LJ�������G� � 5HODWLRQVKLS�EHWZHHQ�&RORU�RI�%RUGHU�DQG�%DFNJURXQG�&RORU�RI�%RUGHU� �:KHQ�%URNHQ�/LQH�3DWWHUQ�LV��[I�I�I�I��

Background color of border

Body

Border

Page 294: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

294

FUJITSU CONFIDENTIAL

Once this function has been executed, the same color set using this function is used for drawing until that color is changed by this function.

The following values are used depending on the color mode:

� 8-bit index color mode: lower 8 bits of color � 16-bit color mode: lower 16 bits of color � 32-bit color mode: value of color (32 bits)

>1RWH@�

Drawing of the bordered line is only enabled for Coral-PA. This function cannot be used for line drawing for Carmine.

Page 295: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

295

FUJITSU CONFIDENTIAL

�������� *GF$WWU7H[WXUH����5HJLVWUDWLRQ�RI�7H[WXUH�$WWULEXWH�LQ�7H[WXUH�,QIRUPDWLRQ�7DEOH!�

>)RUPDW@�

GDC_BOOL *GF$WWU7H[WXUH�(

GDC_CTX *GUYFW[,

GDC_ULONG DGUV,

GDC_ENUM WDUJHW,

GDC_ENUM SDUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

adrs Graphics memory address where image data is stored (Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFF8(*1), an 8-byte aligned value)

target Target texture mapping attributes

*'&B7(;785(B3(563(&7,9( Setting of texture coordinate correction mode

*'&B7(;785(B0,1B),/7(5 Setting of filtering mode when minifying texture

*'&B7(;785(B0$*B),/7(5 Setting of filtering mode when magnifying texture

*'&B7(;785(B:5$3B6 Wrap setting of texture s coordinate

*'&B7(;785(B:5$3B7 Wrap setting of texture t coordinate

param Parameter(*2) for target >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_ATTRIBUTE Invalid attribute (target) was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, adrs, or param. GDC_ERR_TOO_MANY_TEXTURE The count of texture exceeded settable count. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

adrs.

Page 296: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

296

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets the texture attribute of the texture image data stored in adrs.

When the texture count specified using adrs exceeds the texture count set using the *GF&UHDWH7H[WXUH7DEOH�� function, this function sets the error code GDC_ERR_TOO_MANY_TEXTURE, sets GDC_FALSE as the return value, and returns.

(*1) Maximum size that can be handled by Carmine. This value varies depending on the system to be used.

(*2) The following shows the texture mapping attribute (target), and parameter (param) for each texture mapping attribute:

[Explanatory note]

Texture mapping attribute Description of texture mapping attribute

Specifiable parameter 1 Description of parameter 1 Specifiable parameter 2 Description of parameter 2 : :

*'&B7(;785(B3(563(&7,9(

Selects texture coordinate perspective correction mode

*GF'UDZ3ULPLWLYH Can be used only for graphics drawing performed by the *GF'UDZ3ULPLWLYH�'�� function.

*'&B7(;785(B0,1B),/7(5

Sets filtering mode when minifying texture.

*'&B7(;785(B1($5(67� Performs point sampling. (Default)

*'&B7(;785(B/,1($5� Performs bilinear filtering. *'&B7(;785(B1($5(67B0,30$3B1($5(67� Performs mipmap filtering. *'&B7(;785(B/,1($5B0,30$3B1($5(67� Performs bilinear filtering and mipmap

filtering. *'&B7(;785(B1($5(67B0,30$3B/,1($5� Performs mipmap and trilinear filtering. *'&B7(;785(B/,1($5B0,30$3B/,1($5� Performs bilinear filtering, mipmap

filtering, and trilinear filtering.

*'&B7(;785(B0$*B),/7(5

Sets filtering mode when magnifying.

*'&B7(;785(B1($5(67 Performs point sampling. (Default)

*'&B7(;785(B/,1($5 Performs bilinear filtering.

Page 297: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

297

FUJITSU CONFIDENTIAL

*'&B7(;785(B:5$3B6

Sets how to wrap when texture s coordinate is outside the range of texture size.

*'&B7(;785(B&/$03B72B('*(� Clamp to edge (Default)

*'&B7(;785(B5(3($7� Repeat

*'&B7(;785(B%25'(5� Border *'&B7(;785(B&/$03� Clamp *'&B7(;785(B0,5525('B5(3($7� Mirrored repeat

*'&B7(;785(B:5$3B7

Sets how to wrap when texture t coordinate is outside the range of texture size.

*'&B7(;785(B&/$03B72B('*(� Clamp to edge (Default)

*'&B7(;785(B5(3($7� Repeat

*'&B7(;785(B%25'(5� Border *'&B7(;785(B&/$03� Clamp *'&B7(;785(B0,5525('B5(3($7� Mirrored repeat

Mipmap texture can only be used by the *GF'UDZ3ULPLWLYH�'�� function.

>1RWH@�

When using the mipmap texture, enable perspective correction.

The setting of each filtering mode when minifying texture (target: GDC_TEXTURE_MIN_FILTER) is shown in the following table.

7DEOH������M� � 6HWWLQJ�RI�(DFK�)LOWHULQJ�0RGH�:KHQ�0LQLI\LQJ�7H[WXUH� �

GDC_TEXTURE_MIN_FILTER� Bilinear� Mipmap� Trilinear�

*'&B7(;785(B1($5(67� × × × *'&B7(;785(B/,1($5� { × × *'&B7(;785(B1($5(67B0,30$3B1($5(67� × { × *'&B7(;785(B/,1($5B0,30$3B1($5(67� { { × *'&B7(;785(B1($5(67B0,30$3B/,1($5� × { { *'&B7(;785(B/,1($5B0,30$3B/,1($5� { { {

{: Enable, ×: Disable

Bilinear filtering and trilinear filtering can be used when the color mode is 16-bit or 32-bit direct color.

Page 298: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

298

FUJITSU CONFIDENTIAL

�������� *GF7H[WXUH%RUGHU&RORU����6HWWLQJ�7H[WXUH�%RUGHU�&RORU!�

>)RUPDW@�

GDC_BOOL *GF7H[WXUH%RUGHU&RORU�(�

GDC_CTX *GUYFW[,

GDC_ULONG DGUV,

GDC_COLOR32 FRORU�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

adrs Graphics memory address where image data is stored (Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFF8(*1), an 8-byte aligned value)

color Texture border color (0x00000000 to 0xFFFFFFFF. Default: Color palette number 0 for the 8-bit index color mode; black for 16/32-bit color mode)

(*1) Maximum size handled by Carmine

Value varies with system used. >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or adrs. GDC_ERR_TOO_MANY_TEXTURE The count of texture exceeded settable count. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Illegal alignment was specified for an argument

adrs.

>'HVFULSWLRQ@�

This function sets the texture border color of the texture image data stored in adrs. The texture border color is used when the wrap setting of texture wrapping is border mode. The following values are used depending on the color mode:

� 8-bit index color mode: lower 8 bits of color � 16-bit color mode: lower 16 bits of color � 32-bit color mode: value of color (32 bits)

Page 299: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

299

FUJITSU CONFIDENTIAL

When the texture count specified using adrs exceeds the texture count set using the *GF&UHDWH7H[WXUH7DEOH�� function, this function sets the error code GDC_ERR_TOO_MANY_TEXTURE, sets GDC_FALSE as the return value, and returns.

>1RWH@�

In the 16-bit and 32-bit color modes, this function specifies the value of argument color in RGBA or ARGB format. To set the color order, use the *GF'UDZ'LPHQVLRQ�� function.

Page 300: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

300

FUJITSU CONFIDENTIAL

�������� *GF7H[8QLW%OHQGHU0RGH����6HWWLQJ�2SHUDWLRQ�0HWKRG�IRU�7H[WXUH�8QLW!�

>)RUPDW@�

GDC_BOOL *GF7H[8QLW%OHQGHU0RGH�(

GDC_CTX *GUYFW[,

GDC_ENUM WH[BXQLW��

GDC_ENUM WDUJHW,

GDC_ENUM SDUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

tex_unit Selection of texture unit

*'&B7(;785(B81,7�� Texture unit0 *'&B7(;785(B81,7�� Texture unit1

target Selection of operation method

*'&B)81&B5*% Setting of operation method for RGB components of input value

*'&B)81&B$/3+$ Setting of operation method for A component of input value

param Parameter(*1) for target >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, tex_unit, target, or param. >'HVFULSWLRQ@�

This function sets the operation method of each texture unit.

Enabling/disabling of each texture unit can be set using the *GF$WWU/LQH�� function and *GF$WWU6XUI�� function. The input value for the texture units is set using the *GF7H[8QLW3DUDPHWHU�� function.

(*1) The following shows the texture unit operation function (target), and operation contents (param) of the operation function.

Page 301: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

301

FUJITSU CONFIDENTIAL

[Explanatory note]

Texture unit operation function Description of texture unit operation function

Specifiable parameter 1 Description of parameter 1 Specifiable parameter 2 Description of parameter 2 : :

*'&B)81&B5*%� Sets operation method for RGB components of input value.

Arg* represents the RGB components of the input value*. Arg*r, Arg*g, and Arg*b represent the R component, G component, and B component of the input value*, respectively. The input value is set using the *GF7H[8QLW3DUDPHWHU�� function.

*'&B7(;785(B5(3/$&(� Arg0 (Default)

*'&B7(;785(B02'8/$7(� Arg0 * Arg1 *'&B7(;785(B$''� Arg0 + Arg1 *'&B7(;785(B$''B6,*1('� Arg0 + Arg1 - 0.5

(0.5 is the value when the maximum source value is “1”; the former value varies with each format.)

*'&B7(;785(B,17(532/$7(� Arg0 * Arg2 + Arg1 * (1 - Arg2 ) *'&B7(;785(B68%75$&7� Arg0 – Arg1 *'&B7(;785(B'27�B5*%�

*'&B7(;785(B'27�B5*%$�

4 * { (Arg0r-0.5)*(Arg1r-0.5)+(Arg0g-0.5)*(Arg1g-0.5)+ (Arg0b-0.5)*(Arg1b-0.5) }

*'&B)81&B$/3+$� Sets operation method for A component of input value.

Arg* represents the A component of the input value*. The input value is set using the *GF7H[8QLW3DUDPHWHU�� function.

*'&B7(;785(B5(3/$&(� Arg0 (Default)

*'&B7(;785(B02'8/$7(� Arg0 * Arg1 *'&B7(;785(B$''� Arg0 + Arg1 *'&B7(;785(B$''B6,*1('� Arg0 + Arg1 - 0.5

(0.5 is the value when the maximum source value is “1”; the former value varies with each format.)

*'&B7(;785(B,17(532/$7(� Arg0 * Arg2 + Arg1 * (1 - Arg2 ) *'&B7(;785(B68%75$&7� Arg0 - Arg1 �

>1RWH@�

Unlike Coral-PA, in Carmine, specify the texture blending method for the texture unit.

Page 302: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

302

FUJITSU CONFIDENTIAL

�������� *GF7H[8QLW3DUDPHWHU����6HWWLQJ�,QSXW�9DOXH�IRU�7H[WXUH�8QLW!�

>)RUPDW@�

GDC_BOOL *GF7H[8QLW3DUDPHWHU�(�

GDC_CTX *GUYFW[,

GDC_ENUM WH[BXQLW��

GDC_ENUM VUF��

GDC_ENUM WDUJHW,

GDC_ENUM SDUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

tex_unit Selection of texture unit

*'&B7(;785(B81,7�� Texture unit0 *'&B7(;785(B81,7�� Texture unit1

src Selection of input value

*'&B78B6285&(�� Setting of input value 0 (Arg0) *'&B78B6285&(�� Setting of input value 1 (Arg1) *'&B78B6285&(�� Setting of input value 2 (Arg2)

target Selection of setting item for src

*'&B6285&(B5*% Setting of RGB components of input value *'&B6285&(B$/3� Setting of A component of input value *'&B23(5$1'B5*% Setting of pre-operation conversion processing for RGB

components of input value *'&B23(5$1'B$/3+$ Setting of pre-operation conversion processing for A

component of input value

param Parameter(*1) for target >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, tex_unit, src, target, or param.

Page 303: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

303

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets the input value for each texture unit, and sets the pre-operation conversion processing for the input value. The operation method for each texture unit is set using the *GF7H[8QLW%OHQGHU0RGH�� function.

(*1) The following shows the item (target) for the input value, and the parameter (param) for the item:

[Explanatory note]

Item for input value of the texture unit Description of item for input value of texture unit

Specifiable parameter 1 Description of parameter 1 Specifiable parameter 2 Description of parameter 2 : :

*'&B6285&(B5*%

RGB components of input value

*'&B&2167$17 Uses value of RGB components set using the *GF7H[%OHQGHU&RQVWDQW�� function.

*'&B35,0$5<B&2/25 Uses value of fragment color before texture unit started. *'&B%8))(5B&2/25� Uses color value of pixel written to frame buffer. *'&B35(9,286� For texture unit 0, uses same value as

GDC_PRIMARY_COLOR. For texture unit 1, uses output result of texture unit0.

*'&B7(;785(�B3$77(51� Uses texture assigned to texture0. When using texture0, enable texture unit0.

*'&B7(;785(�B3$77(51� Uses texture assigned to texture1. When using texture1, enable texture unit1. Texture1 can only be used in the OpenGL mode.

*'&B6285&(B$/3+$� A component of input value

*'&B&2167$17� Uses value of A component set using the *GF7H[%OHQGHU&RQVWDQW�� function.

*'&B35,0$5<B&2/25� Uses value of fragment color before texture unit started. *'&B%8))(5B&2/25� Uses color value of pixel written to frame buffer. *'&B35(9,286� For texture unit 0, uses same value as

GDC_PRIMARY_COLOR. For texture unit 1, uses output result of texture unit0.

*'&B7(;785(�B3$77(51� Uses texture assigned to texture0. When using texture0, enable texture unit0.

*'&B7(;785(�B3$77(51� Uses texture assigned to texture1. When using texture1, enable texture unit1. Texture1 can only be used in the OpenGL mode.

Page 304: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

304

FUJITSU CONFIDENTIAL

*'&B23(5$1'B5*%

Pre-operation conversion processing for RGB components of input value

*'&B65&B&2/25 (R, G, B)

*'&B21(B0,186B65&B&2/25 (1-R, 1-G, 1-B) *'&B65&B$/3+$� (A, A, A) *'&B21(B0,186B65&B$/3+$� (1-A, 1-A, 1-A)

*'&B23(5$1'B$/3+$

Pre-operation conversion processing for A component of input value

*'&B65&B$/3+$ (A)

*'&B21(B0,186B65&B$/3+$ (1-A)

7DEOH������N� � 'HIDXOW�9DOXH�:KHQ�$UJXPHQW�WH[BXQLW�,V�*'&B7(;785(B81,7��

*'&B6285&(B5*% *'&B6285&(B$/3+$ *'&B23(5$1'B5*% *'&B23(5$1'B$/3+$

*'&B78B6285&(� *'&B7(;785(�B3$77(51 *'&B7(;785(�B3$77(51 *'&B65&B&2/25 *'&B65&B$/3+$

*'&B78B6285&(� *'&B35(9,286 *'&B35(9,286 *'&B65&B&2/25 *'&B65&B$/3+$

*'&B78B6285&(� *'&B&2167$17 *'&B&2167$17 *'&B65&B&2/25 *'&B65&B$/3+$

7DEOH������O� � 'HIDXOW�9DOXH�:KHQ�$UJXPHQW�WH[BXQLW�,V�*'&B7(;785(B81,7��

*'&B6285&(B5*% *'&B6285&(B$/3+$ *'&B23(5$1'B5*% *'&B23(5$1'B$/3+$

*'&B78B6285&(� *'&B7(;785(�B3$77(51 *'&B7(;785(�B3$77(51 *'&B65&B&2/25 *'&B65&B$/3+$

*'&B78B6285&(� *'&B35(9,286 *'&B35(9,286 *'&B65&B&2/25 *'&B65&B$/3+$

*'&B78B6285&(� *'&B&2167$17 *'&B&2167$17 *'&B65&B&2/25 *'&B65&B$/3+$

Page 305: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

305

FUJITSU CONFIDENTIAL

�������� *GF7H[%OHQGHU&RQVWDQW����6HWWLQJ�9DOXH�5HIHUHQFHG�E\�7H[WXUH�%OHQGLQJ!�

>)RUPDW@�

GDC_BOOL *GF7H[%OHQGHU&RQVWDQW�(

GDC_CTX *GUYFW[,

GDC_UCHAR UHG��

GDC_UCHAR JUHHQ�

GDC_UCHAR EOXH�

GDC_UCHAR DOSKD�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

red Value of R component referenced by texture blending (0 to 255; default=0)

green Value of G component referenced by texture blending (0 to 255; default=0)

blue Value of B component referenced by texture blending (0 to 255; default=0)

alpha Value of A component referenced by texture blending (0 to 255; default=0) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the value referenced when GDC_CONSTANT is selected as input value of texture unit in texture blending drawing.

>1RWH@�

Specify each component by 8 bits irrespective of the color mode.

Page 306: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

306

FUJITSU CONFIDENTIAL

�������� *GF$WWU%OW����6HWWLQJ�'UDZLQJ�$WWULEXWH�RI�5HFWDQJXODU�3DWWHUQ!�

>)RUPDW@�

GDC_BOOL *GF$WWU%OW (

GDC_CTX *GUYFW[,

GDC_ENUM WDUJHW,

GDC_ENUM SDUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

target Target rectangular pattern drawing attribute

*'&B%/(1'B02'( Setting of blend mode

*'&B75$163$5(17B02'( Setting of transparent mode

*'&B523B02'( Setting of logical operation mode

*'&B$/3+$B6(/(&7B��%33 Setting of alpha factor

*'&B)250,1*B02'( Setting of forming mode

*'&B%&B02'( Setting of background mode for bit pattern drawing

param� Parameter (*1) for target >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_ATTRIBUTE Invalid attribute (target) was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or param. >'HVFULSWLRQ@�

This function sets the attribute used when transferring and drawing the rectangular pattern. >1RWH@�

To set the transparent color in the transparent mode, use the *GF%OW&RORU7UDQVSDUHQW�� function.

When the drawing frame is in 8-bit index color mode and the blend mode is the mode where drawing with logical operation is performed, the color of the drawing frame and the color to be drawn from now on are obtained by logical operation using the color palette code (0 to 255) in GDC_IDX8 format; instead obtained by logical operation using the color value. For example, assume that the drawing frame is in 8-bit index color mode and the logical operation mode is set to GDC_ROP_OR (logical OR),

Page 307: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

307

FUJITSU CONFIDENTIAL

and the color palette code of a coordinate point in the drawing frame is “1”. In this case, when a point with color palette code “2” is drawn on the same coordinate, the color palette code “1” and “2” are subjected to logical operation, causing the color palette code “3” to be written to the drawing frame.

To set the forming color in the forming mode, use the *GF%OW)RUP&RORU�� function. Do not set transparent mode and logical operation mode concurrently. When both alpha blend mode and transparent mode are specified, the system performs

transparent processing first. In the alpha blend mode, logical operation mode is disabled.

(*1) The following shows each drawing attribute (target) of the rectangular pattern, and the parameter (param) for those drawing attributes:

[Explanatory note]

Drawing attribute of rectangular pattern Description of drawing attribute of rectangular pattern

Specifiable parameter 1 Description of parameter 1

Specifiable parameter 2 Description of parameter 2 : :

*'&B%/(1'B02'(� Sets blend mode.

Do not set logical operation and alpha blending concurrently. *'&B%/(1'B&23<� Performs normal drawing (writes color of pixel to drawing

frame). (Default)

*'&B%/(1'B523� Draws with logical operation. *'&B%/(1'B$/3+$� Performs alpha blending.

*'&B75$163$5(17B02'( Sets transparent mode. Does not draw pixel that matches transparent color.

*'&B(1$%/( Treats color set using the *GF%OW&RORU7UDQVSDUHQW�� function as transparent color.

*'&B',6$%/( Does not treat color set using the *GF%OW&RORU7UDQVSDUHQW�� function as transparent color. (Default)

*'&B523B02'(� Sets logical operation mode.

*'&B523B&/($5� Sets all bits to “0”. *'&B523B$1'� s & d *'&B523B$1'B5(9(56(� s & !d *'&B523B&23<� s (default) *'&B523B$1'B,19(57('� !s & d *'&B523B123� D *'&B523B;25� s ^ d *'&B523B25� s | d *'&B523B125� !(s | d)

Page 308: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

308

FUJITSU CONFIDENTIAL

*'&B523B(48,9� !(s ^ d) *'&B523B,19(57� !d *'&B523B25B5(9(56(� s | !d *'&B523B&23<B,19(57('� !s *'&B523B25B,19(57('� !s | d *'&B523B1$1'� !(s & d) Note: s: Value to be drawn *'&B523B6(7� Sets all bits to “1”. d: Value of drawing destination

*'&B$/3+$B6(/(&7B��%33 Sets alpha factor used by alpha blend when 32-bit color mode enabled. *'&B6(/(&7B$/3+$ Uses alpha factor set using the *GF$OSKD�� function.

(Default) *'&B6(/(&7B3,;(/B$/3+$ Uses alpha component of pixel to be drawn as alpha factor.

*'&B)250,1*B02'( Sets forming mode.

*'&B(1$%/( Treats color set using the *GF%OW)RUP&RORU�� function as forming color. Draws only pixels in target area of BLT drawing that match specified forming color.

*'&B',6$%/( Does not perform forming. (Default)

*'&B%&B02'( Sets background color mode used when drawing bit pattern.

In the 32-bit and 16-bit color modes, the least significant bit of the pixel is set to “0” to draw the background color specified using the *GF%DFN&RORU�� function. Therefore, this mode is used to write “1” to the least significant bit of the pixel.

*'&B(1$%/(� Writes “1” to least significant bit of pixel drawn as background color.

*'&B',6$%/( Writes “0” to least significant bit of pixel drawn as background color. (Default)

Page 309: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

309

FUJITSU CONFIDENTIAL

�������� *GF%OW&RORU7UDQVSDUHQW����6HWWLQJ�7UDQVSDUHQW�&RORU�:KHQ�7UDQVIHUULQJ�5HFWDQJXODU�3DWWHUQ!�

>)RUPDW@�

GDC_BOOL *GF%OW&RORU7UDQVSDUHQW�(�

GDC_CTX *GUYFW[,

GDC_COLOR32 FRORU�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

color Color value treated as transparent color (Default value: 0)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the transparent color referenced when transferring and drawing the rectangular pattern in the transparent mode.

The following values are used depending on the color mode:

� 8-bit index color mode: lower 8 bits of color � 16-bit color mode: lower 16 bits of color � 32-bit color mode: value of color (32 bits)

>1RWH@�

In the 16-bit or 32-bit color modes, this function specifies the value of argument color in the RGBA or ARGB format. To set the color order, use the *GF'UDZ'LPHQVLRQ�� function.

Page 310: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

310

FUJITSU CONFIDENTIAL

�������� *GF%LW3DWWHUQ0RGH����6HWWLQJ�6FDOLQJ�0RGH!�

>)RUPDW@�

GDC_BOOL *GF%LW3DWWHUQ0RGH�(

GDC_CTX *GUYFW[,

GDC_ENUM PRGH�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

mode Scaling mode (GDC_BPSCALE_H* and GDC_BPSCALE_V* can be set concurrently.)

*'&B%36&$/(B+B(48,9 Horizontal scaling ratio is 1. (Default)

*'&B%36&$/(B+B7:,&( Horizontal scaling ratio is 2.

*'&B%36&$/(B+B+$/) Horizontal scaling ratio is 1/2.

*'&B%36&$/(B9B(48,9 Vertical scaling ratio is 1. (Default)

*'&B%36&$/(B9B7:,&( Vertical scaling ratio is 2.

*'&B%36&$/(B9B+$/) Vertical scaling ratio is 1/2. >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or mode. >'HVFULSWLRQ@�

This function sets the scaling mode for bit pattern drawing.

Page 311: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

311

FUJITSU CONFIDENTIAL

�������� *GF%OW)RUP&RORU����6HWWLQJ�)RUPLQJ�&RORU�:KHQ�7UDQVIHUULQJ�5HFWDQJXODU�3DWWHUQ!�

>)RUPDW@�

GDC_BOOL *GF%OW)RUP&RORU�(

GDC_CTX *GUYFW[,

GDC_COLOR32 FRORU�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

color Color value treated as forming color (Default value: 0)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the forming color referenced when transferring and drawing the rectangular pattern in the forming mode.

The following values are used depending on the color mode:

� 8-bit index color mode: lower 8 bits of color � 16-bit color mode: lower 16 bits of color � 32-bit color mode: value of color (32 bits)

>1RWH@�

In the 16-bit or 32-bit color modes, this function specifies the value of argument color in the RGBA or ARGB format. To set the color order, use the *GF'UDZ'LPHQVLRQ�� function.

Page 312: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

312

FUJITSU CONFIDENTIAL

�������� *GF3RO\JRQ)ODJ%XIIHU$GGUHVV����6HWWLQJ�6WDUWLQJ�$GGUHVV�RI�3RO\JRQ�'UDZLQJ�&RQWURO�%XIIHU!�

>)RUPDW@�

GDC_BOOL *GF3RO\JRQ)ODJ%XIIHU$GGUHVV�(�

GDC_CTX *GUYFW[,

GDC_ULONG FDGUV��

GDC_USHORT Z,

GDC_USHORT K�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

cadrs Starting address of polygon drawing control buffer area (Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFFC, a 64-byte aligned value)

w Width pixel count of polygon drawing control buffer (Specify a multiple of “16” ranging from 16 to 4096.)

h Height line count of polygon drawing control buffer >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

cadrs. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size is illegal. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

To draw polygon, prepare the polygon drawing control buffer as the drawing work area. This function sets the origin address of the polygon drawing control buffer and clears the polygon drawing control buffer.

For arguments w and h, specify “same value as size of drawing frame”.

The polygon drawing control buffer requires the 1-bit memory area per pixel to be allocated. The area required for the polygon drawing control buffer is:

Page 313: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

313

FUJITSU CONFIDENTIAL

(The minimum 64-byte aligned area including 1 line) + (size of drawing frame) + (size of 1 line)

This is expressed by the expression:

[((w ÷ 8) + 63) ÷ 64] × 64 + ((w�× h) ÷ 8) + (w�÷ 8) [in bytes]

)LJ�������H� � 3RO\JRQ�'UDZLQJ�&RQWURO�%XIIHU�

Size of drawing frame

Size of 1 line

Size of 1 line

cadrs (64-byte alignment)

((w×h)÷8)

(w÷8)

Origin address of polygon drawing control buffer area (64-byte alignment)

Minimum 64-byte aligned area including size of 1 line

Page 314: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

314

FUJITSU CONFIDENTIAL

�������� *GF%OHQG)XQFWLRQ����6HWWLQJ�%OHQG�)XQFWLRQ!�

>)RUPDW@�

GDC_BOOL *GF%OHQG)XQFWLRQ (

GDC_CTX *GUYFW[,

GDC_ENUM IQVUF��

GDC_ENUM IQGVW�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

fnsrc Blend ratio calculation method applied to drawn pixel color

fndst Blend ratio calculation method applied to pixel color of frame buffer

*'&B%)81&B=(52 (0, 0, 0, 0) (Default for fndst) *'&B%)81&B21( (1, 1, 1, 1) (Default for fnsrc) *'&B%)81&B'67B&2/25� (Rd, Gd, Bd, Ad) *'&B%)81&B65&B&2/25 (Rs, Gs, Bs, As) *'&B%)81&B21(B0,186B'67B&2/25 (1-Rd, 1-Gd, 1-Bd, 1-Ad) *'&B%)81&B21(B0,186B65&B&2/25 (1-Rs, 1-Gs, 1-Bs, 1-As) *'&B%)81&B65&B$/3+$ (As, As, As, As) *'&B%)81&B21(B0,186B65&B$/3+$ (1-As, 1-As, 1-As, 1-As) *'&B%)81&B'67B$/3+$ (Ad, Ad, Ad, Ad) *'&B%)81&B21(B0,186B'67B$/3+$ (1-Ad, 1-Ad, 1-Ad, 1-Ad) *'&B%)81&B65&B$/3+$B6$785$7( (f, f, f, 1) The above parenthesized values represent blend ratios for red, green, blue, and alpha components, starting from the left. 7DEOH������P shows the description of parameters Rs, Gs, Bs, As, Rd, Gd, Bd, Ad, and f.

7DEOH������P� � 'HVFULSWLRQ�RI�3DUDPHWHUV�5V��*V��%V��$V��5G��*G��%G��$G��DQG�I�

9DOXH� &RORU�0RGH� 'HVFULSWLRQ�

32BPP Red component of drawing color/256 Rs 16BPP Red component of drawing color/32

32BPP Green component of drawing color/256 Gs

16BPP Green component of drawing color/32

32BPP Blue component of drawing color/256 Bs

16BPP Blue component of drawing color/32

As 32BPP, 16BPP When alpha component of drawing color is 0: 0 In other cases: (Alpha component + 1)/256

32BPP Red component of frame buffer/256 Rd

16BPP Red component of frame buffer/32

32BPP Green component of frame buffer/256 Gd

16BPP Green component of frame buffer/32

32BPP Blue component of frame buffer/256 Bd

16BPP Blue component of frame buffer/32

Page 315: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

315

FUJITSU CONFIDENTIAL

Ad 32BPP, 16BPP When alpha component of frame buffer is 0: 0 In other cases: (Alpha component + 1)/256

F 32BPP, 16BPP As or (1 – Ad), whichever is smaller� >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, fnsrc, or fndst. >'HVFULSWLRQ@�

This function sets how to calculate the alpha blend ratio of the source (color value to be drawn) and destination (color value drawn in frame buffer) when performing alpha blend. The calculation method for the source and destination can be set independently. For fnsrc, set the macro value indicating the blend function used for the source; for fndst, set the macro value indicating the blend function used for the destination.

>1RWH@�

� The function of the blend function can be used in the 32-bit or 16-bit color modes. � This function is enabled when the function of the blend function is specified using the

*GF%OHQG)XQFWLRQ0RGH�� function. � When the blend ratio calculation result exceeds the maximum value of each RGBA element, each

RGBA element is clamped to the maximum value. � The following blend functions can only be used in the 32-bit color mode: ��*'&B%)81&B'67B&2/25�

� ��*'&B%)81&B21(B0,186B'67B&2/25�

� ��*'&B%)81&B'67B$/3+$�

� ��*'&B%)81&B21(B0,186B'67B$/3+$�

� ��*'&B%)81&B65&B$/3+$B6$785$7(�

Page 316: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

316

FUJITSU CONFIDENTIAL

�������� *GF$OSKD7HVW����6HWWLQJ�&RPSDULVRQ�)XQFWLRQ�IRU�DQG�5HIHUHQFH�9DOXH�RI�$OSKD�7HVW!�

>)RUPDW@�

GDC_BOOL *GF$OSKD7HVW (

GDC_CTX *GUYFW[,

GDC_UCHAR DOSKD�

GDC_ENUM IXQF�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

alpha Alpha factor used as reference value of alpha test (0 to 255; default=0)

func Comparison function for alpha test

� *'&B$/3+$B1(9(5� Never draws. � *'&B$/3+$B$/:$<6� Always draws. (Default) � *'&B$/3+$B/(66� � Draws when alpha value < reference alpha value � *'&B$/3+$B/(48$/� Draws when alpha value ≤ reference alpha value � *'&B$/3+$B(48$/� Draws when alpha value = reference alpha value � *'&B$/3+$B*(48$/� Draws when alpha value ≥ reference alpha value � *'&B$/3+$B*5($7(5� Draws when alpha value > reference alpha value � *'&B$/3+$B127(48$/� Draws when alpha value ≠ reference alpha value

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or func. >'HVFULSWLRQ@�

This function sets the reference alpha value and comparison function used when alpha tests processing is enabled. This function compares the alpha value to be drawn and the reference alpha value set by this function according to the alpha test comparison function, and then determines whether or not to draw the pixels, according to the comparison result.

Page 317: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

317

FUJITSU CONFIDENTIAL

>1RWH@�

� The function of alpha test can be used in the 32-bit color mode. � This function is enabled when the function of the alpha test is specified using the

*GF$OSKD7HVW0RGH�� function. � The alpha value to be drawn is a value used as the alpha value in the drawing mode at that time.

In the case of normal alpha blend, the alpha value set using the *GF$OSKD�� function is used; in the case where Gouraud shading is being performed for the alpha value, the resulting alpha value is used. When the blend function is enabled, the alpha value on which operation was performed by the blend function is used.

Page 318: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

318

FUJITSU CONFIDENTIAL

�������� *GF%OHQG)XQFWLRQ0RGH����(QDEOLQJ�%OHQG�)XQFWLRQ�3URFHVVLQJ!�

>)RUPDW@�

GDC_BOOL *GF%OHQG)XQFWLRQ0RGH�(

GDC_CTX *GUYFW[,

GDC_ENUM SDUDP�

) >$UJXPHQW@�

drvctx� Pointer to context area (Valid value in a system using other than “NULL”)

param Enabling/disabling of blend function processing

� *'&B(1$%/( Performs blend function processing.

� *'&B',6$%/( Does not perform blend function processing. (Default) >5HWXUQ�YDOXH@�

GDC_TRUE� Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED� The device is not opened.�GDC_ERR_INVALID_PARAMETER� Invalid parameter was specified for an argument

drvctx or param.� >'HVFULSWLRQ@�

This function sets whether to enable or disable blend function processing when performing alpha blending in the 32-bit or 16-bit color modes. When using blend function processing, alpha blend must be enabled. To set the blend function, use the *GF%OHQG)XQFWLRQ�� function.

Page 319: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

319

FUJITSU CONFIDENTIAL

�������� *GF$OSKD7HVW0RGH����(QDEOLQJ�$OSKD�7HVW!�

>)RUPDW@�

GDC_BOOL *GF$OSKD7HVW0RGH�(

GDC_CTX *GUYFW[,

GDC_ENUM SDUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

param Enabling/disabling of alpha test

� *'&B(1$%/( Performs alpha test processing.

� *'&B',6$%/( Does not perform alpha test processing. (Default) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or param. >'HVFULSWLRQ@�

This function sets whether to enable or disable alpha test processing when the 32-bit color mode is enabled. To set the reference alpha value and alpha test comparison function, use the *GF$OSKD7HVW�� function.

The alpha test can only be used by the *GF'UDZ3ULPLWLYH�'�� function.

Page 320: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

320

FUJITSU CONFIDENTIAL

�������� *GF6WHQFLO7HVW0RGH����(QDEOLQJ�6WHQFLO�7HVW!�

>)RUPDW@�

GDC_BOOL *GF6WHQFLO7HVW0RGH�(

GDC_CTX *GUYFW[,

GDC_ENUM SDUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

param Enabling/disabling of stencil test

� *'&B(1$%/( Performs stencil test processing and updates stencil buffer.

� *'&B',6$%/( Does not perform stencil test processing and does not update stencil buffer. (Default)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or param. >'HVFULSWLRQ@�

This function sets whether to enable or disable stencil test processing.

Page 321: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

321

FUJITSU CONFIDENTIAL

�������� *GF6WHQFLO%XIIHU$GGUHVV����6HWWLQJ�6WHQFLO�%XIIHU�6WDUWLQJ�$GGUHVV!�

>)RUPDW@�

GDC_BOOL *GF6WHQFLO%XIIHU$GGUHVV (

GDC_CTX *GUYFW[,

GDC_ULONG DGUV��

GDC_ULONG VWHQFLO�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

adrs Start address of stencil buffer (Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFFC, a 64-byte aligned value)

stencil Precision of stencil value (bit count per pixel) Note: Only 8 can be specified for Carmine.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or stencil. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

adrs. >'HVFULSWLRQ@�

This function sets the starting address of the stencil buffer and the precision of the stencil value. The horizontal and vertical lengths of the stencil buffer are treated as the same as those of the drawing frame.

>1RWH@�

For Carmine, only 8 bits can be set for the precision (argument stencil) of the stencil value. When the precision of the stencil value is 8 bits, 8-bit memory per pixel is required.

Page 322: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

322

FUJITSU CONFIDENTIAL

�������� *GF6WHQFLO7HVW����6HWWLQJ�6WHQFLO�7HVW!�

>)RUPDW@�

GDC_BOOL *GF6WHQFLO7HVW�(

GDC_CTX *GUYFW[,

GDC_UCHAR VWHQFLO�

GDC_ENUM IXQF��

GDC_UCHAR PDVN�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

stencil Stencil value used as reference value for stencil test (0 to 255; default: 0)

func Comparison function for stencil test

*'&B67(1&,/B1(9(5 Never draws.

*'&B67(1&,/B$/:$<6 Always draws. (Default)

*'&B67(1&,/B/(66� � Draws when reference stencil value < stencil buffer value

*'&B67(1&,/B/(48$/� � Draws when reference stencil value ≤ stencil buffer value

*'&B67(1&,/B(48$/� � Draws when reference stencil value = stencil buffer value

*'&B67(1&,/B*(48$/� � Draws when reference stencil value ≥ stencil buffer value

*'&B67(1&,/B*5($7(5� � Draws when reference stencil value > stencil buffer value

*'&B67(1&,/B127(48$/� � Draws when reference stencil value ≠ stencil buffer value

mask Stencil mask data (default: 0xFFh) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or func.

Page 323: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

323

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets the reference stencil value of the stencil test, stencil mask data, and stencil test comparison function. This function ANDs the stencil buffer value of the pixel to be drawn and the reference stencil value using the stencil mask data set using the argument mask. After that, this function compares the ANDed result according to the stencil test comparison function and determines whether or not to draw the pixels, according to the comparison result.

>1RWH@�

This function is enabled when the function of the stencil test is specified using the *GF6WHQFLO7HVW0RGH�� function.

Page 324: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

324

FUJITSU CONFIDENTIAL

�������� *GF6WHQFLO2SHUDWLRQ����6HWWLQJ�6WHQFLO�%XIIHU�8SGDWH�0HWKRG!�

>)RUPDW@�

GDC_BOOL *GF6WHQFLO2SHUDWLRQ(

GDC_CTX *GUYFW[,

GDC_ENUM FRQGLWLRQ��

GDC_ENUM IXQF�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

condition Stencil buffer update conditions

*'&B67(1&,/B6)$,/ When stencil test shows “does not draw”.

*'&B67(1&,/B'3)$,/ When Z test shows “does not draw”.

*'&B67(1&,/B'33$66 When Z test shows “draws”.

func Stencil buffer update method

*'&B67(1&,/B.((3 Does not update stencil buffer. (Default)

*'&B67(1&,/B=(52 Writes “0” to stencil buffer.

*'&B67(1&,/B5(3/$&(� � Writes reference stencil value to stencil buffer.

*'&B67(1&,/B,1&5 Increments stencil buffer value by “1”. (With clamping)

*'&B67(1&,/B'(&5 Decrements stencil buffer value by “1”. (With clamping)

*'&B67(1&,/B,19(57� � Inverts bits of stencil buffer value

*'&B67(1&,/B,1&5B:5$3� � Increments stencil buffer value by “1”. (Without clamping)

*'&B67(1&,/B'(&5B:5$3� � Decrements stencil buffer value by “1”. (Without clamping)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

*'&B(55B'(9,&(B127B23(1(' The device is not opened. *'&B(55B,19$/,'B3$5$0(7(5 Invalid parameter was specified for an argument

drvctx, condition, or func.

Page 325: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

325

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets the stencil buffer update method. The stencil buffer update method can be set in the following three cases: When stencil test shows “failure”; when Z test shows “failure”; and when Z test shows “pass”.

>1RWH@�

7DEOH������Q�shows the difference between performing clamping and not performing clamping in the stencil buffer update method.

7DEOH������Q� � 'LIIHUHQFH�EHWZHHQ�ZLWK�&ODPSLQJ�DQG�ZLWKRXW�&ODPSLQJ� �LQ�6WHQFLO�%XIIHU�8SGDWH�0HWKRG�

Stencil buffer update method� Difference between “with clamping” and “without clamping”�

GDC_STENCIL_INCR (with clamping) Ignores increment when maximum value FFH incremented by “1”.

GDC_STENCIL_DECR (with clamping) Ignores decrement when minimum value 00H decremented by “1”.

GDC_STENCIL_INCR_WRAP (without clamping) Wraps around from maximum value FFH to 00H when maximum value FFH incremented by “1”.

GDC_STENCIL_DECR_WRAP (without clamping) Wraps around from minimum value 00H to FFH when minimum value 00H decremented by “1”.

Page 326: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

326

FUJITSU CONFIDENTIAL

�������� *GF6WHQFLO%XIIHU:ULWH0DVN����6HWWLQJ�6WHQFLO�%XIIHU�:ULWH�0DVN!�

>)RUPDW@�

GDC_BOOL *GF6WHQFLO%XIIHU:ULWH0DVN (

GDC_CTX *GUYFW[,

GDC_UCHAR PDVN�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

mask Mask data (default: 0xFFh)

Set “1” to the bit that enables write to the stencil buffer; set “0” to the bit that disables write to the stencil buffer.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets enabling/disabling of write to the stencil buffer for each bit of the stencil value.

Page 327: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

327

FUJITSU CONFIDENTIAL

�������� *GF&RORU:ULWH0DVN����6HWWLQJ�&RORU�0DVN�LQ���%33���%33�!�

>)RUPDW@�

GDC_BOOL *GF&RORU:ULWH0DVN (

GDC_CTX *GUYFW[,

GDC_ENUM FRORU�

GDC_BOOL HQDEOH3DUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

color Color component to which mask is set

*'&B$//B)$&725 All color components

*'&B$/3+$B)$&725 Alpha component

*'&B%/8(B)$&725 Blue component

*'&B*5((1B)$&725 Green component

*'&B5('B)$&725 Red component

enableParam Specification of enabling/disabling of write of color component

*'&B758( Enables write permission. Writes to memory. (Default)

*'&B)$/6( Disables write permission. Does not write to memory.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

*'&B(55B'(9,&(B127B23(1(' The device is not opened. *'&B(55B,19$/,'B3$5$0(7(5 Invalid parameter was specified for an argument

drvctx, color, or enableParam. >'HVFULSWLRQ@�

This function sets enabling/disabling of write of each color component to memory. Specifying the macro value to be set to the argument color using the logical OR (the OR expression) allows the color components to be set simultaneously. For example, when specifying the blue and red components, set (GDC_BLUE_FACTOR | GDC_RED_FACTOR) to the argument color.

Page 328: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

328

FUJITSU CONFIDENTIAL

>1RWH@�

This function can be used in the 16-bit and 32-bit color modes.

Setting of this function is not applied to the BLT drawing.

Page 329: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

329

FUJITSU CONFIDENTIAL

�������� *GF&RORU&RGH:ULWH0DVN����6HWWLQJ�&RORU�0DVN�LQ��%33!�

>)RUPDW@�

GDC_BOOL *GF&RORU&RGH:ULWH0DVN�(

GDC_CTX *GUYFW[,

GDC_UCHAR PDVN�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

mask Mask data (Default: 0xFFh)

Set “1” to the color code bit that enables writing to memory; set “0” to the color code bit that disables writing to memory.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets enabling/disabling of write of each color code bit to memory. The following table shows the color code mask processing when mask data is set to 0xAA.

7DEOH������R� � ([DPSOH�RI�&RORU�&RGH�0DVN�3URFHVVLQJ�

7 6 5 4 3 2 1 0

Write enabled

Write disabled

Write enabled

Write disabled

Write enabled

Write disabled

Write enabled

Write disabled

Write enabled: Writes this bit to memory Write disabled: Does not write this bit to

memory >1RWH@�

This function can be used in the 8-bit index color mode.

Setting of this function is not applied to the BLT drawing.

Page 330: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

330

FUJITSU CONFIDENTIAL

�������� *GF)RJ&RORU����6HWWLQJ�)RJ�&RORU!�

>)RUPDW@�

GDC_BOOL *GF)RJ&RORU (

GDC_CTX *GUYFW[,

GDC_COLOR32 FRORU�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

color Fog color (Default: 0)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the fog color used for fog processing. Once this function has been executed, the same color set using this function is used for drawing until that color is changed by this function.

The following values are used depending on the color mode:

� 8-bit index color mode: lower 8 bits of color�� 16-bit color mode: lower 16 bits of color�� 32-bit color mode: value of color (32 bits)�

>1RWH@�

In the 16-bit and 32-bit color modes, this function specifies the value of the argument color in RGBA or ARGB format. To set the color order, use the *GF'UDZ'LPHQVLRQ�� function.

Page 331: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

331

FUJITSU CONFIDENTIAL

�������� *GF)RJ7DEOH����6HWWLQJ�)RJ�)DFWRU�7DEOH!�

>)RUPDW@�

GDC_BOOL *GF)RJ7DEOH (

GDC_CTX *GUYFW[,�

const GDC_ULONG WDEOH�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

table Pointer to fog factor table data (Valid value in a system using other than “NULL”)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or table. >'HVFULSWLRQ@�

This function sets the fog factor table. This function divides the input parameter (Z value or fog coordinate) and the fog factor function into 32 sections respectively, and sets the initial value and incremental value of the fog factor of each section to the fog factor table. Specify the data created according to the following data format.

7DEOH������S� � 'DWD�)RUPDW�RI�)RJ�)DFWRU�7DEOH�

Data 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Fs0 S Int Frac DF0 S Int Frac

. . . Fs31 S Int Frac

DF31 S Int Frac

Fs*: initial value, DF*: incremental value

Page 332: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

332

FUJITSU CONFIDENTIAL

�������� *GF6HOHFW)RJ3DUDPHWHU����6HOHFWLQJ�,QSXW�)RJ�3DUDPHWHU!�

>)RUPDW@�

GDC_BOOL *GF6HOHFW)RJ3DUDPHWHU�(

GDC_CTX *GUYFW[,

GDC_ENUM VHOHFW�

) >$UJXPHQW@�

drvctx Pointer to context area (Valid value in a system using other than “NULL”)

select Selection of input parameter

*'&B6(/(&7B'(37+ Uses Z value to calculate fog factor. (Default)

*'&B6(/(&7B)2* Uses fog coordinate to calculate fog factor. >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or select. >'HVFULSWLRQ@�

This function selects the input parameter used to calculate the fog factor.

When GDC_SELECT_DEPTH is specified for the argument select, the z-coordinate is used to calculate the fog factor. Specify GDC_SELECT_DEPTH when the accurate fog processing is not required.

When GDC_SELECT_FOG is specified for the argument select, the fog coordinate is used to calculate the fog factor. At this time, the following processing is performed, according to the fog coordinate calculation method specified using the *GF*HR$WWU&RRUG7UDQV�� function (target: GDC_FOG_EYECOORD_Z_CALCULATION).

� When fog coordinate calculation by Carmine is enabled, the fog coordinate is calculated automatically. It is not necessary to specify the fog coordinate for each vertex. The fog coordinate is calculated using the transformation matrix specified using the *GF*HR/RDG0DWUL[09>I@�� function. �

� When fog coordinate calculation by Carmine is disabled, the fog coordinate is not calculated. Specify the fog coordinate for each vertex.�

Page 333: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

333

FUJITSU CONFIDENTIAL

>1RWH@�

When GDC_SELECT_DEPTH is specified for the input parameter, the upper 5 bits of the Z value are used to select the section of the table, and the lower bits of the Z value are used to calculate the fog factor from the initial value and incremental value. Also, when GDC_SELECT_FOG is specified for the input parameter, the upper 5 bits of the fog coordinate are used to select the section of the table, and the lower bits of the fog coordinate are used to calculate the fog factor from the initial value and incremental value.

Page 334: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

334

FUJITSU CONFIDENTIAL

����� *HRPHWU\�$WWULEXWH�6HWWLQJ�)XQFWLRQV�

������� *GF*HR$WWU6XUI�����6HWWLQJ�2EMHFW�&RRUGLQDWH�6\VWHP�6XUIDFH�'UDZLQJ�$WWULEXWH!�

>)RUPDW@�

GDC_BOOL *GF*HR$WWU6XUI (

GDC_CTX *GUYFW[,

GDC_ENUM WDUJHW,

GDC_ENUM SDUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

target Target face drawing attributes

*'&B)5217B)$&(B&8// Specification of front face culling

*'&B%$&.B)$&(B&8// Specification of back face culling

*'&B)$&(B,19(57 Specification of direction of face

*'&B)5217B32/<*21B02'( Specification of front face PolygonMode

*'&B%$&.B32/<*21B02'( Specification of back face PolygonMode

*'&B32/<*21B2))6(7B)5217B32,17 Specifies front face PolygonOffset in POINT mode

*'&B32/<*21B2))6(7B)5217B/,1( Specification of front face PolygonOffset in LINE mode

*'&B32/<*21B2))6(7B)5217B),// Specification of front face PolygonOffset in FILL mode

*'&B32/<*21B2))6(7B%$&.B32,17 Specifies back face PolygonOffset in POINT mode

*'&B32/<*21B2))6(7B%$&.B/,1( Specification of back face PolygonOffset in LINE mode

*'&B32/<*21B2))6(7B%$&.B),// Specification of back face PolygonOffset in FILL mode

param Parameter(*1) for target >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 335: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

335

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_ATTRIBUTE Invalid attribute (target) was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or param. >'HVFULSWLRQ@�

This function sets an attribute used when drawing the face on the object coordinate system.

(*1) The following shows each surface drawing attribute (target) and the parameter (param) for each surface drawing attribute:

[Explanatory note]

Face drawing attribute Description of face drawing attribute

Specifiable parameter 1 Description of parameter 1 Specifiable parameter 2 Description of parameter 2 : :

*'&B)5217B)$&(B&8//�

Specifies front face culling.

*'&B(1$%/( Does not draw front face. *'&B',6$%/( Draws front face. (Default)

*'&B%$&.B)$&(B&8//�

Specifies back face culling. *'&B(1$%/( Does not draw back face. *'&B',6$%/( Draws back face. (Default)

*'&B)$&(B,19(57 Specifies direction of face. The default is the direction in which the face with counterclockwise

vertices is the front face. The polygon has no face direction because it has no back face. *'&B(1$%/( The definition of the face direction is inverted from the default.

The clockwise face is the front face. *'&B',6$%/( The definition of the face direction is the default. The

counterclockwise face is the front face. (Default)

*'&B)5217B32/<*21B02'(�

Specifies drawing mode of front face of graphics of Triangle system (GDC_TRIANGLE*) or Quads system (GDC_QUAD*). This attribute can only be used in the OpenGL mode. Do not use this attribute in the Coral compatible mode.

*'&B32/<*21B32,17 Draws polygon using only vertex points. *'&B32/<*21B/,1( Draws polygon using only profile line. *'&B32/<*21B),//� Draws polygon using filling. (Default)

Page 336: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

336

FUJITSU CONFIDENTIAL

*'&B%$&.B32/<*21B02'(�

Specifies drawing mode of back face of graphics of Triangle system (GDC_TRIANGLE*) or Quads system (GDC_QUAD*). This attribute can only be used in the OpenGL mode. Do not use this attribute in the Coral compatible mode.

*'&B32/<*21B32,17 Draws polygon using only vertex points. *'&B32/<*21B/,1( Draws polygon using only profile line. *'&B32/<*21B),//� Draws polygon using filing. (Default)

*'&B32/<*21B2))6(7B)5217B32,17�

Specifies front face PolygonOffset in POINT drawing mode. Set Offset value using the *GF*HR3RO\JRQ2IIVHW�� function. This attribute can only be used in the OpenGL mode. Do not use this attribute in the Coral compatible mode.

*'&B(1$%/( Enables PolygonOffset. *'&B',6$%/( Disables PolygonOffset. (Default)

*'&B32/<*21B2))6(7B)5217B/,1(�

Specifies the front face PolygonOffset in LINE drawing mode. Set the Offset value using the *GF*HR3RO\JRQ2IIVHW�� function. This attribute can only be used in the OpenGL mode. Do not use this attribute in the Coral compatible mode.

*'&B(1$%/( Enables PolygonOffset. *'&B',6$%/( Disables PolygonOffset. (Default)

*'&B32/<*21B2))6(7B)5217B),//�

Specifies front face PolygonOffset in FILL drawing mode. Set the Offset value using the *GF*HR3RO\JRQ2IIVHW�� function. This attribute can only be used in the OpenGL mode. Do not use this attribute in the Coral compatible mode.

*'&B(1$%/( Enables PolygonOffset. *'&B',6$%/( Disables PolygonOffset. (Default)

*'&B32/<*21B2))6(7B%$&.B32,17�

Specifies back face PolygonOffset in POINT drawing mode. Set the Offset value using the *GF*HR3RO\JRQ2IIVHW�� function. This attribute can only be used in the OpenGL mode. Do not use this attribute in the Coral compatible mode.

*'&B(1$%/( Enables PolygonOffset. *'&B',6$%/( Disables PolygonOffset. (Default)

*'&B32/<*21B2))6(7B%$&.B/,1(�

Specifies back face PolygonOffset in LINE drawing mode. Set the Offset value using the *GF*HR3RO\JRQ2IIVHW�� function. This attribute can only be used in the OpenGL mode. Do not use this attribute in the Coral compatible mode.

*'&B(1$%/( Enables PolygonOffset. *'&B',6$%/( Disables PolygonOffset. (Default)

Page 337: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

337

FUJITSU CONFIDENTIAL

*'&B32/<*21B2))6(7B%$&.B),//�

Specifies back face PolygonOffset in FILL drawing mode. Set the Offset value using the *GF*HR3RO\JRQ2IIVHW�� function. This attribute can only be used in the OpenGL mode. Do not use this attribute in the Coral compatible mode.

*'&B(1$%/( Enables PolygonOffset. *'&B',6$%/( Disables PolygonOffset. (Default)

>1RWH@�

The drawing attribute set using this function is applied to the drawing performed by the *GF'UDZ3ULPLWLYH�'�� function.

The drawing attribute set using this function cannot be used for GDC_POINTS, GDC_LINES, GDC_POLYLINE, and GDC_POLYGON drawing.

When each polygon offset is enabled, the offset value specified using the *GF*HR3RO\JRQ2IIVHW�� function is added to the Z value. To get the effect of the polygon offset, enable the Z test.

When the polygon mode is not GDC_POLYGON_FILL, this function cannot be used in the index reference DL transfer mode.

Page 338: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

338

FUJITSU CONFIDENTIAL

������� *GF*HR/RDG0DWUL[093>I@����6HWWLQJ�0RGHO9LHZ3URMHFWLRQ�7UDQVIRUPDWLRQ�0DWUL[!�

>)RUPDW@�

GDC_BOOL *GF*HR/RDG0DWUL[093 (

GDC_CTX *GUYFW[,

const GDC_FIXED32 *SW0DWUL[��

� GDC_ENUM PRGH�

)

GDC_BOOL *GF*HR/RDG0DWUL[093I (

GDC_CTX *GUYFW[,

const GDC_SFLOAT *SW0DWUL[��

� GDC_ENUM PRGH�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

ptMatrix Pointer to 4 × 4 matrix (*) (0xXXXXXXXX. Valid value in a system using other than “NULL”)

The range of each element: For GDC_FIXED32 type: range of fixed decimal; for

GDC_SFLOAT type: range of single precision floating point)

mode Matrix read mode

*'&B0$75,;B52: Reads rows.

*'&B0$75,;B&2/801 Reads columns. (Default) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, ptMatrix, or mode.

Page 339: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

339

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets the 4 × 4 matrix to be transformed from the object coordinate to the clip coordinate.

For ptMatrix, specify the 1D array M {m1, m2, m3, …, m16} that stores the 4 × 4 matrix. The definition order of the matrix elements is as follows.

� When mode is GDC_MATRIX_ROW�

m1 m2 m3 m4

m5 m6 m7 m8

m9 M10 m11 m12

m13 m14 m15 m16

� When mode is GDC_MATRIX_COLUMN�

m1 m5 m9 m13

m2 m6 m10 m14

m3 m7 m11 m15

m4 m8 m12 m16

(*) The default of the MVP (ModelViewProjection) matrix is the unit matrix.

- For the *GF*HR/RDG0DWUL[093�� function, elements (m1, m6, m11, and m16) are 0x00010000; other elements are 0x00000000.

- For the *GF*HR/RDG0DWUL[093I�� function, elements (m1, m6, m11, and m16) are 1.0; other elements are 0.0.

>1RWH@�

When the data format of the vertex coordinate is the floating point type, the value set using the *GF*HR/RDG0DWUL[093I�� function is used; when the data format of the vertex coordinate is other type, the value set using the *GF*HR/RDG0DWUL[093�� function is used.

M=

M=

Page 340: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

340

FUJITSU CONFIDENTIAL

������� *GF*HR9LHZSRUW7UDQV;<>I@����6HWWLQJ�9LHZ�3RUW�7UDQVIRUPDWLRQ�)DFWRU�RI�[\!�

>)RUPDW@�

GDC_BOOL *GF*HR9LHZSRUW7UDQV;<(

GDC_CTX *GUYFW[,

GDC_FIXED32 VFDOH[,

GDC_FIXED32 RIIVHW[,

GDC_FIXED32 VFDOH\,

GDC_FIXED32 RIIVHW\�

)

GDC_BOOL *GF*HR9LHZSRUW7UDQV;<I (

GDC_CTX *GUYFW[,

GDC_SFLOAT VFDOH[,

GDC_SFLOAT RIIVHW[,

GDC_SFLOAT VFDOH\,

GDC_SFLOAT RIIVHW\�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

scalex Scaling ratio in x coordinate direction (Default: For GDC_FIXED32 type: 0x00010000; for GDC_SFLOAT type: 1.0)

offsetx Offset in x coordinate direction (Default: For GDC_FIXED32 type: 0x00000000; for GDC_SFLOAT type: 0.0)

scaley Scaling ratio in y coordinate direction (Default: For GDC_FIXED32 type: 0x00010000; for GDC_SFLOAT type: 1.0)

offsety Offset in y coordinate direction (Default: For GDC_FIXED32 type: 0x00000000; for GDC_SFLOAT type: 0.0)

The valid range of each argument:

For GDC_FIXED32 type: range of fixed decimal For GDC_SFLOAT type: range of single precision floating point

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 341: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

341

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the scaling ratio and offset value in the x- and y- coordinate directions used when transforming from the normalized device coordinate (NDC) to the device coordinate (DC).

>1RWH@�

When the data format of the vertex coordinate is the floating point type, the value set using the *GF*HR9LHZSRUW7UDQV;<I�� function is used; when the data format of the vertex coordinate is other type, the value set using the *GF*HR9LHZSRUW7UDQV;<�� function is used.

Page 342: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

342

FUJITSU CONFIDENTIAL

������� *GF*HR9LHZSRUW7UDQV'HSWK>I@����6HWWLQJ�9LHZ�3RUW�7UDQVIRUPDWLRQ�)DFWRU�RI�]!�

>)RUPDW@�

GDC_BOOL *GF*HR9LHZSRUW7UDQV'HSWK(

GDC_CTX *GUYFW[,

GDC_FIXED32 VFDOH],

GDC_FIXED32 RIIVHW]�

)

GDC_BOOL *GF*HR9LHZSRUW7UDQV'HSWKI�(

GDC_CTX *GUYFW[,

GDC_SFLOAT VFDOH],

GDC_SFLOAT RIIVHW]�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

scalez Scaling ratio in z coordinate direction (Default: For GDC_FIXED32 type: 0x00010000; for GDC_SFLOAT type: 1.0)

offsetz Offset in z coordinate direction (Default: For GDC_FIXED32 type: 0x00000000; for GDC_SFLOAT type: 0.0)

The valid range of each argument:

For GDC_FIXED32 type: range of fixed decimal For GDC_SFLOAT type: range of single precision floating point

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the scaling ratio and offset value in the z coordinate direction used when transforming from the normalized device coordinate (NDC) to the device coordinate (DC).

Page 343: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

343

FUJITSU CONFIDENTIAL

>1RWH@�

When the data format of the vertex coordinate is the floating point type, the value set using the *GF*HR9LHZSRUW7UDQV'HSWKI�� function is used; when the data format of the vertex coordinate is other type, the value set using the *GF*HR9LHZSRUW7UDQV'HSWK�� function is used.

Page 344: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

344

FUJITSU CONFIDENTIAL

������� *GF*HR9LHZ9ROXPH;<&OLS>I@����6HWWLQJ�[\�&RRUGLQDWHV�RI�9LHZ�9ROXPH�%RXQGDU\!�

>)RUPDW@�

GDC_BOOL *GF*HR9LHZ9ROXPH;<&OLS (

GDC_CTX *GUYFW[,

GDC_FIXED32 [PLQ,

GDC_FIXED32 [PD[,

GDC_FIXED32 \PLQ,

GDC_FIXED32 \PD[�

)

GDC_BOOL *GF*HR9LHZ9ROXPH;<&OLSI (

GDC_CTX *GUYFW[,

GDC_SFLOAT [PLQ,

GDC_SFLOAT [PD[,

GDC_SFLOAT \PLQ,

GDC_SFLOAT \PD[�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

xmin Minimum clip x coordinate (Default value: For GDC_FIXED32 type: 0xFFFF0000; for GDC_SFLOAT type: -1.0)

xmax Maximum clip x coordinate (Default value: For GDC_FIXED32 type: 0x00010000; for GDC_SFLOAT type: 1.0)

ymin Minimum clip y coordinate (Default: For GDC_FIXED32 type: 0xFFFF0000; for GDC_SFLOAT type: -1.0)

ymax Maximum clip y coordinate (Default: For GDC_FIXED32 type: 0x00010000; for GDC_SFLOAT type: 1.0)

The valid range of each argument:

For GDC_FIXED32 type: range of fixed decimal For GDC_SFLOAT type: range of single precision floating point

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 345: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

345

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. GDC_ERR_CLIP_SIZE The size of the clip frame is invalid.

>'HVFULSWLRQ@�

This function sets the xy coordinates of the view volume boundary on the clip coordinate.

Set the clip frame so that it will meet the conditions, xmin <= xmax, and ymin <= ymax. If the conditions are not satisfied, this function sets the error code GDC_ERR_CLIP_SIZE and returns GDC_FALSE.

>1RWH@�

When the data format of the vertex coordinate is the floating point type, the value set using the *GF*HR9LHZ9ROXPH;<&OLSI�� function is used; when the data format of the vertex coordinate is other type, the value set using the *GF*HR9LHZ9ROXPH;<&OLS�� function is used.

Page 346: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

346

FUJITSU CONFIDENTIAL

������� *GF*HR9LHZ9ROXPH=&OLS>I@����6HWWLQJ�]�&RRUGLQDWH�RI�9LHZ�9ROXPH�%RXQGDU\!�

>)RUPDW@�

GDC_BOOL *GF*HR9LHZ9ROXPH=&OLS (

GDC_CTX *GUYFW[,

GDC_FIXED32 ]PLQ,

GDC_FIXED32 ]PD[�

)

GDC_BOOL *GF*HR9LHZ9ROXPH=&OLSI�(

GDC_CTX *GUYFW[,

GDC_SFLOAT ]PLQ,

GDC_SFLOAT ]PD[�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

zmin Minimum clip z coordinate (Default: For GDC_FIXED32 type: 0xFFFF0000; for GDC_SFLOAT type: -1.0)

zmax Maximum clip z coordinate (Default: For GDC_FIXED32 type: 0x00010000; for GDC_SFLOAT type: 1.0)

The valid range of each argument:

For GDC_FIXED32 type: range of fixed decimal For GDC_SFLOAT type: range of single precision floating point

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. GDC_ERR_CLIP_SIZE The size of the clip frame is invalid.

Page 347: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

347

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets the z coordinate of the view volume boundary on the clip coordinate.

Set the clip frame so that it will meet the condition, zmin <= zmax. If the condition is not satisfied, this function sets the error code GDC_ERR_CLIP_SIZE and returns GDC_FALSE.

>1RWH@�

When the data format of the vertex coordinate is the floating point type, the value set using the *GF*HR9LHZ9ROXPH=&OLSI�� function is used; when the data format of the vertex coordinate is other type, the value set using the *GF*HR9LHZ9ROXPH=&OLS�� function is used.

Page 348: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

348

FUJITSU CONFIDENTIAL

������� *GF*HR9LHZ9ROXPH:PLQ&OLS>I@����6HWWLQJ�Z�9DOXH�RI�9LHZ�9ROXPH�%RXQGDU\!�

>)RUPDW@�

GDC_BOOL *GF*HR9LHZ9ROXPH:PLQ&OLS (

GDC_CTX *GUYFW[,

GDC_FIXED32 ZPLQ�

)

GDC_BOOL *GF*HR9LHZ9ROXPH:PLQ&OLSI (

GDC_CTX *GUYFW[,

GDC_SFLOAT ZPLQ�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

wmin Minimum clip w value (Default: For GDC_FIXED32 type: 0x00000001; for GDC_SFLOAT type: 1.52588e-5 (the -16th power of 2))

The valid range of each argument:

For GDC_FIXED32 type: positive range of fixed decimal For GDC_SFLOAT type: positive range of single precision floating point

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or wmin. >'HVFULSWLRQ@�

This function sets the w value of the view volume boundary on the clip coordinate. It sets only the minimum clip w value.

The minimum clip w value is set to suppress the overflow caused by division of the clip coordinate W component (Wcc) in perspective transformation. In GDC_FIXED32 type, when specifying 0x00000000 or smaller is specified for the argument wmin, or in GDC_SFLOAT type, when specifying 0.0f or smaller for the argument wmin, this function sets the error code GDC_ERR_INVALID_PARAMETER and returns GDC_FALSE.

Page 349: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

349

FUJITSU CONFIDENTIAL

>1RWH@�

When the data format of the vertex coordinate is the floating point type, the value set using the *GF*HR9LHZ9ROXPH:PLQ&OLSI�� function is used; when the data format of the vertex coordinate is other type, the value set using the *GF*HR9LHZ9ROXPH:PLQ&OLS�� function is used.

Page 350: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

350

FUJITSU CONFIDENTIAL

������� *GF*HR/RJ2XW%DVH$GGUHVV����6HWWLQJ�6WDUWLQJ�$GGUHVV�RI�/RJ�2XWSXW�'HVWLQDWLRQ�RQ�'HYLFH�&RRUGLQDWH!�

>)RUPDW@�

GDC_BOOL *GF*HR/RJ2XW%DVH$GGUHVV (

GDC_CTX *GUYFW[,

GDC_ULONG DGUV�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

adrs Start address of log output destination in device coordinate (Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFFC(*1), a 4-byte aligned value)

(*1) Maximum size that can be handled by Carmine. This value varies depending on the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or adrs. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

adrs. >'HVFULSWLRQ@�

This function sets the starting address of the log output destination on the device coordinate.

For adrs, specify using the offset address from the starting of the graphics memory.

>1RWH@�

When outputting the log, take care to ensure that the log output does not exceed the graphics memory allocated for log output. If a log is output greater than the allocated graphics memory, memory may be damaged.

The log format is packed x- and y-coordinates ()LJ�������D).

Page 351: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

351

FUJITSU CONFIDENTIAL

bit 31 30 29 28 27 16 15 14 13 12 11 0 0 0 0 S y 0 0 0 S x

S: Sign bit

y: y coordinate value (integer)

x: x coordinate value (integer)

Other bits: 0

)LJ�������D� � /RJ�)RUPDW�RQ�'HYLFH�&RRUGLQDWH�

The log requires 4 bytes for each vertex.

Each time one log is output, the log output destination address is incremented in 4-byte units.

When using the above memory area repeatedly, re-set the starting address of the log output destination.

Set the starting address of the log output destination when drawing is not being performed.

Page 352: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

352

FUJITSU CONFIDENTIAL

������� *GF*HR/RJ2XW0RGH����6HWWLQJ�/RJ�2XWSXW�0RGH�RQ�'HYLFH�&RRUGLQDWH!�

>)RUPDW@�

GDC_BOOL *GF*HR/RJ2XW0RGH (

GDC_CTX *GUYFW[,

GDC_ENUM PRGH�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

mode Log output mode on device coordinate

*'&B*(2B/2*287B(1$%/( Outputs log. *'&B*(2B/2*287B',6$%/( Does not output log. (Default) *'&B*(2B/2*287B21/< Outputs only log without drawing.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or mode. >'HVFULSWLRQ@�

This function sets the log output mode on the device coordinate. 7DEOH� �����D describes each log output mode.

7DEOH������D� � /RJ�2XWSXW�0RGH�

Log output mode Description

*'&B*(2B/2*287B(1$%/( Outputs the log and draws.

*'&B*(2B/2*287B',6$%/( Draws only without outputting the log.

*'&B*(2B/2*287B21/< Outputs the log only and does not draw. This mode can only be used for point drawing. When GDC_GEO_LOGOUT_ONLY is specified and when primitives other than point are drawn, operation is not guaranteed.

>1RWH@�

The log output mode on the device coordinate can only be used by the *GF'UDZ3ULPLWLYH�'�� function.

Page 353: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

353

FUJITSU CONFIDENTIAL

�������� *GF*HR/RDG0DWUL[09>I@����6HWWLQJ�0RGHO9LHZ�7UDQVIRUPDWLRQ�0DWUL[!�

>)RUPDW@�

GDC_BOOL *GF*HR/RDG0DWUL[09 (

GDC_CTX *GUYFW[,

const GDC_FIXED32 *SW0DWUL[�

)

GDC_BOOL *GF*HR/RDG0DWUL[09I (

GDC_CTX *GUYFW[,

const GDC_SFLOAT *SW0DWUL[�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

ptMatrix Pointer to 1X4 matrix (*) (0xXXXXXXXX. Valid value in a system using other than “NULL”)

The range of each element: For GDC_FIXED32 type: range of fixed decimal;

for GDC_SFLOAT type: range of single precision floating point) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or ptMatrix. >'HVFULSWLRQ@�

This function sets the model view transformation matrix. The model view transformation matrix (MV transformation matrix) is the transformation matrix used when the *GF*HR$WWU&RRUG7UDQV�� function has enabled calculation of the fog coordinate (GDC_FOG_EYECOORD_Z_CALCULATION) performed by Carmine. When the fog coordinate calculation is enabled, there is no need to specify the fog coordinate as the vertex element.

When the MV transformation matrix is set to the same value as the 3rd row of the MVP transformation matrix, the fog coordinate becomes the same value as the z-coordinate after MVP transformation. Changing the MV transformation matrix allows Carmine to calculate the fog coordinate suitable for fog processing.

Page 354: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

354

FUJITSU CONFIDENTIAL

The transformation expression is shown below.

F = m1 × X + m2 × Y + m3 × Z + m4 × W For ptMatrix, specify the 1D array M {m1, m2, m3, m4} that stores the 1 × 4 matrix. The definition order of the matrix elements is as follows.

m1 m2 m3 m4

(*) The default value of the model view transformation matrix is shown below.

- For the *GF*HR/RDG0DWUL[09�� function, matrix elements m1, m2, and m4 are 0x00000000; m3 is 0x00010000.

- For the *GF*HR/RDG0DWUL[09I�� function, matrix elements m1, m2, and m4 are 0.0; m3 is 1.0. >1RWH@�

When the data format of the vertex coordinate is floating point type, the value set using the *GF*HR/RDG0DWUL[09I�� function is used; when the data format of the vertex coordinate is other type, the value set using the *GF*HR/RDG0DWUL[09�� function is used.

M =

Page 355: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

355

FUJITSU CONFIDENTIAL

�������� *GF*HR/RDG0DWUL[,09>I@����6HWWLQJ�0RGHO9LHZ�,QYHUVH�7UDQVIRUPDWLRQ�0DWUL[!�

>)RUPDW@�

GDC_BOOL *GF*HR/RDG0DWUL[,09 ( GDC_CTX *GUYFW[, const GDC_FIXED32 *SW0DWUL[��

� GDC_ENUM PRGH�

) GDC_BOOL *GF*HR/RDG0DWUL[,09I ( GDC_CTX *GUYFW[, const GDC_SFLOAT *SW0DWUL[��

� GDC_ENUM PRGH� >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

ptMatrix Pointer to 3 × 3 matrix (*) (0xXXXXXXXX. Valid value in a system using other than “NULL”

The range of each element: For GDC_FIXED32 type: range of fixed decimal; for

GDC_SFLOAT type: range of single precision floating point)

mode Matrix read mode

*'&B0$75,;B52: Reads rows.

*'&B0$75,;B&2/801 Reads columns. (Default) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, ptMatrix, or mode.

Page 356: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

356

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets the model view inverse transformation matrix. The model view inverse transformation matrix is used to transform the normal vector.

For ptMatrix, specify the 1D array M {m1, m2, m3, …, m9} that stores the 3 × 3 matrix. The definition order of the matrix elements is as follows.

� When mode is GDC_MATRIX_ROW�

m1 m2 m3

m4 m5 m6

m7 m8 m9

� When mode is GDC_MATRIX_COLUMN�

(*) The default value of the model view inverse transformation matrix is as follows.

- For the *GF*HR/RDG0DWUL[,09�� function, elements (m1, m5, and m9) are 0x00010000; other elements are 0x00000000.

- For the *GF*HR/RDG0DWUL[,09I�� function, elements (m1, m5, and m9) are 1.0; other elements are 0.0.

>1RWH@�

When the data format of the vertex coordinate is the floating point type, the value set using the *GF*HR/RDG0DWUL[,09I�� function is used; when the data format of the vertex coordinate is other types, the value set using the *GF*HR/RDG0DWUL[,09�� function is used.

m1 m4 m7

m2 m5 m8

m3 m6 m9

M=

M=

Page 357: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

357

FUJITSU CONFIDENTIAL

�������� *GF*HR,QGH[$UUD\����6HWWLQJ�(OHPHQW�$UUD\�XVHG�IRU�'/�7UDQVIHU!�

>)RUPDW@�

GDC_BOOL *GF*HR,QGH[$UUD\ (

GDC_CTX *GUYFW[,

GDC_ENUM SDUDP��

GDC_ULONG DGUV�

GDC_ULONG VWULGH�

GDC_ENUM IRUPDW

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

param Specification of vertex parameter

*'&B97;B&225'B;< Specification for coordinate data (X,Y) *'&B97;B&225'B;<= Specification for coordinate data (X,Y,Z) *'&B97;B&225'B;<=: Specification for coordinate data (X,Y,Z,W) *'&B97;B)5217B&2/25B5*% Specification for front face color data (R,G,B). *'&B97;B)5217B&2/25B5*%$ Specification for front face color data (R,G,B,A) *'&B97;B%$&.B&2/25B5*% Specification for back face color data (R,G,B) *'&B97;B%$&.B&2/25B5*%$ Specification for back face color data (R,G,B,A) *'&B97;B1250$/ Specification for normal vector data (Nx,Ny,Nz) *'&B97;B7(;785(�B67 Specification for texture0 data (S0,T0) *'&B97;B7(;785(�B674 Specification for texture0 data (S0,T0,Q0) *'&B97;B7(;785(�B67 Specification for texture1 data (S1,T1) *'&B97;B7(;785(�B674 Specification for texture1 data (S1,T1,Q1) *'&B97;B)2* Specification for fog data (F)

adrs Starting address that stores vertex parameter (Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFFC(*1), a 4-byte aligned value.)

stride Byte count between vertex parameters

(00000004h to 0003FFFCh, a 4-byte aligned value)

format Format of vertex parameter

*'&B7<3(B),;('�� 32-bit fixed decimal type *'&B7<3(B6)/2$7 32-bit single precision floating point type *'&B7<3(B5*%$����� 32-bit packed data type where R, G, B and A are each 8

bits

(*1) Maximum size that can be handled by Carmine. This value varies depending on the system to be used.

Page 358: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

358

FUJITSU CONFIDENTIAL

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, param, adrs, stride, or format. GDC_ERR_PARAMETER_COMBINATION Invalid parameter combination was specified. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

adrs.

>'HVFULSWLRQ@�

This function sets the vertex parameter array used in index reference DL transfer mode.

For the argument param, specify the type of vertex parameter array to be set.

For the argument adrs, specify the offset address that stores the vertex parameter array using the *GF'LUHFW/RDG�� function.

For the argument stride, set the stride (in bytes) between vertex parameters.

For the argument format, specify the format of the vertex parameter. However, use the combinations shown in when specifying the vertex parameter (argument: param) and the format of the vertex parameter (argument: format). When other combinations are used, this function sets the error code GDC_ERR_PARAMETER_COMBINATION and returns GDC_FALSE.

Page 359: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

359

FUJITSU CONFIDENTIAL

7DEOH������E� � &RPELQDWLRQ�RI�9HUWH[�3DUDPHWHU�DQG�6HWWDEOH�9HUWH[�3DUDPHWHU�)RUPDW�

Specification of vertex parameter (argument: param)� Format of vertex parameter (argument: format)�

*'&B97;B&225' � *'&B7<3(B),;('���*'&B7<3(B6)/2$7�

*'&B97;B)5217B&2/25 � *'&B7<3(B),;('���*'&B7<3(B6)/2$7�*'&B7<3(B5*%$�����

*'&B97;B%$&.B&2/25 � *'&B7<3(B),;('���*'&B7<3(B6)/2$7�*'&B7<3(B5*%$�����

*'&B97;B1250$/� *'&B7<3(B),;('���*'&B7<3(B6)/2$7�

*'&B97;B7(;785(� � *'&B7<3(B),;('���*'&B7<3(B6)/2$7�

*'&B97;B7(;785(� � *'&B7<3(B),;('���*'&B7<3(B6)/2$7�

*'&B97;B)2*� *'&B7<3(B),;('���*'&B7<3(B6)/2$7�

>1RWH@�

When using the vertex parameter array set using this function, enable various parameter arrays using the *GF*HR$WWU,QGH[$UUD\�� function.

Page 360: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

360

FUJITSU CONFIDENTIAL

�������� *GF*HR$WWU,QGH[$UUD\����6HWWLQJ�$UUD\�$WWULEXWH�XVHG�IRU�,QGH[�5HIHUHQFH�'/�7UDQVIHU!�

>)RUPDW@�

GDC_BOOL *GF*HR$WWU,QGH[$UUD\ (

GDC_CTX *GUYFW[,

GDC_ENUM WDUJHW,

GDC_BOOL HQDEOH3DUDP

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

target Array attribute of vertex parameter to be set (See

Page 361: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

361

FUJITSU CONFIDENTIAL

7DEOH������F.)

enableParam Specification of enabling/disabling of vertex parameter array specified for target >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, target, or enableParam. >'HVFULSWLRQ@�

This function sets enabling of various vertex parameter arrays to be used in index reference DL transfer mode.

To set various vertex parameter arrays to be used in index reference DL transfer mode, use the *GF*HR,QGH[$UUD\�� function.

Page 362: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

362

FUJITSU CONFIDENTIAL

7DEOH������F explains the arguments target and enableParam.

Page 363: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

363

FUJITSU CONFIDENTIAL

7DEOH������F� � 6HWWLQJ�RI�(QDEOLQJ�RI�$UUD\V�XVHG�LQ�,QGH[�5HIHUHQFH�'/�7UDQVIHU�0RGH�

Value specified for target Value set for enableParam

*'&B)5217B&2/25B,1'(;$55$< *'&B758(�Enables front face color data array (param: GDC_VTX_FRONT_COLOR*) set using the *GF*HR,QGH[$UUD\�� function.

*'&B)$/6(� (Default) Does not use front face color data array in index reference DL transfer mode.

*'&B%$&.B&2/25B,1'(;$55$< *'&B758(�Enables front back color data array (param: GDC_VTX_BACK_COLOR*) set using the *GF*HR,QGH[$UUD\�� function.

*'&B)$/6(� (Default) Does not use back face color data array in index reference DL transfer mode.

*'&B1250$/B,1'(;$55$< *'&B758(�Enables normal vector data array (param: GDC_VTX_NORMAL) set using the *GF*HR,QGH[$UUD\�� function.

*'&B)$/6( (Default) Does not use normal vector data array in index reference DL transfer mode.

*'&B7(;785(�B,1'(;$55$< *'&B758(�Enables texture0 data array (param: GDC_VTX_TEXTURE0*) set using the *GF*HR,QGH[$UUD\�� function.

*'&B)$/6( (Default) Does not use texture0 data array in index reference DL transfer mode.

*'&B7(;785(�B,1'(;$55$< *'&B758(�Enables texture1 data array (param: GDC_VTX_TEXTURE1*) set using the *GF*HR,QGH[$UUD\�� function.

*'&B)$/6(� (Default) Does not use texture1 data array in index reference DL transfer mode.

*'&B)2*B,1'(;$55$<� *'&B758(�Enables fog data array (param: GDC_VTX_FOG) set using the *GF*HR,QGH[$UUD\�� function.

*'&B)$/6(� (Default) Does not use fog data array in index reference DL transfer mode.�

Page 364: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

364

FUJITSU CONFIDENTIAL

�������� *GF*HR9HUWH[1XPEHU$UUD\����6HWWLQJ�9HUWH[�1XPEHU�$UUD\!�

>)RUPDW@�

GDC_BOOL *GF*HR9HUWH[1XPEHU$UUD\ (

GDC_CTX *GUYFW[,

void *YW[QXP��

� GDC_ENUM� W\SH�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

vtxnum Pointer to array where vertex number was stored (0xXXXXXXXX. Valid value in a system using other than “NULL”)

type Data type of vertex number array

*'&B7<3(B8%<7( 8-bit unsigned integer type *'&B7<3(B86+257 16-bit unsigned integer type *'&B7<3(B8/21* 32-bit unsigned integer type

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, vtxnum, or type. >'HVFULSWLRQ@�

This function sets the array where the vertex number to be used in direct DL transfer mode and index reference DL transfer mode was stored.

When GDC_ELEMENT_MODE or GDC_INDEX_ELEMENT_MODE is specified for the argument mode in the *GF*HR,QGH[0RGH�� function, the vertex number array set using this function is used.

Page 365: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

365

FUJITSU CONFIDENTIAL

�������� *GF*HR,QGH[0RGH����6HWWLQJ�'/�7UDQVIHU�0RGH!�

>)RUPDW@�

GDC_BOOL *GF*HR,QGH[0RGH�(

GDC_CTX *GUYFW[,

GDC_ENUM PRGH

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

mode Specification of DL transfer mode

*'&B,1'(;B(/(0(17B02'( Mode in which vertex number in vertex parameter array is specified Index reference DL transfer mode

*'&B,1'(;B$55$<B02'( Mode in which data is referenced from starting in vertex parameter array Index reference DL transfer mode

*'&B(/(0(17B02'( Mode in which vertex number in vertex parameter array is specified

*'&B$55$<B02'( Mode in which data is sequentially referenced from specified element position in vertex parameter array

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or mode. >'HVFULSWLRQ@�

This function sets the DL transfer mode and its type.

GDC_ELEMENT_MODE and GDC_INDEX_ELEMENT_MODE are modes to be used when drawing the data of the vertex number specified using the *GF*HR9HUWH[1XPEHU$UUD\�� function, from the vertex parameter array.

GDC_ARRAY_MODE is the mode that uses the data in the vertex parameter array set using the vertex array setting function such as *GF9HUWH[$UUD\��. GDC_INDEX_ARRAY_MODE is the mode that uses the data in the vertex parameter array set using the *GF*HR,QGH[$UUD\�� function.

Page 366: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

366

FUJITSU CONFIDENTIAL

GDC_ARRAY_MODE uses sequentially data in the element position specified using the argument first in the drawing function *GF'UDZ3ULPLWLYH . GDC_INDEX_ARRAY_MODE uses sequentially data from vertex number 0.

Page 367: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

367

FUJITSU CONFIDENTIAL

�������� *GF*HR3RO\JRQ2IIVHW����6HWWLQJ�3RO\JRQ�2IIVHW�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF*HR3RO\JRQ2IIVHW�(

GDC_CTX *GUYFW[,

GDC_SFLOAT IDFWRU��

GDC_SFLOAT XQLWV�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

factor Scaling ratio of maximum depth and slope of polygon (Range: range of single precision floating point; default: 0.0)

units Constant to create depth value offset (Range: range of single precision floating point; default: 0.0)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets the offset value used for polygon offset. To enable polygon offset, use the *GF*HR$WWU6XUI�� function.

Polygon offset is a function to add the offset to the Z value got after coordinate transformation. The calculation expression of the offset value is as follows.

Offset = m × factor + units

“m” is the inclination value got after coordinate transformation and is automatically calculated by Carmine. When using this function in OpenGL, set the value of “r × units” in the polygon offset calculation expression defined in OpenGL, to units.

Page 368: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

368

FUJITSU CONFIDENTIAL

�������� *GF*HR*OREDO/LJKW����6HWWLQJ�*OREDO�$PELHQW�/LJKW!�

>)RUPDW@�

GDC_BOOL *GF*HR*OREDO/LJKW (

GDC_CTX *GUYFW[,

const GDC_SFLOAT *DPELHQW�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

ambient Pointer to global ambient light color array(*) (0xXXXXXXXX. Valid value in a system using other than “NULL”) Range of each element: range of single precision floating point)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or ambient. >'HVFULSWLRQ@�

This function sets the color of the global ambient light.

For ambient, set the starting address of the array of element count “4” in which each value of the R, G, B, A components of the global ambient light was stored in this order.

(*) The default value of the global ambient light is: (R, G, B, A) = (0.2, 0.2, 0.2, 1.0).

Page 369: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

369

FUJITSU CONFIDENTIAL

�������� *GF*HR/LJKW����6HWWLQJ�/LJKW�6RXUFH!�

>)RUPDW@�

GDC_BOOL *GF*HR/LJKW (

GDC_CTX *GUYFW[�

GDC_ENUM OLJKW��

GDC_ENUM WDUJHW�

const GDC_SFLOAT *�SDUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

light Specification of light source

*'&B/,*+7�� Specification of light source 0

*'&B/,*+7�� Specification of light source 1

*'&B/,*+7�� Specification of light source 2

*'&B/,*+7�� Specification of light source 3

*'&B/,*+7�� Specification of light source 4

*'&B/,*+7�� Specification of light source 5

*'&B/,*+7�� Specification of light source 6

target Light source characteristics to be set

*'&B/,*+7B$0%,(17 Setting of ambient light

*'&B/,*+7B',))86( Setting of diffuse light

*'&B/,*+7B326,7,21 Setting of light source position

param Pointer to array in which data for target was stored(*) (0xXXXXXXXX. Valid value in a system using other than “NULL” Range of each element: range of single precision floating point)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, light, target, or param.

Page 370: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

370

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets the light source. It can set up to seven light sources.

For param, set the starting address of the array where data for the characteristics specified using target was stored. When target is GDC_LIGHT_AMBIENT and GDC_LIGHT_DIFFUSE, set the starting address of the array of element count “4” in which each value of the R, G, B, and A components was stored in this order. When the target is GDC_LIGHT_POSITION, set the starting address of the array of element count “3” in which the value of the light source position (x, y, z) was stored.

(*) The default value of each parameter is as follows:

• Ambient light (R,G,B,A)=(0.0, 0.0, 0.0, 1.0) • Diffuse light (R,G,B,A)=(1.0, 1.0, 1.0, 1.0) � [light: GDC_LIGHT0] (R,G,B,A)=(0.0, 0.0, 0.0, 1.0) [light: other than GDC_LIGHT0] • Light source position (X,Y,Z)=(0.0, 0.0, 1.0)

Page 371: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

371

FUJITSU CONFIDENTIAL

�������� *GF*HR0DWHULDO$UUD\����6HWWLQJ�0DWHULDO�&RORU�$UUD\!�

>)RUPDW@�

GDC_BOOL *GF*HR0DWHULDO$UUD\ (

GDC_CTX *GUYFW[�

GDC_ENUM IDFH��

GDC_ENUM WDUJHW�

GDC_ULONG VWULGH,

const GDC_SFLOAT *�SDUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

face Specification of face of object to which material is set

*'&B)5217B)$&(� Specification of front face *'&B%$&.B)$&( Specification of back face *'&B)5217B$1'B%$&.B)$&( Specification of front face and back face

target Material characteristics to be set

*'&B0$7(5,$/B$0%,(17 Setting of color of ambient light *'&B0$7(5,$/B',))86( Setting of color of diffuse light *'&B0$7(5,$/B$0%,(17B$1'B',))86(

Setting of colors of ambient light and diffuse light *'&B0$7(5,$/B(0,66,21 Setting of color of emission light

stride Distance between material color data (in bytes) (Specify a multiple of “4” ranging from 0x00000000 to 0xFFFFFFFC(*1).)

param Pointer to array in which data for target was stored (0xXXXXXXXX. Valid value in a system using other than “NULL” Range of each element: range of single precision floating point)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, face, target, stride, or param.

Page 372: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

372

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function specifies the array where the material color was stored.

When GDC_FRONT_AND_BACK_FACE is specified for the argument face, the same material characteristics (target) can be set to the front face and back face.

When GDC_MATERIAL_AMBIENT_AND_DIFFUSE is specified for the argument target, the same color value is set to the ambient light and diffuse light.

(*) This value varies depending on the system to be used. >1RWH@�

Using the argument stride allows the required data to be accessed in the set data array at a fixed interval. When the argument stride is “0”, the system interprets that vertex coordinate data is contained with no space between the data array.

For the argument stride, specify a 4-byte aligned value.

Page 373: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

373

FUJITSU CONFIDENTIAL

�������� *GF*HR0DWHULDO����6HWWLQJ�0DWHULDO�&RORU!�

>)RUPDW@�

GDC_BOOL *GF*HR0DWHULDO (

GDC_CTX *GUYFW[�

GDC_ENUM IDFH��

GDC_ENUM WDUJHW�

const GDC_SFLOAT *�SDUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX Valid value in a system using other than “NULL”)

face Specification of face of object to which material is set

*'&B)5217B)$&( Specification of front face *'&B%$&.B)$&( Specification of back face *'&B)5217B$1'B%$&.B)$&( Specification of front face and back face

target Material characteristics to be set

*'&B0$7(5,$/B$0%,(17 Setting of color of ambient light *'&B0$7(5,$/B',))86( Setting of color of diffuse light *'&B0$7(5,$/B$0%,(17B$1'B',))86(

Setting of color of ambient light and diffuse light *'&B0$7(5,$/B(0,66,21 Setting of color of emission light

param Pointer to array in which data for target was stored (0xXXXXXXXX. Valid value in a system using other than “NULL” Range of each element: range of single precision floating point)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, face, target, or param. >'HVFULSWLRQ@�

This function sets the material of the object.

For param, set the starting address of the array of element count “4” in which each value of the R, G, B, and A components was stored in this order.

When GDC_FRONT_AND_BACK_FACE is specified for the argument face, the same material characteristics (target) can be set to the front and back faces.

Page 374: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

374

FUJITSU CONFIDENTIAL

When GDC_MATERIAL_AMBIENT_AND_DIFFUSE is specified for the argument target, the same color value is set to the ambient light and diffuse light.

The effective combination of the function is shown in 7DEOH� �����G. Operation is not guaranteed when other combinations are specified.

7DEOH������G� � &RPELQDWLRQ�RI�0DWHULDO�&RORU�)XQFWLRQ�

Drawing API Material color function *GF'UDZ3ULPLWLYH�'�� *2 � [OpenGL mode]�

*GF*HR0DWHULDO���

(*1) The default value of each parameter is as follows.

• Ambient light (R,G,B,A)=(0.2, 0.2, 0.2, 1.0) • Diffuse light (R,G,B,A)=(0.8, 0.8, 0.8, 1.0) • Emission light (R,G,B,A)=(0.0, 0.0, 0.0, 1.0)

(*2) When using the index reference DL transfer mode, setting of the material color function in 7DEOH������G above is disabled.

Page 375: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

375

FUJITSU CONFIDENTIAL

�������� *GF*HR$WWU&RRUG7UDQV����6HWWLQJ�&RRUGLQDWH�7UDQVIRUPDWLRQ�$WWULEXWH!�

>)RUPDW@�

GDC_BOOL *GF*HR$WWU&RRUG7UDQV (

GDC_CTX *GUYFW[,

GDC_ENUM WDUJHW,

GDC_BOOL HQDEOH3DUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

target Target coordinate transformation attribute

*'&B)2*B(<(&225'B=B&$/&8/$7,21 Specification of fog coordinate calculation method

*'&B1250$/B9(&725B1250$/,=( Specification of normalization of normal vector

*'&B1250$/B9(&725B6&$/,1* Specification of scaling of normal vector

*'&B,09B75$16)250$7,21 Specification of Model View inverse transformation

*'&B3(563(&7,9(B75$16)250$7,21 Specification of perspective transformation

enableParam Specification of enabling/disabling of coordinate transformation attribute >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_ATTRIBUTE Invalid attribute (target) was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or enableParam. >'HVFULSWLRQ@�

This function sets the coordinate transformation attribute.

The following shows each coordinate transformation attribute (target), and the parameter (param) for each coordinate transformation attribute:

Page 376: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

376

FUJITSU CONFIDENTIAL

[Explanatory note]

Coordinate conversion attribute

Description of coordinate transformation attribute

Specifiable parameter 1 Description of parameter 1 Specifiable parameter 2 Description of parameter 2 : :

*'&B)2*B(<(&225'B=B&$/&8/$7,21�

Specifies fog coordinate calculation method.

*'&B758( Enables calculation of fog coordinate performed by hardware. It may not be necessary to specify the fog coordinate as the vertex element. The transformation matrix is set using the *GF*HR/RDG0DWUL[09>I@�� function.

*'&B)$/6( Disables calculation of fog coordinate performed by hardware. Uses fog coordinate of input vertex. (Default)

*'&B1250$/B9(&725B1250$/,=(�

Sets normalization of normal vector.

*'&B758( Enables. Normalizes normal vector. *'&B)$/6( Disables. Does not normalize normal vector. (Default)

*'&B1250$/B9(&725B6&$/,1*�

Sets scaling of normal vector. When normalization of the normal vector is enabled, scaling of the normal vector is not performed.

*'&B758( Enables. Performs scaling of normal vector. Scaling uses the value set using the *GF*HR1RUPDO6FDOH�� function.

*'&B)$/6( Disables. Does not perform scaling of normal vector. (Default)

*'&B,09B75$16)250$7,21�

Sets Model View inverse transformation.

*'&B758( Enables. Performs MV inverse matrix transformation. *'&B)$/6( Disables. Does not perform MV inverse matrix transformation. (Default)

*'&B3(563(&7,9(B75$16)250$7,21�

Sets perspective transformation. Perspective transformation means dividing the X, Y and Z components on the clip coordinate by the W component. When performing rotation or parallel movement only, it is not necessary to perform perspective transformation.

*'&B758( Enables. Performs perspective transformation. (Default) *'&B)$/6( Disables. Does not perform perspective transformation.

Page 377: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

377

FUJITSU CONFIDENTIAL

�������� *GF*HR1RUPDO6FDOH����6HWWLQJ�6FDOLQJ�)DFWRU�RI�1RUPDO�9HFWRU!�

>)RUPDW@�

GDC_BOOL *GF*HR1RUPDO6FDOH (

GDC_CTX *GUYFW[,

GDC_SFLOAT VFDOH�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

scale Scaling factor of normal vector (Range: range of single precision floating point; default: 1.0)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. >'HVFULSWLRQ@�

This function sets a scaling factor of the normal vector.

When the scaling of the normal vector is enabled, the value set using this function is used as the scaling factor. To set enabling/disabling of scaling of the normal vector, use the *GF*HR$WWU&RRUG7UDQV���function.

Page 378: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

378

FUJITSU CONFIDENTIAL

�������� *GF*HR$WWU/LJKW����6HWWLQJ�/LJKWLQJ�$WWULEXWH!�

>)RUPDW@�

GDC_BOOL *GF*HR$WWU/LJKW (

GDC_CTX *GUYFW[,

GDC_ENUM WDUJHW,

GDC_BOOL HQDEOH3DUDP�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

target Target lighting attribute

*'&B/,*+7,1* Specification of enabling of lighting *'&B/,*+7,1*B7:2B6,'( Selection of between one-side lighting and two-side

lighting *'&B/,*+7,1*B,1,7B&2/25 Specification of enabling of vertex color in lighting *'&B/,*+7�� Specification of enabling of light source 0 *'&B/,*+7�� Specification of enabling of light source 1 *'&B/,*+7�� Specification of enabling of light source 2 *'&B/,*+7�� Specification of enabling of light source 3 *'&B/,*+7�� Specification of enabling of light source 4 *'&B/,*+7�� Specification of enabling of light source 5 *'&B/,*+7�� Specification of enabling of light source 6

enableParam Parameter(*1) for target >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_ATTRIBUTE Invalid attribute (target) was specified. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or enableParam. >'HVFULSWLRQ@�

This function sets the attribute used for lighting.

Page 379: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

379

FUJITSU CONFIDENTIAL

(*1) The following shows each lighting attribute (target), and the parameter (param) for each lighting attribute:

[Explanatory note]

Lighting attribute Description of lighting attribute

Specifiable parameter 1 Description of parameter 1 Specifiable parameter 2 Description of parameter 2 : :

*'&B/,*+7,1*�

Sets enabling of lighting.

*'&B758( Enables lighting. *'&B)$/6( Disables lighting. (Default)

*'&B/,*+7,1*B7:2B6,'(�

Selects between one-face lighting and two-face lighting.

*'&B758( Lights two sides. *'&B)$/6( Lights one side. (Default)

*'&B/,*+7,1*B,1,7B&2/25�

Selects whether or not to use vertex color as initial value in operation of lighting. Operation corresponding to spotlight processing or specular processing in OpenGL can be performed by specifying GDC_TRUE and setting the value calculated on the application side to the vertex color.

*'&B758( Uses vertex color as initial value for lighting. *'&B)$/6( Does not use vertex color as initial value for lighting. (Default)

*'&B/,*+7��

Specifies enabling of light source 0.

*'&B758( Enables light source 0. *'&B)$/6( Disables light source 0. (Default)

*'&B/,*+7��

Specifies enabling of light source 1.

*'&B758( Enables light source 1. *'&B)$/6( Disables light source 1. (Default)

*'&B/,*+7��

Specifies enabling of light source 2.

*'&B758( Enables light source 2. *'&B)$/6( Disables light source 2. (Default)

Page 380: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

380

FUJITSU CONFIDENTIAL

*'&B/,*+7��

Specifies enabling of light source 3.

*'&B758( Enables light source 3. *'&B)$/6( Disables light source 3. (Default)

*'&B/,*+7��

Specifies enabling of light source 4.

*'&B758( Enables light source 4. *'&B)$/6( Disables light source 4. (Default)

*'&B/,*+7��

Specifies enabling of light source 5.

*'&B758( Enables light source 5. *'&B)$/6( Disables light source 5. (Default)

*'&B/,*+7��

Specifies enabling of light source 6.

*'&B758( Enables light source 6. *'&B)$/6( Disables light source 6. (Default)

Page 381: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

381

FUJITSU CONFIDENTIAL

����� 7H[WXUH�,PDJH�0DQDJHPHQW�)XQFWLRQV�

������� *GF6SHFLI\7H[WXUH7DEOH����5HODWLQJ�7H[WXUH�,QIRUPDWLRQ�0DQDJHPHQW�7DEOH�WR�&RQWH[W!�

>)RUPDW@�

GDC_BOOL *GF6SHFLI\7H[WXUH7DEOH (

GDC_CTX *GUYFW[,

GDC_ULONG QXP�

GDC_TEXTURE_DATA *WH[BWDEOH��

GDC_BOOL LQLWBIODJ�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

num Number of textures to be used (0x00000001 to 0x00000100)

tex_table Pointer to texture information management table (0xXXXXXXXX. Valid value in a system using other than “NULL”)

init_flag Initialization flag of texture information management table GDC_TRUE Initializes texture information management table. GDC_FALSE Does not initialize texture information management table.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, num, tex_table, or init_flag. >'HVFULSWLRQ@�

This function relates the texture information management table to the context.

For the argument num, specify the number of textures to be used.

The user allocates the data area of the texture information management table and specifies the starting address of the texture information management table for the argument tex_table. The same number of array elements as the number of textures to be used is required.

Page 382: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

382

FUJITSU CONFIDENTIAL

Initialization of the texture information management table specified using the argument tex_table can be set using the argument init_flag. When setting the texture information management table anew, initialize it. When sharing the texture information management table between contexts, do not initialize the texture information management table being used by other context, and relate that table to the one context.

>1RWH@�

No error occurs even when a value greater than 256 is set to the argument num.

Page 383: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

383

FUJITSU CONFIDENTIAL

������� *GF/RDG7H[WXUH����/RDGLQJ�,PDJH�'DWD�WR�*UDSKLFV�0HPRU\!�

>)RUPDW@�

GDC_BOOL *GF/RDG7H[WXUH (

GDC_CTX *GUYFW[,

const void *LPDJH,

GDC_ULONG DGUV,

GDC_ENUM W\SH,

GDC_ULONG Z,

GDC_ULONG K��

GDC_ULONG VVWULGH,

GDC_ULONG GVWULGH,

GDC_ULONG RIIVHW[��

GDC_ULONG RIIVHW\�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

image Pointer to image data (0xXXXXXXXX. Valid value in a system using other than “NULL”)

adrs Graphics memory address where image data is stored (Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFC0(*1), a 64-byte aligned value)

type Color format of image data

*'&B��%33B)250$7�� ���� 32-bit color mode

*'&B��%33B)250$7�� ���� 16-bit color mode

*'&B�%33B)250$7�� ��� 8-bit index color mode

w Horizontal width pixel count of image data (Specify using a power-of-two value ranging from 8 to 4096 and equal to or less than the value specified using dstride.)

h Line count of image data (Specify using a power-of-two value ranging from 8 to 4096.)

sstride Stride of image data (in bytes) (0x00000000 to 0xFFFFFFFF(*2); a 4-byte aligned for 32BPP; a 2-byte aligned for 16BPP; value equal to or greater than the byte count of the argument w)

dstride Stride of an area where image data is stored (Frame width pixel count) (An 8-byte aligned value ranging from 16 to 4096)

offsetx x offset coordinate of the area on which image data is stored (0 to 4088)

offsety y offset coordinate of the area on which image data is stored (0 to 4088)

Page 384: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

384

FUJITSU CONFIDENTIAL

(*1) Maximum size that can be handled by Carmine. This value varies depending on the system to be used.

(*2) The valid range varies depending on the system to be used. >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical (h) or horizontal (w) size of the image

data is illegal. Or, the size of an argument sstride is illegal.

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument drvctx, image, adrs, type, dstride, offsetx, or offsety.

GDC_ERR_ILLEGAL_STRIDE_ALIGN The alignment specified for an argument sstride or dstride is illegal.

GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument adrs.

GDC_ERR_DL_BUF_TOO_SMALL The DL buffer size is less than the minimum size.

GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function loads the image data used for texture mapping or tiling to the graphics memory.

For adrs, specify the offset address from the starting of the graphics memory.

For the argument sstride, specify a 4-byte aligned value for the 32-bit color mode, and a 2-byte aligned value for 16-bit color mode. When specifying a value that does not meet the alignment condition, this function sets the error code GDC_ERR_ILLEGAL_STRIDE_ALIGN, sets GDC_FALSE to the return value and returns.

For the argument dstride, specify an 8-byte aligned value. When a value other than an 8-byte aligned value is specified, this function sets the error code GDC_ERR_ILLEGAL_STRIDE_ALIGN, sets GDC_FALSE to the return value and returns.

The data pointed to by the argument image must be of the data type specified using the argument type.

>1RWH@�

When texture data is non-compression data, use the *GF/RDG7H[WXUH�� function or *GF/RDG7H[WXUH'LUHFW�� function. When texture data is compressed data, use the *GF'LUHFW/RDG�� function. In the bilinear fast mode, use the *GF7H[WXUH/RDG([W��)DVW�� function.

Page 385: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

385

FUJITSU CONFIDENTIAL

When using mipmap, set one of the following, to target: GDC_TEXTURE_MIN_FILTER of the *GF$WWU7H[WXUH�� function, and then load image data of each mipmap level:

(A) GDC_TEXTURE_NEAREST_MIPMAP_ NEAREST (B) GDC_TEXTURE_LINEAR_MIPMAP_ NEAREST (C) GDC_TEXTURE_NEAREST_MIPMAP_ LINEAR (D) GDC_TEXTURE_LINEAR_MIPMAP_ LINEAR

Sequentially set image data with both the horizontal and vertical sizes halved from the preceding sizes, from image data of largest size (mipmap level 0). Load image data of up to 1 × 1 size. At this time, note that image data must be written sequentially and continuously to memory, from image data of the largest size.

For example, when the size of the largest image data is 64 × 16, continuously load image data of sizes 32 × 8, 16 × 4, 8 × 2, 4 × 1, 2 × 1, and 1 × 1 to memory.

This function can only load textures with a horizontal width size and vertical size of 8 pixels or greater. When loading a smaller texture size than this, use the *GF/RDG7H[WXUH'LUHFW�� function. Non-compressed texture is interpreted as ARGB or RGBA format according to the color order setting, and is converted to RGBA format as with pixels when drawing. To set the color order, use the *GF'UDZ'LPHQVLRQ�� function.

If texture data is loaded outside the allocated memory area, memory may be damaged.

Page 386: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

386

FUJITSU CONFIDENTIAL

������� *GF/RDG7H[WXUH'LUHFW����/RDGLQJ�,PDJH�'DWD�'LUHFWO\�WR�*UDSKLFV�0HPRU\!�

>)RUPDW@�

GDC_BOOL *GF/RDG7H[WXUH'LUHFW (

GDC_CTX *GUYFW[,

const void *LPDJH,

GDC_ULONG DGUV,

GDC_ENUM W\SH,

GDC_ULONG Z,

GDC_ULONG K��

GDC_ULONG VVWULGH,

GDC_ULONG GVWULGH,

GDC_ULONG RIIVHW[��

GDC_ULONG RIIVHW\�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

image Pointer to image data (0xXXXXXXXX. Valid value in a system using other than “NULL”)

adrs Graphics memory address where image data is stored (Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFFF(*1))

type Color format of image data

*'&B��%33B)250$7�� ���� 32-bit color mode *'&B��%33B)250$7�� ���� 16-bit color mode *'&B�%33B)250$7�� ��� 8-bit index color mode

w Horizontal width pixel count of image data (Specify a power-of-two value ranging from 1 to 4096 and equal to or less than the value specified using dstride.)

h Line count of image data (Specify a power-of-two value ranging from 1 to 4096.)

sstride Stride of image data (in bytes) (0x00000000 to 0xFFFFFFFF(*2); a 4-byte aligned for 32BPP; a 2-byte aligned for 16BPP; value equal to or greater than the byte count of argument w)

dstride Stride of an area where image data is stored (Frame width pixel count) (1 to 4096)

offsetx x offset coordinate of the area on which image data is stored (0 to 4095)

offsety y offset coordinate of the area on which image data is stored (0 to 4095)

(*1) Maximum size that can be handled by Carmine. This value varies depending on the system to be used.

(*2) The valid range varies depending on the system to be used.

Page 387: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

387

FUJITSU CONFIDENTIAL

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical (h) or horizontal (w) size of image

data is illegal. Or, the size of an argument sstride is illegal.

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument drvctx, image, adrs, type, dstride, offsetx, or offsety.

GDC_ERR_ILLEGAL_STRIDE_ALIGN� The alignment specified for an argument sstride is illegal.

GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE� Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function directly (not using DL) loads the image data used for texture mapping or tiling to graphics memory.

For adrs, specify the offset address from the starting of the graphics memory.

For the argument sstride, specify a 4-byte aligned value for the 32-bit color mode, and a 2-byte aligned value for 16-bit color mode. When specifying a value that does not meet the alignment condition, this function sets the error code GDC_ERR_ILLEGAL_STRIDE_ALIGN, sets GDC_FALSE to the return value and returns.

>1RWH@�

Use this function when texture data is non-compressed format.

Texture data is interpreted as ARGB or RGBA format according to the color order setting, and is converted to RGBA format as with pixels when drawing. To set the color order, use the *GF'UDZ'LPHQVLRQ�� function.

This function directly (not using DL) loads image data to graphics memory. To internally synchronize timing with processing by the DL, this function transfers the DL stored in the current DL buffer and waits for the completion of drawing using the *GF:DLW'UDZ&RPSOHWH�� function and loads data directly via the CPU. When the current DL buffer is empty, this function waits for the completion of the last drawing. Consequently, when sharing the same memory area with other context, wait for the completion of drawing by other context and then use this function.

If texture data is loaded outside the allocated memory area, memory may be damaged.

Page 388: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

388

FUJITSU CONFIDENTIAL

������� *GF7H[WXUH/RDG([W��)DVW����/RDGLQJ�,PDJH�'DWD�IRU�%LOLQHDU�)DVW�0RGH�WR�*UDSKLFV�0HPRU\!�

>)RUPDW@�

GDC_BOOL *GF7H[WXUH/RDG([W��)DVW (

GDC_CTX *GUYFW[,

const GDC_COLOR16 *OS7H[WXUH,

GDC_ULONG DGUV,

GDC_ULONG Z,

GDC_ULONG K�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

lpTexture Pointer to image data (0xXXXXXXXX. Valid value in a system using other than “NULL”)

adrs Graphics memory address where image data is stored

(Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFC0(*1), a 64-byte aligned value)

w Horizontal width pixel count of image data (Specify a power-of-two value ranging from 16 to 4096.)

h Line count of image data (Specify a power-of-two value ranging from 8 to 4096.)

(*1) Maximum size that can be handled by Carmine. This value varies depending on the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical (h) or horizontal (w) size of image

data is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, lpTexture, or adrs. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

adrs. GDC_ERR_DL_BUF_TOO_SMALL The DL buffer size is less than the minimum

size. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified.

Page 389: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

389

FUJITSU CONFIDENTIAL

GDC_ERR_ENV_INTERNAL Internal error occurred. >'HVFULSWLRQ@�

This function converts texture image data of 16BPP format to the format used in bilinear fast mode and then loads the converted texture image data to graphics memory. 1 pixel of this data needs information for 4 pixels, so this data uses four times the area usually required.

For adrs, specify the offset address from the starting of the graphics memory.

For w and h, specify the value before texture image data is converted (not the size multiplied by “4”). >1RWH@�

The bilinear fast mode is used when the color mode is 16-bit direct color and the filtering mode is bilinear filtering.

Texture data is interpreted as ARGB or RGBA format according to the color order setting, and is converted to RGBA format as with pixels when drawing. To set the color order, use the *GF'UDZ'LPHQVLRQ�� function.

Page 390: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

390

FUJITSU CONFIDENTIAL

������� *GF7H[WXUH,PDJH����6HWWLQJ�7H[WXUH�,PDJH�'DWD!�

>)RUPDW@�

GDC_BOOL *GF7H[WXUH,PDJH (

GDC_CTX *GUYFW[,

GDC_ULONG DGUV,

GDC_ULONG Z,

GDC_ULONG K,

GDC_ENUM IRUPDW�

GDC_ENUM W\SH,

GDC_ENUM FRPS��

GDC_ENUM VHOHFW��

GDC_ENUM EDBRSWLRQ

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

adrs Graphics memory address where texture image data is stored (Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFF8(*1), an 8-byte aligned value)

w Horizontal width pixel count of texture image data (Specify a power-of-two value ranging from1 to 4096.)

h Line count of texture image data (Specify a power-of-two value ranging from 1 to 4096.)

format Setting of texture image data format

*'&B7(;785(B)250$7B$/3+$�

*'&B7(;785(B)250$7B/80,1$1&(�

*'&B7(;785(B)250$7B/80,1$1&(B$/3+$�

*'&B7(;785(B)250$7B,17(16,7<�

*'&B7(;785(B)250$7B5*%�

*'&B7(;785(B)250$7B5*%$�

type Pixel format of texture image data

*'&B'$7$B7<3(B,';�� 8-bit index color code format

*'&B'$7$B7<3(B5*%$����� 16-bit format (RGB: 5 bits each, A: 1 bit)

*'&B'$7$B7<3(B5*%$����� 32-bit format (RGBA: 8 bits each)

*'&B'$7$B7<3(B5*%���� 16-bit format (R: 5 bits, G: 6 bits, B: 5 bits)

*'&B'$7$B7<3(B5*%$����� 16-bit format (RGBA: 4 bits each)

*'&B'$7$B7<3(B,';��� 16-bit format (L: 8 bits, A: 8 bits)

Page 391: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

391

FUJITSU CONFIDENTIAL

comp Compression format of texture image data

*'&B7(;785(B&203B3/$,1 Texture data is non-compressed format

*'&B7(;785(B&2035(66(' Texture data is compressed format

*'&B7(;785(B&203B3$/(77(�� Texture data is 4-bit palette format

*'&B7(;785(B&203B3$/(77(�� Texture data is 8-bit palette format texture data

select Selection of between texture data and tile pattern data

*'&B6(/(&7B7(;785( Referenced as texture

*'&B6(/(&7B7,/( Referenced as tile

ba_option Setting of bilinear fast mode

*'&B(1$%/( Uses bilinear fast mode.

*'&B',6$%/( Does not use bilinear fast mode.

(*1) Maximum size that can be handled by Carmine. This value varies depending on the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_PARAMETER_COMBINATION Invalid parameter combination was specified. GDC_ERR_ILLEGAL_DIMENSION The vertical (h) or horizontal (w) size of image

data is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, adrs, format, type, comp, select, or ba_option.

GDC_ERR_TOO_MANY_TEXTURE The count of texture exceeded settable count. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

adrs. >'HVFULSWLRQ@�

This function sets information on the texture image data stored in adrs.

When registering compressed texture image data, set the size of texture image data before compression, for w and h.

When using the mipmap function, set the size of the maximum size (level=0)of texture image data to w and h.

For adrs, use the value set using the *GF/RDG7H[WXUH��, *GF/RDG7H[WXUH'LUHFW��, *GF'LUHFW/RDG��, or *GF7H[WXUH/RDG([W��)DVW�� function.

Page 392: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

392

FUJITSU CONFIDENTIAL

When the texture specified using adrs exceeds the used texture count set using the *GF6SHFLI\7H[WXUH7DEOH�� function, this function sets the error code GDC_ERR_TOO_MANY_TEXTURE, sets GDC_FALSE to the return value and returns.

The bilinear fast mode (argument ba_option is GDC_ENABLE) is enabled only when the compression format of texture image data is non-compressed format (comp is GDC_TEXTURE_COMP_PLAIN). When other combinations are used, this function sets the error code GDC_ERR_PARAMETER_COMBINATION, sets GDC_FALSE to the return value and returns. Also, the argument type must be GDC_DATA_TYPE_RGBA5551. If other combinations are used, this function sets the error code GDC_ERR_PARAMETER_COMBINATION, sets GDC_FALSE to the return value and returns.

>1RWH@�

When setting the type of texture image data (argument: format) and the color format of texture image data (argument: type), use the combinations shown in the table below. When other combinations are used, this function sets the error code GDC_ERR_PARAMETER_COMBINATION, sets the return value to GDC_FALSE, and returns.

7DEOH������D� � 7\SH�DQG�6HWWDEOH�&RORU�)RUPDW�RI�7H[WXUH�,PDJH�'DWD� �

Type of texture image data (argument: format)� Color format of texture image data (argument: type)�

*'&B7(;785(B)250$7B$/3+$� *'&B'$7$B7<3(B,';��

*'&B7(;785(B)250$7B/80,1$1&(� *'&B'$7$B7<3(B,';��

*'&B7(;785(B)250$7B/80,1$1&(B$/3+$� *'&B'$7$B7<3(B,';���

*'&B7(;785(B)250$7B,17(16,7<� *'&B'$7$B7<3(B,';��

*'&B7(;785(B)250$7B5*%� *'&B'$7$B7<3(B,';��*'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B5*%����*'&B'$7$B7<3(B5*%$�����

*'&B7(;785(B)250$7B5*%$� *'&B'$7$B7<3(B,';��*'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B5*%����*'&B'$7$B7<3(B5*%$�����

When setting the compression format of texture image data (argument: comp) and the color format of texture image data (argument: type), use the combinations shown in 7DEOH� �����E. When other combinations are used, this function sets the error code GDC_ERR_PARAMETER_COMBINATION, sets GDC_FALSE to the return value and returns.

Page 393: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

393

FUJITSU CONFIDENTIAL

7DEOH������E� � &RPSUHVVLRQ�)RUPDW�DQG�6HWWDEOH�&RORU�)RUPDW�RI�7H[WXUH�,PDJH�'DWD� �

Compression format of texture image data (argument: comp) Color format of texture image data (argument: type) *'&B7(;785(B&203B3/$,1 *'&B'$7$B7<3(B,';��

*'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B5*%����*'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B,';��

*'&B7(;785(B&2035(66(' *'&B'$7$B7<3(B,';��*'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B,';��

*'&B7(;785(B&203B3$/(77(� *'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B5*%����*'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B,';��

*'&B7(;785(B&203B3$/(77(� *'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B5*%����*'&B'$7$B7<3(B5*%$�����*'&B'$7$B7<3(B,';��

When using mipmap with the argument type of GDC_DATA_TYPE_RGBA8888 texture, specify 2048 or smaller for either texture size w or h. Also, when using the bilinear fast mode, specify 2048 or smaller for both w and h as texture size (w,h) = (2048,2048).

When using mipmap for both textures (TEXTURE0 and TEXTURE1), make the sizes of the two textures the same. When two textures of different sizes are used, an incorrect texel is referenced.

Page 394: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

394

FUJITSU CONFIDENTIAL

When the texture BPP and frame buffer BPP are different, conversion is performed as shown in the table below. Note that when specifying a combination for which conversion cannot be performed, the texture is not correctly pasted.

7DEOH������F� � 'LIIHUHQW�7H[WXUH�%33�DQG�)UDPH�%XIIHU�%33�

Texture Bit Per Pixel

Frame Buffer Bit Per Pixel

Translated format

*'&B�%33B)250$7� 8BPP No conversion performed. *'&B��%33B)250$7� Undefined Conversion cannot be performed.

*'&B'$7$B7<3(B,';��

*'&B��%33B)250$7� Undefined Conversion cannot be performed.

*'&B�%33B)250$7� Undefined Conversion cannot be performed. *'&B��%33B)250$7� RGB5_A1 No conversion performed.

*'&B'$7$B7<3(B5*%$�����

*'&B��%33B)250$7� RGBA8 Upper 3 bits of RGB are copied to lower bits. 1 bit of A is extended to 8 bits (0x00 or 0xFF).

*'&B�%33B)250$7� Undefined Conversion cannot be performed. *'&B��%33B)250$7� RGB5_A1 Lower bits of RGB are truncated. No

conversion is performed for A.

*'&B'$7$B7<3(B5*%$�����

*'&B��%33B)250$7� RGBA8 No conversion is performed.

*'&B�%33B)250$7� Undefined Conversion cannot be performed. *'&B��%33B)250$7� RGB5_A1 Lower 1 bit of G is deleted (A=1).

*'&B'$7$B7<3(B5*%����

*'&B��%33B)250$7� RGBA8 Upper bits are copied to lower bits (A=0xFF).

*'&B�%33B)250$7� Undefined Conversion cannot be performed. *'&B��%33B)250$7� RGB5_A1 Upper bits are copied to lower bits.

*'&B'$7$B7<3(B5*%$�����

*'&B��%33B)250$7� RGBA8 Upper bits are copied to lower bits.

*'&B�%33B)250$7� Undefined Conversion cannot be performed. *'&B��%33B)250$7� RGB5_A1 Upper 5 bits of L are assigned to each of

the R, G and B components. The A component is “1” when it is not “0”; the A component is “0” when it is “0”.

*'&B'$7$B7<3(B,';���

*'&B��%33B)250$7� RGBA8 Texture image data is converted to (L, L, L, A). L and A are 8 bits each.

Page 395: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

395

FUJITSU CONFIDENTIAL

������� *GF%LQG7H[WXUH����$VVLJQLQJ�7H[WXUH�'DWD�WR�7H[WXUH!�

>)RUPDW@�

GDC_BOOL *GF%LQG7H[WXUH (

GDC_CTX *GUYFW[,

GDC_ENUM WH[WXUH��

GDC_ULONG DGUV

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

texture Texture

*'&B7(;785(�� Texture0 *'&B7(;785(�� Texture1

adrs Graphics memory address where texture image data is stored (Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFF8(*1), an 8-byte aligned value)

(*1) Maximum size that can be handled by Carmine. This value varies depending on the system to

be used. >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, texture, or adrs. GDC_ERR_INVALID_TEXTURE Invalid texture (adrs) was specified. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN� Invalid alignment was specified for an argument

adrs. >'HVFULSWLRQ@�

This function assigns texture image data stored in adrs to texture0/texture1. >1RWH@�

When using texture0, enable texture unit0.

When using texture1, enable texture unit1.

When texture (adrs) that is not registered in the texture information management table is specified, this function sets the error code GDC_ERR_INVALID_TEXTURE, sets GDC_FALSE to the return value and returns.

Page 396: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

396

FUJITSU CONFIDENTIAL

������� *GF5HOHDVH7H[WXUH����5HOHDVLQJ�7H[WXUH�'DWD�IURP�7H[WXUH�7DEOH!�

>)RUPDW@�

GDC_BOOL *GF5HOHDVH7H[WXUH (

GDC_CTX *GUYFW[��

GDC_ULONG DGUV�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

adrs Graphics memory address where texture image data is stored (Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFF8(*1), an 8-byte aligned value)

(*1) Maximum size that can be handled by Carmine. This value varies depending on the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or adrs. GDC_ERR_INVALID_TEXTURE Invalid texture (adrs) was specified. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

adrs. >'HVFULSWLRQ@�

This function releases the texture data stored in adrs, from the texture data management area. >1RWH@�

When a texture (adrs) that is not registered in the texture information management table is specified, this function sets the error code GDC_ERR_INVALID_TEXTURE and sets GDC_FALSE to the return value, and then returns.

Page 397: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

397

FUJITSU CONFIDENTIAL

������� *GF*HW7H[WXUH,QIR����*HWWLQJ�7H[WXUH�,QIRUPDWLRQ!�

>)RUPDW@�

GDC_TEXTURE_DATA **GF*HW7H[WXUH,QIR ( GDC_CTX *GUYFW[, GDC_ULONG DGUV )

>$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

adrs Graphics memory address where texture image data is stored

(Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFF8(*1), an 8-byte aligned value)

(*1) Maximum size that can be handled by Carmine. This value varies depending on the system to be used.

>5HWXUQ�YDOXH@�

Other than 0 Pointer to texture information structure

0 Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or adrs. GDC_ERR_INVALID_TEXTURE Invalid texture (adrs) was specified. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

adrs. >'HVFULSWLRQ@�

This function gets information on the texture image data stored in adrs. >1RWH@�

When a texture (adrs) that is not registered in the texture information management table is specified, this function sets the error code GDC_ERR_INVALID_TEXTURE and sets GDC_FALSE to the return value, and then returns.

Page 398: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

398

FUJITSU CONFIDENTIAL

����� %/7�)XQFWLRQV�

������� *GF%OW&RS\����7UDQVIHUULQJ�5HFWDQJXODU�$UHD�LQ�&XUUHQW�'UDZLQJ�)UDPH!�

>)RUPDW@�

GDC_BOOL *GF%OW&RS\ (

GDC_CTX *GUYFW[,

GDC_ULONG [�,

GDC_ULONG \�,

GDC_LONG [�,

GDC_LONG \�,

GDC_ULONG Z,

GDC_ULONG K�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

x0� x coordinate at upper left in rectangular area of transfer source (0 to 4095)

y0� y coordinate at upper left in rectangular area of transfer source (0 to 4095)

x1� x coordinate at upper left in rectangular area of drawing destination (-4096 to 4095)

y1� y coordinate at upper left in rectangular area of drawing destination (-4096 to 4095)

w Horizontal width pixel count in rectangular area (1 to 4096)

h Line count in rectangular area (1 to 4096) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

Page 399: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

399

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function writes bitmaps to the drawing frame by transferring the rectangular block. The transfer source is the current drawing frame in the graphics memory.

When either w or h is “0”, this function sets GDC_TRUE to the return value and then returns without executing anything.

When either w or h is greater than 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

When a value outside the setting valid range for the coordinates (x0,y0) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

When a value outside the setting valid range for the coordinates (x1,y1) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

A signed 32-bit integer value can be specified for the coordinates (x,y) of the drawing destination, but drawing is performed in the range of 0 to 4095 for the coordinates (x,y), respectively.

Page 400: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

400

FUJITSU CONFIDENTIAL

������� *GF%OW&RS\$OW����7UDQVIHUULQJ�5HFWDQJOH�EHWZHHQ�$UELWUDU\�)UDPHV!�

>)RUPDW@�

GDC_BOOL *GF%OW&RS\$OW (

GDC_CTX *GUYFW[,

GDC_ULONG [�,

GDC_ULONG \�,

GDC_LONG [�,

GDC_LONG \�,

GDC_ULONG Z,

GDC_ULONG K,

GDC_ULONG VDGU,

GDC_ULONG VVWULGH,

GDC_ULONG GDGU,

GDC_ULONG GVWULGH

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

x0� x coordinate in drawing frame of transfer source (0 to 4095)

y0� y coordinate in drawing frame of transfer source (0 to 4095)

x1� x coordinate in drawing frame of transfer destination (-4096 to 4095)

y1� y coordinate in drawing frame of transfer destination (-4096 to 4095)

w Horizontal width pixel count in rectangular area (1 to 4096)

h Line count in rectangular area (1 to 4096)

sadr Address of origin in transfer source frame

(Specify using the offset address from the starting of the graphics memory.

0x00100000 to 0x0FFFFFC0, an 8-byte aligned value)

sstride Stride of transfer source frame (frame width pixel count) (2 to 4096)

dadr Address of origin in drawing destination frame

(Specify using the offset address from the starting of the graphics memory.

0x00100000 to 0x0FFFFFC0, an 8-byte aligned value)

dstride Stride of drawing destination frame (frame width pixel count) (2 to 4096) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 401: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

401

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, sstride, or dstride. GDC_ERR_ILLEGAL_STRIDE_ALIGN The alignment of stride is illegal. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

sadr or dadr. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function writes bitmaps to the drawing frame by transferring the rectangular block. The transfer source and drawing destination are arbitrary drawing frames in the graphics memory. The color mode of transfer source must be the same as that of the drawing destination. The rectangular areas of transfer source and the drawing destination cannot overlap.

When either w or h is “0”, this function sets GDC_TRUE to the return value and then returns without executing anything.

When either w or h is greater than 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

When a value outside the setting valid range for the coordinates (x0,y0) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

When a value outside the setting valid range for the coordinates (x1,y1) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

A signed 32-bit integer value can be specified for the coordinates (x1,y1) of the drawing destination, but drawing is performed in the range of the area of the drawing destination.

The value of the arguments sstride and dstride must be an 8-byte aligned value. Otherwise, this function sets the error code GDC_ERR_ILLEGAL_STRIDE_ALIGN, sets GDC_FALSE to the return value to and then returns.

Page 402: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

402

FUJITSU CONFIDENTIAL

������� *GF%OW'UDZ>�������@����7UDQVIHUULQJ�5HFWDQJOH�IURP�0DLQ�0HPRU\�WR�&XUUHQW�'UDZLQJ�)UDPH!�

>)RUPDW@�

GDC_BOOL *GF%OW'UDZ� (

GDC_CTX *GUYFW[,

GDC_LONG [,

GDC_LONG \,

GDC_ULONG Z,

GDC_ULONG K,

const GDC_IDX8 *OS5HFW�

)

GDC_BOOL *GF%OW'UDZ�� (

GDC_CTX *GUYFW[,

GDC_LONG [,

GDC_LONG \,

GDC_ULONG Z,

GDC_ULONG K,

const GDC_COLOR16 *OS5HFW�

)

GDC_BOOL *GF%OW'UDZ���(

GDC_CTX *GUYFW[,

GDC_LONG [,

GDC_LONG \,

GDC_ULONG Z,

GDC_ULONG K,

const GDC_COLOR32 *OS5HFW�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

x x coordinate at upper left in rectangular area of drawing destination (-4096 to 4095)

y y coordinate at upper left in rectangular area of drawing destination (-4096 to 4095)

w Horizontal width pixel count in rectangular area (8 to 4096)

h Line count in rectangular area (8 to 4096)

lpRect Pointer to rectangular pattern data (Valid value in a system using other than “NULL”)

Page 403: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

403

FUJITSU CONFIDENTIAL

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or lpRect. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAW� Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function writes bitmaps to the drawing frame by transferring the rectangular block. The transfer source is the main memory.

The lpRect data format is handled assuming that it contains the data packed in the same format as the drawing frame color mode. The color modes of lpRect and the drawing frame must be the same.

When either w or h exceeds 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

When either w or h is 7 or smaller, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

When a value outside the setting valid range for the coordinates (x,y) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

A signed 32-bit integer value can be specified for the coordinates (x,y) of the drawing destination, but drawing is performed in the range of 0 to 4095 for the coordinates (x,y), respectively.

Page 404: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

404

FUJITSU CONFIDENTIAL

������� *GF%OW)LOO����)LOOLQJ�5HFWDQJXODU�$UHD!�

>)RUPDW@�

GDC_BOOL *GF%OW)LOO (

GDC_CTX *GUYFW[,

GDC_LONG [,

GDC_LONG \,

GDC_ULONG Z,

GDC_ULONG K�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

x x coordinate at upper left in rectangular area of drawing destination (-4096 to 4095)

y y coordinate at upper left in rectangular area of drawing destination (-4096 to 4095)

w Horizontal width pixel count in rectangular area (1 to 4096)

h Line count in rectangular area (1 to 4096) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

Page 405: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

405

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function fills the rectangular area with the foreground color set using the *GF&RORU>L�I@�� function.

When either w or h is “0”, this function sets GDC_TRUE to the return value and then returns without executing anything.

When either w or h is greater than 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

When a value outside the setting valid range for the coordinates (x,y) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

A signed 32-bit integer value can be specified for the coordinates (x,y) of the drawing destination, but drawing is performed in the range of 0 to 4095 for the coordinates (x,y), respectively.

>1RWH@�

Operation is not guaranteed when other than the *GF&RORUL�� function is set when the color mode is 8BPP. When the color mode is 8BPP, set the foreground color using the *GF&RORUL�� function.

Page 406: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

406

FUJITSU CONFIDENTIAL

������� *GF%OW&RS\$OW$OSKD0DS����7UDQVIHUULQJ�5HFWDQJOH�8VLQJ�$OSKD�0DS!�

>)RUPDW@�

GDC_BOOL *GF%OW&RS\$OW$OSKD0DS (

GDC_CTX *GUYFW[,

GDC_ULONG [�,

GDC_ULONG \�,

GDC_LONG [�,

GDC_LONG \�,

GDC_ULONG Z,

GDC_ULONG K,

GDC_ULONG VDGU,

GDC_ULONG VVWULGH,

GDC_ULONG DDGU

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

x0� x coordinate in drawing frame of transfer source (0 to 4095)

y0� y coordinate in drawing frame of transfer source (0 to 4095)

x1� x coordinate in drawing frame of transfer destination (-4096 to 4095)

y1 y coordinate in drawing frame of transfer destination (-4096 to 4095)

w Horizontal width pixel count in rectangular area (1 to 4096)

h Line count in rectangular area (1 to 4096)

sadr Address of origin in transfer source frame

(Specify using the offset address from the starting of the graphics memory.

0x00100000 to 0x0FFFFFC0, an 8-byte aligned value)

sstride Stride of transfer source frame (frame width pixel count) (2 to 4096)

aadr Starting address of alpha map area

(Specify using the offset address from the starting of the graphics memory.

0x00100000 to 0x0FFFFFC0, an 8-byte aligned value) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 407: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

407

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or sstride. GDC_ERR_ILLEGAL_STRIDE_ALIGN The alignment of stride is illegal. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

sadr or aadr. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function alpha-blends the rectangular area of the transfer source specified using src, x0, y0, w and h and the rectangular area of the drawing destination specified using x1 and y1, and copies the execution result to the coordinates of x1 and y1 of the current drawing frame. At this time, this function uses the rectangular area of w and h as the alpha map area, from the address specified using aadr as the alpha factor.

The execution result is clipped within the current drawing frame. Also, when clipping is enabled using the *GF&OLS0RGH�� function, the execution result is clipped within the clip range set using the *GF'UDZ&OLS)UDPH�� function.

When either w or h is “0”, this function sets GDC_TRUE to the return value and then returns without executing anything.

When either w or h is greater than 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

When a value outside the setting valid range for the coordinates (x0,y0) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

When a value outside the setting valid range for the coordinates (x1,y1) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

The value of the argument sstride must be an 8-byte aligned value. Otherwise, this function sets the error code GDC_ERR_ILLEGAL_STRIDE_ALIGN, sets GDC_FALSE to the return value to and then returns.

>1RWH@�

When the transfer source area and the drawing destination area overlap even slightly, correct copying cannot be performed.

The specification of logical operation is disabled.

When transparent mode is enabled, transparent processing is performed first.

The specification of alpha blend is ignored when this function fills the rectangular area.

The stride of the alpha map area is set to the same value as the transfer horizontal pixel count.

Page 408: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

408

FUJITSU CONFIDENTIAL

������� *GF%OW)LOO$OSKD0DS����)LOOLQJ�5HFWDQJXODU�$UHD�8VLQJ�$OSKD�0DS!�

>)RUPDW@�

GDC_BOOL *GF%OW)LOO$OSKD0DS (

GDC_CTX *GUYFW[,

GDC_LONG [,

GDC_LONG \,

GDC_ULONG Z,

GDC_ULONG K�

GDC_ULONG DDGU

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

x x coordinate at upper left in rectangular area of drawing destination (-4096 to 4095)

y y coordinate at upper left in rectangular area of drawing destination (-4096 to 4095)

w Horizontal width pixel count in rectangle (1 to 4096)

h Line count in rectangle (1 to 4096)

aadr Starting address of alpha map area

(Specify using the offset address from the starting of the graphics memory.

0x00100000 to 0x0FFFFFC0, an 8-byte aligned value) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or aadr. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

aadr. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

Page 409: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

409

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function fills the rectangular area with the foreground color set using the *GF&RORU>L�I@���function, while performing alpha blending for each pixel at the alpha map.

When either w or h is “0”, this function sets GDC_TRUE to the return value and then returns without executing anything.

When either w or h is greater than 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

When a value outside the setting valid range for the coordinates (x,y) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

When a value outside the setting valid range for the coordinates (x,y) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

A signed 32-bit integer value can be specified for the coordinates (x,y) of the drawing destination, but drawing is performed in the range of 0 to 4095 for the coordinates (x,y), respectively.

The alpha map is the alpha blend ratio data area of the same XY size as the fill area. It consists of the 8-bit alpha blend ratio corresponding to each pixel.

>1RWH@�

The specification of the alpha blend is ignored when this function fills the rectangular area.

The specification of the logical operation is ignored when this function fills the rectangular area.

When transparent mode is enabled, transparent processing is performed first.

The drawing destination is the current drawing frame.

Operation is not guaranteed when other than the *GF&RORUL�� function is set when the color mode is 8BPP. When the color mode is 8BPP, set the foreground color using the *GF&RORUL�� function.

The stride of the alpha map area is set to the same value as the transfer horizontal pixel count.

Page 410: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

410

FUJITSU CONFIDENTIAL

������� *GF%OW&RS\&RPSUHVVHG����7UDQVIHUULQJ�5HFWDQJOH�8VLQJ�&RPSUHVVHG�'DWD!�

>)RUPDW@�

GDC_BOOL *GF%OW&RS\&RPSUHVVHG (

GDC_CTX *GUYFW[,

GDC_ULONG VDGU�

GDC_LONG [,

GDC_LONG \,

GDC_ULONG Z,

GDC_ULONG K��

GDC_ULONG GDGU,

GDC_ULONG GVWULGH�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

sadr Address where compressed pattern data of transfer source is stored

(Specify using the offset address from the starting of the graphics memory.)

(0x00100000 to 0x0FFFFFC0, an 8-byte aligned value)

x x coordinate in transfer destination drawing frame (-4096 to 4095)

y y coordinate in transfer destination drawing frame (-4096 to 4095)

w Horizontal width pixel count of expanded transfer rectangular area (8 to 4096; multiple of “8”)

h Line count of expanded transfer rectangular area (8 to 4096; multiple of 8)

dadr Address of origin in drawing frame of transfer destination

(Specify using the offset address from the starting of the graphics memory.) (0x00100000 to 0x0FFFFFC0, an 8-byte aligned value)

dstride Frame width pixel count of drawing frame of transfer destination (2 to 4096) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 411: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

411

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or dstride. GDC_ERR_ILLEGAL_STRIDE_ALIGN� The alignment of the stride is illegal. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN� Invalid alignment was specified for an argument

sadr or dadr. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function expands and copies the compressed-format pattern data.

When either w or h is less than 8 or greater than 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value to and then returns.

When a value outside the setting valid range for the coordinates (x,y) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

A signed 32-bit integer value can be specified for the coordinates (x,y) of the drawing destination, but drawing is performed in the range of the area of the drawing destination.

The value of the argument dstride must be an 8-byte aligned value. Otherwise, this function sets the error code GDC_ERR_ILLEGAL_STRIDE_ALIGN, sets GDC_FALSE to the return value to and then returns.

>1RWH@�

When the transfer source area and the drawing destination area overlap even slightly, correct copying cannot be performed.

The color mode of the transfer source must be the same as that of the drawing destination.

The transfer destination is an arbitrary drawing frame in the graphics memory.

Even when the total of (x and w) and (y and h) exceeds 4096, the total is not clamped to 4096.

Page 412: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

412

FUJITSU CONFIDENTIAL

������� *GF%OW&RS\&RPS$OSKD0DS����7UDQVIHUULQJ�5HFWDQJOH�ZLWK�$OSKD�0DS�8VLQJ�&RPSUHVVHG�'DWD�!�

>)RUPDW@�

GDC_BOOL � *GF%OW&RS\&RPS$OSKD0DS (

GDC_CTX *GUYFW[,

GDC_ULONG VDGU�

GDC_LONG [,

GDC_LONG \,

GDC_ULONG Z,

GDC_ULONG K�

GDC_ULONG DDGU�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

sadr Address where compressed pattern data of transfer source is stored

(Specify using the offset address from the starting of the graphics memory.)

(0x00100000 to 0x0FFFFFC0, an 8-byte aligned value)

x x coordinate in transfer destination drawing frame (-4096 to 4095)

y y coordinate in transfer destination drawing frame (-4096 to 4095)

w Horizontal width pixel count of expanded transfer rectangular area (8 to 4096; multiple of “8”)

w Line count of expanded transfer rectangular area (8 to 4096; multiple of “8”)

aadr Starting address of alpha map area

(Specify using the offset address from the starting of the graphics memory.) (0x00100000 to 0x0FFFFFC0, an 8-byte aligned value)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 413: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

413

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

sadr or aadr. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function expands the compressed-format pattern data and copies the expanded pattern data to the current drawing frame while performing alpha blending for each pixel at the alpha map.

When either w or h is less than 8 or greater than 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value to and then returns.

When a value outside the setting valid range for the coordinates (x,y) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

A signed 32-bit integer value can be specified for the coordinates (x,y) of the drawing destination, but drawing is performed in the range of the area of the current drawing frame.

The alpha map is the alpha blend ratio data area of the same XY size as the expanded transfer rectangular area. It consists of the 8-bit alpha blend ratio corresponding to each pixel.

For this function, the alpha map data also needs to be compressed. >1RWH@�

When the transfer source area and the drawing destination area overlap even slightly, correct copying cannot be performed.

The color mode of the transfer source must be the same as that of the drawing destination.

The specification of alpha blend is ignored when this function fills the rectangular area.

The specification of the logical operation is ignored when this function fills the rectangular area.

When transparent mode is enabled, transparent processing is performed first.

The transfer destination is the current drawing frame.

Even when the total of (x and w) and (y and h) exceeds 4096, the total is not clamped to 4096.

The stride of the alpha map area is set to the same value as the transfer horizontal pixel count.

Page 414: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

414

FUJITSU CONFIDENTIAL

������� *GF*HR%OW&RS\����7UDQVIHUULQJ�5HFWDQJXODU�$UHD�LQ�&XUUHQW�'UDZLQJ�)UDPH�ZLWK�093�7UDQVIRUPDWLRQ!�

>)RUPDW@�

GDC_BOOL *GF*HR%OW&RS\ (

GDC_CTX *GUYFW[,

GDC_ULONG [,

GDC_ULONG \,

GDC_VTX4F GVWYW[�

GDC_ULONG Z,

GDC_ULONG K�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

x x coordinate at upper left in rectangular area of transfer source (0 to 4095)

y y coordinate at upper left in rectangular area of transfer source (0 to 4095)

dstvtx Specification of transfer destination model coordinates (X,Y,Z,W) (The range of each model coordinate; range of single-precision floating point)

w Horizontal width pixel count in rectangular area (1 to 4096)

h Line count in rectangular area (1 to 4096) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

Page 415: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

415

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function writes bitmaps to the drawing frame by transferring the rectangular block. This function draws the bitmap to the position concentrating on the post-MVP transformation coordinate of the coordinate specified using the argument dstvtx. The transfer source is the current drawing frame in the graphics memory.

When either w or h is “0”, this function sets GDC_TRUE to the return value and then returns without executing anything.

When either w or h is greater than 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

When a value outside the setting valid range for the coordinates (x,y) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything..

The X and Y of the transfer destination model coordinates is defined as a range of single-precision floating point, but the actual valid range is from 0.0f to 4095.0f for each of the coordinates, respectively. Operation is not guaranteed when a coordinate outside this range is specified.

When the X of the transfer destination model coordinate is the same as the x coordinate at the upper left of the rectangular area in the transfer source, or when the Y of the transfer destination model coordinate is the same as the y coordinate at the upper left of the rectangular area in the transfer source, this function sets GDC_TRUE to the return value and then returns without executing anything.

Page 416: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

416

FUJITSU CONFIDENTIAL

�������� *GF*HR%OW&RS\$OW����7UDQVIHUULQJ�5HFWDQJOH�EHWZHHQ�$UELWUDU\�)UDPHV�ZLWK�093�7UDQVIRUPDWLRQ!�

>)RUPDW@�

GDC_BOOL *GF*HR%OW&RS\$OW (

GDC_CTX *GUYFW[,

GDC_ULONG [,

GDC_ULONG \,

GDC_VTX4F GVWYW[�

GDC_ULONG Z,

GDC_ULONG K,

GDC_ULONG VDGU,

GDC_ULONG VVWULGH,

GDC_ULONG GDGU,

GDC_ULONG GVWULGH

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

x x coordinate in drawing frame of transfer source (0 to 4095)

y y coordinate in drawing frame of transfer source (0 to 4095)

dstvtx Specification of transfer destination model coordinates (X,Y,Z,W)

(The range of each model coordinate; range of single-precision floating point)

w Horizontal width pixel count in rectangular area (1 to 4096)

h Line count in rectangular area (1 to 4096)

sadr Address of origin in transfer source frame

(Specify using the offset address from the starting of the graphics memory.

0x00100000 to 0x0FFFFFF8(*), an 8-byte aligned value)

sstride Stride (frame width pixel count; 2 to 4096) of transfer source frame

dadr Address of origin in drawing destination frame

(Specify using the offset address from the starting of the graphics memory.

0x00100000 to 0x0FFFFFF8(*), an 8-byte aligned value)

dstride Stride of drawing destination frame (frame width pixel count) (2 to 4096)

(*) Maximum size that can be handled by Carmine. This value varies depending on the system to be used.

Page 417: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

417

FUJITSU CONFIDENTIAL

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an

arguments drvctx, sstride, or dstride. GDC_ERR_ILLEGAL_STRIDE_ALIGN The alignment of stride is illegal. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

sadr or dadr. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function writes bitmaps to the drawing frame by transferring the rectangular block. This function draws the bitmap to the position concentrating on the post-MVP transformation coordinate of the coordinate specified using the argument dstvtx. The transfer source and the drawing destination are arbitrary drawing frames in the graphics memory. The color mode of the transfer source must be the same as that of the drawing destination. The rectangular areas of transfer source and the drawing destination cannot overlap.

When either w or h is “0”, this function sets GDC_TRUE to the return value and then returns without executing anything.

When either w or h is greater than 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

When a value outside the setting valid range for the coordinates (x0,y0) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

The value of the arguments sstride and dstride must be an 8-byte aligned value. Otherwise, this function sets the error code GDC_ERR_ILLEGAL_STRIDE_ALIGN, sets GDC_FALSE to the return value to and then returns.

The X and Y of the transfer destination model coordinates is defined as a range of single-precision floating point, but the actual valid range is from 0.0f to 4095.0f for each of the coordinates, respectively. Operation is not guaranteed when a coordinate outside this range is specified.

>1RWH@�

The VRAM size can be got using the *GF6\V4XHU\&KLS,QIR�� function.

Page 418: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

418

FUJITSU CONFIDENTIAL

�������� *GF*HR%OW'UDZ>�������@����7UDQVIHUULQJ�5HFWDQJOH�IURP�0DLQ�0HPRU\�WR�&XUUHQW�'UDZLQJ�)UDPH�ZLWK�093�7UDQVIRUPDWLRQ!�

>)RUPDW@�

GDC_BOOL *GF*HR%OW'UDZ� (

GDC_CTX *GUYFW[,

GDC_VTX4F GVWYW[�

GDC_ULONG Z,

GDC_ULONG K,

const GDC_IDX8 *OS5HFW�

)

GDC_BOOL *GF*HR%OW'UDZ���(

GDC_CTX *GUYFW[,

GDC_VTX4F GVWYW[�

GDC_ULONG Z,

GDC_ULONG K,

const GDC_COLOR16 *OS5HFW�

)

GDC_BOOL *GF*HR%OW'UDZ�� (

GDC_CTX *GUYFW[,

GDC_VTX4F GVWYW[�

GDC_ULONG Z,

GDC_ULONG K,

const GDC_COLOR32 *OS5HFW�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

dstvtx Specification of drawing destination model coordinates (X,Y,Z,W)

(The range of each model coordinate; range of single-precision floating point)

w Horizontal width pixel count in rectangular area (8 to 4096)

h Line count in rectangular area (8 to 4096)

lpRect Pointer to rectangular pattern data (Valid value in a system using other than “NULL”)

Page 419: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

419

FUJITSU CONFIDENTIAL

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or lpRect. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function writes bitmaps to the drawing frame by transferring the rectangular block. This function draws the bitmap to the position concentrating on the post-MVP transformation coordinate of the coordinate specified using the argument dstvtx. The transfer source is the main memory.

The data format of OS5HFW is handled assuming that it contains the data packed in the same format as the drawing frame color mode. The lpRect and the color mode of drawing frame must be the same.

When w exceeds 4096, an error occurs.

When either w or h is “0”, this function sets GDC_TRUE to the return value and then returns without executing anything.

The X and Y of the transfer destination model coordinates is defined as a range of single-precision floating point, but the actual valid range is from 0.0f to 4095.0f for each of the coordinates, respectively. Operation is not guaranteed when a coordinate outside this range is specified.

Page 420: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

420

FUJITSU CONFIDENTIAL

�������� *GF*HR%OW)LOO����)LOOLQJ�5HFWDQJXODU�$UHD�ZLWK�093�7UDQVIRUPDWLRQ!�

>)RUPDW@�

GDC_BOOL *GF*HR%OW)LOO�(

GDC_CTX *GUYFW[,

GDC_VTX4F GVWYW[��

GDC_ULONG Z,

GDC_ULONG K�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

dstvtx Specification of drawing destination model coordinates (X,Y,Z,W) (The range of each model coordinate; range of single-precision floating point)

w Horizontal width pixel count in rectangular area (1 to 4096)

h Line count in rectangular area (1 to 4096)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE� Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

Page 421: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

421

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function fills the rectangular area with the foreground color set in the *GF&RORUL��� function. This function draws the bitmap to the position concentrating on the post-MVP transformation coordinate of the coordinate specified using the argument dstvtx.

When either w or h is “0”, this function sets GDC_TRUE to the return value and then returns without executing anything.

When either w or h is greater than 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

The X and Y of the transfer destination model coordinates is defined as a range of single-precision floating point, but the actual valid range is from 0.0f to 4095.0f for each of the coordinates, respectively. Operation is not guaranteed when a coordinate outside this range is specified.

Page 422: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

422

FUJITSU CONFIDENTIAL

�������� *GF*HR%OW&RS\$OW$OSKD0DS����7UDQVIHUULQJ�5HFWDQJOH�ZLWK�093�7UDQVIRUPDWLRQ�8VLQJ�$OSKD�0DS!�

>)RUPDW@�

GDC_BOOL GdcGeoBltCopyAltAlphaMap (

GDC_CTX *GUYFW[,

GDC_ULONG [,

GDC_ULONG \,

GDC_VTX4F GVWYW[�

GDC_ULONG Z,

GDC_ULONG K,

GDC_ULONG VDGU,

GDC_ULONG VVWULGH,

GDC_ULONG DDGU

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

x x coordinate in drawing frame of transfer source (0 to 4095)

y y coordinate in drawing frame of transfer source (0 to 4095)

dstvtx Specification of transfer destination model coordinates data (X,Y,Z,W) (The range of each model coordinate; range of single-precision floating point)

w Horizontal width pixel count in rectangular area (1 to 4096)

h Line count in rectangular area (1 to 4096)

sadr Address of origin in transfer source frame

(Specify using the offset address from the starting of the graphics memory.

0x00100000 to 0x0FFFFFF8(*), an 8-byte aligned value)

sstride Stride of transfer source frame (frame width pixel count) (2 to 4096)

aadr Starting address of alpha map area

(Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFF8(*), an 8-byte aligned value)

(*1) Maximum size that can be handled by Carmine. This value varies depending on the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 423: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

423

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or sstride. GDC_ERR_ILLEGAL_STRIDE_ALIGN The alignment of stride is illegal. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

sadr or aadr. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function alpha-blends the transfer source rectangular area specified using src, x, y, w and h, by using the alpha map area, and then copies the execution result to the position concentrating on the post-MVP transformation coordinate of the coordinate specified using the argument dstvtx. The transfer destination is the current drawing frame. At this time, this function uses the rectangular area of w and h as the alpha map area, from the address specified using aadr as the alpha factor.

The execution result is clipped within the current drawing frame. Also, when clipping is enabled using the *GF&OLS0RGH�� function, the execution result is clipped within the clip range set using the *GF'UDZ&OLS)UDPH�� function.

When either w or h is “0”, this function sets GDC_TRUE to the return value and then returns without executing anything.

When either w or h is greater than 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

When a value outside the setting valid range for the coordinates (x,y) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything

The argument sstride must be an 8-byte aligned value. Otherwise, this function sets the error code GDC_ERR_ILLEGAL_STRIDE_ALIGN, sets GDC_FALSE to the return value to and then returns.

The X and Y of the transfer destination model coordinates is defined as a range of single-precision floating point, but the actual valid range is from 0.0f to 4095.0f for each of the coordinates, respectively. Operation is not guaranteed when a coordinate outside this range is specified.

>1RWH@�

When the transfer source area and the drawing destination area overlap even slightly, correct copying cannot be performed.

The setting of logical operation is ignored.

When transparent mode is enabled, transparent processing is performed first.

The specification of alpha blend is ignored when this function fills the rectangular area.

The stride of the alpha map area is set to the same value as the transfer horizontal pixel count.

The VRAM size can be got using the *GF6\V4XHU\&KLS,QIR�� function.

Page 424: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

424

FUJITSU CONFIDENTIAL

�������� *GF*HR%OW)LOO$OSKD0DS����)LOOLQJ�5HFWDQJXODU�$UHD�ZLWK�093�7UDQVIRUPDWLRQ�8VLQJ�$OSKD�0DS�!�

>)RUPDW@�

GDC_BOOL *GF*HR%OW)LOO$OSKD0DS (

GDC_CTX *GUYFW[,

GDC_VTX4F GVWYW[�

GDC_ULONG Z,

GDC_ULONG K��

GDC_ULONG DDGU

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

dstvtx Specification of drawing destination model coordinates data (X,Y,Z,W) (The range of each model coordinate; range of single-precision floating point)

w Horizontal width pixel count in rectangular area (1 to 4096)

h Line count in rectangular area (1 to 4096)

aadr Starting address of alpha map area

(Specify using the offset address from the starting of the graphics memory.

0x00100000 to 0x0FFFFFF8(*), an 8-byte aligned value)

(1) Maximum size that can be handled by Carmine. This value varies depending on the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

aadr. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

Page 425: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

425

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function fills the rectangular area with the foreground color set in the *GF&RORUL�� function while performing alpha blending for each pixel using the alpha map. This function draws to the position concentrating on the post-MVP transformation coordinate of the coordinate specified using the argument dstvtx.

When either w or h is “0”, this function sets GDC_TRUE to the return value and then returns without executing anything.

When either w or h is greater than 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

The alpha map is the alpha blend ratio data area of the same XY size as the fill area. It consists of the 8-bit alpha blend ratio corresponding to each pixel.

The X and Y of the transfer destination model coordinates is defined as a range of single-precision floating point, but the actual valid range is from 0.0f to 4095.0f for each of the coordinates, respectively. Operation is not guaranteed when a coordinate outside this range is specified.

>1RWH@�

The specification of the alpha blend is ignored when this function fills the rectangular area.

The specification of the logical operation is ignored when this function fills the rectangular area.

When transparent mode is enabled, transparent processing is performed first.

The drawing destination is the current drawing frame.

The stride of the alpha map area is set to the same value as the transfer horizontal pixel count.

The VRAM size can be got using the *GF6\V4XHU\&KLS,QIR�� function.

Page 426: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

426

FUJITSU CONFIDENTIAL

�������� *GF*HR%OW&RS\&RPSUHVVHG����7UDQVIHUULQJ�5HFWDQJOH�ZLWK�093�7UDQVIRUPDWLRQ�RI�&RPSUHVVHG�'DWD!�

>)RUPDW@�

GDC_BOOL *GF*HR%OW&RS\&RPSUHVVHG (

GDC_CTX *GUYFW[,

GDC_ULONG VDGU�

GDC_VTX4F GVWYW[�

GDC_ULONG Z,

GDC_ULONG K��

GDC_ULONG GDGU,

GDC_ULONG GVWULGH�

) >$UJXPHQW@�

drvctx Pointer to the context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

sadr Address where compressed pattern data of transfer source is stored

(Specify using the offset address from the starting of the graphics memory.) (0x00100000 to 0x0FFFFFF8(*), an 8-byte aligned value)

dstvtx Specification of transfer destination model coordinates data (X,Y,Z,W) (The range of each model coordinate; range of single-precision floating point)

w Horizontal width pixel count in expanded transfer rectangular area (8 to 4096; multiple of “8”)

h Line count in expanded transfer rectangular area (8 to 4096; multiple of “8”)

dadr Address of origin in drawing frame of transfer destination

(Specify using the offset address from the starting of the graphics memory.) (0x00100000 to 0x0FFFFFF8(*), an 8-byte aligned value)

dstride Frame width pixel count in drawing frame of transfer destination (2 to 4096) (*) Maximum size that can be handled by Carmine. This value varies depending on the system to be used. >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 427: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

427

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx or dstride. GDC_ERR_ILLEGAL_STRIDE_ALIGN� The alignment of stride is illegal. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

sadr or dadr. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function expands and copies the compressed-format pattern data. This function draws to the position concentrating on the post-MVP transformation coordinate of the coordinate specified using the argument dstvtx.

When either w or h is less than 8 or greater than 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

The value of the argument dstride must be an 8-byte aligned value. Otherwise, this function sets the error code GDC_ERR_ILLEGAL_STRIDE_ALIGN, sets GDC_FALSE to the return value to and then returns.

The X and Y of the transfer destination model coordinates is defined as a range of single-precision floating point, but the actual valid range is from 0.0f to 4095.0f for each of the coordinates, respectively. Operation is not guaranteed when a coordinate outside this range is specified.

>1RWH@�

When the transfer source area and the drawing destination area overlap even slightly, correct copying cannot be performed.

The color mode of the transfer source must be the same as that of the drawing destination.

The transfer destination is an arbitrary drawing frame in the graphics memory.

The VRAM size can be got using the *GF6\V4XHU\&KLS,QIR�� function.

Page 428: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

428

FUJITSU CONFIDENTIAL

�������� *GF*HR%OW&RS\&RPS$OSKD0DS����7UDQVIHUULQJ�5HFWDQJOH�ZLWK�093�7UDQVIRUPDWLRQ�8VLQJ�$OSKD�0DS�RI�&RPSUHVVHG�'DWD�!�

>)RUPDW@�

GDC_BOOL *GF*HR%OW&RS\&RPS$OSKD0DS (

GDC_CTX *GUYFW[,

GDC_ULONG VDGU�

GDC_VTX4F GVWYW[�

GDC_ULONG Z,

GDC_ULONG K��

GDC_ULONG DDGU�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

sadr Address where compressed pattern data of transfer source is stored

(Specify using the offset address from the starting of the graphics memory. (0x00100000 to 0x0FFFFFF8(*), an 8-byte aligned value)

dstvtx Specification of transfer destination model coordinates data (X,Y,Z,W) (The range of each model coordinate; range of single-precision floating point)

w Horizontal width pixel count in expanded transfer rectangular area (8 to 4096; multiple of “8”)

h Line count in the expanded transfer rectangular area (8 to 4096; multiple of “8”)

aadr Starting address of the alpha map area

(Specify using the offset address from the starting of the graphics memory.

0x00100000 to 0x0FFFFFF8(*), an 8-byte aligned value)

(*) Maximum size that can be handled by Carmine. This value varies depending on the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 429: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

429

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED� The device is not opened. GDC_ERR_ILLEGAL_DIMENSION� The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx. GDC_ERR_OFFSET_ADDRESS_MISS_ALIGN Invalid alignment was specified for an argument

sadr or aadr. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function expands and writes the compressed-format pattern data to the current drawing frame while performing alpha blending for each pixel using the alpha map. This function draws to the position concentrating on the post-MVP transformation coordinate of the coordinate specified using the argument dstvtx.

When either w or h is less than 8 or greater than 4096, this function sets the error code GDC_ERR_ILLEGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

The alpha map is the alpha blend ratio data area of the same XY size as the expanded transfer rectangular area. It consists of the 8-bit alpha blend ratio corresponding to each pixel.

For this function, the alpha map data must also be compressed.

The X and Y of the transfer destination model coordinates is defined as a range of single-precision floating point, but the actual valid range is from 0.0f to 4095.0f for each of the coordinates, respectively. Operation is not guaranteed when a coordinate outside this range is specified.

>1RWH@�

When the transfer source area and the drawing destination area overlap slightly, correct copying cannot be performed.

The color mode of the transfer source must be the same as that of the drawing destination.

The specification of the alpha blend is ignored when this function fills the rectangular area.

The specification of the logical operation is ignored when this function fills the rectangular area.

When transparent mode is enabled, transparent processing is performed first.

The drawing destination is the current drawing frame.

The stride of the alpha map area is set to the same value as the transfer horizontal pixel count.

The VRAM size can be got using the *GF6\V4XHU\&KLS,QIR�� function.

Page 430: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

430

FUJITSU CONFIDENTIAL

����� %LW�3DWWHUQ�'UDZLQJ�)XQFWLRQV�

������� *GF%LW3DWWHUQ'UDZ%\WH����'UDZLQJ�%LW�3DWWHUQ!�

>)RUPDW@�

GDC_BOOL *GF%LW3DWWHUQ'UDZ%\WH (

GDC_CTX *GUYFW[,

GDC_ULONG [�,

GDC_ULONG \�,

GDC_LONG [�,

GDC_LONG \�,

GDC_ULONG Z,

GDC_ULONG K,

const GDC_UCHAR *VDGU,

GDC_ULONG PZLGWK�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

x0 x coordinate of transfer source of bit pattern data (in bits; 0 to (2048 – w))

y0� y coordinate of transfer source of bit pattern data (in bits; 0 to 4095)

x1 x coordinate in drawing frame where upper left of bit pattern is to be drawn

(-4096 to 4095)

y1� y coordinate in drawing frame where upper left of bit pattern is to be drawn

(-4096 to 4095)

w Width of bit pattern data (in bits; 8 to 2048)

h Height of bit pattern data (in bits; 8 to 4096)

sadr Pointer to bit pattern data (Valid value in a system using other than “NULL”)

mwidth Horizontal memory width of area in which bit pattern data is stored (in bytes; 1 to 256) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 431: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

431

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, sadr, or mwidth. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function draws a pattern of the rectangular area represented by the coordinates (x0,y0) and coordinates (x0+w,y0+h) in the bit pattern, to the drawing frame. The bit pattern data pointed to by sadr must be byte-format data packed in 8-pixel units. When the bit pattern is “1”, the pixel corresponding to each bit position is drawn with the foreground color set using the *GF&RORU>L�I@�� function; when the bit pattern is “0”, it is drawn with the background color set using the *GF%DFN&RORU�� function.

When w exceeds 2048, this function sets the error code GDC_ERR_ILLGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

When x0+w is greater than mwidth*8, this function sets the error code GDC_ERR_INVALID_PARAMETER and sets GDC_FALSE to the return value, and then returns.

When a value outside the setting valid range for the coordinates (x0,y0) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

When a value outside the setting valid range for the coordinates (x1,y1) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

A signed 32-bit integer value can be specified for the coordinates (x1,y1) of the drawing destination, but drawing is performed in the range of 0 to 4095 for the coordinates (x1,y1), respectively.

>1RWH@�

Operation is not guaranteed when other than the *GF&RORUL�� function is set when the color mode is 8BPP. When the color mode is 8BPP, set the foreground color using the *GF&RORUL�� function.

Page 432: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

432

FUJITSU CONFIDENTIAL

������� *GF*HR%LW3DWWHUQ'UDZ%\WH����'UDZLQJ�%LW�3DWWHUQ�ZLWK�093�7UDQVIRUPDWLRQ!�

>)RUPDW@�

GDC_BOOL *GF*HR%LW3DWWHUQ'UDZ%\WH (

GDC_CTX *GUYFW[,

GDC_ULONG [,

GDC_ULONG \,

GDC_VTX4F GVWYW[��

GDC_ULONG Z,

GDC_ULONG K,

const GDC_UCHAR *VDGU,

GDC_ULONG PZLGWK�

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

x x coordinate of transfer source of bit pattern data (in bits; 0 to (2048 – w))

y y coordinate of transfer source of bit pattern data (in bits; 0 to 4095)

dstvtx Specification of transfer destination model coordinates data (X,Y,Z,W) (The range of each model coordinate; range of single-precision floating point)

w Width of bit pattern data (in bits; 8 to 2048)

h Height of bit pattern data (in bits; 8 to 4096)

sadr Pointer to bit pattern data (Valid value in a system using other than “NULL”)

mwidth Horizontal memory width of area in which bit pattern data is stored (in bytes; 1 to 256) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 433: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

433

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_ILLEGAL_DIMENSION The vertical or horizontal size of the image data

is illegal. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, sadr, or mwidth. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function draws a pattern of the rectangular area represented by the coordinates (x,y) and coordinates (x+w,y+h) in the bit patter, to the drawing frame. This function draws to the position concentrating on the post-MVP transformation coordinate of the coordinate specified using the argument dstvtx. The bit pattern data pointed to by sadr must be byte-format packed in 8-pixel units. When the bit pattern is “1”, the pixel corresponding to each bit position is drawn with the foreground color set using the *GF&RORUL�� function; when the bit pattern is “0”, it is drawn with the background color set using the *GF%DFN&RORU���function.

When w exceeds 2048, this function sets the error code GDC_ERR_ILLGAL_DIMENSION and sets GDC_FALSE to the return value, and then returns.

When x+w is greater than mwidth*8, this function sets the error code GDC_ERR_INVALID_PARAMETER and sets GDC_FALSE to the return value, and then returns.

When a value outside the setting valid range for the coordinates (x,y) is specified, this function sets GDC_TRUE to the return value and then returns without executing anything.

The X and Y of the transfer destination model coordinates is defined as a range of single-precision floating point, but the actual valid range is from 0.0f to 4095.0f for each of the coordinates, respectively. Operation is not guaranteed when a coordinate outside this range is specified.

Page 434: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

434

FUJITSU CONFIDENTIAL

����� 'LUHFW�'DWD�7UDQVIHU�)XQFWLRQV�

������� *GF'LUHFW/RDG����7UDQVIHUULQJ�'LUHFW�'DWD�WR�*UDSKLFV�0HPRU\!�

>)RUPDW@�

GDC_BOOL *GF'LUHFW/RDG (

GDC_CTX *GUYFW[,

const void *GDWD,

GDC_ULONG DGUV,

GDC_ENUM W\SH,

GDC_ULONG VL]H

) >$UJXPHQW@�

drvctx Pointer to context area (0xXXXXXXXX. Valid value in a system using other than “NULL”)

data Pointer to transfer data (0xXXXXXXXX. Valid value in a system using other than “NULL”)

adrs Address in graphics memory where data is stored

(Specify using the offset address from the starting of the graphics memory. 0x00100000 to 0x0FFFFFFF(*1), an 8-byte aligned value)

type Format of transferred data

*'&B��%33B)250$7�� �����32-bit format

*'&B��%33B)250$7�� �����16-bit format

*'&B�%33B)250$7�� ����8-bit format

size Data size (in bytes) (0x00000001 to 0xFFFFFFFF(*2), when the argument type is GDC_32BPP_FORMAT, a 4-byte aligned value; when the argument type is GDC_16BPP_FORMAT, a 2-byte aligned value)

(*1) Maximum size that can be handled by Carmine. This value varies depending on the system to

be used.

(*2) The valid range varies depending on the system to be used.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

Page 435: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

435

FUJITSU CONFIDENTIAL

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The device is not opened. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

drvctx, data, adrs, type, or size. GDC_ERR_ILLEGAL_SIZE_ALIGN The alignment of the argument size is illegal. GDC_ERR_DRAWQUEUE_FULL The drawing queue has no free space. GDC_ERR_ILLEGAL_DRAWQUEUE Nonexistent drawing queue was specified. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function directly (does not use DL) loads the data specified using the argument data to the graphics memory.

>1RWH@�

When loading compressed texture data using this function:

The compressed texture is always interpreted as RGBA format irrespective of setting of the color. When compressing the texture, convert the texture first so that it is in RGBA format. When using mipmap, put the texture data of each scale for the mipmap together into one compressed texture data.

Timing with processing by DL:

This function directly (does not use DL) loads data to the graphics memory. Therefore, to synchronize the timing internally with DL processing, this function transfers the DL stored in the current DL buffer, waits for the completion of drawing using the *GF:DLW'UDZ&RPSOHW�� function, and then directly loads data via the CPU. When the current DL buffer is empty, this function waits for the completion of the last drawing. When sharing the same memory area with other context, wait for the completion of drawing by other context and then use this function.

When data is loaded outside the allocated memory area, memory may be damaged.

Page 436: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

436

FUJITSU CONFIDENTIAL

����� 9LGHR�&DSWXUH�&RQWURO�)XQFWLRQ�

������� *GF&DS*HW5HVRXUFH����*HWWLQJ�9LGHR�&DSWXUH�5HVRXUFH!�

>)RUPDW@�

GDC_BOOL�*GF&DS*HW5HVRXUFH�(GDC_ENUM FDSWXUH, GDC_ULONG RSWLRQ) >$UJXPHQW@�

capture Specification of capture resource

� *'&B&$3B&$3785(B��� ���� Capture 0

� *'&B&$3B&$3785(B��� ���� Capture 1

option Options when using video capture

*'&B&$3B12B237,21� � No options

*'&B&$3B5*%B,1387� � RGB input >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

caputure. GDC_ERR_RESOURCE_BUSY Required resource is busy. GDC_ERR_INVALID_PARAMETER� Invalid parameter was specified for an argument

option.�GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function gets resource required when capturing video. Always execute this function for each resource only once before using video capture.

When using RGB format input when capturing video, specify GDC_CAP_RGB_INPUT to option.

The video capture control function (*GF&DS function) can be executed only in a process that got a resource using this function. When the video capture function is used in other processes, release the resource using the *GF&DS5HO5HVRXUFH�� function.

Page 437: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

437

FUJITSU CONFIDENTIAL

������� *GF&DS5HO5HVRXUFH����5HOHDVLQJ�9LGHR�&DSWXUH�5HVRXUFH!�

>)RUPDW@�

GDC_BOOL�*GF&DS5HO5HVRXUFH�(GDC_ENUM FDSWXUH) >$UJXPHQW@�

capture Specification of capture resource

� *'&B&$3B&$3785(B��� ���� Capture 0

� *'&B&$3B&$3785(B��� ���� Capture 1 >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available. *DC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function releases the resource got using the *GF&DS*HW5HVRXUFH function. Call this function at the timing when the use of the video capture resource ends.

Page 438: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

438

FUJITSU CONFIDENTIAL

������� *GF&DS&DSWXUH$UHD����6HWWLQJ�9LGHR�&DSWXUH�$UHD!�

>)RUPDW@�

GDC_BOOL *GF&DS&DSWXUH$UHD (GDC_ENUM FDSWXUH ,

GDC_ULONG VUFB[�, GDC_ULONG VUFB\�, GDC_ULONG VUFB[�, GDC_ULONG VUFB\�, GDC_ULONG GHVWBZ, GDC_ULONG GHVWBK)

>$UJXPHQW@�

capture Specification of capture resource

*'&B&$3B&$3785(B��� ���� Capture 0�*'&B&$3B&$3785(B��� ���� Capture 1�

src_x0 x coordinate at top left of area clipped from input image (0 to input image width)

src_y0 y coordinate at top left of area clipped from input image (0 to input image height)

src_x1 x coordinate at lower right of area clipped from input image (1 to input image width)

src_y1 y coordinate at lower right of area clipped from input image (1 to input image height)

dest_w Image width after scaling (pixel) (2 to 4096)

dest_h Image height after scaling (pixel) (1 to 4096)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for arguments

src_x0, src_y0, src_x1, src_y1, dest_w, and dest_h.�

GDC_ERR_ILLEGAL_CAPTURE_SCALE Illegal video capture scale was specified.

Page 439: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

439

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets target image range of video capture and image size after scaling.

When a value is set that will result in either a width or height of 2048 times or greater after scaling, this function sets the error code GDC_ERR_ILLEGAL_CAPTURE_SIZE, and returns GDC_FALSE to the return value.

>1RWH@�

The enlargement processing performed by this function uses the function of the display controller. Therefore, when specifying the input port capture0, the output port display0 is used; when specifying the input port capture1, the output port display1 is used.

Page 440: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

440

FUJITSU CONFIDENTIAL

������� *GF&DS*HW,PDJH$GGUHVV����*HWWLQJ�6WDUWLQJ�$GGUHVV�RI�9LGHR�&DSWXUH�,PDJH!�

>)RUPDW@�

GDC_BOOL *GF&DS*HW,PDJH$GGUHVV (GDC_ENUM FDSWXUH , GDC_ULONG *DGGUHVV) >$UJXPHQW@�

capture Specification of capture resource

*'&B&$3BFDSWXUHB��� ���� Capture 0 JGFBFDSBFDSWXUHB��� ���� Capture 1

address Pointer to starting address of video capture image 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

address. >'HVFULSWLRQ@�

This function gets the starting address (value of the L1DA register) of the video capture image.

While executing video capture, the starting address of the video capture image is changed dynamically. Therefore, before executing this function, stop video capture using the *GF&DS6WRS9LGHR&DSWXUH�� function.

>1RWH@�

For the parameter range of the address, its maximum/minimum value may be restricted according to the system to be used.

Page 441: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

441

FUJITSU CONFIDENTIAL

������� *GF&DS$WWU9LGHR����6HWWLQJ�9LGHR�&DSWXUH�0RGHV!�

>)RUPDW@�

GDC_BOOL�*GF&DS$WWU9LGHR�(GDC_ENUM FDSWXUH,

GDC_ULONG WDUJHW, GDC_ULONG SDUDP) >$UJXPHQW@�

capture Specification of capture resource

*'&B&$3B&$3785(B��� ���� Capture 0 *'&B&$3B&$3785(B��� ���� Capture 1

target Target video capture mode

param Parameter corresponding to target >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ���function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available. GDC_ERR_INVALID_ATTRIBUTE Invalid attribute was specified for an argument

target or param. >'HVFULSWLRQ@�

This function sets items on the input source when capturing video. The following parameters can be specified for target and param. “Initial value” indicates a value after resetting the Graphics Controller.

*'&B&$3B9,'(2B6(/(&7� Video type

*'&B&$3B176& NTSC (Default) *'&B&$3B3$/ PAL

*'&B&$3B9B,17(532/$7,21B02'(� Vertical interpolation processing mode

*'&B(1$%/( Interpolates (Default) *'&B',6$%/( Does not interpolate

*'&B&$3B,1387B6(/(&7� Input format

*'&B&$3B,1387B,785%7��� ITU-R BT.656 (Default) *'&B&$3B,1387B5*%��� RGB-666

Page 442: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

442

FUJITSU CONFIDENTIAL

������� *GF&DS$WWU0LVF����6HWWLQJ�9LGHR�&DSWXUH�$WWULEXWH!�

>)RUPDW@�

GDC_BOOL�*GF&DS$WWU0LVF�(GDC_ENUM FDSWXUH,

GDC_ULONG WDUJHW, GDC_ULONG SDUDP) >$UJXPHQW@�

capture Specification of capture resource

*'&B&$3B&$3785(B��� ���� Capture 0 *'&B&$3B&$3785(B��� ���� Capture 1

target Target vide capture attribute

param Parameter corresponding to target >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available. GDC_ERR_INVALID_ATTRIBUTE Invalid attribute was specified for an argument

target or param. >'HVFULSWLRQ@�

This function sets items on video capture buffer. The following parameters can be specified for the arguments target and param. “Initial value” indicates a value after resetting the Graphics Controller.

*'&B&$3B2''B02'(� Specification of capture method

*'&B&$3B(9(1B$1'B2''B02'( Odd number, even number field (Default) *'&B&$3B2''B21/<B02'( Odd number field only

*'&B&$3B&19B02'(� Non-interlace conversion mode

*'&B&$3B&19B%2%B02'( BOB mode (Default) *'&B&$3B&19B:($9(B02'( WEAVE mode

Page 443: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

443

FUJITSU CONFIDENTIAL

*'&B&$3B%8567B02'(� Capture burst mode

*'&B&$3B67$1'$5'B%8567B02'( Standard mode (default) *'&B&$3B/21*B%8567B02'( Long mode

*'&B&$3B5*%B&219(57B02'(� Write format to capture buffer

*'&B&$3B)07B5*% RGB mode *'&B&$3B)07B<& YC mode (Default)

*'&B&$3B%8))(5B02'(� Buffer mode

*'&B&$3B%8)B6,1*/( Single mode *'&B&$3B%8)B5,1* Ring buffer (Default)

Page 444: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

444

FUJITSU CONFIDENTIAL

������� *GF&DS6WDUW9LGHR&DSWXUH����6WDUWLQJ�9LGHR�&DSWXUH!�

>)RUPDW@�

GDC_BOOL�*GF&DS6WDUW9LGHR&DSWXUH�(GDC_ENUM FDSWXUH) >$UJXPHQW@�

capture Specification of capture resource

� *'&B&$3B&$3785(B��� ���� Capture 0

� *'&B&$3B&$3785(B��� ���� Capture 1 >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available. GDC_ERR_CAP_BUF_SIZE Buffer size is insufficient. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function starts video caputure.

When the area size of video capture buffer specified using the *GF&DS%XIIHU���function is insufficient, this function returns an error code GDC_ERR_CAP_BUF_SIZE.

>1RWH@�

The start of video caputure is reserved until VSYNC interrupts, and this function will return immediately. Therefore, when video signal output is stopped when this function is called, video capture is executed when video signal is output and VSYNC interrupt occurs. To enable VSYNC interrupt, use the *GF,QWHUUXSW0DVN��� function, and to output video signal, use the� *GF'LVS2Q���function.

Because the VSYNC interrupt is used only when video capture is started, the VSYNC interrupt can be masked while executing video capture. After returning from this function, use the *GF:DLW96<1&�� function to wait for starting the video capture.

Page 445: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

445

FUJITSU CONFIDENTIAL

������� *GF&DS6WRS9LGHR&DSWXUH����6WRSSLQJ�9LGHR�&DSWXUH!�

>)RUPDW@�

GDC_BOOL�*GF&DS6WRS9LGHR&DSWXUH�(GDC_ENUM FDSWXUH) >$UJXPHQW@�

capture Specification of capture resource

*'&B&$3B&$3785(B��� ���� Capture 0 *'&B&$3B&$3785(B��� ���� Capture 1

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available. GDC_ERR_VSYNC_INTR_MASKED VSYNC interrupt is masked. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function stops video capture. >1RWH@�

The start of video caputure is reserved until VSYNC interrupts, and this function will return immediately. To enable VSYNC interrupt, use the *GF,QWHUUXSW0DVN�� function, and to output video signal, use the�*GF'LVS2Q���function.

Because the VSYNC interrupt is used only when video capture is started, the VSYNC interrupt can be masked while executing video capture. After returning from this function, use the *GF:DLW96<1&�� function to wait for starting the video capture.

Page 446: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

446

FUJITSU CONFIDENTIAL

������� *GF&DS,QSXW'DWD&RXQW176&����6HWWLQJ�9LGHR�&DSWXUH�'DWD�&RXQW�IRU�176&!�

>)RUPDW@�

GDC_BOOL *GF&DS,QSXW'DWD&RXQW176&(GDC_ENUM FDSWXUH,

GDC_ULONG EODQNBGDWD, GDC_ULONG YDOLGBGDWD) >$UJXPHQW@�

capture Specification of capture resource

*'&B&$3B&$3785(B��� ���� Capture 0 *'&B&$3B&$3785(B��� ���� Capture 1

blank_data Horizontal blanking period (Specify with dot clock cycle count) (Initial value; 271)

valid_data Data count of valid period (Specify with dot clock cycle count) (Initial value; 1443)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available.

>'HVFULSWLRQ@�

This function sets data count of input video stream when using the NTSC format.

This function is used to detect input data errors.

When the input data count does not match the value set using this function, an error occurs and the video capture status takes a value other than “0”. Capture continues even if an error occurs.

Use this function before starting video capture (using the *GF&DS6WDUW9LGHR&DSWXUH�� function).

When the input data is NTSC specification, do not change the initial value.

Page 447: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

447

FUJITSU CONFIDENTIAL

�������� *GF&DS,QSXW'DWD&RXQW3$/����6HWWLQJ�9LGHR�&DSWXUH�'DWD�&RXQW�IRU�3$/!�

>)RUPDW@�

GDC_BOOL *GF&DS,QSXW'DWD&RXQW3$/ (GDC_ENUM FDSWXUH,

GDC_ULONG EODQNBGDWD, GDC_ULONG YDOLGBGDWD) >$UJXPHQW@�

capture Specification of capture resource

*'&B&$3B&$3785(B��� ���� Capture 0 *'&B&$3B&$3785(B��� ���� Capture 1

blank_data Horizontal blanking period (Specify with dot clock cycle count. Initial value; 283)

valid_data Data count of valid period (Specify with dot clock cycle count. Initial value;1443) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

blank_data or valid_data. >'HVFULSWLRQ@�

This function sets data count of input video stream when using the PAL format.

This function is used to detect input data errors.

When the input data count does not match the value set using this function, an error occurs and the video capture status takes a value other than “0”. Capture continues even if an error occurs.

Use this function before starting video capture (using the *GF&DS6WDUW9LGHR&DSWXUH�� function).

When the input data is PAL specification, do not change the initial value.

Page 448: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

448

FUJITSU CONFIDENTIAL

�������� *GF&DS/3)0RGH����6HWWLQJ�/RZ�3DVV�)LOWHU�0RGH!�

>)RUPDW@�

GDC_BOOL *GF&DS/3)0RGH (GDC_ENUM FDSWXUH,

GDC_ULONG YOSIB\, GDC_ULONG YOSIBF,

GDC_ULONG KOSIB\, GDC_ULONG KOSIBF)

>$UJXPHQW@�

capture Specification of capture resource

*'&B&$3B&$3785(B��� ���� Capture 0 *'&B&$3B&$3785(B��� ���� Capture 1

vlpf_y Vertical LPF coefficient code for luminance signal 0 to 2 (Initial value; 0)

vlpf_c Vertical LPF coefficient code for chroma signal 0 to 2 (Initial value; 0)

hlpf_y Horizontal LPF coefficient code for luminance signal 0 to 3 (Initial value; 0)

hlpf_c Horizontal LPF coefficient code for chroma signal 0 to 3 (Initial value; 0)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

vlpf_y, vlpf_c, hlpf_c, or hlph_c.

Page 449: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

449

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets mode (calculation formula) for low pass filter (LPF) when capturing video.

Any coefficient in 7DEOH������D can be specified for arguments vlpf_y and vlpf_c.

When the coefficient is “0”, this function outputs data without using the LPF.

The initial values of vlpf_y and vlpf_c�are “0”s.

7DEOH������D� � /3)�&DOFXODWLRQ�)RUPXOD��IRU�vlpf_y�DQG�vlpf_c��

Coefficient LPF Calculation Formula

0 y[i,j] = x[i,j]

1 y[i,j] = x[i,j-1]/4 + x[i,j]/2 + x[i,j+1]/4

2 y[i,j] = x[i,j-1]*3/16 + x[i,j]*5/8 + x[i,j+1]*3/16

Notes: (1) Input pixel value of i-th column and j-th raster

(2) Output pixel value of i-th column and j-th raster

Any coefficient in 7DEOH������E can be specified for arguments hlpf_y and hlpf_c.

When the coefficient is “0”, this function outputs data without using the LPF.

The initial values of hlpf_y and hlpf_c are “0”s.

7DEOH������E� � /3)�&DOFXODWLRQ�)RUPXOD��IRU�hlpf_y�DQG�hlpf_c��

Coefficient LPF Calculation Formula

0 y[i,j] = x[i,j]

1 y[i,j] = x[i-1,j]/4 + x[i,j]/2 + x[i+1,j]/4

2 y[i,j] = x[i-1,j]*3/16 + x[i,j]*5/8 + x[i+1,j]*3/16

3 y[i,j] = x[i-2,j]*3/32 + x[i-1,j]/4 + x[i,j]*5/16+ x[i+1,j]/4 + x[i+2,j]*3/32

Notes: (1) Input pixel value of i-th column and j-th raster

(2) Output pixel value of i-th column and j-th raster

Page 450: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

450

FUJITSU CONFIDENTIAL

�������� *GF&DS5*%,QSXW7LPLQJ����6HWWLQJ�5*%�,QSXW�5DQJH!�

>)RUPDW@�

GDC_BOOL�*GF&DS5*%,QSXW7LPLQJ�(GDC_ENUM FDSWXUH,

GDC_ULONG KF\FOH, GDC_ULONG KVWDUW, GDC_ULONG KDUHD, GDC_ULONG YVWDUW, GDC_ULONG YDUHD )

>$UJXPHQW@�

capture Specification of capture resource

*'&B&$3B&$3785(B��� ���� Capture 0 *'&B&$3B&$3785(B��� ���� Capture 1

hcycle Horizontal cycle (pixel count) 1 to 8192

hstart� Horizontal valid pixel starting position (pixel count) 1 to 1024

harea Horizontal valid pixel count (pixel count) 1 to 4096

vstart� Vertical valid pixel starting position (pixel count) 1 to 1024

varea Vertical valid pixel count (pixel count) 1 to 4096

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available.

>'HVFULSWLRQ@�

This function sets an input range for inputting RGB when using video capture.

For the parameter range, its maximum/minimum value may be restricted according to the system to be used

Page 451: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

451

FUJITSU CONFIDENTIAL

�������� *GF&DS5*%,QSXW6\QF����6HWWLQJ�5*%�,QSXW�6\QFKURQL]DWLRQ�6LJQDO!�

>)RUPDW@�

GDC_BOOL�*GF&DS5*%,QSXW6\QF�(GDC_ENUM FDSWXUH, GDC_ULONG WDUJHW, GDC_ULONG SDUDP)

>$UJXPHQW@�

capture Specification of capture resource

*'&B&$3B&$3785(B��� ���� Capture 0 *'&B&$3B&$3785(B��� ���� Capture 1

target Attribute of target RGB input synchronization signal

param Parameter corresponding to target >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available. GDC_ERR_INVALID_ATTRIBUTE Invalid parameter was specified for an argument

target or param. >'HVFULSWLRQ@�

This function sets synchronization signal for inputting RGB when using video capture. The following parameters can be specified for the arguments target and param.

“Initial value” indicates value after resetting the Graphics Controller.

*'&B&$3B5*%B96<1&B32/$5,7<� VSYNC edge detection mode

*'&B326,7,9(B('*( Rising

*'&B1(*$7,9(B('*( Falling (Initial value)

*'&B&$3B5*%B+6<1&B32/$5,7<� HSYNC edge detection mode

*'&B326,7,9(B('*( Rising

*'&B1(*$7,9(B('*( Falling (Initial value)

Page 452: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

452

FUJITSU CONFIDENTIAL

�������� *GF&DS5*%0DWUL[����6HWWLQJ�5*%�o�<&E&U�7UDQVIRUPDWLRQ�0DWUL[�!�

>)RUPDW@�

GDC_BOOL�*GF&DS5*%0DWUL[�(GDC_ENUM FDSWXUH, const GDC_ULONG *PDWUL[) >$UJXPHQW@�

capture Specification of capture resource

*'&B&$3B&$3785(B��� ���� Capture 0 *'&B&$3B&$3785(B��� ���� Capture 1

matrix Pointer to matrix value to be set

0xXXXXXXXX Valid value in a system using other than “NULL” (Range of matrix elements and default are not determined)

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

matrix. >'HVFULSWLRQ@�

This function specifies transformation parameter for transforming format from RGB to TCbCr, in matrix format when using video capture.

Specify a pointer to the array {m0, m1,…, m11} corresponding to “3 × 4” matrix as follows, for the argument matrix, and describe each element (m0 to m11) in fixed point 8-digit decimal format.

m0 m1 m2 m3

M = m4 m5 m6 m7

m8 m9 m10 m11

Y = m0 *R + m1 *G + m2 *B + m3

Cb = m4 *R + m5 *G + m6 *B + m7

Cr = m8 *R + m9 *G + m10*B + m11

Page 453: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

453

FUJITSU CONFIDENTIAL

The following shows initial values of each element.

m0=0x42, m1=0x80, m2=0x19, m3=0x10

m4=0x3DA, m5=0x3B6, m6=0x70, m7=0x80

m8=0x70, m9=0x3A2, m10=0x3EE, m11=0x80 >1RWH@�

For the parameter range of the matrix, its maximum/minimum value may be restricted according to the system to be used.

Page 454: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

454

FUJITSU CONFIDENTIAL

�������� *GF&DS*HW(UURU6WDWXV����*HWWLQJ�9LGHR�&DSWXUH�(UURU�6WDWXV!�

>)RUPDW@�

GDC_BOOL�*GF&DS*HW(UURU6WDWXV (GDC_ENUM FDSWXUH, GDC_ULONG *VWDWXV) >$UJXPHQW@�

capture Specification of capture resource

*'&B&$3B&$3785(B��� ���� Capture 0 *'&B&$3B&$3785(B��� ���� Capture 1

status� Pointer to video capture error status

0xXXXXXXXX Valid value in a system using other than “NULL” Values of the video capture status (VCS) register are stored in the following format.�

31 • • • 4 3 2 1 0

Undefined • • • x x x x x bit 0 to 4: Error status Other than 00000: Error occurred. All 0s: Error not occurred.

Other bits: Undefined

)LJ�������D� � 9LGHR�&DSWXUH�(UURU�6WDWXV�

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

status. >'HVFULSWLRQ@�

This function reads the video capture status (VCS) register and returns video capture error status. >1RWH@�

For the parameter range of the status, its maximum/minimum value may be restricted according to the system to be used.

Page 455: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

455

FUJITSU CONFIDENTIAL

�������� *GF&DS&OHDU(UURU6WDWXV����&OHDULQJ�9LGHR�&DSWXUH�(UURU�6WDWXV!�

>)RUPDW@�

GDC_BOOL *GF&DS&OHDU(UURU6WDWXV (GDC_ENUM FDSWXUH) >$UJXPHQW@�

capture Specification of capture resource

� *'&B&$3B&$3785(B��� ���� Capture 0

� *'&B&$3B&$3785(B��� ���� Capture 1 >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available.

>'HVFULSWLRQ@�

This function writes “0” to the video capture status (VCS) register and clears video capture status.

Page 456: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

456

FUJITSU CONFIDENTIAL

�������� *GF&DS9LGHR&DSWXUH%XIIHU����6HWWLQJ�9LGHR�&DSWXUH�%XIIHU!�

>)RUPDW@�

GDC_BOOL *GF&DS9LGHR&DSWXUH%XIIHU (GDC_ENUM FDSWXUH,

GDC_ULONG VDGGU, GDC_ULONG HDGGU,

GDC_ULONG VWULGH�)

>$UJXPHQW@�

capture Specification of capture resource

*'&B&$3B&$3785(B��� ���� Capture 0 *'&B&$3B&$3785(B��� ���� Capture 1

saddr Starting address of video capture buffer

Specify using the offset address from the starting of the graphics memory.�The address must be aligned to 16 bytes.�0xXXXXXXXX

eaddr “End address of video capture buffer + 1”

Specify using the offset address from the starting of the graphics memory.� The address must be aligned to 16 bytes.� 0xXXXXXXXX

stride Memory width of video capture buffer (Specify the stride by 64 bytes) 1 to 255

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure

>(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_INVALID_RESOURCE Invalid resource was specified for an argument

capture. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available. GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument

saddr, eaddr, or stride.

Page 457: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

457

FUJITSU CONFIDENTIAL

>'HVFULSWLRQ@�

This function sets video capture buffer. The starting address must be aligned to 16 bytes boundary. Specify “end address of video capture buffer + 1” for the end address. The video capture buffer must be at least the size of the captured image data.

>1RWH@�

For the parameter range of the saddr and eaddr, its maximum/minimum value may be restricted according to the system to be used.

Page 458: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

458

FUJITSU CONFIDENTIAL

����� ,�&�)XQFWLRQ�

������� *GF,�&JHW5HVRXUFH����*HWWLQJ�5HVRXUFH!�

>)RUPDW@�

GDC_BOOL *GF,�&*HW5HVRXUFH�(void) >$UJXPHQW@�

None >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ���function is not called.�GDC_ERR_RESOURCE_BUSY Required resource is busy.�GDC_ERR_ENV_INTERNAL Internal error occurred. (For Coral-PA only)

>'HVFULSWLRQ@�

This function gets resources required when using I2C.

Be sure to execute this function only once before using other I2C control functions (*GF,�& functions).

The I2C control function can be executed only in a process that has got the resource using this function. When other processes use the I2C control function, release the resource using the *GF,�&5HO5HVRXUFH�� function.

>1RWH@�

The following functions cannot be used across the processes while I2C is got using this function. When using these functions, release the I2C resource using the *GF,�&5HO5HVRXUFH�� function.

*GF6ZLWFK'UDZ4XHXH (For Coral PA only)

Page 459: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

459

FUJITSU CONFIDENTIAL

������� *GF,�&UHO5HVRXUFH����5HOHDVLQJ�5HVRXUFH!�

>)RUPDW@�

GDC_BOOL *GF,�&5HO5HVRXUFH (void) >$UJXPHQW@�

None >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available using the

*GF,�&*HW5HVRXUFH function. GDC_ERR_ENV_INTERNAL Internal error occurred.

>'HVFULSWLRQ@�

This function releases the resource got using the *GF,�&*HW5HVRXUFH function. >1RWH@�

Use this function for only one process or task.

Page 460: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

460

FUJITSU CONFIDENTIAL

������� *GF,�&JHW%XV6WDWXV����*HWWLQJ�%XV�6WDWXV�5HJLVWHU�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF,�&*HW%XV6WDWXV (GDC_ULONG *SDUDP) >$UJXPHQW@�

param Pointer to bus status register value (see )LJ�������D) 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for an argument param.

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called.�GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available using the

*GF,�&*HW5HVRXUFH function. >'HVFULSWLRQ@�

This function reads the bus status register (BSR) and stores it in the argument SDUDP. >1RWH@�

Writing to the BSR is disabled.

Page 461: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

461

FUJITSU CONFIDENTIAL

Bit bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 Reset value L L L L L L L L

bit 7: Detection of start/stop condition 0: Detects stop condition. 1: Detects start condition (bus in use). bit 6: Detection of repeated start condition 0: Repeated start condition is not detected. 1: Start condition was detected again when using bus. bit 5: Detection of arbitration lost 0: Arbitration lost is not detected. 1: Arbitration lost occurred when sending master. bit4: Acknowledge status 0: Without acknowledge 1: With acknowledge bit 3: Data transfer status 0: Receiving status 1: Sending status bit 2: Detection of addressing 0: Not addressed in slave 1: Addressed in slave bit 1: Detection of general call address (00H) 0: General call address is not received in slave. 1: General call address was received in slave. bit 0: Detection of first byte 0: Received data is other than first byte. 1: Received data is first byte (address data).

)LJ�������D� � %XV�6WDWXV�5HJLVWHU�

Page 462: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

462

FUJITSU CONFIDENTIAL

������� *GF,�&EXV&RQWURO����6HWWLQJ�%XV�&RQWURO�5HJLVWHU!�

>)RUPDW@�

GDC_BOOL *GF,�&%XV&RQWURO (GDC_ULONG SDUDP) >$UJXPHQW@�

param Bus control register value (see )LJ�������E) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called.�GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available using the

*GF,�&*HW5HVRXUFH function. >'HVFULSWLRQ@�

This function writes the argument param to the bus control register (BCR). >1RWH@�

The bus status register has bits that play different roles when reading and writing. The lower 8 bits are used.

Page 463: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

463

FUJITSU CONFIDENTIAL

Bit bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 Reset value L L L L L L L L

bit 7: Bus error interrupt request flag 0: Clears bus error interrupt request flag. 1: Invalid bit 6: Enabling bus error interrupt 0: Disables bus error interrupt. 1: Enables bus error interrupt. bit 5: Generation of start condition 0: Invalid 1: Generates start condition again when transferring master. bit 4: Selection of master/slave 0: Generates stop condition to complete transfer, and then enters slave mode. 1: Enters master mode, and generates start condition to start transferring. bit 3: Enabling acknowledge generation when receiving data 0: Does not generate acknowledge. 1: Generates acknowledge. bit 2: Enabling acknowledge generation when receiving general call address (00H) 0: Does not generate acknowledge. 1: Generates acknowledge. bit 1: Enabling interrupt 0: Interrupt disabled . 1: Interrupt enabled. bit 0: Transfer completion interrupt request flag 0: Clears transfer completion interrupt request flag. 1: Invalid

)LJ�������E� � %XV�&RQWURO�5HJLVWHU��DW�ZULWH��

Page 464: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

464

FUJITSU CONFIDENTIAL

������� *GF,�&JHW%XV&RQWURO����*HWWLQJ�%XV�&RQWURO�5HJLVWHU�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF,�&*HW%XV&RQWURO (GDC_ULONG *SDUDP) >$UJXPHQW@�

param Pointer to bus control register value (see )LJ�������F) 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for the pointer of an argument param.

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called.�GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available using the

*GF,�&*HW5HVRXUFH function. >'HVFULSWLRQ@�

This function reads the BCR and stores it in the argument param. >1RWH@�

The bus status register has bits that play different roles when reading and writing.

Page 465: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

465

FUJITSU CONFIDENTIAL

Bit bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 Reset value L L L L L L L L

bit 7: Bus error interrupt request flag 0: Bus error interrupt is not detected. 1: Invalid start/stop condition was detected at data transfer. bit 6: Enabling bus error interrupt 0: Disables bus error interrupt. 1: Enables bus error interrupt. bit 5: Unused bit 4: Unused bit 3: Enables acknowledge generation when receiving data 0: Does not generate acknowledge. 1: Generates acknowledge. bit 2: Enabling acknowledge generation when receiving general call address (00H) 0: Does not generate acknowledge. 1: Generates acknowledge. bit 1: Enabling interrupt 0: Interrupt disabled 1: Interrupt enabled bit 0: Transfer completion interrupt request flag 0: Transfer not completed

This bit is set when one byte transfer including acknowledge bit is completed and the following conditions are met:

• Bus master • Addressed slave • Received general call address (00H) • Another system in which arbitration lost occurred tried to generate start condition when

using bus

1: Transfer completed

)LJ�������F� � %XV�&RQWURO�5HJLVWHU��DW�UHDG��

Page 466: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

466

FUJITSU CONFIDENTIAL

������� *GF,�&�6HULDO&ORFN����6HWWLQJ�&ORFN�&RQWURO�5HJLVWHU�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF,�&6HULDO&ORFN (GDC_ULONG SDUDP) >$UJXPHQW@�

param� Clock control register value (see )LJ�������G) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available using the

*GF,�&*HW5HVRXUFH function. >'HVFULSWLRQ@�

This function writes value of the argument param to the clock control register (CCR). The lower 7 bits are used.

Bit bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 Reset value − L L − − − − −

Note: Bit 7 is always set to “1” when read.

bit 7: Unused bit 6: Normal/fast mode setting bit 0: 1: bit 5: I2C operation enable bit 0: 1: bit 4 to 0: Serial transfer clock frequency setting bit 0000B to 1111B

)LJ�������G� � &ORFN�&RQWURO�5HJLVWHU�

Page 467: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

467

FUJITSU CONFIDENTIAL

������� *GF,�&JHW6HULDO&RORFN����*HWWLQJ�&ORFN�&RQWURO�5HJLVWHU�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF,�&*HW6HULDO&RORFN (GDC_ULONG *SDUDP) >$UJXPHQW@�

param� Pointer to clock control register value (see )LJ�������G)�0xXXXXXXXX Valid value in a system using other than “NULL”.

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for the pointer of argument param.

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called.�GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available using the

*GF,�&*HW5HVRXUFH function. >'HVFULSWLRQ@�

This function reads the CCR and stores it in the argument param.

Page 468: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

468

FUJITSU CONFIDENTIAL

������� *GF,�&'DWD����6HWWLQJ�'DWD�5HJLVWHU!�

>)RUPDW@�

GDC_BOOL *GF,�&'DWD (GDC_ULONG SDUDP) >$UJXPHQW@�

param Data register value (see )LJ�������H) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available using the

*GF,�&*HW5HVRXUFH function. >'HVFULSWLRQ@�

This function writes value of the argument param to the data register (DAR). The lower 8 bits are used.

Bit bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 Reset value − − − − − − − − Bit name D7 D6 D5 D4 D3 D2 D1 D0

)LJ�������H� � 'DWD�5HJLVWHU�

Page 469: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

469

FUJITSU CONFIDENTIAL

������� *GF,�&JHW'DWD����*HWWLQJ�'DWD�5HJLVWHU�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF,�&*HW'DWD (GDC_ULONG *SDUDP) >$UJXPHQW@�

param� Pointer to data register value�0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for the pointer of an argument param.

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available using the

*GF,�&*HW5HVRXUFH function. >'HVFULSWLRQ@�

This function reads the DAR ()LJ�������H) and stores it in the argument param.

Page 470: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

470

FUJITSU CONFIDENTIAL

�������� *GF,�&�%XV&RQWURO�����6HWWLQJ�%XV�&RQWURO���5HJLVWHU�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF,�&%XV&RQWURO� (GDC_ULONG SDUDP) >$UJXPHQW@�

param� Bus control 2 register value (see )LJ�������I) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available using the

*GF,�&*HW5HVRXUFH function. >'HVFULSWLRQ@�

This function writes value of the argument param to the bus control 2 register (BC2R) value. >1RWH@�

The BC2R has bits that play different roles when reading and writing. The lower 2 bits are used.

Bit bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 Reset value − − − 0 − − L L

bit 7: Unused bit 6: Unused bit 5: Unused bit 3: Unused bit 2: Unused bit 1: SDA0 forcibly output 0: Normal operation 1: Forcibly set to “L” bit 0: SCL0 forcibly output 0: Normal operation 1: Forcibly set to “L”

)LJ�������I� � %XV�&RQWURO���5HJLVWHU��DW�ZULWH�

Page 471: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

471

FUJITSU CONFIDENTIAL

�������� *GF,�&*HW�%XV&RQWURO�����*HWWLQJ�%XV�&RQWURO���5HJLVWHU�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF,�&*HW�%XV&RQWURO� (GDC_ULONG *SDUDP) >$UJXPHQW@�

param� Pointer to bus control 2 register value (see )LJ�������J) 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for the pointer of argument param.

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available using the

*GF,�&*HW5HVRXUFH function. >'HVFULSWLRQ@�

This function reads the BC2R value and stores it in the argument param. >1RWH@�

The BC2R has bits that play different roles when reading and writing.

Page 472: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

472

FUJITSU CONFIDENTIAL

Bit bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 Reset value − − 0 − − − L L 1RWH�� � %LWV����������DQG���DUH�DOZD\V�VHW�WR�´�µ�ZKHQ�UHDG��

bit 7: Unused bit 6: Unused bit 5: Signal level of SDA line after passing through noise filter 0: SDA line is “0” 1: SDA line is “1” bit 4: Signal level of SCL line after passing through noise filter 0: SCL line is “0” 1: SCL line is “1” bit 3: Unused bit 2: Unused bit 1: SDA0 forcibly output 0: Normal operation 1: Forcibly set to “L” bit 0: SCL0 forcibly output 0: Normal operation 1: Forcibly set to “L”

)LJ�������J� � %XV�&RQWURO���5HJLVWHU��DW�UHDG��

Page 473: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

473

FUJITSU CONFIDENTIAL

�������� *GF,�&([W6HULDO&ORFN����6HWWLQJ�([WHQVLRQ�&6�5HJLVWHU�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF,�&([W6HULDO&ORFN (GDC_ULONG SDUDP) >$UJXPHQW@�

param� Extension CS register value (see )LJ�������K) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available using the

*GF,�&*HW5HVRXUFH function. >'HVFULSWLRQ@�

This function writes value of the argument param to the extension CS register (CSR). The lower 8 bits are used.

Bit bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 Reset value L L L L L L L L

bit 7, 6: Test mode 00: Normal mode Other than 00: Test mode bit 5 to 0 Serial transfer clock extension frequency setting bit 00000B to 11111B

)LJ�������K� � ([WHQVLRQ�&6�5HJLVWHU�

Page 474: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

474

FUJITSU CONFIDENTIAL

�������� *GF,�&*HW([W6HULDO&ORFN����*HWWLQJ�([WHQVLRQ�&6�5HJLVWHU�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF,�&*HW([W6HULDO&ORFN (GDC_ULONG *SDUDP) >$UJXPHQW@�

param� Pointer to extension CS register value (see )LJ�������K) 0xXXXXXXXX Valid value in a system using other than “NULL”

>5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for the pointer of argument param.

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available using the

*GF,�&*HW5HVRXUFH function. >'HVFULSWLRQ@�

This function reads the extension CS register (CSR) ()LJ�������K) and stores it in the argument param.

Page 475: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

475

FUJITSU CONFIDENTIAL

�������� *GF,�&%XV&ORFN����6HWWLQJ�%XV�&ORFN�)UHTXHQF\�5HJLVWHU�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF,�&%XV&ORFN (GDC_ULONG SDUDP) >$UJXPHQW@�

param� Bus clock frequency register value (see )LJ�������L) >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available using the

*GF,�&*HW5HVRXUFH function. >'HVFULSWLRQ@�

This function writes value of the argument param to the bus clock frequency register (FSR). The lower 4 bits are used.

Bit bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 Reset value − − − − L L L H

1RWH�� � %LWV���WR���DUH�DOZD\V�VHW�WR�´�µ�ZKHQ�UHDG��

bit 7 4 Unused�bit 3 0 Setting bus clock frequency to be used�

0000B to 1111B

)LJ�������L� � %XV�&ORFN�)UHTXHQF\�5HJLVWHU�

Page 476: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

476

FUJITSU CONFIDENTIAL

�������� *GF,�&*HW%XV&ORFN����*HWWLQJ�%XV�&ORFN�)UHTXHQF\�5HJLVWHU�9DOXH!�

>)RUPDW@�

GDC_BOOL *GF,�&*HW%XV&ORFN (GDC_ULONG *SDUDP) >$UJXPHQW@�

param� Pointer to bus clock frequency register value (see )LJ�������L)�

� 0xXXXXXXXX Valid value in a system using other than “NULL” >5HWXUQ�YDOXH@�

GDC_TRUE Success

GDC_FALSE Failure >(UURU�FRGH@�

GDC_ERR_INVALID_PARAMETER Invalid parameter was specified for the pointer of argument param.

GDC_ERR_DEVICE_NOT_OPENED The *GF6\V2SHQ�� function is not called. GDC_ERR_RESOURCE_NOT_AVAILABLE Resource is not available using the

*GF,�&*HW5HVRXUFH function. >'HVFULSWLRQ@�

This function reads the FSR and stores it in the argument param.

Page 477: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

477

FUJITSU CONFIDENTIAL

����� (UURU�*HWWLQJ)XQFWLRQV�

������� *GF*HW(UU&RGH����*HWWLQJ�(UURU�&RGHV!�

>)RUPDW@�

GDC_ULONG *GF*HW(UU&RGH (GDC_CTX *GUYFW[)

>$UJXPHQW@�

drvctx Pointer to context area (Valid values in the system to be used, or NULL(*1))

>5HWXUQ�YDOXH@�

Error code

>'HVFULSWLRQ@�

This function returns an error code (7DEOH������D) when an API function ends abnormally.

The cause of abnormal end can be got as an error code by calling this function after an API function ends abnormally.

>1RWH@�

Only one error code can be held. When calling this function after calling multiple API functions, the last error is set. However, this function holds error codes separately for API functions that handle contexts and error codes for the other API functions.

Error codes are not cleared automatically. To clear them, use the *GF(UU&RGH�� function to set GDC_ERR_NOERROR.

(*1) When getting an error code for an API function that does not handle contexts, such as the display control function, specify NULL for drvctx.

Page 478: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

478

FUJITSU CONFIDENTIAL

7DEOH������D� � (UURU�&RGH�

Error code Meaning

*'&B(55B12(5525� Normal

*'&B(55B'(9,&(B127B23(1('� � The *GF6\V2SHQ�� function is not called.

*'&B(55B,19$/,'B3$5$0(7(5� � Invalid parameter was specified.

*'&B(55B,19$/,'B',63/$<� Invalid display was specified.

*'&B(55B,19$/,'B$775,%87(� Invalid attribute was specified.

*'&B(55B(19B23(1B)$,/('� An error occurred when opening device.

*'&B(55B(19B*(76<67(0,1)B)$,/('� An error occurred when getting the graphics system information.

*'&B(55B(19B0(00$3B)$,/('� An error occurred when mapping memory.

*'&B(55B(19B0810$3B)$,/('� An error occurred when unmapping memory.

*'&B(55B(19B&/26(B)$,/('� An error occurred when closing device.

*'&B(55B0(0B$//2&B)$,/('� � Memory allocation failed.

*'&B(55B(19B/2&.&5($7(B)$,/('� An error occurred when creating lock.

*'&B(55B(19B/2&.&5(/($6(B)$,/('� An error occurred when canceling lock.

*'&B(55B(19B/2&.&*(7B)$,/('� An error occurred when getting lock.

*'&B(55B(19B/2&.&:$,7B)$,/('� An error occurred when waiting for getting lock.�

*'&B(55B(19B/2&.&'(/(7(B)$,/('� An error occurred when deleting lock.�

*'&B(55B(19B,17(51$/ � Internal error occurred.�

*'&B(55B',633$5$0B127B5($'<� � The *GF'LVS,QLWLDOL]H�� function is not called.

*'&B(55B,19$/,'B/$<(5� Invalid layer was specified.

*'&B(55B96<1&B,175B0$6.('� VSYNC interrupt is masked.

*'&B(55B,19$/,'B25'(5� Invalid display order was specified.

*'&B(55B96<1&8'B86('� Synchronization update function is already in use.

*'&B(55B96<1&8'B(1$%/('� Synchronization update function is already enabled.

*'&B(55B96<1&8'B',6$%/('� Synchronization update function is already disabled.

*'&B(55B127B5($'<� VSYNC synchronization update mode is not enabled.

*'&B(55B'(9,&(B%86<� Writeback is busy.

*'&B(55B,19$/,'B&85625B180%(5� � Invalid cursor number was specified.

*'&B(55B'/B6,=(� DL buffer size is not a multiple of 32 bytes.

*'&B(55B,19$/,'B&2/25B02'(� Invalid color mode was specified.

*'&B(55B,//(*$/B',0(16,21� The vertical or horizontal size of the buffer, drawing frame, or image data is illegal.

*'&B(55B,19$/,'B35,0,7,9(� Invalid primitive was specified.

Page 479: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

479

FUJITSU CONFIDENTIAL

Error code Meaning

*'&B(55B,//(*$/B/,1(B:,'7+� Illegal line width was specified.

*'&B(55B$''5(66B0,66B$/,*1� The starting address of either the context area or DL buffer structure information or DL buffer is not on a 4-byte boundary.

*'&B(55B'/B%8)B722B60$//� The DL buffer size is the minimum size or smaller.

*'&B(55B12B'$7$� The display list does not exist in the DL buffer.

*'&B(55B&21)/,&7B,�&� I2C is being used.

*'&B(55B,19$/,'B7(;785(� Invalid texture was specified.

*'&B(55B3$5$0(7(5B&20%,1$7,21� Invalid parameter combination was specified.

*'&B(55B12B'5$:B',0(16,21� The drawing frame does not exist.

*'&B(55B,//(*$/B675,'(B$/,*1� The alignment of stride of the drawing frame is illegal.

*'&B(55B722B0$1<B7(;785(� The settable texture count was exceeded.

*'&B(55B,//(*$/B180%(5B2)B'/B%8)� An illegal DL buffer total count was specified.

*'&B(55B29(5B'5$:48(8(B0$;� The number of drawing queues that can be added was exceeded.

*'&B(55B,//(*$/B'5$:48(8(� Nonexistent drawing queue was specified.

*'&B(55B'5$:48(8(B)8//� The drawing queue has no free space.

*'&B(55B'5$:B,1B352*5(66� The drawing is in progress.

*'&B(55B'/B,1&203/(7(� The display list in the DL buffer cannot be executed.

*'&B(55B'/B%8)B127B5(6(59('� The specified DL buffer has not been reserved.

*'&B(55B:$,7B'5$:B,1&203/(7(� The drawing queue was reset.

*'&B(55B29(5B'/B%8)B6,=(� The created DL exceeds the DL buffer size.

*'&B(55B2))6(7B$''5(66B0,66B$/,*1� The alignment of the offset address is illegal.

*'&B(55B)8//B'/B%8)B5(6(59('� All the DL buffers other than the current DL buffer are reserved, or there is only one DL buffer.

*'&B(55B&/,3B6,=(� The clip frame size is illegal.

*'&B(55B&/($5B%8))(5B$''5(66� The address of the cleared buffer is illegal.

*'&B(55B,//(*$/B6,=(B$/,*1� The alignment of the data size is illegal.

*'&B(55B,19$/,'B5(6285&(� Invalid resource was specified for an argument capture.

*'&B(55B5(6285&(B127B$9$,/$%/(� The resource is not allocated.

*'&B(55B5(6285&(B%86<� The required resource is in use.

*'&B(55B&$3B%8)B6,=(� The buffer size is insufficient.

*'&B(55B,//(*$/B&$3785(B6,=(� Illegal video capture size was specified.

*'&B(55B,//(*$/B&$3785(B6&$/(� Illegal video capture scale was specified.

*'&B(55B(19B(1$%/(75$16)(5B)$,/('� An error occurred at gdcEnvEnableLocalTransfer.

Page 480: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

480

FUJITSU CONFIDENTIAL

������� *GF(UU&RGH����6HWWLQJ�(UURU�&RGHV!�

>)RUPDW@�

void *GF(UU&RGH (

GDC_CTX *GUYFW[,

GDC_ULONG HUUFRGH�

)

>$UJXPHQW@�

drvctx Pointer to context area (Valid values in used system, or NULL(*1))

errcode Error code (Values shown in 7DEOH������D, or new error codes defined by user (*2))

>5HWXUQ�YDOXH@�

None

>'HVFULSWLRQ@�

This function sets an error code.

Use this function when:

Clearing the error code

Setting the error code of an error that occurred in a system-dependent function.

>1RWH@�

(*1) When setting an error code for an API function that does not handle contexts, such as the display control function, specify NULL for drvctx.

(*2) When defining a new error code, use 0x80000000 or greater for the error code.

Page 481: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

481

FUJITSU CONFIDENTIAL

�� $SSHQGL[�

���� 6L]H�RI�'LVSOD\�/LVWV�0DGH�E\�$3,�)XQFWLRQV�

The following table shows the size (word count (*1)) of display list made by API Functions.

The API functions related to drawing make display lists. API functions not listed in the following table do not make display lists.

(*1) 1word = 4 bytes

7DEOH�����D� � /LVW�RI�'LVSOD\�/LVW�6L]HV�

API function Size [unit: word] Supplement Context operation function *GF&UHDWH&RQWH[W��� � 0 Display list control function *GF)OXVK��� 2 *GF)OXVK([��� � 2 *GF5HVHUYH'/%XIIHU��� � 0 *GF8Q5HVHUYH'/%XIIHU��� � 0 *GF&DQFHO'LVSOD\/LVW��� � 0 *GF6SHFLI\'UDZ4XHXH��� � 0 *GF*HW'/%XIIHU,QIR��� � 0 *GF'/7UDQVIHU0RGH��� � 0 Drawing queue operation function *GF$GG'UDZ4XHXH��� 0 *GF6ZLWFK'UDZ4XHXH��� � 0 *GF&DQFHO'UDZ��� � 0 *GF&DQFHO'UDZ$OO��� � 0 Drawing synchronization function *GF:DLW'UDZ&RPSOHWH��� � 0 *GF3ROO'UDZ&RPSOHWH��� � 0 Drawing frame setting function *GF'UDZ'LPHQVLRQ��� �

8 Executes Flush

processing inside this function.

(Continue)

Page 482: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

482

FUJITSU CONFIDENTIAL

7DEOH�����D� � /LVW�RI�'LVSOD\�/LVW�6L]HV��&RQWLQXHG��

API function Size [unit: word] Supplement Graphics drawing function *GF'UDZ3ULPLWLYH�'���Point drawing (SULP�: *'&B32,176)

2 + 15* point count

*GF'UDZ3ULPLWLYH�'���Line drawing (SULP : *'&B/,1(6)

2+26* line count

*GF'UDZ3ULPLWLYH�'���Polyline drawing (SULP�: *'&B32/</,1()�

15+13* line count

*GF'UDZ3ULPLWLYH�'���Triangle drawing (SULP�: *'&B75,$1*/(6)�

2 + 39* triangle count

*GF'UDZ3ULPLWLYH�'���Triangle strip drawing (SULP���*'&B75,$1*/(B675,3)�

28+13* triangle count

*GF'UDZ3ULPLWLYH�'���Triangle fan drawing (SULP���*'&B75,$1*/(B)$1)�

28+13* triangle count

*GF'UDZ3ULPLWLYH�'���Polygon drawing (SULP�: *'&B32/<*21)�

3 + 3* vertex count

*GF'UDZ3ULPLWLYH�'���Quadrangle drawing (SULP�: *'&B48$'6)�

2 + 52* quadrangle count Only when the input

format is GDC_RGBA_ORDER

*GF'UDZ3ULPLWLYH�'���Quadrangle strip drawing (SULP���*'&B48$'B675,3)�

28+26* quadrangle count Only when the input

format is GDC_RGBA_ORDER

(Continue)

Page 483: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

483

FUJITSU CONFIDENTIAL

7DEOH�����D� � /LVW�RI�'LVSOD\�/LVW�6L]HV��&RQWLQXHG��

API function Size [unit: word] Supplement Graphics drawing function *GF'UDZ3ULPLWLYH�'���Point drawing (SULP�:*'&B32,176) OpenGL mode

8+23* point count

*GF'UDZ3ULPLWLYH�'���Line drawing (SULP : *'&B/,1(6) OpenGL mode

8+46* line count

*GF'UDZ3ULPLWLYH�'���Polyline drawing (SULP�: *'&B32/</,1() OpenGL mode�

31+23* line count

*GF'UDZ3ULPLWLYH�'���Triangle drawing(SULP�: *'&B75,$1*/(6) OpenGL mode�

8+69* triangle count

*GF'UDZ3ULPLWLYH�'���Triangle strip drawing (SULP���*'&B75,$1*/(B675,3) OpenGL mode�

54+23* triangle count

*GF'UDZ3ULPLWLYH�'���Triangle fan drawing (SULP���*'&B75,$1*/(B)$1) OpenGL mode�

54+23* triangle count

*GF'UDZ3ULPLWLYH�'���Polygon drawing (SULP�: *'&B32/<*21) OpenGL mode�

15+23* vertical count

(Continue)

Page 484: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

484

FUJITSU CONFIDENTIAL

7DEOH�����D� � /LVW�RI�'LVSOD\�/LVW�6L]HV��&RQWLQXHG��

API function Size [unit: word] Supplement Graphics drawing function �

*GF'UDZ3ULPLWLYH�'���Quadrangle drawing (SULP�: *'&B48$'6) OpenGL mode�

8+92* quadrangle count �

*GF'UDZ3ULPLWLYH�'���Quadrangle strip drawing (SULP���*'&B48$'B675,3) OpenGL mode�

54+46* quadrangle count �

*GF'UDZ3ULPLWLYH�'���Point drawing (SULP�: *'&B32,176) Coral compatible mode�

8+9* point count

*GF'UDZ3ULPLWLYH�'���Line drawing (SULP : *'&B/,1(6) Coral compatible mode�

8+18* line count

*GF'UDZ3ULPLWLYH�'���Polyline drawing (SULP�: *'&B32/</,1() Coral compatible mode�

17+9* line count

*GF'UDZ3ULPLWLYH�'���Triangle drawing (SULP�: *'&B75,$1*/(6) Coral compatible mode�

8+27* triangle count

*GF'UDZ3ULPLWLYH�'���Triangle strip drawing (SULP���*'&B75,$1*/(B675,3) Coral compatible mode�

26+9* triangle count

(Continue)

Page 485: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

485

FUJITSU CONFIDENTIAL

7DEOH�����D� � /LVW�RI�'LVSOD\�/LVW�6L]HV��&RQWLQXHG��

API function Size [unit: word] Supplement Graphics drawing function *GF'UDZ3ULPLWLYH�'���Triangle fan drawing (SULP��*'&B75,$1*/(B)$1) Coral compatible mode�

26+9* triangle count

*GF'UDZ3ULPLWLYH�'���Polygon drawing (SULP�:*'&B32/<*21) Coral compatible mode�

15+9* vertical count

*GF'UDZ3ULPLWLYH�'���Point drawing (SULP�:*'&B32,176) *'&B,1'(;B(/(0(17B02'(�

10+* point count

*GF'UDZ3ULPLWLYH�'���Line drawing (SULP :*'&B/,1(6) *'&B,1'(;B(/(0(17B02'(�

10+2* line count

*GF'UDZ3ULPLWLYH�'���Polyline drawing (SULP�:*'&B32/</,1() *'&B,1'(;B(/(0(17B02'(�

10+(1+line count)

*GF'UDZ3ULPLWLYH�'���Triangle drawing (SULP�:*'&B75,$1*/(6) *'&B,1'(;B(/(0(17B02'(�

10+3* triangle count

*GF'UDZ3ULPLWLYH�'���Triangle strip drawing (SULP��*'&B75,$1*/(B675,3) *'&B,1'(;B(/(0(17B02'(�

10+(2+ triangle count)

(Continue)

Page 486: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

486

FUJITSU CONFIDENTIAL

7DEOH�����D� � /LVW�RI�'LVSOD\�/LVW�6L]HV��&RQWLQXHG��

API function Size [unit: word] Supplement Graphics drawing function *GF'UDZ3ULPLWLYH�'���Triangle fan drawing (SULP��*'&B75,$1*/(B)$1) *'&B,1'(;B(/(0(17B02'(�

10+(2+ Triangle drawing)

*GF'UDZ3ULPLWLYH�'���Polyline drawing (SULP�:*'&B32/<*21) *'&B,1'(;B(/(0(17B02'(�

17+ vertical count

*GF'UDZ3ULPLWLYH�'���Triangle drawing (SULP�:*'&B48$'6) *'&B,1'(;B(/(0(17B02'(�

10+4* quadrangle count

*GF'UDZ3ULPLWLYH�'���Triangle strip drawing (SULP��*'&B48$'B675,3) *'&B,1'(;B(/(0(17B02'(�

10+(2+2* triangle count)

*GF'UDZ3ULPLWLYH�'���Point drawing (SULP�:*'&B32,176) *'&B,1'(;B$55$<B02'(�

10

*GF'UDZ3ULPLWLYH�'���Line drawing (SULP :*'&B/,1(6) *'&B,1'(;B$55$<B02'(�

10

*GF'UDZ3ULPLWLYH�'���Polyline drawing (SULP�:*'&B32/</,1() *'&B,1'(;B$55$<B02'(�

10

(Continue)

Page 487: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

487

FUJITSU CONFIDENTIAL

7DEOH�����D� � /LVW�RI�'LVSOD\�/LVW�6L]HV��&RQWLQXHG��

API function Size [unit: word] Supplement Graphics drawing function *GF'UDZ3ULPLWLYH�'���Triangle drawing (SULP�:*'&B75,$1*/(6) *'&B,1'(;B$55$<B02'(�

10

*GF'UDZ3ULPLWLYH�'���Triangle strip drawing (SULP��*'&B75,$1*/(B675,3) *'&B,1'(;B$55$<B02'(�

10

*GF'UDZ3ULPLWLYH�'���Triangle fan drawing (SULP��*'&B75,$1*/(B)$1) *'&B,1'(;B$55$<B02'(�

10

*GF'UDZ3ULPLWLYH�'���Polygon drawing (SULP�:*'&B32/<*21) *'&B,1'(;B$55$<B02'(�

17

*GF'UDZ3ULPLWLYH�'���Triangle drawing (SULP�:*'&B48$'6) *'&B,1'(;B$55$<B02'(�

10

*GF'UDZ3ULPLWLYH�'���Triangle strip drawing (SULP��*'&B48$'B675,3) *'&B,1'(;B$55$<B02'(�

10

*GF9HUWH[$UUD\��� � 4 *GF&RORU$UUD\��� 0 *GF7H[&RRUG$UUD\��� � 0 *GF)RJ$UUD\��� � 0 *GF1RUPDO$UUD\��� � 0 *GF%DFN)DFH&RORU$UUD\��� � 0 *GF$OSKD$UUD\��� � 0

(Continue)

Page 488: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

488

FUJITSU CONFIDENTIAL

7DEOH�����D� � /LVW�RI�'LVSOD\�/LVW�6L]HV��&RQWLQXHG��

API function Size [unit: word] Supplement Graphics drawing function *GF7H[&RRUG�'>L�1I�1[@��� � 0 *GF7H[&RRUG�'>1I�1[@��� � 0 *GF%DFN)DFH&RORU>I�L@��� 0 *GF1RUPDO>I@��� � 0 *GF)RJ&RRUG>I@��� 0 *GF%DFN)DFH$OSKD>L�I@��� 0 Drawing attribute setting function *GF&RORU>I�L@��� � 2 *GF%DFN&RORU��� 2 *GF$WWU$UUD\��� � 0 *GF'UDZ&OLS)UDPH��� � 5 *GF&OLS0RGH��� � 2 *GF&OHDU=%XIIHU��� � 24 *GF$OSKD>L�I@��� � 2 *GF5RS0RGH��� � 12 *GF$WWU/LQH��� � 4 *GF/LQH3DWWHUQ��� � 2 *GF$WWU6XUI��� � 2 *GF6KDGRZ;<��� � 2 *GF2YHUODS=��� � 2 *GF6KDGRZ&RORU��� � 2 *GF6KDGRZ%DFN&RORU��� � 2 *GF%RUGHU&RORU��� � 2 *GF%RUGHU%DFN&RORU��� � 2 *GF$WWU7H[WXUH��� � 5 *GF7H[WXUH%RUGHU&RORU��� � 3 *GF$WWU%OW��� � 2 *GF%OW&RORU7UDQVSDUHQW��� � 2 *GF%LW3DWWHUQ0RGH��� � 2 *GF=%XIIHU$GGUHVV��� � 4 *GF3RO\JRQ)ODJ%XIIHU$GGUHVV��� � 11 *GF%OW)RUP&RORU��� � 2

(Continue)

Page 489: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

489

FUJITSU CONFIDENTIAL

7DEOH�����D� � /LVW�RI�'LVSOD\�/LVW�6L]HV��&RQWLQXHG��

API function Size [unit: word] Supplement Drawing attribute setting function *GF%OHQG)XQFWLRQ��� � 2 *GF$OSKD7HVW��� � 4 *GF%OHQG)XQFWLRQ0RGH��� � 2 *GF$OSKD7HVW0RGH��� � 2 *GF6WHQFLO7HVW0RGH��� � 2 *GF6WHQFLO%XIIHU$GGUHVV��� � 2 *GF6WHQFLO7HVW��� � 4 *GF6WHQFLO2SHUDWLRQ��� 2 *GF&RORU:ULWH0DVN��� � 2 *GF&RORU&RGH:ULWH0DVN��� � 2 *GF6WHQFLO%XIIHU:ULWH0DVN��� � 2 *GF)RJ&RORU��� � 2 *GF)RJ7DEOH��� � 65 *GF7H[8QLW%OHQGHU0RGH��� � 2 *GF7H[8QLW3DUDPHWHU��� � 2 *GF7H[%OHQGHU&RQVWDQW��� � 2 *GF=%XIIHU&OHDU9DOXH��� � 0 *GF&OHDU)UDPH%XIIHU��� � 20 *GF)UDPH%XIIHU&OHDU9DOXH��� � 0 *GF&OHDU6WHQFLO%XIIHU��� � 22 *GF6WHQFLO%XIIHU&OHDU9DOXH��� � 0 *GF/LQH:LGWK��� � 2 *GF6HOHFW)RJ3DUDPHWHU��� � 2 Geometry attribute setting function *GF*HR$WWU6XUI��� � 3 *GF*HR/RDG0DWUL[093>I@��� � 17 *GF*HR9LHZSRUW7UDQV;<>I@��� 5 *GF*HR9LHZSRUW7UDQV'HSWK>I@��� � 3 *GF*HR9LHZ9ROXPH;<&OLS>I@��� 5 *GF*HR9LHZ9ROXPH=&OLS>I@��� 3 *GF*HR9LHZ9ROXPH:PLQ&OLS>I@��� 2

(Continue)

Page 490: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

490

FUJITSU CONFIDENTIAL

7DEOH�����D� � /LVW�RI�'LVSOD\�/LVW�6L]HV��&RQWLQXHG��

API function Size [unit: word] Supplement Geometry attribute setting function *GF*HR/RJ2XW%DVH$GGUHVV��� � 2 *GF*HR/RJ2XW0RGH��� � 0 *GF*HR/RDG0DWUL[09>I@��� 5 *GF*HR/RDG0DWUL[,09>I@���� � 10 *GF*HR,QGH[$UUD\��� � 4 *GF*HR$WWU,QGH[$UUD\��� � 0 *GF*HR9HUWH[1XPEHU$UUD\��� � � 2 *GF*HR,QGH[0RGH��� � � 0 *GF*HR3RO\JRQ2IIVHW��� � 3 *GF*HR*OREDO/LJKW��� � � 5 *GF*HR/LJKW��� � � 12 *GF*HR0DWHULDO$UUD\��� � � Minimum value: 5 × vertex count

Maximum value: 30 × vertex count

*GF*HR0DWHULDO��� � � Minimum value: 5 Maximum value: 30

*GF*HR$WWU&RRUG7UDQV��� � 1 *GF*HR1RUPDO6FDOH��� � 2 *GF*HR$WWU/LJKW��� � 1 Texture image management function *GF6SHFLI\7H[WXUH7DEOH��� � � 0 *GF/RDG7H[WXUH��� � � 20+(texture width*texture height) when the

type is GDC_32BPP_FORMAT 20+(texture width*texture height+1)/2 when the type is GDC_16BPP_FORMAT 20+(texture width*texture height+3)/4 when the type is GDC_8BPP_FORMAT

*GF/RDG7H[WXUH'LUHFW��� � �0

Executes Flush processing inside this

function. *GF7H[WXUH/RDG([W��)DVW��� � 20+(texture width*texture height*2) *GF7H[WXUH,PDJH��� � � 4 *GF%LQG7H[WXUH��� � 2 *GF5HOHDVH7H[WXUH��� � 0 *GF*HW7H[WXUH,QIR��� � � 0

(Continue)

Page 491: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

491

FUJITSU CONFIDENTIAL

7DEOH�����D� � /LVW�RI�'LVSOD\�/LVW�6L]HV��&RQWLQXHG��

API function Size [unit: word] Supplement BLT function *GF%OW&RS\��� � 23+(4*line count of rectangular area) *GF%OW&RS\$OW��� 31 *GF%OW'UDZ���� 33+(width pixel count*height+3)/4 *GF%OW'UDZ����� 33+(width pixel count*height+1)/2 *GF%OW'UDZ����� 33+(width pixel count*height) *GF%OW)LOO��� � 30 *GF%OW&RS\$OW$OSKD0DS��� � 30 *GF%OW)LOO$OSKD0DS��� � 29 *GF%OW&RS\&RPSUHVVHG��� 33 *GF%OW&RS\&RPS$OSKD0DS��� 32 *GF*HR%OW&RS\��� � 49+(10*line count of rectangular area) *GF*HR%OW&RS\$OW��� 63 *GF*HR%OW'UDZ���� 69+(width pixel count*height+3)/4 *GF*HR%OW'UDZ����� 69+(width pixel count*height+1)/2 *GF*HR%OW'UDZ����� 69+((width pixel count*height) *GF*HR%OW)LOO��� � 62 *GF*HR%OW&RS\$OW$OSKD0DS��� � 64 *GF*HR%OW)LOO$OSKD0DS��� 63 *GF*HR%OW&RS\&RPSUHVVHG��� 65 *GF*HR%OW&RS\&RPS$OSKD0DS��� � 64 Bit pattern drawing function *GF%LW3DWWHUQ'UDZ%\WH��� � 25+((width pixel count*height

+31)*height)/32

*GF*HR%LW3DWWHUQ'UDZ%\WH��� � 58+((width pixel count*height +31)*height)/32

Execution control function *GF9HUWLFDO6\QF��� � 1 Direct data transfer function *GF'LUHFW/RDG��� �

0 Executes Flush

processing inside this function.

Page 492: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

492

FUJITSU CONFIDENTIAL

Page 493: 9 bold: Parameter name (dummy argument) A function name that ends with fi*fl, such as *GF'UDZ3ULPLWLYH, denotes a function group, such as 2D or 3D that has the same function and

0%������6HULHV�*UDSKLFV�&RQWUROOHU�$FFHVV�/LEUDU\�9���8VHU·V�0DQXDO�

493

FUJITSU CONFIDENTIAL