Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(48)

Side by Side Diff: native_client_sdk/doc_generated/sdk/release-notes.html

Issue 250433002: PNaCl documentation: add SIMD vectors. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address dschuff's comments. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 {{+bindTo:partials.standard_nacl_article}} 1 {{+bindTo:partials.standard_nacl_article}}
2 2
3 <section id="release-notes"> 3 <section id="release-notes">
4 <span id="sdk-release-notes"></span><h1 id="release-notes"><span id="sdk-release -notes"></span>Release Notes</h1> 4 <span id="sdk-release-notes"></span><h1 id="release-notes"><span id="sdk-release -notes"></span>Release Notes</h1>
5 <section id="chrome-pepper-35-31-mar-2014"> 5 <section id="chrome-pepper-36-09-may-2014">
6 <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2> 6 <h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2>
7 <section id="pnacl"> 7 <section id="pnacl">
8 <h3 id="pnacl">PNaCl</h3> 8 <h3 id="pnacl">PNaCl</h3>
9 <ul class="small-gap"> 9 <ul class="small-gap">
10 <li>Support <a class="reference external" href="http://clang.llvm.org/docs/Langu ageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a>
11 and <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector -Extensions.html">GCC vectors</a> for SIMD
12 vectors.</li>
13 </ul>
14 </section></section><section id="chrome-pepper-35-31-mar-2014">
15 <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2>
16 <section id="id1">
17 <h3 id="id1">PNaCl</h3>
18 <ul class="small-gap">
10 <li>Upgraded LLVM to version 3.4.</li> 19 <li>Upgraded LLVM to version 3.4.</li>
11 <li>Translation now uses dynamic load balancing, making translation time faster. </li> 20 <li>Translation now uses dynamic load balancing, making translation time faster. </li>
12 <li>Unstable pexes (i.e. non-finalized) with debug information can be loaded by 21 <li>Unstable pexes (i.e. non-finalized) with debug information can be loaded by
13 Chrome, simplifying debugging with PNaCl. See <a class="reference internal" href ="/native-client/devguide/devcycle/debugging.html#debugging-pnacl-pexes"><em>Deb ugging PNaCl pexes</em></a></li> 22 Chrome, simplifying debugging with PNaCl. See <a class="reference internal" href ="/native-client/devguide/devcycle/debugging.html#debugging-pnacl-pexes"><em>Deb ugging PNaCl pexes</em></a></li>
14 </ul> 23 </ul>
15 </section></section><section id="chrome-pepper-34-20-feb-2014"> 24 </section></section><section id="chrome-pepper-34-20-feb-2014">
16 <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2> 25 <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2>
17 <section id="pepper"> 26 <section id="pepper">
18 <h3 id="pepper">Pepper</h3> 27 <h3 id="pepper">Pepper</h3>
19 <ul class="small-gap"> 28 <ul class="small-gap">
20 <li>Filesystems can now be passed from JavaScript to NaCl. The resulting 29 <li>Filesystems can now be passed from JavaScript to NaCl. The resulting
21 <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the 30 <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the
22 <code>pp::FileSystem</code> constructor.</li> 31 <code>pp::FileSystem</code> constructor.</li>
23 <li>New Audio and Video input APIs have been added as dev interfaces. See 32 <li>New Audio and Video input APIs have been added as dev interfaces. See
24 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_audio_track">pp::MediaStreamAudioTrack</a> and 33 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_audio_track">pp::MediaStreamAudioTrack</a> and
25 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_video_track">pp::MediaStreamVideoTrack</a> for 34 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_video_track">pp::MediaStreamVideoTrack</a> for
26 more details.</li> 35 more details.</li>
27 </ul> 36 </ul>
28 </section><section id="id1"> 37 </section><section id="id2">
29 <h3 id="id1">PNaCl</h3> 38 <h3 id="id2">PNaCl</h3>
30 <ul class="small-gap"> 39 <ul class="small-gap">
31 <li>Parallel translation: at least 1.7x faster, even with older pexes.</li> 40 <li>Parallel translation: at least 1.7x faster, even with older pexes.</li>
32 <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using 41 <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using
33 the <a class="reference internal" href="/native-client/devguide/devcycle/buildin g.html#pnacl-compress"><em>pnacl-compress</em></a> tool.</li> 42 the <a class="reference internal" href="/native-client/devguide/devcycle/buildin g.html#pnacl-compress"><em>pnacl-compress</em></a> tool.</li>
34 </ul> 43 </ul>
35 </section></section><section id="chrome-pepper-33-16-dec-2013"> 44 </section></section><section id="chrome-pepper-33-16-dec-2013">
36 <h2 id="chrome-pepper-33-16-dec-2013">Chrome/Pepper 33 (16 Dec 2013)</h2> 45 <h2 id="chrome-pepper-33-16-dec-2013">Chrome/Pepper 33 (16 Dec 2013)</h2>
37 <section id="portable-native-client"> 46 <section id="portable-native-client">
38 <h3 id="portable-native-client">Portable Native Client</h3> 47 <h3 id="portable-native-client">Portable Native Client</h3>
39 <ul class="small-gap"> 48 <ul class="small-gap">
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 <li>Common makefiles, including <code>tools/common.mk</code>, can now handle sou rce files 167 <li>Common makefiles, including <code>tools/common.mk</code>, can now handle sou rce files
159 located outside of an application&#8217;s root directory. For example, a Makefil e 168 located outside of an application&#8217;s root directory. For example, a Makefil e
160 for an application can specify a source file to compile such as 169 for an application can specify a source file to compile such as
161 <code>../../some/other/place.cpp</code>.</li> 170 <code>../../some/other/place.cpp</code>.</li>
162 </ul> 171 </ul>
163 </section></section><section id="pepper-26-29-march-2013"> 172 </section></section><section id="pepper-26-29-march-2013">
164 <h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2> 173 <h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2>
165 <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts 174 <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts
166 library (which has been renamed nacl_io), changes to the example Makefiles, a 175 library (which has been renamed nacl_io), changes to the example Makefiles, a
167 simple new 3D example, and a threaded file IO example.</p> 176 simple new 3D example, and a threaded file IO example.</p>
168 <section id="id2"> 177 <section id="id3">
169 <h3 id="id2">Build tools and toolchains</h3> 178 <h3 id="id3">Build tools and toolchains</h3>
170 <ul class="small-gap"> 179 <ul class="small-gap">
171 <li><p class="first">Makefiles have been changed significantly:</p> 180 <li><p class="first">Makefiles have been changed significantly:</p>
172 <ul class="small-gap"> 181 <ul class="small-gap">
173 <li>Build commands are now specified in a number of common files 182 <li>Build commands are now specified in a number of common files
174 (<code>tools/*.mk</code>), which are included in the Makefiles in the examples.< /li> 183 (<code>tools/*.mk</code>), which are included in the Makefiles in the examples.< /li>
175 <li>By default, make displays a simplified list of build steps (e.g., <code>CC 184 <li>By default, make displays a simplified list of build steps (e.g., <code>CC
176 newlib/Debug/hello_world_x86_32.o</code>) rather than the actual build commands. 185 newlib/Debug/hello_world_x86_32.o</code>) rather than the actual build commands.
177 To see the actual build commands, run <code>make V=1</code>.</li> 186 To see the actual build commands, run <code>make V=1</code>.</li>
178 <li>By default, most examples are built using one toolchain (newlib) and one 187 <li>By default, most examples are built using one toolchain (newlib) and one
179 configuration (Debug). To build an example using a different toolchain or 188 configuration (Debug). To build an example using a different toolchain or
180 configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=&lt;x&g t;</code> or 189 configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=&lt;x&g t;</code> or
181 <code>CONFIG=&lt;y&gt;</code>. You can also run make <code>all_versions</code> to build an example 190 <code>CONFIG=&lt;y&gt;</code>. You can also run make <code>all_versions</code> to build an example
182 with all toolchains.</li> 191 with all toolchains.</li>
183 </ul> 192 </ul>
184 </li> 193 </li>
185 <li>Header files have been moved out of the toolchains. All toolchains now share 194 <li>Header files have been moved out of the toolchains. All toolchains now share
186 the same set of header files as host builds. Previously host and NaCl builds 195 the same set of header files as host builds. Previously host and NaCl builds
187 used different headers, which could cause build problems.</li> 196 used different headers, which could cause build problems.</li>
188 </ul> 197 </ul>
189 </section><section id="id3"> 198 </section><section id="id4">
190 <h3 id="id3">Libraries</h3> 199 <h3 id="id4">Libraries</h3>
191 <ul class="small-gap"> 200 <ul class="small-gap">
192 <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has b een expanded 201 <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has b een expanded
193 with a new type of mount, httpfs, which can be used to read URLs via HTTP. 202 with a new type of mount, httpfs, which can be used to read URLs via HTTP.
194 For details see <code>include/nacl_io/nacl_io.h</code>, as well as the 203 For details see <code>include/nacl_io/nacl_io.h</code>, as well as the
195 <code>hello_nacl_io</code> example.</li> 204 <code>hello_nacl_io</code> example.</li>
196 </ul> 205 </ul>
197 </section><section id="id4"> 206 </section><section id="id5">
198 <h3 id="id4">Examples</h3> 207 <h3 id="id5">Examples</h3>
199 <ul class="small-gap"> 208 <ul class="small-gap">
200 <li>A new example, <strong>hello_world_instance3d</strong>, has been added to de monstrate a 209 <li>A new example, <strong>hello_world_instance3d</strong>, has been added to de monstrate a
201 simplified 3D app.</li> 210 simplified 3D app.</li>
202 <li>The <strong>file_io</strong> example has been rewritten to do all file opera tions on a 211 <li>The <strong>file_io</strong> example has been rewritten to do all file opera tions on a
203 thread. The example demonstrates how to use the MessageLoop API and blocking 212 thread. The example demonstrates how to use the MessageLoop API and blocking
204 callbacks on a thread.</li> 213 callbacks on a thread.</li>
205 </ul> 214 </ul>
206 </section><section id="general"> 215 </section><section id="general">
207 <h3 id="general">General</h3> 216 <h3 id="general">General</h3>
208 <ul class="small-gap"> 217 <ul class="small-gap">
209 <li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the Native 218 <li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the Native
210 Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code> 219 Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code>
211 command.</li> 220 command.</li>
212 </ul> 221 </ul>
213 </section></section><section id="pepper-25-21-december-2012"> 222 </section></section><section id="pepper-25-21-december-2012">
214 <h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2> 223 <h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2>
215 <p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules 224 <p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules
216 for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets 225 for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets
217 you make Pepper calls on background threads), two new libraries (nacl_mounts, 226 you make Pepper calls on background threads), two new libraries (nacl_mounts,
218 which provides a virtual file system that you can use with standard C file 227 which provides a virtual file system that you can use with standard C file
219 operations, and ppapi_main, which lets you implement a Native Client module 228 operations, and ppapi_main, which lets you implement a Native Client module
220 using a simple ppapi_main function), and two new examples that demonstrate how 229 using a simple ppapi_main function), and two new examples that demonstrate how
221 to use the nacl_mounts and ppapi_main libraries.</p> 230 to use the nacl_mounts and ppapi_main libraries.</p>
222 <section id="id5"> 231 <section id="id6">
223 <h3 id="id5">Build tools and toolchains</h3> 232 <h3 id="id6">Build tools and toolchains</h3>
224 <ul class="small-gap"> 233 <ul class="small-gap">
225 <li><p class="first">The SDK includes a new toolchain to build Native Client exe cutables (.nexe 234 <li><p class="first">The SDK includes a new toolchain to build Native Client exe cutables (.nexe
226 files) for <strong>ARM devices</strong>.</p> 235 files) for <strong>ARM devices</strong>.</p>
227 <ul class="small-gap"> 236 <ul class="small-gap">
228 <li>Currently the ARM toolchain can only be used to compile modules that use 237 <li>Currently the ARM toolchain can only be used to compile modules that use
229 the <a class="reference internal" href="/native-client/devguide/devcycle/dynamic -loading.html#c-libraries"><em>newlib C library</em></a>. You cannot use the ARM toolchain 238 the <a class="reference internal" href="/native-client/devguide/devcycle/dynamic -loading.html#c-libraries"><em>newlib C library</em></a>. You cannot use the ARM toolchain
230 to compile modules that use the glibc library.</li> 239 to compile modules that use the glibc library.</li>
231 <li>The ARM toolchain is in the directory 240 <li>The ARM toolchain is in the directory
232 <code>pepper_25/toolchain/&lt;host&gt;_arm_newlib</code>. The bin subdirectory contains 241 <code>pepper_25/toolchain/&lt;host&gt;_arm_newlib</code>. The bin subdirectory contains
233 the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>) , and the 242 the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>) , and the
(...skipping 17 matching lines...) Expand all
251 lets your module log messages to the JavaScript console in the Chrome browser.</ li> 260 lets your module log messages to the JavaScript console in the Chrome browser.</ li>
252 <li>The <a class="reference external" href="https://developers.google.com/native -client/dev/peppercpp/classpp_1_1_message_loop">MessageLoop</a> 261 <li>The <a class="reference external" href="https://developers.google.com/native -client/dev/peppercpp/classpp_1_1_message_loop">MessageLoop</a>
253 API lets your module make PPAPI calls on a background thread. Once you&#8217;ve 262 API lets your module make PPAPI calls on a background thread. Once you&#8217;ve
254 created a message loop resource, attached it to a thread, and run it, you can 263 created a message loop resource, attached it to a thread, and run it, you can
255 post work to the thread, including completion callbacks for asynchronous 264 post work to the thread, including completion callbacks for asynchronous
256 operations. For a C++ example of how to use the MessageLoop API, 265 operations. For a C++ example of how to use the MessageLoop API,
257 see <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note that 266 see <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note that
258 you cannot make asynchronous PPAPI calls on a background thread without 267 you cannot make asynchronous PPAPI calls on a background thread without
259 creating and using a message loop.</li> 268 creating and using a message loop.</li>
260 </ul> 269 </ul>
261 </section><section id="id6"> 270 </section><section id="id7">
262 <h3 id="id6">Libraries</h3> 271 <h3 id="id7">Libraries</h3>
263 <p>The SDK includes two new libraries:</p> 272 <p>The SDK includes two new libraries:</p>
264 <ul class="small-gap"> 273 <ul class="small-gap">
265 <li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module 274 <li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module
266 can &#8220;mount&#8221; in a given directory tree. The file system can be one of several 275 can &#8220;mount&#8221; in a given directory tree. The file system can be one of several
267 types:</p> 276 types:</p>
268 <ul class="small-gap"> 277 <ul class="small-gap">
269 <li>&#8220;memfs&#8221; is an in-memory file system,</li> 278 <li>&#8220;memfs&#8221; is an in-memory file system,</li>
270 <li>&#8220;dev&#8221; is a file system with various utility nodes (e.g., <code>/ dev/null</code>, 279 <li>&#8220;dev&#8221; is a file system with various utility nodes (e.g., <code>/ dev/null</code>,
271 <code>/dev/console[0-3]</code>, <code>/dev/tty</code>), and</li> 280 <code>/dev/console[0-3]</code>, <code>/dev/tty</code>), and</li>
272 <li>&#8220;html5fs&#8221; is a persistent file system.</li> 281 <li>&#8220;html5fs&#8221; is a persistent file system.</li>
(...skipping 13 matching lines...) Expand all
286 providing a familiar C programming environment. With this library, your 295 providing a familiar C programming environment. With this library, your
287 module can have a simple entry point called ppapi_main(), which is similar to 296 module can have a simple entry point called ppapi_main(), which is similar to
288 the standard C main() function, complete with argc and argv[] parameters. 297 the standard C main() function, complete with argc and argv[] parameters.
289 Your module can also use standard C functions such as printf(), fopen(), and 298 Your module can also use standard C functions such as printf(), fopen(), and
290 fwrite(). For details see include/ppapi_main/ppapi_main.h. For an example of 299 fwrite(). For details see include/ppapi_main/ppapi_main.h. For an example of
291 how to use ppapi_main, see examples/hello_world_stdio.</li> 300 how to use ppapi_main, see examples/hello_world_stdio.</li>
292 </ul> 301 </ul>
293 <p>Header files for the new libraries are in the <code>include/</code> directory , source 302 <p>Header files for the new libraries are in the <code>include/</code> directory , source
294 files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code> 303 files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code>
295 directory.</p> 304 directory.</p>
296 </section><section id="id7"> 305 </section><section id="id8">
297 <h3 id="id7">Examples</h3> 306 <h3 id="id8">Examples</h3>
298 <ul class="small-gap"> 307 <ul class="small-gap">
299 <li><p class="first">The SDK includes two new examples:</p> 308 <li><p class="first">The SDK includes two new examples:</p>
300 <ul class="small-gap"> 309 <ul class="small-gap">
301 <li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library file 310 <li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library file
302 operations in a Native Client module through the use of the nacl_mounts 311 operations in a Native Client module through the use of the nacl_mounts
303 library.</li> 312 library.</li>
304 <li><strong>hello_world_stdio</strong> illustrates how to implement a Native Cli ent module 313 <li><strong>hello_world_stdio</strong> illustrates how to implement a Native Cli ent module
305 with a ppapi_main() function, and how to write to STDOUT and STDERR in a 314 with a ppapi_main() function, and how to write to STDOUT and STDERR in a
306 module, through the use of the nacl_mounts and ppapi_main libraries. This 315 module, through the use of the nacl_mounts and ppapi_main libraries. This
307 example makes it easy for new users to get started with Native Client by 316 example makes it easy for new users to get started with Native Client by
(...skipping 21 matching lines...) Expand all
329 <li>The hello_world_stdio example includes a simplified Makefile that only lists 338 <li>The hello_world_stdio example includes a simplified Makefile that only lists
330 source dependencies, and invokes the build rules in a separate file 339 source dependencies, and invokes the build rules in a separate file
331 (common.mk).</li> 340 (common.mk).</li>
332 </ul> 341 </ul>
333 </section></section><section id="pepper-24-5-december-2012"> 342 </section></section><section id="pepper-24-5-december-2012">
334 <h2 id="pepper-24-5-december-2012">Pepper 24 (5 December 2012)</h2> 343 <h2 id="pepper-24-5-december-2012">Pepper 24 (5 December 2012)</h2>
335 <p>The Pepper 24 bundle features a new, experimental toolchain called PNaCl (sho rt 344 <p>The Pepper 24 bundle features a new, experimental toolchain called PNaCl (sho rt
336 for &#8220;Portable Native Client&#8221;), a new library (pthreads-win32) for th e Windows 345 for &#8220;Portable Native Client&#8221;), a new library (pthreads-win32) for th e Windows
337 SDK, and an expanded list of attributes for Pepper 3D contexts that lets 346 SDK, and an expanded list of attributes for Pepper 3D contexts that lets
338 applications specify a GPU preference for low power or performance.</p> 347 applications specify a GPU preference for low power or performance.</p>
339 <section id="id8"> 348 <section id="id9">
340 <h3 id="id8">Build tools and toolchains</h3> 349 <h3 id="id9">Build tools and toolchains</h3>
341 <ul class="small-gap"> 350 <ul class="small-gap">
342 <li>The SDK includes a new, experimental toolchain called <a class="reference ex ternal" href="http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf">PNaCl< /a> (pronounced 351 <li>The SDK includes a new, experimental toolchain called <a class="reference ex ternal" href="http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf">PNaCl< /a> (pronounced
343 &#8220;pinnacle&#8221;). The PNaCl toolchain produces architecture-independent e xecutable 352 &#8220;pinnacle&#8221;). The PNaCl toolchain produces architecture-independent e xecutable
344 files (.pexe files). Chrome doesn&#8217;t yet support .pexe files directly, but if 353 files (.pexe files). Chrome doesn&#8217;t yet support .pexe files directly, but if
345 you want to experiment with this early preview of PNaCl, the toolchain 354 you want to experiment with this early preview of PNaCl, the toolchain
346 includes a tool to translate .pexe files into architecture-specific .nexe 355 includes a tool to translate .pexe files into architecture-specific .nexe
347 files. Take a look at the <code>hello_world</code> example to see how to build a .pexe 356 files. Take a look at the <code>hello_world</code> example to see how to build a .pexe
348 file and translate it into multiple .nexe files. Note that PNaCl is currently 357 file and translate it into multiple .nexe files. Note that PNaCl is currently
349 restricted to the newlib C standard library – if your application uses glibc, 358 restricted to the newlib C standard library – if your application uses glibc,
350 you can&#8217;t build it with PNaCl.</li> 359 you can&#8217;t build it with PNaCl.</li>
351 <li>The <code>create_nmf.py</code> script uses ELF headers (rather than file nam es) to 360 <li>The <code>create_nmf.py</code> script uses ELF headers (rather than file nam es) to
352 determine the architecture of .nexe files. That means you can change the 361 determine the architecture of .nexe files. That means you can change the
353 names of your .nexe files and <code>create_nmf.py</code> will still be able to 362 names of your .nexe files and <code>create_nmf.py</code> will still be able to
354 generate the appropriate Native Client manifest file for your application.</li> 363 generate the appropriate Native Client manifest file for your application.</li>
355 </ul> 364 </ul>
356 </section><section id="id10"> 365 </section><section id="id11">
357 <h3 id="id10">Examples</h3> 366 <h3 id="id11">Examples</h3>
358 <ul class="small-gap"> 367 <ul class="small-gap">
359 <li>The SDK examples now build with four toolchains: the glibc and newlib 368 <li>The SDK examples now build with four toolchains: the glibc and newlib
360 toolchains, the experimental PNaCl toolchain, and the hosted toolchain on 369 toolchains, the experimental PNaCl toolchain, and the hosted toolchain on
361 your development machine. Within each toolchain build, each example also 370 your development machine. Within each toolchain build, each example also
362 builds both a debug and a release version.</li> 371 builds both a debug and a release version.</li>
363 <li>The example Makefiles use dependency (.d) files to enable incremental builds .</li> 372 <li>The example Makefiles use dependency (.d) files to enable incremental builds .</li>
364 <li>The pong example has been cleaned up and modified to run more smoothly. The 373 <li>The pong example has been cleaned up and modified to run more smoothly. The
365 drawing function is now set up as the Flush() callback, which allows 2D 374 drawing function is now set up as the Flush() callback, which allows 2D
366 drawing to occur as quickly as possible.</li> 375 drawing to occur as quickly as possible.</li>
367 </ul> 376 </ul>
368 </section><section id="id11"> 377 </section><section id="id12">
369 <h3 id="id11">PPAPI</h3> 378 <h3 id="id12">PPAPI</h3>
370 <ul class="small-gap"> 379 <ul class="small-gap">
371 <li>When creating a 3D rendering context, the <a class="reference external" href ="https://developers.google.com/native-client/dev/pepperc/group___enums#ga7df48e 1c55f6401beea2a1b9c07967e8">attribute list</a> 380 <li>When creating a 3D rendering context, the <a class="reference external" href ="https://developers.google.com/native-client/dev/pepperc/group___enums#ga7df48e 1c55f6401beea2a1b9c07967e8">attribute list</a>
372 for the context can specify whether to prefer low power or performance for 381 for the context can specify whether to prefer low power or performance for
373 the GPU. Contexts with a low power preference may be created on an integrated 382 the GPU. Contexts with a low power preference may be created on an integrated
374 GPU; contexts with a performance preference may be created on a discrete GPU.</l i> 383 GPU; contexts with a performance preference may be created on a discrete GPU.</l i>
375 </ul> 384 </ul>
376 </section><section id="windows-sdk"> 385 </section><section id="windows-sdk">
377 <h3 id="windows-sdk">Windows SDK</h3> 386 <h3 id="windows-sdk">Windows SDK</h3>
378 <ul class="small-gap"> 387 <ul class="small-gap">
379 <li>The Windows SDK includes the pthreads-win32 library to assist in porting fro m 388 <li>The Windows SDK includes the pthreads-win32 library to assist in porting fro m
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 <ul class="small-gap"> 444 <ul class="small-gap">
436 <li>Look at the example Makefiles or run <code>make</code> in the example direct ories to 445 <li>Look at the example Makefiles or run <code>make</code> in the example direct ories to
437 see the commands and flags used to build modules as Pepper plugins.</li> 446 see the commands and flags used to build modules as Pepper plugins.</li>
438 <li>Run <code>make LAUNCH</code> in the example directories to see how to use th e 447 <li>Run <code>make LAUNCH</code> in the example directories to see how to use th e
439 <code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrom e. 448 <code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrom e.
440 Note that you must set the <code>CHROME_PATH</code> environment variable and sta rt a 449 Note that you must set the <code>CHROME_PATH</code> environment variable and sta rt a
441 <a class="reference internal" href="/native-client/devguide/devcycle/running.htm l#web-server"><em>local server</em></a> prior to running this command.</li> 450 <a class="reference internal" href="/native-client/devguide/devcycle/running.htm l#web-server"><em>local server</em></a> prior to running this command.</li>
442 </ul> 451 </ul>
443 </li> 452 </li>
444 </ul> 453 </ul>
445 </section><section id="id12"> 454 </section><section id="id13">
446 <h3 id="id12">Examples</h3> 455 <h3 id="id13">Examples</h3>
447 <ul class="small-gap"> 456 <ul class="small-gap">
448 <li>On Linux and Windows systems, most of the examples now build with three 457 <li>On Linux and Windows systems, most of the examples now build with three
449 toolchains: the Native Client glibc and newlib toolchains, and the native 458 toolchains: the Native Client glibc and newlib toolchains, and the native
450 toolchain on the host system. Modules built with the native toolchain on the 459 toolchain on the host system. Modules built with the native toolchain on the
451 host system can only run as Pepper plugins.</li> 460 host system can only run as Pepper plugins.</li>
452 <li>All examples in the SDK now comply with version 2 of the Chrome Web Store 461 <li>All examples in the SDK now comply with version 2 of the Chrome Web Store
453 <a class="reference external" href="http://developer.chrome.com/extensions/manif est.html">manifest file format</a>. By default, 462 <a class="reference external" href="http://developer.chrome.com/extensions/manif est.html">manifest file format</a>. By default,
454 applications that use version 2 of the manifest file format apply a strict 463 applications that use version 2 of the manifest file format apply a strict
455 <a class="reference external" href="http://developer.chrome.com/extensions/conte ntSecurityPolicy.html">content security policy</a>, which 464 <a class="reference external" href="http://developer.chrome.com/extensions/conte ntSecurityPolicy.html">content security policy</a>, which
456 includes a restriction against inline JavaScript. This restriction prohibits 465 includes a restriction against inline JavaScript. This restriction prohibits
457 both inline <code>&lt;script&gt;</code> blocks and inline event handlers (e.g., <code>&lt;button 466 both inline <code>&lt;script&gt;</code> blocks and inline event handlers (e.g., <code>&lt;button
458 onclick=&quot;...&quot;&gt;</code>). See <a class="reference external" href="ht tp://developer.chrome.com/extensions/manifestVersion.html">Manifest Version</a> for a list of 467 onclick=&quot;...&quot;&gt;</code>). See <a class="reference external" href="ht tp://developer.chrome.com/extensions/manifestVersion.html">Manifest Version</a> for a list of
459 changes between version 1 and version 2 of the manifest file format, and a 468 changes between version 1 and version 2 of the manifest file format, and a
460 support schedule for applications that use version 1.</li> 469 support schedule for applications that use version 1.</li>
461 </ul> 470 </ul>
462 </section><section id="id13"> 471 </section><section id="id14">
463 <h3 id="id13">PPAPI</h3> 472 <h3 id="id14">PPAPI</h3>
464 <ul class="small-gap"> 473 <ul class="small-gap">
465 <li><a class="reference external" href="https://developers.google.com/native-cli ent/pepper23/pepperc/group___enums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputE vent_Modifier</a> 474 <li><a class="reference external" href="https://developers.google.com/native-cli ent/pepper23/pepperc/group___enums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputE vent_Modifier</a>
466 has two new enum values (_ISLEFT and _ISRIGHT).</li> 475 has two new enum values (_ISLEFT and _ISRIGHT).</li>
467 <li>The memory leak in the <a class="reference external" href="https://developer s.google.com/native-client/pepper23/pepperc/struct_p_p_b___web_socket__1__0">Web Socket</a> 476 <li>The memory leak in the <a class="reference external" href="https://developer s.google.com/native-client/pepper23/pepperc/struct_p_p_b___web_socket__1__0">Web Socket</a>
468 API has been fixed.</li> 477 API has been fixed.</li>
469 </ul> 478 </ul>
470 </section></section><section id="pepper-22-22-august-2012"> 479 </section></section><section id="pepper-22-22-august-2012">
471 <h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2> 480 <h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2>
472 <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resou rces to enable 481 <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resou rces to enable
473 <strong>hosted development on Windows</strong>, and changes to the example Makef iles (each 482 <strong>hosted development on Windows</strong>, and changes to the example Makef iles (each
474 example now builds both a debug and a release version).</p> 483 example now builds both a debug and a release version).</p>
475 <section id="id14"> 484 <section id="id15">
476 <h3 id="id14">Tools</h3> 485 <h3 id="id15">Tools</h3>
477 <ul class="small-gap"> 486 <ul class="small-gap">
478 <li>The SDK now includes a <strong>command-line debugger</strong> that you can u se to debug 487 <li>The SDK now includes a <strong>command-line debugger</strong> that you can u se to debug
479 Native Client modules. See <a class="reference internal" href="/native-client/de vguide/devcycle/debugging.html#devcycle-debugging"><em>Debugging with nacl-gdb</ em></a> for instructions on how to use this debugger. For now, 488 Native Client modules. See <a class="reference internal" href="/native-client/de vguide/devcycle/debugging.html#devcycle-debugging"><em>Debugging with nacl-gdb</ em></a> for instructions on how to use this debugger. For now,
480 nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux 489 nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux
481 systems. Support for Mac and 32-bit Windows systems will be added soon.</li> 490 systems. Support for Mac and 32-bit Windows systems will be added soon.</li>
482 </ul> 491 </ul>
483 </section><section id="id15"> 492 </section><section id="id16">
484 <h3 id="id15">Windows SDK</h3> 493 <h3 id="id16">Windows SDK</h3>
485 <ul class="small-gap"> 494 <ul class="small-gap">
486 <li><p class="first">Developers using the Windows SDK can now <strong>build a mo dule as a Pepper 495 <li><p class="first">Developers using the Windows SDK can now <strong>build a mo dule as a Pepper
487 plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-process&# 8221; plugin) using the 496 plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-process&# 8221; plugin) using the
488 native C/C++ compiler on their development system. In essence this makes 497 native C/C++ compiler on their development system. In essence this makes
489 developing a Native Client module a two-step process:</p> 498 developing a Native Client module a two-step process:</p>
490 <ol class="arabic simple"> 499 <ol class="arabic simple">
491 <li>Build the module into a DLL using your system&#8217;s C/C++ compiler. Test a nd 500 <li>Build the module into a DLL using your system&#8217;s C/C++ compiler. Test a nd
492 debug the DLL using the tools in your normal development environment.</li> 501 debug the DLL using the tools in your normal development environment.</li>
493 <li>Build the module into a .nexe using the compiler from one of the Native 502 <li>Build the module into a .nexe using the compiler from one of the Native
494 Client toolchains in the SDK (nacl-gcc or nacl-g++). Test and debug the 503 Client toolchains in the SDK (nacl-gcc or nacl-g++). Test and debug the
(...skipping 27 matching lines...) Expand all
522 <strong>Note:</strong> It&#8217;s also possible to build a module as a trusted p lugin on Mac and 531 <strong>Note:</strong> It&#8217;s also possible to build a module as a trusted p lugin on Mac and
523 Linux systems, but doing so requires more work because the SDK does not yet 532 Linux systems, but doing so requires more work because the SDK does not yet
524 include the above resources (library source files and pre-built libraries) 533 include the above resources (library source files and pre-built libraries)
525 for Mac and Linux systems. To build and debug a trusted plugin on Mac and 534 for Mac and Linux systems. To build and debug a trusted plugin on Mac and
526 Linux systems, you need to <a class="reference external" href="http://dev.chromi um.org/developers/how-tos/get-the-code">get the Chromium code</a> and then follo w 535 Linux systems, you need to <a class="reference external" href="http://dev.chromi um.org/developers/how-tos/get-the-code">get the Chromium code</a> and then follo w
527 the <a class="reference external" href="http://www.chromium.org/nativeclient/how -tos/debugging-documentation/debugging-a-trusted-plugin/trusted-debugging-on-mac ">Mac instructions</a> 536 the <a class="reference external" href="http://www.chromium.org/nativeclient/how -tos/debugging-documentation/debugging-a-trusted-plugin/trusted-debugging-on-mac ">Mac instructions</a>
528 or <a class="reference external" href="http://www.chromium.org/nativeclient/how- tos/debugging-documentation/debugging-a-trusted-plugin/debugging-a-trusted-plugi n-on-linux">Linux instructions</a>. 537 or <a class="reference external" href="http://www.chromium.org/nativeclient/how- tos/debugging-documentation/debugging-a-trusted-plugin/debugging-a-trusted-plugi n-on-linux">Linux instructions</a>.
529 In the future, the SDK will include resources for hosted development on Mac 538 In the future, the SDK will include resources for hosted development on Mac
530 and Linux as well as Windows. 539 and Linux as well as Windows.
531 </aside> 540 </aside>
532 </section><section id="id16"> 541 </section><section id="id17">
533 <h3 id="id16">Examples</h3> 542 <h3 id="id17">Examples</h3>
534 <ul class="small-gap"> 543 <ul class="small-gap">
535 <li>Each example in the SDK now builds both a debug and a release version. As 544 <li>Each example in the SDK now builds both a debug and a release version. As
536 before, most examples also build newlib and glibc versions, which means that 545 before, most examples also build newlib and glibc versions, which means that
537 there are now four versions for each example. Take a look at the Makefiles in 546 there are now four versions for each example. Take a look at the Makefiles in
538 the examples to see the compiler flags that are used for debug and release 547 the examples to see the compiler flags that are used for debug and release
539 versions. For a description of those flags, see <a class="reference internal" hr ef="/native-client/devguide/devcycle/building.html#compile-flags"><em>Compile fl ags for 548 versions. For a description of those flags, see <a class="reference internal" hr ef="/native-client/devguide/devcycle/building.html#compile-flags"><em>Compile fl ags for
540 different development scenarios</em></a>.</li> 549 different development scenarios</em></a>.</li>
541 <li>Comments have been added to common.js, which is used in all the examples. Th e 550 <li>Comments have been added to common.js, which is used in all the examples. Th e
542 JavaScript in common.js inserts an &lt;embed&gt; element that loads the NaCl mod ule 551 JavaScript in common.js inserts an &lt;embed&gt; element that loads the NaCl mod ule
543 in each example&#8217;s web page, attaches event listeners to monitor the loadin g 552 in each example&#8217;s web page, attaches event listeners to monitor the loadin g
544 of the module, and implements handleMessage() to respond to messages sent 553 of the module, and implements handleMessage() to respond to messages sent
545 from the NaCl module to the JavaScript side of the application</li> 554 from the NaCl module to the JavaScript side of the application</li>
546 </ul> 555 </ul>
547 </section><section id="id17"> 556 </section><section id="id18">
548 <h3 id="id17">PPAPI</h3> 557 <h3 id="id18">PPAPI</h3>
549 <ul class="small-gap"> 558 <ul class="small-gap">
550 <li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits 559 <li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits
551 class as its second parameter. For details see the <a class="reference external" href="https://developers.google.com/native-client/pepper22/peppercpp/classpp_1_ 1_completion_callback_factory#details">CompletionCallbackFactory 560 class as its second parameter. For details see the <a class="reference external" href="https://developers.google.com/native-client/pepper22/peppercpp/classpp_1_ 1_completion_callback_factory#details">CompletionCallbackFactory
552 class template reference</a>.</li> 561 class template reference</a>.</li>
553 </ul> 562 </ul>
554 </section></section></section> 563 </section></section></section>
555 564
556 {{/partials.standard_nacl_article}} 565 {{/partials.standard_nacl_article}}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698