| Index: native_client_sdk/doc_generated/sdk/release-notes.html
|
| diff --git a/native_client_sdk/doc_generated/sdk/release-notes.html b/native_client_sdk/doc_generated/sdk/release-notes.html
|
| index 7a81d94d8d79c90250a8043ced3350b7e277c5cc..798946fb957579d13a9dd859b946265db05ad150 100644
|
| --- a/native_client_sdk/doc_generated/sdk/release-notes.html
|
| +++ b/native_client_sdk/doc_generated/sdk/release-notes.html
|
| @@ -4,6 +4,13 @@
|
| <span id="sdk-release-notes"></span><h1 id="release-notes"><span id="sdk-release-notes"></span>Release Notes</h1>
|
| <p>The dates in the following release notes denote when Chrome and the NaCl SDK
|
| reached canary status. The stable release is typically 6 weeks later.</p>
|
| +<h2 id="chrome-pepper-43-03-april-2015">Chrome/Pepper 43 (03 April 2015)</h2>
|
| +<h3 id="pnacl">PNaCl</h3>
|
| +<ul class="small-gap">
|
| +<li>The C11/C++11 <code>acquire</code>, <code>release</code>, and <code>acq_rel</code> memory orders are now
|
| +generated by default. The in-browser Chrome 42 translator supports them, the
|
| +SDK can therefore generate them.</li>
|
| +</ul>
|
| <h2 id="chrome-pepper-42-20-february-2015">Chrome/Pepper 42 (20 February 2015)</h2>
|
| <h3 id="sdk">SDK</h3>
|
| <ul class="small-gap">
|
| @@ -16,17 +23,17 @@ can be used to generate NaCl <code>.nexe</code> files instead of translating a
|
| <h3 id="nacl">NaCl</h3>
|
| <ul class="small-gap">
|
| <li>The x86 NaCl validators accept instructions from the FMA3 extensions, as well
|
| -as AVX2 instructions (except <cite>VGATHER</cite>).</li>
|
| +as AVX2 instructions (except <code>VGATHER</code>).</li>
|
| </ul>
|
| -<h3 id="pnacl">PNaCl</h3>
|
| +<h3 id="id1">PNaCl</h3>
|
| <ul class="small-gap">
|
| -<li>PNaCl supports C11/C++11 memory orders <cite>acquire</cite>, <cite>release</cite>, and <cite>acq_rel</cite>. It
|
| -used to upgrade all accesses to <cite>seq_cst</cite>. It still upgrades <cite>consume</cite> to
|
| -<cite>acquire</cite> (no compiler currently implements <cite>consume</cite>), and <cite>relaxed</cite> to
|
| -<cite>seq_cst</cite> (to conservatively avoid platform differences due to out-of-thin-air
|
| -problems). This is currently disabled by default in the SDK so that the
|
| -in-browser translator installed on users’ machines has time to gain this
|
| -support. Developers can turn it on by passing the
|
| +<li>PNaCl supports C11/C++11 memory orders <code>acquire</code>, <code>release</code>, and
|
| +<code>acq_rel</code>. It used to upgrade all accesses to <code>seq_cst</code>. It still upgrades
|
| +<code>consume</code> to <code>acquire</code> (no compiler currently implements <code>consume</code>), and
|
| +<code>relaxed</code> to <code>seq_cst</code> (to conservatively avoid platform differences due
|
| +to out-of-thin-air problems). This is currently disabled by default in the SDK
|
| +so that the in-browser translator installed on users’ machines has time to
|
| +gain this support. Developers can turn it on by passing the
|
| <code>-pnacl-memory-order-seq-cst-only=false</code> flag to <code>opt</code>.</li>
|
| <li>PNaCl handles nested struct type expansion, which allows it to better support
|
| non-C languages such as Rust.</li>
|
| @@ -34,11 +41,11 @@ non-C languages such as Rust.</li>
|
| operations. This is often encountered when using large consecutive bitfields.</li>
|
| </ul>
|
| <h2 id="chrome-pepper-41-09-january-2015">Chrome/Pepper 41 (09 January 2015)</h2>
|
| -<h3 id="id1">NaCl</h3>
|
| +<h3 id="id2">NaCl</h3>
|
| <ul class="small-gap">
|
| <li>The x86 NaCl validators accept instructions from the AVX1 extensions.</li>
|
| </ul>
|
| -<h3 id="id2">PNaCl</h3>
|
| +<h3 id="id3">PNaCl</h3>
|
| <ul class="small-gap">
|
| <li>PNaCl is now based on LLVM 3.5.</li>
|
| </ul>
|
| @@ -57,31 +64,31 @@ stable, see the SDK example in <code>pepper_canary/examples/api/video_decode</co
|
| embeds.</li>
|
| </ul>
|
| <h2 id="chrome-pepper-38-15-august-2014">Chrome/Pepper 38 (15 August 2014)</h2>
|
| -<h3 id="id3">PNaCl</h3>
|
| +<h3 id="id4">PNaCl</h3>
|
| <ul class="small-gap">
|
| <li>Compilation speed improvements due to validation caching of the translator and
|
| linker.</li>
|
| <li>Performance improvement of SIMD vector shuffle.</li>
|
| </ul>
|
| <h2 id="chrome-pepper-37-20-june-2014">Chrome/Pepper 37 (20 June 2014)</h2>
|
| -<h3 id="id4">PNaCl</h3>
|
| +<h3 id="id5">PNaCl</h3>
|
| <ul class="small-gap">
|
| <li>2–10% translation time improvement.</li>
|
| <li>Improved vector load/store and shuffle performance.</li>
|
| </ul>
|
| -<h3 id="id5">Pepper</h3>
|
| +<h3 id="id6">Pepper</h3>
|
| <ul class="small-gap">
|
| <li>Media Streams Input support.</li>
|
| <li>Compositor API.</li>
|
| <li>Hardware Decode API in development preview.</li>
|
| <li>Sync API in development preview.</li>
|
| </ul>
|
| -<h3 id="id6">SDK</h3>
|
| +<h3 id="id7">SDK</h3>
|
| <ul class="small-gap">
|
| <li>Demo of a <a class="reference internal" href="/native-client/io2014.html#io2014"><em>full development environment in the browser</em></a>.</li>
|
| </ul>
|
| <h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2>
|
| -<h3 id="id7">PNaCl</h3>
|
| +<h3 id="id8">PNaCl</h3>
|
| <ul class="small-gap">
|
| <li>Support <a class="reference external" href="http://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a>
|
| and <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html">GCC vectors</a> for SIMD
|
| @@ -90,7 +97,7 @@ and performance is expected to become acceptable for version 37 of
|
| Chrome. More SIMD instructions will be added in later releases.</li>
|
| </ul>
|
| <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2>
|
| -<h3 id="id8">PNaCl</h3>
|
| +<h3 id="id9">PNaCl</h3>
|
| <ul class="small-gap">
|
| <li>Upgraded LLVM to version 3.4.</li>
|
| <li>Translation now uses dynamic load balancing, making translation time faster.</li>
|
| @@ -98,7 +105,7 @@ Chrome. More SIMD instructions will be added in later releases.</li>
|
| Chrome, simplifying debugging with PNaCl. See <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#debugging-pnacl-pexes"><em>Debugging PNaCl pexes</em></a></li>
|
| </ul>
|
| <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2>
|
| -<h3 id="id9">Pepper</h3>
|
| +<h3 id="id10">Pepper</h3>
|
| <ul class="small-gap">
|
| <li>Filesystems can now be passed from JavaScript to NaCl. The resulting
|
| <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the
|
| @@ -108,7 +115,7 @@ Chrome, simplifying debugging with PNaCl. See <a class="reference internal" href
|
| <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_media_stream_video_track">pp::MediaStreamVideoTrack</a> for
|
| more details.</li>
|
| </ul>
|
| -<h3 id="id10">PNaCl</h3>
|
| +<h3 id="id11">PNaCl</h3>
|
| <ul class="small-gap">
|
| <li>Parallel translation: at least 1.7x faster, even with older pexes.</li>
|
| <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using
|
| @@ -122,7 +129,7 @@ LLVM 3.3. This library now supports optional <code>setjmp</code>/<code>longjmp</
|
| handling (see <a class="reference external" href="https://groups.google.com/forum/#!topic/native-client-discuss/0spfg6O04FM">announcement</a>
|
| for details).</li>
|
| </ul>
|
| -<h3 id="id11">SDK</h3>
|
| +<h3 id="id12">SDK</h3>
|
| <ul class="small-gap">
|
| <li>The <code>nacl_io</code> library now includes a FUSE mount.</li>
|
| <li>In the SDK examples, <code>common.js</code> now loads the Release version of the
|
| @@ -236,7 +243,7 @@ for an application can specify a source file to compile such as
|
| <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts
|
| library (which has been renamed nacl_io), changes to the example Makefiles, a
|
| simple new 3D example, and a threaded file IO example.</p>
|
| -<h3 id="id12">Build tools and toolchains</h3>
|
| +<h3 id="id13">Build tools and toolchains</h3>
|
| <ul class="small-gap">
|
| <li><p class="first">Makefiles have been changed significantly:</p>
|
| <ul class="small-gap">
|
| @@ -256,14 +263,14 @@ with all toolchains.</li>
|
| the same set of header files as host builds. Previously host and NaCl builds
|
| used different headers, which could cause build problems.</li>
|
| </ul>
|
| -<h3 id="id13">Libraries</h3>
|
| +<h3 id="id14">Libraries</h3>
|
| <ul class="small-gap">
|
| <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has been expanded
|
| with a new type of mount, httpfs, which can be used to read URLs via HTTP.
|
| For details see <code>include/nacl_io/nacl_io.h</code>, as well as the
|
| <code>hello_nacl_io</code> example.</li>
|
| </ul>
|
| -<h3 id="id14">Examples</h3>
|
| +<h3 id="id15">Examples</h3>
|
| <ul class="small-gap">
|
| <li>A new example, <strong>hello_world_instance3d</strong>, has been added to demonstrate a
|
| simplified 3D app.</li>
|
| @@ -285,7 +292,7 @@ which provides a virtual file system that you can use with standard C file
|
| operations, and ppapi_main, which lets you implement a Native Client module
|
| using a simple ppapi_main function), and two new examples that demonstrate how
|
| to use the nacl_mounts and ppapi_main libraries.</p>
|
| -<h3 id="id15">Build tools and toolchains</h3>
|
| +<h3 id="id16">Build tools and toolchains</h3>
|
| <ul class="small-gap">
|
| <li><p class="first">The SDK includes a new toolchain to build Native Client executables (.nexe
|
| files) for <strong>ARM devices</strong>.</p>
|
| @@ -322,7 +329,7 @@ For a C++ example of how to use the MessageLoop API, see
|
| cannot make asynchronous PPAPI calls on a background thread without creating
|
| and using a message loop.</li>
|
| </ul>
|
| -<h3 id="id16">Libraries</h3>
|
| +<h3 id="id17">Libraries</h3>
|
| <p>The SDK includes two new libraries:</p>
|
| <ul class="small-gap">
|
| <li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module
|
| @@ -356,7 +363,7 @@ how to use ppapi_main, see examples/hello_world_stdio.</li>
|
| <p>Header files for the new libraries are in the <code>include/</code> directory, source
|
| files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code>
|
| directory.</p>
|
| -<h3 id="id17">Examples</h3>
|
| +<h3 id="id18">Examples</h3>
|
| <ul class="small-gap">
|
| <li><p class="first">The SDK includes two new examples:</p>
|
| <ul class="small-gap">
|
| @@ -397,7 +404,7 @@ source dependencies, and invokes the build rules in a separate file
|
| for “Portable Native Client”), a new library (pthreads-win32) for the Windows
|
| SDK, and an expanded list of attributes for Pepper 3D contexts that lets
|
| applications specify a GPU preference for low power or performance.</p>
|
| -<h3 id="id18">Build tools and toolchains</h3>
|
| +<h3 id="id19">Build tools and toolchains</h3>
|
| <ul class="small-gap">
|
| <li>The SDK includes a new, experimental toolchain called <a class="reference external" href="http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf">PNaCl</a> (pronounced
|
| “pinnacle”). The PNaCl toolchain produces architecture-independent executable
|
| @@ -413,7 +420,7 @@ determine the architecture of .nexe files. That means you can change the
|
| names of your .nexe files and <code>create_nmf.py</code> will still be able to
|
| generate the appropriate Native Client manifest file for your application.</li>
|
| </ul>
|
| -<h3 id="id20">Examples</h3>
|
| +<h3 id="id21">Examples</h3>
|
| <ul class="small-gap">
|
| <li>The SDK examples now build with four toolchains: the glibc and newlib
|
| toolchains, the experimental PNaCl toolchain, and the hosted toolchain on
|
| @@ -424,7 +431,7 @@ builds both a debug and a release version.</li>
|
| drawing function is now set up as the Flush() callback, which allows 2D
|
| drawing to occur as quickly as possible.</li>
|
| </ul>
|
| -<h3 id="id21">PPAPI</h3>
|
| +<h3 id="id22">PPAPI</h3>
|
| <ul class="small-gap">
|
| <li>When creating a 3D rendering context, the <a class="reference external" href="/native-client/pepper_stable/c/group___enums#ga7df48e1c55f6401beea2a1b9c07967e8">attribute list</a>
|
| for the context can specify whether to prefer low power or performance for
|
| @@ -496,7 +503,7 @@ Note that you must set the <code>CHROME_PATH</code> environment variable and sta
|
| </ul>
|
| </li>
|
| </ul>
|
| -<h3 id="id22">Examples</h3>
|
| +<h3 id="id23">Examples</h3>
|
| <ul class="small-gap">
|
| <li>On Linux and Windows systems, most of the examples now build with three
|
| toolchains: the Native Client glibc and newlib toolchains, and the native
|
| @@ -512,7 +519,7 @@ onclick="..."></code>). See <a class="reference external" href="/e
|
| a list of changes between version 1 and version 2 of the manifest file
|
| format, and a support schedule for applications that use version 1.</li>
|
| </ul>
|
| -<h3 id="id23">PPAPI</h3>
|
| +<h3 id="id24">PPAPI</h3>
|
| <ul class="small-gap">
|
| <li><a class="reference external" href="/native-client/pepper_stable/c/group___enums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a>
|
| has two new enum values (_ISLEFT and _ISRIGHT).</li>
|
| @@ -523,14 +530,14 @@ been fixed.</li>
|
| <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resources to enable
|
| <strong>hosted development on Windows</strong>, and changes to the example Makefiles (each
|
| example now builds both a debug and a release version).</p>
|
| -<h3 id="id24">Tools</h3>
|
| +<h3 id="id25">Tools</h3>
|
| <ul class="small-gap">
|
| <li>The SDK now includes a <strong>command-line debugger</strong> that you can use to debug
|
| Native Client modules. See <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#devcycle-debugging"><em>Debugging with nacl-gdb</em></a> for instructions on how to use this debugger. For now,
|
| nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux
|
| systems. Support for Mac and 32-bit Windows systems will be added soon.</li>
|
| </ul>
|
| -<h3 id="id25">Windows SDK</h3>
|
| +<h3 id="id26">Windows SDK</h3>
|
| <ul class="small-gap">
|
| <li><p class="first">Developers using the Windows SDK can now <strong>build a module as a Pepper
|
| plugin</strong> (sometimes called a “trusted” or “in-process” plugin) using the
|
| @@ -578,7 +585,7 @@ or <a class="reference external" href="http://www.chromium.org/nativeclient/how-
|
| In the future, the SDK will include resources for hosted development on Mac
|
| and Linux as well as Windows.
|
| </aside>
|
| -<h3 id="id26">Examples</h3>
|
| +<h3 id="id27">Examples</h3>
|
| <ul class="small-gap">
|
| <li>Each example in the SDK now builds both a debug and a release version. As
|
| before, most examples also build newlib and glibc versions, which means that
|
| @@ -592,7 +599,7 @@ in each example’s web page, attaches event listeners to monitor the loadin
|
| of the module, and implements handleMessage() to respond to messages sent
|
| from the NaCl module to the JavaScript side of the application</li>
|
| </ul>
|
| -<h3 id="id27">PPAPI</h3>
|
| +<h3 id="id28">PPAPI</h3>
|
| <ul class="small-gap">
|
| <li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits
|
| 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
|
|
|