没有合适的资源?快使用搜索试试~ 我知道了~
首页NemaGFX 图形库使用文档
资源详情
资源评论
资源推荐

NEMA
®
|GFX - API Library
A Comprehensive Overview
Version v1.8
Part Number: D-API
June 6, 2018

NEMA
®
|GFX - API Library, A Comprehensive Overview
Disclaimer
This document is written in good faith with the intend to assist the readers in the use of the product.
Circuit diagrams and other information relating to Think Silicon S.A products are included as a means
of illustrating typical applications. Although the information has been checked and is believed to be
accurate, no responsibility is assumed for inaccuracies. Information contained in this document is subject
to continuous improvements and developments.
Think Silicon S.A products are not designed, intended, authorized or warranted for use in any life support
or other application where product failure could cause or contribute to personal injury or severe property
damage. Any and all such uses without prior written approval of Think Silicon S.A. will be fully at the risk
of the customer.
Think Silicon S.A. disclaims and excludes any and all warranties, including without limitation any and all
implied warranties of merchantability, fitness for a particular purpose, title, and infringement and the like,
and any and all warranties arising from any course or dealing or usage of trade.
This document may not be copied, reproduced, or transmitted to others in any manner. Nor may any use
of information in this document be made, except for the specific purposes for which it is transmitted to the
recipient, without the prior written consent of Think Silicon S.A. This specification is subject to change at
anytime without notice.
Think Silicon S.A. is not responsible for any errors contained herein. In no event shall Think Silicon S.A.
be liable for any direct, indirect, incidental, special, punitive, or consequential damages; or for lost of data,
profits, savings or revenues of any kind; regardless of the form of action, whether based on contract; tort;
negligence of Think Silicon S.A or others; strict liability; breach of warranty; or otherwise; whether or not
any remedy of buyers is held to have failed of its essential purpose, and whether or not Think Silicon S.A.
has been advised of the possibility of such damages.
COPYRIGHT NOTICE
NO PART OF THIS SPECIFICATION MAY BE REPRODUCED IN ANY FORM OR MEANS, WITHOUT
THE PRIOR WRITTEN CONSENT OF THINK SILICON S.A.
Questions or comments may be directed to:
Think Silicon S.A
Suite B8
Patras Science Park
Rion Achaias 26504, Greece
web: http://www.think-silicon.com
email:info@think-silicon.com
Tel:+30 2610 911543
Fax:+30 2610 911544
v1.8 Confidential http://www.think-silicon.com 1

Contents
Contents
1 Preface 5
1.1 About this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Introduction to Graphics 6
3 NEMA
®
|GFX Architecture 8
4 Graphics Pipeline of NEMA
®
|p and NEMA
®
|t GPUs 10
4.1 Configuration Register File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 Command List Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3 Vertex Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.4 Rasterizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.5 Texture Map Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.6 Fragment Processing Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.7 Z Buffer Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.8 Render Output Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.9 Memory System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5 Quick Start Guide 15
5.1 Command Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.1 Create . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.2 Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.3 Unbind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.4 Submit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.2 Binding Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.3 Clipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.4 Blending - Programming the Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.5 Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6 Color Modes and Binding Textures 21
6.1 Color Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.2 Binding Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.2.1 Texture Binding Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7 Geometry Primitives 26
8 Blending 27
8.1 Blending in the Graphics Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.2 Notations and Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.3 Predefined Blending Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.4 User Defined Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.5 Additional Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2 http://www.think-silicon.com v1.8 Confidential

NEMA
®
|GFX - API Library, A Comprehensive Overview
9 Fonts 34
10 NEMA
®
|GFX Platform Porting 36
10.1 Platform Specific HAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
10.2 nema_sys_defs.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
10.3 nema_hal.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
10.3.1 System Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
10.3.2 Registers Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
10.3.3 Interrupt Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10.3.4 Memory Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.3.5 Support for Multi-Process Multi-Threaded systems . . . . . . . . . . . . . . . . . 40
11 NEMA
®
|GFX Library Functions 42
11.1 nema_blender.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
11.1.1 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . 44
11.1.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
11.2 nema_cmdlist.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
11.2.1 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.3 nema_easing.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
11.3.1 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
11.4 nema_font.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
11.4.1 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
11.4.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
11.5 nema_graphics.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
11.5.1 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . 68
11.5.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
11.6 nema_hal.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
11.6.1 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
11.6.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
11.7 nema_math.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
11.7.1 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
11.7.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
11.8 nema_matrix3x3.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
11.8.1 Typedef Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
11.8.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
11.9 nema_matrix4x4.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
11.9.1 Typedef Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
11.9.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
11.10nema_programHW.h File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
11.10.1 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . 106
11.10.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
References 116
v1.8 Confidential http://www.think-silicon.com 3

List of Figures
List of Figures
1 Rendering Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 NEMA
®
|GFX Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 NEMA
®
|p ’s graphics pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4 NEMA
®
|t ’s graphics pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5 The original empty framebuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7 Final output of the drawing process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8 Rendered scene with two icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9 Scene Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
10 Predefined Blending Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
11 Original framebuffer before Blending . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
12 Scene Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
13 User-defined Blending Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
14 Source Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
15 Additional operations example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
16 Vector and Bitmap fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4 http://www.think-silicon.com v1.8 Confidential
剩余122页未读,继续阅读


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0