OSDN Git Service

Create translator libraries for the Android Emulator on Linux.
[android-x86/external-swiftshader.git] / src / Readme.txt
1 ###########################################################################
2
3                                TransGaming Inc.
4
5                      SwiftShader Software GPU Toolkit
6
7                                  Build 5171
8
9                                 June 11, 2013
10   
11            SwiftShader is Copyright(c) 2003-2013 TransGaming Inc.
12 ###########################################################################
13
14
15 Thank you for purchasing TransGaming's SwiftShader Software GPU Toolkit, 
16 TransGaming's high-speed pure-software 3D renderer. This release includes
17 support for the OpenGL ES 2.0 and EGL 1.4 APIs on Windows and Linux.
18
19 TransGaming's SwiftShader Software GPU Toolkit is the world's fastest
20 and most flexible general-purpose pure software 3D rendering technology.
21 SwiftShader's modular architecture is capable of supporting multiple 
22 application programming interfaces, such as DirectX(tm) 9.0, and OpenGL(tm) 
23 ES 2.0, the same APIs that developers are already using for existing 
24 games and applications. This makes it possible to directly integrate
25 SwiftShader into applications without any changes to source code. 
26 SwiftShader technology can also support custom front-end APIs that have 
27 been explicitly built for a specific application. 
28
29 Rendering features available in SwiftShader range from basic fixed 
30 function rendering through to Shader Model 3.0 level capabilities such 
31 as advanced shaders, floating point rendering, multi-sample anti-aliasing, 
32 and much more. 
33
34 SwiftShader performs as much as 100 times faster than traditional 
35 software renderers such as Microsoft's Direct3D(tm) Reference Rasterizer. 
36 In benchmark tests on a modern CPU, SwiftShader-based renderers can 
37 achieve performance that surpasses integrated graphics hardware -
38 a modern quad-core Core i7 CPU at 3.2 GHz running SwiftShader scores 
39 620 in 3DMark2006. SwiftShader achieves this unprecedented level of 
40 performance by dynamically compiling highly optimized code specific to 
41 an application's 3D rendering needs, and executing that code across all 
42 available CPU cores in parallel.
43
44 NOTE: Use of SwiftShader is subject to the the SwiftShader License 
45 agreement signed between TransGaming Inc. and your company.
46
47
48 System requirements
49 -------------------
50
51 * x86 CPU, SSE support required
52 * Basic 2D video card - no 3D card necessary!
53 * Operating systems:
54  - Microsoft Windows 98SE, Windows 2000, Windows XP, Windows Vista, or Windows 7
55  - Linux
56 * 128 MB RAM
57 * 10 MB free hard disk space
58
59
60 Compilation and Installation - OpenGL ES 2.0
61 --------------------------------------------
62
63 * Windows:
64 Open the SwiftShader.sln file using Visual C++ 2010. Select the "Release" solution
65 configuration for builds which show the SwiftShader logo on non-licensed
66 applications. Build all the projects (by pressing F7). After compilation has
67 completed, you will find libEGL.dll and libGLESv2.dll in lib\Release\.
68
69 These DLLs can be copied into the directory of an OpenGL ES 2.0 application, or
70 can be loaded explicitly using the Win32 LoadLibrary function.
71
72 * Linux:
73 Install a recent nightly of Code::Blocks and open SwiftShader.workspace. Select the
74 "Release" target and build the entire workspace. After compilation has completed,
75 you will find libEGL.so and libGLESv2.so in bin\Release\.
76
77 To use these with existing binaries, such as the PowerVR SDK samples, you can use
78 the 'patchelf' tool to change the RPATH to ".\". This way you can place the .so
79 files in the same directory and have the application use them instead of the
80 default libraries. 
81
82 License Authentication - C/C++
83 --------------------------------------
84
85 Your licensed version of SwiftShader requires your application to provide 
86 an authorization key to disable the SwiftShader Demonstration Logo Overlay.
87
88 Incorporating the license check in your C/C++ application requires a small 
89 change in your application's startup sequence. The "Register" function is
90 exported from the libGLESv2 library. It has the following signature:
91
92     void GL_APIENTRY Register(char *licenseKey)
93
94 Calling this function with your license key as a C string parameter will ensure
95 that the logo rendering is disabled.
96
97
98 Copyright & Logo Requirement
99 ----------------------------
100
101 Your SwiftShader license includes a requirement that your application 
102 display the SwiftShader logo and include appropriate Copyright notices 
103 in its associated documentation.
104
105 The enclosed SwiftShader_Logo.png is a high resolution transparent 
106 PNG of the SwiftShader logo that you may use for this purpose.
107
108 The documentation or license file for your application must include
109 the following text:
110
111   This product includes SwiftShader Software GPU Tookit,
112   Copyright(c)2003-2013 TransGaming Inc.
113
114
115 Changes since previous version
116 ------------------------------
117
118 Build 5171 - June 11, 2013
119 - Fixed a rare deadlock on using the renderbuffer of a deleted texture.
120 - Fixed an infinite loop on shader loops containing both break and return statements.
121 - Validate matching uniform precisions during program link.
122 - Validate the call stack depth.
123 - Restored the use of the __stdcall calling convention for the Register function on Windows.
124 - Enabled base address randomization (ASLR). 
125
126 Build 5139 - February 6, 2013
127 - 64-bit Linux compatible.
128 - Adopted the new shader preprocessor from ANGLE.
129 - Fixed declaring used samplers.
130 - Fixed enabling SSE3 support.
131 - Fixed varying/uniform count robustness.
132 - Fixed buffer update synchronization.
133 - Implemented native 8-bit ALPHA texture support.
134 - Implemented GL_OES_depth_texture.
135 - Implemented GL_OES_depth_texture_cube_map.
136 - Implemented GL_EXT_texture_filter_anisotropic.
137
138 Build 5086 - August 10, 2012
139 - Initial port to Linux.
140
141 Build 4079 - April 18, 2012
142 - Eliminated the use of the Microsoft HLSL compiler.
143 - Added support for CPUs without SSE2 extensions.
144 - Optimized the renderer for OpenGL operations.
145
146
147 CONTACTS
148 --------
149
150 For more information regarding SwiftShader or other TransGaming 
151 products, please contact us as follows:
152
153 Sales and Licensing Inquiries:
154
155   sales@transgaming.com
156
157
158 Technical Questions and Information:
159
160   swiftshader@transgaming.com