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

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

Issue 831263005: NaCl doc: update release notes for M41 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add generated HTML. Created 5 years, 11 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
« no previous file with comments | « no previous file | native_client_sdk/doc_generated/sitemap.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <p>The dates in the following release notes denote when Chrome and the NaCl SDK
6 reached canary status. The stable release is typically 6 weeks later.</p>
7 <h2 id="chrome-pepper-42-20-february-2015">Chrome/Pepper 42 (20 February 2015)</ h2>
8 <h3 id="nacl">NaCl</h3>
9 <ul class="small-gap">
10 <li>The x86 NaCl validators accept instructions from the FMA3 extensions.</li>
11 </ul>
12 <h3 id="pnacl">PNaCl</h3>
13 <ul class="small-gap">
14 <li>PNaCl supports C11/C++11 memory orders <cite>acquire</cite>, <cite>release</ cite>, and <cite>acq_rel</cite>. It
15 used to upgrade all accesses to <cite>seq_cst</cite>. It still upgrades <cite>co nsume</cite> to
16 <cite>acquire</cite> (no compiler currently implements <cite>consume</cite>), an d <cite>relaxed</cite> to
17 <cite>seq_cst</cite> (to conservatively avoid platform differences due to out-of -thin-air
18 problems).</li>
19 <li>PNaCl handles nested struct type expansion, which allows it to better suppor t
20 non-C languages such as Rust.</li>
21 <li>PNaCl breaks up many integer operations over 64-bits into individual 64-bit
22 operations. This is often encountered when using large consecutive bitfields.</l i>
23 </ul>
24 <h2 id="chrome-pepper-41-09-january-2015">Chrome/Pepper 41 (09 January 2015)</h2 >
25 <h3 id="id1">NaCl</h3>
26 <ul class="small-gap">
27 <li>The x86 NaCl validators accept instructions from the AVX1 extensions.</li>
28 </ul>
29 <h3 id="id2">PNaCl</h3>
30 <ul class="small-gap">
31 <li>PNaCl is now based on LLVM 3.5.</li>
32 </ul>
33 <h2 id="chrome-pepper-40-november-07-2014">Chrome/Pepper 40 (November 07 2014)</ h2>
34 <ul class="small-gap">
35 <li><a class="reference external" href="/native-client/pepper_stable/cpp/classpp _1_1_video_decoder.html">VideoDecoder</a> is now
36 stable, see the SDK example in <code>pepper_canary/examples/api/video_decode</co de>.</li>
37 </ul>
5 <h2 id="chrome-pepper-39-26-september-2014">Chrome/Pepper 39 (26 September 2014) </h2> 38 <h2 id="chrome-pepper-39-26-september-2014">Chrome/Pepper 39 (26 September 2014) </h2>
6 <h3 id="pepper">Pepper</h3> 39 <h3 id="pepper">Pepper</h3>
7 <ul class="small-gap"> 40 <ul class="small-gap">
8 <li>Support for <code>DEBUG_ONLY:dev://postmessage</code> has been removed in fa vor of 41 <li>Support for <code>DEBUG_ONLY:dev://postmessage</code> has been removed in fa vor of
9 <a class="reference internal" href="/native-client/devguide/devcycle/debugging.h tml#devcycle-debugging"><em>other more useful debugging approaches</em></a>.</li > 42 <a class="reference internal" href="/native-client/devguide/devcycle/debugging.h tml#devcycle-debugging"><em>other more useful debugging approaches</em></a>.</li >
10 <li><a class="reference external" href="/native-client/pepper_beta/cpp/classpp_1 _1_video_decoder.html">VideoDecoder</a> is now
11 stable, see the SDK example in <code>pepper_canary/examples/api/video_decode</co de>.</li>
12 <li><code>postMessageAndAwaitResponse</code> is now stable and allows JavaScript to 43 <li><code>postMessageAndAwaitResponse</code> is now stable and allows JavaScript to
13 communicate synchronously with PNaCl embeds.</li> 44 <a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1 _message_handler">communicate synchronously</a> with PNaCl
45 embeds.</li>
14 </ul> 46 </ul>
15 <h2 id="chrome-pepper-38-15-august-2014">Chrome/Pepper 38 (15 August 2014)</h2> 47 <h2 id="chrome-pepper-38-15-august-2014">Chrome/Pepper 38 (15 August 2014)</h2>
16 <h3 id="pnacl">PNaCl</h3> 48 <h3 id="id3">PNaCl</h3>
17 <ul class="small-gap"> 49 <ul class="small-gap">
18 <li>Compilation speed improvements due to validation caching of the translator a nd 50 <li>Compilation speed improvements due to validation caching of the translator a nd
19 linker.</li> 51 linker.</li>
20 <li>Performance improvement of SIMD vector shuffle.</li> 52 <li>Performance improvement of SIMD vector shuffle.</li>
21 </ul> 53 </ul>
22 <h2 id="chrome-pepper-37-20-june-2014">Chrome/Pepper 37 (20 June 2014)</h2> 54 <h2 id="chrome-pepper-37-20-june-2014">Chrome/Pepper 37 (20 June 2014)</h2>
23 <h3 id="id1">PNaCl</h3> 55 <h3 id="id4">PNaCl</h3>
24 <ul class="small-gap"> 56 <ul class="small-gap">
25 <li>2–10% translation time improvement.</li> 57 <li>2–10% translation time improvement.</li>
26 <li>Improved vector load/store and shuffle performance.</li> 58 <li>Improved vector load/store and shuffle performance.</li>
27 </ul> 59 </ul>
28 <h3 id="id2">Pepper</h3> 60 <h3 id="id5">Pepper</h3>
29 <ul class="small-gap"> 61 <ul class="small-gap">
30 <li>Media Streams Input support.</li> 62 <li>Media Streams Input support.</li>
31 <li>Compositor API.</li> 63 <li>Compositor API.</li>
32 <li>Hardware Decode API in development preview.</li> 64 <li>Hardware Decode API in development preview.</li>
33 <li>Sync API in development preview.</li> 65 <li>Sync API in development preview.</li>
34 </ul> 66 </ul>
35 <h3 id="sdk">SDK</h3> 67 <h3 id="sdk">SDK</h3>
36 <ul class="small-gap"> 68 <ul class="small-gap">
37 <li>Demo of a <a class="reference internal" href="/native-client/io2014.html#io2 014"><em>full development environment in the browser</em></a>.</li> 69 <li>Demo of a <a class="reference internal" href="/native-client/io2014.html#io2 014"><em>full development environment in the browser</em></a>.</li>
38 </ul> 70 </ul>
39 <h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2> 71 <h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2>
40 <h3 id="id3">PNaCl</h3> 72 <h3 id="id6">PNaCl</h3>
41 <ul class="small-gap"> 73 <ul class="small-gap">
42 <li>Support <a class="reference external" href="http://clang.llvm.org/docs/Langu ageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a> 74 <li>Support <a class="reference external" href="http://clang.llvm.org/docs/Langu ageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a>
43 and <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector -Extensions.html">GCC vectors</a> for SIMD 75 and <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector -Extensions.html">GCC vectors</a> for SIMD
44 vectors through <a class="reference internal" href="/native-client/reference/pna cl-c-cpp-language-support.html#portable-simd-vectors"><em>Portable SIMD Vectors< /em></a>. Note that this is still an early release, 76 vectors through <a class="reference internal" href="/native-client/reference/pna cl-c-cpp-language-support.html#portable-simd-vectors"><em>Portable SIMD Vectors< /em></a>. Note that this is still an early release,
45 and performance is expected to become acceptable for version 37 of 77 and performance is expected to become acceptable for version 37 of
46 Chrome. More SIMD instructions will be added in later releases.</li> 78 Chrome. More SIMD instructions will be added in later releases.</li>
47 </ul> 79 </ul>
48 <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2> 80 <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2>
49 <h3 id="id4">PNaCl</h3> 81 <h3 id="id7">PNaCl</h3>
50 <ul class="small-gap"> 82 <ul class="small-gap">
51 <li>Upgraded LLVM to version 3.4.</li> 83 <li>Upgraded LLVM to version 3.4.</li>
52 <li>Translation now uses dynamic load balancing, making translation time faster. </li> 84 <li>Translation now uses dynamic load balancing, making translation time faster. </li>
53 <li>Unstable pexes (i.e. non-finalized) with debug information can be loaded by 85 <li>Unstable pexes (i.e. non-finalized) with debug information can be loaded by
54 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> 86 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>
55 </ul> 87 </ul>
56 <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2> 88 <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2>
57 <h3 id="id5">Pepper</h3> 89 <h3 id="id8">Pepper</h3>
58 <ul class="small-gap"> 90 <ul class="small-gap">
59 <li>Filesystems can now be passed from JavaScript to NaCl. The resulting 91 <li>Filesystems can now be passed from JavaScript to NaCl. The resulting
60 <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the 92 <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the
61 <code>pp::FileSystem</code> constructor.</li> 93 <code>pp::FileSystem</code> constructor.</li>
62 <li>New Audio and Video input APIs have been added as dev interfaces. See 94 <li>New Audio and Video input APIs have been added as dev interfaces. See
63 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_audio_track">pp::MediaStreamAudioTrack</a> and 95 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_audio_track">pp::MediaStreamAudioTrack</a> and
64 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_video_track">pp::MediaStreamVideoTrack</a> for 96 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_video_track">pp::MediaStreamVideoTrack</a> for
65 more details.</li> 97 more details.</li>
66 </ul> 98 </ul>
67 <h3 id="id6">PNaCl</h3> 99 <h3 id="id9">PNaCl</h3>
68 <ul class="small-gap"> 100 <ul class="small-gap">
69 <li>Parallel translation: at least 1.7x faster, even with older pexes.</li> 101 <li>Parallel translation: at least 1.7x faster, even with older pexes.</li>
70 <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using 102 <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using
71 the <a class="reference internal" href="/native-client/devguide/devcycle/buildin g.html#pnacl-compress"><em>pnacl-compress</em></a> tool.</li> 103 the <a class="reference internal" href="/native-client/devguide/devcycle/buildin g.html#pnacl-compress"><em>pnacl-compress</em></a> tool.</li>
72 </ul> 104 </ul>
73 <h2 id="chrome-pepper-33-16-dec-2013">Chrome/Pepper 33 (16 Dec 2013)</h2> 105 <h2 id="chrome-pepper-33-16-dec-2013">Chrome/Pepper 33 (16 Dec 2013)</h2>
74 <h3 id="portable-native-client">Portable Native Client</h3> 106 <h3 id="portable-native-client">Portable Native Client</h3>
75 <ul class="small-gap"> 107 <ul class="small-gap">
76 <li>PNaCl&#8217;s default C++ standard library is now LLVM&#8217;s own libc++, b ased on 108 <li>PNaCl&#8217;s default C++ standard library is now LLVM&#8217;s own libc++, b ased on
77 LLVM 3.3. This library now supports optional <code>setjmp</code>/<code>longjmp</ code> exception 109 LLVM 3.3. This library now supports optional <code>setjmp</code>/<code>longjmp</ code> exception
78 handling (see <a class="reference external" href="https://groups.google.com/foru m/#!topic/native-client-discuss/0spfg6O04FM">announcement</a> 110 handling (see <a class="reference external" href="https://groups.google.com/foru m/#!topic/native-client-discuss/0spfg6O04FM">announcement</a>
79 for details).</li> 111 for details).</li>
80 </ul> 112 </ul>
81 <h3 id="id7">SDK</h3> 113 <h3 id="id10">SDK</h3>
82 <ul class="small-gap"> 114 <ul class="small-gap">
83 <li>The <code>nacl_io</code> library now includes a FUSE mount.</li> 115 <li>The <code>nacl_io</code> library now includes a FUSE mount.</li>
84 <li>In the SDK examples, <code>common.js</code> now loads the Release version of the 116 <li>In the SDK examples, <code>common.js</code> now loads the Release version of the
85 nexes/pexes that are built (by default).</li> 117 nexes/pexes that are built (by default).</li>
86 <li>&#8220;<code>make debug</code>&#8221; and &#8220;<code>make run</code>&#8221 ; have been fixed on Mac.</li> 118 <li>&#8220;<code>make debug</code>&#8221; and &#8220;<code>make run</code>&#8221 ; have been fixed on Mac.</li>
87 </ul> 119 </ul>
88 <h2 id="pnacl-enabled-by-default-in-chrome-31-12-nov-2013">PNaCl enabled by defa ult in Chrome 31 (12 Nov 2013)</h2> 120 <h2 id="pnacl-enabled-by-default-in-chrome-31-12-nov-2013">PNaCl enabled by defa ult in Chrome 31 (12 Nov 2013)</h2>
89 <ul class="small-gap"> 121 <ul class="small-gap">
90 <li>Portable Native Client (PNaCl) is enabled by default in Chrome 31. See 122 <li>Portable Native Client (PNaCl) is enabled by default in Chrome 31. See
91 <a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>NaCl and PNaCl</em></a> for details on the differences between 123 <a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>NaCl and PNaCl</em></a> for details on the differences between
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 <ul class="small-gap"> 217 <ul class="small-gap">
186 <li>Common makefiles, including <code>tools/common.mk</code>, can now handle sou rce files 218 <li>Common makefiles, including <code>tools/common.mk</code>, can now handle sou rce files
187 located outside of an application&#8217;s root directory. For example, a Makefil e 219 located outside of an application&#8217;s root directory. For example, a Makefil e
188 for an application can specify a source file to compile such as 220 for an application can specify a source file to compile such as
189 <code>../../some/other/place.cpp</code>.</li> 221 <code>../../some/other/place.cpp</code>.</li>
190 </ul> 222 </ul>
191 <h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2> 223 <h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2>
192 <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts 224 <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts
193 library (which has been renamed nacl_io), changes to the example Makefiles, a 225 library (which has been renamed nacl_io), changes to the example Makefiles, a
194 simple new 3D example, and a threaded file IO example.</p> 226 simple new 3D example, and a threaded file IO example.</p>
195 <h3 id="id8">Build tools and toolchains</h3> 227 <h3 id="id11">Build tools and toolchains</h3>
196 <ul class="small-gap"> 228 <ul class="small-gap">
197 <li><p class="first">Makefiles have been changed significantly:</p> 229 <li><p class="first">Makefiles have been changed significantly:</p>
198 <ul class="small-gap"> 230 <ul class="small-gap">
199 <li>Build commands are now specified in a number of common files 231 <li>Build commands are now specified in a number of common files
200 (<code>tools/*.mk</code>), which are included in the Makefiles in the examples.< /li> 232 (<code>tools/*.mk</code>), which are included in the Makefiles in the examples.< /li>
201 <li>By default, make displays a simplified list of build steps (e.g., <code>CC 233 <li>By default, make displays a simplified list of build steps (e.g., <code>CC
202 newlib/Debug/hello_world_x86_32.o</code>) rather than the actual build commands. 234 newlib/Debug/hello_world_x86_32.o</code>) rather than the actual build commands.
203 To see the actual build commands, run <code>make V=1</code>.</li> 235 To see the actual build commands, run <code>make V=1</code>.</li>
204 <li>By default, most examples are built using one toolchain (newlib) and one 236 <li>By default, most examples are built using one toolchain (newlib) and one
205 configuration (Debug). To build an example using a different toolchain or 237 configuration (Debug). To build an example using a different toolchain or
206 configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=&lt;x&g t;</code> or 238 configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=&lt;x&g t;</code> or
207 <code>CONFIG=&lt;y&gt;</code>. You can also run make <code>all_versions</code> to build an example 239 <code>CONFIG=&lt;y&gt;</code>. You can also run make <code>all_versions</code> to build an example
208 with all toolchains.</li> 240 with all toolchains.</li>
209 </ul> 241 </ul>
210 </li> 242 </li>
211 <li>Header files have been moved out of the toolchains. All toolchains now share 243 <li>Header files have been moved out of the toolchains. All toolchains now share
212 the same set of header files as host builds. Previously host and NaCl builds 244 the same set of header files as host builds. Previously host and NaCl builds
213 used different headers, which could cause build problems.</li> 245 used different headers, which could cause build problems.</li>
214 </ul> 246 </ul>
215 <h3 id="id9">Libraries</h3> 247 <h3 id="id12">Libraries</h3>
216 <ul class="small-gap"> 248 <ul class="small-gap">
217 <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has b een expanded 249 <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has b een expanded
218 with a new type of mount, httpfs, which can be used to read URLs via HTTP. 250 with a new type of mount, httpfs, which can be used to read URLs via HTTP.
219 For details see <code>include/nacl_io/nacl_io.h</code>, as well as the 251 For details see <code>include/nacl_io/nacl_io.h</code>, as well as the
220 <code>hello_nacl_io</code> example.</li> 252 <code>hello_nacl_io</code> example.</li>
221 </ul> 253 </ul>
222 <h3 id="id10">Examples</h3> 254 <h3 id="id13">Examples</h3>
223 <ul class="small-gap"> 255 <ul class="small-gap">
224 <li>A new example, <strong>hello_world_instance3d</strong>, has been added to de monstrate a 256 <li>A new example, <strong>hello_world_instance3d</strong>, has been added to de monstrate a
225 simplified 3D app.</li> 257 simplified 3D app.</li>
226 <li>The <strong>file_io</strong> example has been rewritten to do all file opera tions on a 258 <li>The <strong>file_io</strong> example has been rewritten to do all file opera tions on a
227 thread. The example demonstrates how to use the MessageLoop API and blocking 259 thread. The example demonstrates how to use the MessageLoop API and blocking
228 callbacks on a thread.</li> 260 callbacks on a thread.</li>
229 </ul> 261 </ul>
230 <h3 id="general">General</h3> 262 <h3 id="general">General</h3>
231 <ul class="small-gap"> 263 <ul class="small-gap">
232 <li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the Native 264 <li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the Native
233 Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code> 265 Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code>
234 command.</li> 266 command.</li>
235 </ul> 267 </ul>
236 <h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2> 268 <h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2>
237 <p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules 269 <p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules
238 for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets 270 for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets
239 you make Pepper calls on background threads), two new libraries (nacl_mounts, 271 you make Pepper calls on background threads), two new libraries (nacl_mounts,
240 which provides a virtual file system that you can use with standard C file 272 which provides a virtual file system that you can use with standard C file
241 operations, and ppapi_main, which lets you implement a Native Client module 273 operations, and ppapi_main, which lets you implement a Native Client module
242 using a simple ppapi_main function), and two new examples that demonstrate how 274 using a simple ppapi_main function), and two new examples that demonstrate how
243 to use the nacl_mounts and ppapi_main libraries.</p> 275 to use the nacl_mounts and ppapi_main libraries.</p>
244 <h3 id="id11">Build tools and toolchains</h3> 276 <h3 id="id14">Build tools and toolchains</h3>
245 <ul class="small-gap"> 277 <ul class="small-gap">
246 <li><p class="first">The SDK includes a new toolchain to build Native Client exe cutables (.nexe 278 <li><p class="first">The SDK includes a new toolchain to build Native Client exe cutables (.nexe
247 files) for <strong>ARM devices</strong>.</p> 279 files) for <strong>ARM devices</strong>.</p>
248 <ul class="small-gap"> 280 <ul class="small-gap">
249 <li>Currently the ARM toolchain can only be used to compile modules that use 281 <li>Currently the ARM toolchain can only be used to compile modules that use
250 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 282 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
251 to compile modules that use the glibc library.</li> 283 to compile modules that use the glibc library.</li>
252 <li>The ARM toolchain is in the directory 284 <li>The ARM toolchain is in the directory
253 <code>pepper_25/toolchain/&lt;host&gt;_arm_newlib</code>. The bin subdirectory contains 285 <code>pepper_25/toolchain/&lt;host&gt;_arm_newlib</code>. The bin subdirectory contains
254 the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>) , and the 286 the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>) , and the
(...skipping 16 matching lines...) Expand all
271 module log messages to the JavaScript console in the Chrome browser.</li> 303 module log messages to the JavaScript console in the Chrome browser.</li>
272 <li>The <a class="reference external" href="/native-client/pepper_stable/cpp/cla sspp_1_1_message_loop">MessageLoop</a> API lets your 304 <li>The <a class="reference external" href="/native-client/pepper_stable/cpp/cla sspp_1_1_message_loop">MessageLoop</a> API lets your
273 module make PPAPI calls on a background thread. Once you&#8217;ve created a 305 module make PPAPI calls on a background thread. Once you&#8217;ve created a
274 message loop resource, attached it to a thread, and run it, you can post work 306 message loop resource, attached it to a thread, and run it, you can post work
275 to the thread, including completion callbacks for asynchronous operations. 307 to the thread, including completion callbacks for asynchronous operations.
276 For a C++ example of how to use the MessageLoop API, see 308 For a C++ example of how to use the MessageLoop API, see
277 <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note tha t you 309 <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note tha t you
278 cannot make asynchronous PPAPI calls on a background thread without creating 310 cannot make asynchronous PPAPI calls on a background thread without creating
279 and using a message loop.</li> 311 and using a message loop.</li>
280 </ul> 312 </ul>
281 <h3 id="id12">Libraries</h3> 313 <h3 id="id15">Libraries</h3>
282 <p>The SDK includes two new libraries:</p> 314 <p>The SDK includes two new libraries:</p>
283 <ul class="small-gap"> 315 <ul class="small-gap">
284 <li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module 316 <li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module
285 can &#8220;mount&#8221; in a given directory tree. The file system can be one of several 317 can &#8220;mount&#8221; in a given directory tree. The file system can be one of several
286 types:</p> 318 types:</p>
287 <ul class="small-gap"> 319 <ul class="small-gap">
288 <li>&#8220;memfs&#8221; is an in-memory file system,</li> 320 <li>&#8220;memfs&#8221; is an in-memory file system,</li>
289 <li>&#8220;dev&#8221; is a file system with various utility nodes (e.g., <code>/ dev/null</code>, 321 <li>&#8220;dev&#8221; is a file system with various utility nodes (e.g., <code>/ dev/null</code>,
290 <code>/dev/console[0-3]</code>, <code>/dev/tty</code>), and</li> 322 <code>/dev/console[0-3]</code>, <code>/dev/tty</code>), and</li>
291 <li>&#8220;html5fs&#8221; is a persistent file system.</li> 323 <li>&#8220;html5fs&#8221; is a persistent file system.</li>
(...skipping 13 matching lines...) Expand all
305 providing a familiar C programming environment. With this library, your 337 providing a familiar C programming environment. With this library, your
306 module can have a simple entry point called ppapi_main(), which is similar to 338 module can have a simple entry point called ppapi_main(), which is similar to
307 the standard C main() function, complete with argc and argv[] parameters. 339 the standard C main() function, complete with argc and argv[] parameters.
308 Your module can also use standard C functions such as printf(), fopen(), and 340 Your module can also use standard C functions such as printf(), fopen(), and
309 fwrite(). For details see include/ppapi_main/ppapi_main.h. For an example of 341 fwrite(). For details see include/ppapi_main/ppapi_main.h. For an example of
310 how to use ppapi_main, see examples/hello_world_stdio.</li> 342 how to use ppapi_main, see examples/hello_world_stdio.</li>
311 </ul> 343 </ul>
312 <p>Header files for the new libraries are in the <code>include/</code> directory , source 344 <p>Header files for the new libraries are in the <code>include/</code> directory , source
313 files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code> 345 files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code>
314 directory.</p> 346 directory.</p>
315 <h3 id="id13">Examples</h3> 347 <h3 id="id16">Examples</h3>
316 <ul class="small-gap"> 348 <ul class="small-gap">
317 <li><p class="first">The SDK includes two new examples:</p> 349 <li><p class="first">The SDK includes two new examples:</p>
318 <ul class="small-gap"> 350 <ul class="small-gap">
319 <li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library file 351 <li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library file
320 operations in a Native Client module through the use of the nacl_mounts 352 operations in a Native Client module through the use of the nacl_mounts
321 library.</li> 353 library.</li>
322 <li><strong>hello_world_stdio</strong> illustrates how to implement a Native Cli ent module 354 <li><strong>hello_world_stdio</strong> illustrates how to implement a Native Cli ent module
323 with a ppapi_main() function, and how to write to STDOUT and STDERR in a 355 with a ppapi_main() function, and how to write to STDOUT and STDERR in a
324 module, through the use of the nacl_mounts and ppapi_main libraries. This 356 module, through the use of the nacl_mounts and ppapi_main libraries. This
325 example makes it easy for new users to get started with Native Client by 357 example makes it easy for new users to get started with Native Client by
(...skipping 20 matching lines...) Expand all
346 Chrome is closed, the local server is shut down as well.</li> 378 Chrome is closed, the local server is shut down as well.</li>
347 <li>The hello_world_stdio example includes a simplified Makefile that only lists 379 <li>The hello_world_stdio example includes a simplified Makefile that only lists
348 source dependencies, and invokes the build rules in a separate file 380 source dependencies, and invokes the build rules in a separate file
349 (common.mk).</li> 381 (common.mk).</li>
350 </ul> 382 </ul>
351 <h2 id="pepper-24-5-december-2012">Pepper 24 (5 December 2012)</h2> 383 <h2 id="pepper-24-5-december-2012">Pepper 24 (5 December 2012)</h2>
352 <p>The Pepper 24 bundle features a new, experimental toolchain called PNaCl (sho rt 384 <p>The Pepper 24 bundle features a new, experimental toolchain called PNaCl (sho rt
353 for &#8220;Portable Native Client&#8221;), a new library (pthreads-win32) for th e Windows 385 for &#8220;Portable Native Client&#8221;), a new library (pthreads-win32) for th e Windows
354 SDK, and an expanded list of attributes for Pepper 3D contexts that lets 386 SDK, and an expanded list of attributes for Pepper 3D contexts that lets
355 applications specify a GPU preference for low power or performance.</p> 387 applications specify a GPU preference for low power or performance.</p>
356 <h3 id="id14">Build tools and toolchains</h3> 388 <h3 id="id17">Build tools and toolchains</h3>
357 <ul class="small-gap"> 389 <ul class="small-gap">
358 <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 390 <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
359 &#8220;pinnacle&#8221;). The PNaCl toolchain produces architecture-independent e xecutable 391 &#8220;pinnacle&#8221;). The PNaCl toolchain produces architecture-independent e xecutable
360 files (.pexe files). Chrome doesn&#8217;t yet support .pexe files directly, but if 392 files (.pexe files). Chrome doesn&#8217;t yet support .pexe files directly, but if
361 you want to experiment with this early preview of PNaCl, the toolchain 393 you want to experiment with this early preview of PNaCl, the toolchain
362 includes a tool to translate .pexe files into architecture-specific .nexe 394 includes a tool to translate .pexe files into architecture-specific .nexe
363 files. Take a look at the <code>hello_world</code> example to see how to build a .pexe 395 files. Take a look at the <code>hello_world</code> example to see how to build a .pexe
364 file and translate it into multiple .nexe files. Note that PNaCl is currently 396 file and translate it into multiple .nexe files. Note that PNaCl is currently
365 restricted to the newlib C standard library – if your application uses glibc, 397 restricted to the newlib C standard library – if your application uses glibc,
366 you can&#8217;t build it with PNaCl.</li> 398 you can&#8217;t build it with PNaCl.</li>
367 <li>The <code>create_nmf.py</code> script uses ELF headers (rather than file nam es) to 399 <li>The <code>create_nmf.py</code> script uses ELF headers (rather than file nam es) to
368 determine the architecture of .nexe files. That means you can change the 400 determine the architecture of .nexe files. That means you can change the
369 names of your .nexe files and <code>create_nmf.py</code> will still be able to 401 names of your .nexe files and <code>create_nmf.py</code> will still be able to
370 generate the appropriate Native Client manifest file for your application.</li> 402 generate the appropriate Native Client manifest file for your application.</li>
371 </ul> 403 </ul>
372 <h3 id="id16">Examples</h3> 404 <h3 id="id19">Examples</h3>
373 <ul class="small-gap"> 405 <ul class="small-gap">
374 <li>The SDK examples now build with four toolchains: the glibc and newlib 406 <li>The SDK examples now build with four toolchains: the glibc and newlib
375 toolchains, the experimental PNaCl toolchain, and the hosted toolchain on 407 toolchains, the experimental PNaCl toolchain, and the hosted toolchain on
376 your development machine. Within each toolchain build, each example also 408 your development machine. Within each toolchain build, each example also
377 builds both a debug and a release version.</li> 409 builds both a debug and a release version.</li>
378 <li>The example Makefiles use dependency (.d) files to enable incremental builds .</li> 410 <li>The example Makefiles use dependency (.d) files to enable incremental builds .</li>
379 <li>The pong example has been cleaned up and modified to run more smoothly. The 411 <li>The pong example has been cleaned up and modified to run more smoothly. The
380 drawing function is now set up as the Flush() callback, which allows 2D 412 drawing function is now set up as the Flush() callback, which allows 2D
381 drawing to occur as quickly as possible.</li> 413 drawing to occur as quickly as possible.</li>
382 </ul> 414 </ul>
383 <h3 id="id17">PPAPI</h3> 415 <h3 id="id20">PPAPI</h3>
384 <ul class="small-gap"> 416 <ul class="small-gap">
385 <li>When creating a 3D rendering context, the <a class="reference external" href ="/native-client/pepper_stable/c/group___enums#ga7df48e1c55f6401beea2a1b9c07967e 8">attribute list</a> 417 <li>When creating a 3D rendering context, the <a class="reference external" href ="/native-client/pepper_stable/c/group___enums#ga7df48e1c55f6401beea2a1b9c07967e 8">attribute list</a>
386 for the context can specify whether to prefer low power or performance for 418 for the context can specify whether to prefer low power or performance for
387 the GPU. Contexts with a low power preference may be created on an integrated 419 the GPU. Contexts with a low power preference may be created on an integrated
388 GPU; contexts with a performance preference may be created on a discrete GPU.</l i> 420 GPU; contexts with a performance preference may be created on a discrete GPU.</l i>
389 </ul> 421 </ul>
390 <h3 id="windows-sdk">Windows SDK</h3> 422 <h3 id="windows-sdk">Windows SDK</h3>
391 <ul class="small-gap"> 423 <ul class="small-gap">
392 <li>The Windows SDK includes the pthreads-win32 library to assist in porting fro m 424 <li>The Windows SDK includes the pthreads-win32 library to assist in porting fro m
393 win32 code. You can use this library when developing your module as a Pepper 425 win32 code. You can use this library when developing your module as a Pepper
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 <ul class="small-gap"> 477 <ul class="small-gap">
446 <li>Look at the example Makefiles or run <code>make</code> in the example direct ories to 478 <li>Look at the example Makefiles or run <code>make</code> in the example direct ories to
447 see the commands and flags used to build modules as Pepper plugins.</li> 479 see the commands and flags used to build modules as Pepper plugins.</li>
448 <li>Run <code>make LAUNCH</code> in the example directories to see how to use th e 480 <li>Run <code>make LAUNCH</code> in the example directories to see how to use th e
449 <code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrom e. 481 <code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrom e.
450 Note that you must set the <code>CHROME_PATH</code> environment variable and sta rt a 482 Note that you must set the <code>CHROME_PATH</code> environment variable and sta rt a
451 <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> 483 <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>
452 </ul> 484 </ul>
453 </li> 485 </li>
454 </ul> 486 </ul>
455 <h3 id="id18">Examples</h3> 487 <h3 id="id21">Examples</h3>
456 <ul class="small-gap"> 488 <ul class="small-gap">
457 <li>On Linux and Windows systems, most of the examples now build with three 489 <li>On Linux and Windows systems, most of the examples now build with three
458 toolchains: the Native Client glibc and newlib toolchains, and the native 490 toolchains: the Native Client glibc and newlib toolchains, and the native
459 toolchain on the host system. Modules built with the native toolchain on the 491 toolchain on the host system. Modules built with the native toolchain on the
460 host system can only run as Pepper plugins.</li> 492 host system can only run as Pepper plugins.</li>
461 <li>All examples in the SDK now comply with version 2 of the Chrome Web Store 493 <li>All examples in the SDK now comply with version 2 of the Chrome Web Store
462 <a class="reference external" href="/extensions/manifest">manifest file format</ a>. By default, 494 <a class="reference external" href="/extensions/manifest">manifest file format</ a>. By default,
463 applications that use version 2 of the manifest file format apply a strict 495 applications that use version 2 of the manifest file format apply a strict
464 <a class="reference external" href="/extensions/contentSecurityPolicy">content s ecurity policy</a>, which 496 <a class="reference external" href="/extensions/contentSecurityPolicy">content s ecurity policy</a>, which
465 includes a restriction against inline JavaScript. This restriction prohibits 497 includes a restriction against inline JavaScript. This restriction prohibits
466 both inline <code>&lt;script&gt;</code> blocks and inline event handlers (e.g., <code>&lt;button 498 both inline <code>&lt;script&gt;</code> blocks and inline event handlers (e.g., <code>&lt;button
467 onclick=&quot;...&quot;&gt;</code>). See <a class="reference external" href="/e xtensions/manifestVersion">Manifest Version</a> for 499 onclick=&quot;...&quot;&gt;</code>). See <a class="reference external" href="/e xtensions/manifestVersion">Manifest Version</a> for
468 a list of changes between version 1 and version 2 of the manifest file 500 a list of changes between version 1 and version 2 of the manifest file
469 format, and a support schedule for applications that use version 1.</li> 501 format, and a support schedule for applications that use version 1.</li>
470 </ul> 502 </ul>
471 <h3 id="id19">PPAPI</h3> 503 <h3 id="id22">PPAPI</h3>
472 <ul class="small-gap"> 504 <ul class="small-gap">
473 <li><a class="reference external" href="/native-client/pepper_stable/c/group___e nums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a> 505 <li><a class="reference external" href="/native-client/pepper_stable/c/group___e nums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a>
474 has two new enum values (_ISLEFT and _ISRIGHT).</li> 506 has two new enum values (_ISLEFT and _ISRIGHT).</li>
475 <li>The memory leak in the <a class="reference external" href="/native-client/pe pper_stable/c/struct_p_p_b___web_socket__1__0">WebSocket</a> API has 507 <li>The memory leak in the <a class="reference external" href="/native-client/pe pper_stable/c/struct_p_p_b___web_socket__1__0">WebSocket</a> API has
476 been fixed.</li> 508 been fixed.</li>
477 </ul> 509 </ul>
478 <h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2> 510 <h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2>
479 <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resou rces to enable 511 <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resou rces to enable
480 <strong>hosted development on Windows</strong>, and changes to the example Makef iles (each 512 <strong>hosted development on Windows</strong>, and changes to the example Makef iles (each
481 example now builds both a debug and a release version).</p> 513 example now builds both a debug and a release version).</p>
482 <h3 id="id20">Tools</h3> 514 <h3 id="id23">Tools</h3>
483 <ul class="small-gap"> 515 <ul class="small-gap">
484 <li>The SDK now includes a <strong>command-line debugger</strong> that you can u se to debug 516 <li>The SDK now includes a <strong>command-line debugger</strong> that you can u se to debug
485 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, 517 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,
486 nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux 518 nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux
487 systems. Support for Mac and 32-bit Windows systems will be added soon.</li> 519 systems. Support for Mac and 32-bit Windows systems will be added soon.</li>
488 </ul> 520 </ul>
489 <h3 id="id21">Windows SDK</h3> 521 <h3 id="id24">Windows SDK</h3>
490 <ul class="small-gap"> 522 <ul class="small-gap">
491 <li><p class="first">Developers using the Windows SDK can now <strong>build a mo dule as a Pepper 523 <li><p class="first">Developers using the Windows SDK can now <strong>build a mo dule as a Pepper
492 plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-process&# 8221; plugin) using the 524 plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-process&# 8221; plugin) using the
493 native C/C++ compiler on their development system. In essence this makes 525 native C/C++ compiler on their development system. In essence this makes
494 developing a Native Client module a two-step process:</p> 526 developing a Native Client module a two-step process:</p>
495 <ol class="arabic simple"> 527 <ol class="arabic simple">
496 <li>Build the module into a DLL using your system&#8217;s C/C++ compiler. Test a nd 528 <li>Build the module into a DLL using your system&#8217;s C/C++ compiler. Test a nd
497 debug the DLL using the tools in your normal development environment.</li> 529 debug the DLL using the tools in your normal development environment.</li>
498 <li>Build the module into a .nexe using the compiler from one of the Native 530 <li>Build the module into a .nexe using the compiler from one of the Native
499 Client toolchains in the SDK (nacl-gcc or nacl-g++). Test and debug the 531 Client toolchains in the SDK (nacl-gcc or nacl-g++). Test and debug the
(...skipping 27 matching lines...) Expand all
527 <strong>Note:</strong> It&#8217;s also possible to build a module as a trusted p lugin on Mac and 559 <strong>Note:</strong> It&#8217;s also possible to build a module as a trusted p lugin on Mac and
528 Linux systems, but doing so requires more work because the SDK does not yet 560 Linux systems, but doing so requires more work because the SDK does not yet
529 include the above resources (library source files and pre-built libraries) 561 include the above resources (library source files and pre-built libraries)
530 for Mac and Linux systems. To build and debug a trusted plugin on Mac and 562 for Mac and Linux systems. To build and debug a trusted plugin on Mac and
531 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 563 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
532 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> 564 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>
533 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>. 565 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>.
534 In the future, the SDK will include resources for hosted development on Mac 566 In the future, the SDK will include resources for hosted development on Mac
535 and Linux as well as Windows. 567 and Linux as well as Windows.
536 </aside> 568 </aside>
537 <h3 id="id22">Examples</h3> 569 <h3 id="id25">Examples</h3>
538 <ul class="small-gap"> 570 <ul class="small-gap">
539 <li>Each example in the SDK now builds both a debug and a release version. As 571 <li>Each example in the SDK now builds both a debug and a release version. As
540 before, most examples also build newlib and glibc versions, which means that 572 before, most examples also build newlib and glibc versions, which means that
541 there are now four versions for each example. Take a look at the Makefiles in 573 there are now four versions for each example. Take a look at the Makefiles in
542 the examples to see the compiler flags that are used for debug and release 574 the examples to see the compiler flags that are used for debug and release
543 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 575 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
544 different development scenarios</em></a>.</li> 576 different development scenarios</em></a>.</li>
545 <li>Comments have been added to common.js, which is used in all the examples. Th e 577 <li>Comments have been added to common.js, which is used in all the examples. Th e
546 JavaScript in common.js inserts an &lt;embed&gt; element that loads the NaCl mod ule 578 JavaScript in common.js inserts an &lt;embed&gt; element that loads the NaCl mod ule
547 in each example&#8217;s web page, attaches event listeners to monitor the loadin g 579 in each example&#8217;s web page, attaches event listeners to monitor the loadin g
548 of the module, and implements handleMessage() to respond to messages sent 580 of the module, and implements handleMessage() to respond to messages sent
549 from the NaCl module to the JavaScript side of the application</li> 581 from the NaCl module to the JavaScript side of the application</li>
550 </ul> 582 </ul>
551 <h3 id="id23">PPAPI</h3> 583 <h3 id="id26">PPAPI</h3>
552 <ul class="small-gap"> 584 <ul class="small-gap">
553 <li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits 585 <li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits
554 class as its second parameter. For details see the <a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1_completion_callback_factory# details">CompletionCallbackFactory 586 class as its second parameter. For details see the <a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1_completion_callback_factory# details">CompletionCallbackFactory
555 class template reference</a>.</li> 587 class template reference</a>.</li>
556 </ul> 588 </ul>
557 </section> 589 </section>
558 590
559 {{/partials.standard_nacl_article}} 591 {{/partials.standard_nacl_article}}
OLDNEW
« no previous file with comments | « no previous file | native_client_sdk/doc_generated/sitemap.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698