Skip to content

Commit

Permalink
GFN SDK Release 1.12
Browse files Browse the repository at this point in the history
This is the official 1.12 release. See README.md for more details.
  • Loading branch information
AndresV-NV committed Jun 12, 2023
1 parent 61ef2c8 commit fa339dc
Show file tree
Hide file tree
Showing 80 changed files with 2,155 additions and 535 deletions.
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# NVIDIA GeForce NOW SDK Release 1.11
# NVIDIA GeForce NOW SDK Release 1.12

## At a Glance

Expand All @@ -10,8 +10,12 @@ Please refer to the [SDK GFN Primer](./doc/SDK-GFN-PRIMER.pdf) for a more detail

### What's New in This Release

* The API `getSessionInfo` is extended to include session ID and RTX enabled flag information
* Bug fixes and other minor improvements
* Added device physical resolution to the GfnGetClientInfo call
* Added IP, client resolution, and safe-zone information to the callbacks received after GfnRegisterClientInfoCallback
* Added bi-directional communication between GFN/custom clients and GFN SDK-enabled applications running in the GFN cloud. See the Primer and SendMessage API for more details
* Modified samples to demonstrate APIs which previously hadn't been prominent
* Added a new error-code, gfnNoData. This occurs in cases such as the GetPartnerData API, where it is possible to have no internal error, yet still find no data
* Bug fixes and minor improvements

## GeForce NOW Developer Portal

Expand Down
Binary file modified doc/SDK-GFN-MOBILE-TOUCH-INTEGRATION-GUIDE.pdf
Binary file not shown.
Binary file modified doc/SDK-GFN-PRIMER.pdf
Binary file not shown.
72 changes: 70 additions & 2 deletions doc/SDK-GFN-RUNTIME/html/_gfn_runtime_sdk___c_a_p_i_8h.html
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,10 @@
typedef <a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a9c7df068710138e6a6f0162f758ff38d">GfnApplicationCallbackResult</a>(<a class="el" href="_gfn_sdk_8h.html#a6c0d24df59a5bd1c1fbf10cc0864d1d6">GFN_CALLBACK</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a02d95f5fcc4d22622ea8dc25979b6ff7">NetworkStatusCallbackSig</a>) (<a class="el" href="struct_gfn_network_status_update_data.html">GfnNetworkStatusUpdateData</a> *pUpdate, const void *pUserContext)</td></tr>
<tr class="memdesc:a02d95f5fcc4d22622ea8dc25979b6ff7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function for notifications on network status changes. Register via gfnRegisterNetworkStatusCallback API. <br /></td></tr>
<tr class="separator:a02d95f5fcc4d22622ea8dc25979b6ff7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9b322d4ee0932aa12bbbd6120e74cbf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9b322d4ee0932aa12bbbd6120e74cbf"></a>
typedef <a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a9c7df068710138e6a6f0162f758ff38d">GfnApplicationCallbackResult</a>(<a class="el" href="_gfn_sdk_8h.html#a6c0d24df59a5bd1c1fbf10cc0864d1d6">GFN_CALLBACK</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#af9b322d4ee0932aa12bbbd6120e74cbf">MessageCallbackSig</a>) (const <a class="el" href="struct_gfn_string.html">GfnString</a> *pStrData, void *pUserContext)</td></tr>
<tr class="memdesc:af9b322d4ee0932aa12bbbd6120e74cbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function for notifications when an application recieves a custom message. <br /></td></tr>
<tr class="separator:af9b322d4ee0932aa12bbbd6120e74cbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
Expand Down Expand Up @@ -302,8 +306,14 @@
}<tr class="memdesc:a1f78681ce77a7884cf0ffe98fedc7734"><td class="mdescLeft">&#160;</td><td class="mdescRight">Types of operating systems that can be reported by the SDK. <br /></td></tr>
</td></tr>
<tr class="separator:a1f78681ce77a7884cf0ffe98fedc7734"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a855cf09bb9d788137222168251e69bbb"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a855cf09bb9d788137222168251e69bbb">GfnClientInfoChangeType</a> { <a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a855cf09bb9d788137222168251e69bbbaa8264e33995e412604eb073b4b122cce">gfnOs</a> = 0,
<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a855cf09bb9d788137222168251e69bbbaeab2daba98e6eb78530e4fa6bd241902">gfnClientDataChangeTypeMax</a> = 0
<tr class="memitem:a855cf09bb9d788137222168251e69bbb"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a855cf09bb9d788137222168251e69bbb">GfnClientInfoChangeType</a> { <br />
&#160;&#160;<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a855cf09bb9d788137222168251e69bbbaa8264e33995e412604eb073b4b122cce">gfnOs</a> = 0,
<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a855cf09bb9d788137222168251e69bbba2c68336e34f6100ccb9c4acd7da9bf2a">gfnIP</a> = 1,
<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a855cf09bb9d788137222168251e69bbbadfba9806511384410198cb2449b2ca25">gfnClientResolution</a> = 2,
<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a855cf09bb9d788137222168251e69bbbacf145d936a82c09515034ab86cd3ba86">gfnSafeZone</a> = 3,
<br />
&#160;&#160;<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a855cf09bb9d788137222168251e69bbbaeab2daba98e6eb78530e4fa6bd241902">gfnClientDataChangeTypeMax</a> = 3
<br />
}<tr class="memdesc:a855cf09bb9d788137222168251e69bbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of data which changed. This enum will be expanded over time. <a href="_gfn_runtime_sdk___c_a_p_i_8h.html#a855cf09bb9d788137222168251e69bbb">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a855cf09bb9d788137222168251e69bbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Expand Down Expand Up @@ -335,6 +345,8 @@
<tr class="separator:a432fb9b340f4ee95166d537feee44ea0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac19b823f27eaffd4bd318eaf0fa02449"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_gfn_sdk_8h.html#a14c3346bb10747d03ddfa1d0f724faae">NVGFNSDK_EXPORT</a> GfnRuntimeError <a class="el" href="_gfn_sdk_8h.html#a8dafdfb79c5b9870d7ee0e507c61c905">NVGFNSDKApi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#ac19b823f27eaffd4bd318eaf0fa02449">gfnRegisterSessionInitCallback</a> (<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#aaf8c09b9174894c91b980a790c105008">SessionInitCallbackSig</a> sessionInitCallback, void *pUserContext)</td></tr>
<tr class="separator:ac19b823f27eaffd4bd318eaf0fa02449"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5b74a7732c782eb448f5017115997c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_gfn_sdk_8h.html#a14c3346bb10747d03ddfa1d0f724faae">NVGFNSDK_EXPORT</a> GfnRuntimeError <a class="el" href="_gfn_sdk_8h.html#a8dafdfb79c5b9870d7ee0e507c61c905">NVGFNSDKApi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#ae5b74a7732c782eb448f5017115997c8">gfnRegisterMessageCallback</a> (<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#af9b322d4ee0932aa12bbbd6120e74cbf">MessageCallbackSig</a> messageCallback, void *pUserContext)</td></tr>
<tr class="separator:ae5b74a7732c782eb448f5017115997c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abae3540f316b5bbd5e72b0071d3f3d5a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_gfn_sdk_8h.html#a14c3346bb10747d03ddfa1d0f724faae">NVGFNSDK_EXPORT</a> GfnRuntimeError <a class="el" href="_gfn_sdk_8h.html#a8dafdfb79c5b9870d7ee0e507c61c905">NVGFNSDKApi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#abae3540f316b5bbd5e72b0071d3f3d5a">gfnRegisterClientInfoCallback</a> (<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#af8cf87633ab1ce4e56a2b9f8b71a4306">ClientInfoCallbackSig</a> clientInfoCallback, void *pUserContext)</td></tr>
<tr class="separator:abae3540f316b5bbd5e72b0071d3f3d5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaa9b6d41eac3e072f93f33429bba5e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_gfn_sdk_8h.html#a14c3346bb10747d03ddfa1d0f724faae">NVGFNSDK_EXPORT</a> GfnRuntimeError <a class="el" href="_gfn_sdk_8h.html#a8dafdfb79c5b9870d7ee0e507c61c905">NVGFNSDKApi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#acaa9b6d41eac3e072f93f33429bba5e5">gfnRegisterNetworkStatusCallback</a> (<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a02d95f5fcc4d22622ea8dc25979b6ff7">NetworkStatusCallbackSig</a> networkStatusCallback, unsigned int updateRateMs, void *pUserContext)</td></tr>
Expand Down Expand Up @@ -379,6 +391,8 @@
<tr class="separator:ga2fa481d6d0cd9218425d0dbc3175b68e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa5e1081ccd6b903f12a6b9f05b11bf03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_gfn_sdk_8h.html#a14c3346bb10747d03ddfa1d0f724faae">NVGFNSDK_EXPORT</a> GfnRuntimeError <a class="el" href="_gfn_sdk_8h.html#a8dafdfb79c5b9870d7ee0e507c61c905">NVGFNSDKApi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__launcher.html#gaa5e1081ccd6b903f12a6b9f05b11bf03">gfnSetActionZone</a> (<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a4d3eb8f4bb9195f7777ea5286ec2be46">GfnActionType</a> type, unsigned int id, <a class="el" href="struct_gfn_rect.html">GfnRect</a> *zone)</td></tr>
<tr class="separator:gaa5e1081ccd6b903f12a6b9f05b11bf03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab6a2bf6d5242c4f172d39096dda54cef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_gfn_sdk_8h.html#a14c3346bb10747d03ddfa1d0f724faae">NVGFNSDK_EXPORT</a> GfnRuntimeError&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__launcher.html#gab6a2bf6d5242c4f172d39096dda54cef">gfnSendMessage</a> (const char *pchMessage, unsigned int length)</td></tr>
<tr class="separator:gab6a2bf6d5242c4f172d39096dda54cef"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>API definitions </p>
Expand Down Expand Up @@ -445,6 +459,15 @@
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a855cf09bb9d788137222168251e69bbbaa8264e33995e412604eb073b4b122cce"></a>gfnOs&#160;</td><td class="fielddoc">
<p>Change in OS of GFN Client. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a855cf09bb9d788137222168251e69bbba2c68336e34f6100ccb9c4acd7da9bf2a"></a>gfnIP&#160;</td><td class="fielddoc">
<p>Change in IP of GFN Client (due to device switch/reconnect) </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a855cf09bb9d788137222168251e69bbbadfba9806511384410198cb2449b2ca25"></a>gfnClientResolution&#160;</td><td class="fielddoc">
<p>Change in resolution of GFN Client. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a855cf09bb9d788137222168251e69bbbacf145d936a82c09515034ab86cd3ba86"></a>gfnSafeZone&#160;</td><td class="fielddoc">
<p>Change in safe zone rectangle (due to device switch or rotation) </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a855cf09bb9d788137222168251e69bbbaeab2daba98e6eb78530e4fa6bd241902"></a>gfnClientDataChangeTypeMax&#160;</td><td class="fielddoc">
<p>Sentinel value for GfnClientInfoChangeType. </p>
</td></tr>
Expand Down Expand Up @@ -586,6 +609,51 @@ <h2 class="groupheader">Function Documentation</h2>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="ae5b74a7732c782eb448f5017115997c8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="_gfn_sdk_8h.html#a14c3346bb10747d03ddfa1d0f724faae">NVGFNSDK_EXPORT</a> GfnRuntimeError <a class="el" href="_gfn_sdk_8h.html#a8dafdfb79c5b9870d7ee0e507c61c905">NVGFNSDKApi</a> gfnRegisterMessageCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#af9b322d4ee0932aa12bbbd6120e74cbf">MessageCallbackSig</a>&#160;</td>
<td class="paramname"><em>messageCallback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>pUserContext</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section user"><dt>Description</dt><dd>Register an application callback with GFN to be called when a message is sent to the application.</dd></dl>
<dl class="section user"><dt>Usage</dt><dd>Provide a callback function that will be called when a message is sent to the application.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">messageCallback</td><td>- Function pointer to application code to call when a message has been recieved. </td></tr>
<tr><td class="paramname">pUserContext</td><td>- Pointer to user context, which will be passed unmodified to the callback specified. Can be NULL.</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">gfnSuccess</td><td>- On success when running in a GFN environment </td></tr>
<tr><td class="paramname">gfnInvalidParameter</td><td>- If callback was NULL </td></tr>
<tr><td class="paramname">gfnCloudLibraryNotFound</td><td>- If the on-seat dll was not present (Usually due to not running on a seat) </td></tr>
<tr><td class="paramname">gfnAPINotFound</td><td>- If the API was not found in the GFN SDK Library </td></tr>
<tr><td class="paramname">gfnCallWrongEnvironment</td><td>- If the on-seat dll detected that it was not on a game seat </td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="acaa9b6d41eac3e072f93f33429bba5e5"></a>
Expand Down
157 changes: 84 additions & 73 deletions doc/SDK-GFN-RUNTIME/html/_gfn_runtime_sdk___c_a_p_i_8h_source.html

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions doc/SDK-GFN-RUNTIME/html/_gfn_runtime_sdk___wrapper_8h.html
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,8 @@
<tr class="separator:gadcfae53ecb2d45b52ed2826491b58ef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa77104628b2a2779673e27dd52f0bfa7"><td class="memItemLeft" align="right" valign="top">GfnRuntimeError&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wrapper.html#gaa77104628b2a2779673e27dd52f0bfa7">GfnRegisterSessionInitCallback</a> (<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#aaf8c09b9174894c91b980a790c105008">SessionInitCallbackSig</a> sessionInitCallback, void *userContext)</td></tr>
<tr class="separator:gaa77104628b2a2779673e27dd52f0bfa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35b0e52d38d41ac04854002a0e5e7df0"><td class="memItemLeft" align="right" valign="top">GfnRuntimeError&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wrapper.html#ga35b0e52d38d41ac04854002a0e5e7df0">GfnRegisterMessageCallback</a> (<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#af9b322d4ee0932aa12bbbd6120e74cbf">MessageCallbackSig</a> messageCallback, void *userContext)</td></tr>
<tr class="separator:ga35b0e52d38d41ac04854002a0e5e7df0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5999e9e8f42d975ac1b13537c5f44497"><td class="memItemLeft" align="right" valign="top">GfnRuntimeError&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wrapper.html#ga5999e9e8f42d975ac1b13537c5f44497">GfnRegisterClientInfoCallback</a> (<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#af8cf87633ab1ce4e56a2b9f8b71a4306">ClientInfoCallbackSig</a> clientInfoCallback, void *userContext)</td></tr>
<tr class="separator:ga5999e9e8f42d975ac1b13537c5f44497"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga281cfc18e961dfcd537dce5ad4a73519"><td class="memItemLeft" align="right" valign="top">GfnRuntimeError&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wrapper.html#ga281cfc18e961dfcd537dce5ad4a73519">GfnRegisterNetworkStatusCallback</a> (<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a02d95f5fcc4d22622ea8dc25979b6ff7">NetworkStatusCallbackSig</a> networkStatusCallback, unsigned int updateRateMs, void *userContext)</td></tr>
Expand All @@ -169,6 +171,8 @@
<tr class="separator:ga6095bb54551cc3f04ff74c362640f8a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1d0b3d941ab0d2127282d79df49a9130"><td class="memItemLeft" align="right" valign="top">GfnRuntimeError&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wrapper.html#ga1d0b3d941ab0d2127282d79df49a9130">GfnSetActionZone</a> (<a class="el" href="_gfn_runtime_sdk___c_a_p_i_8h.html#a4d3eb8f4bb9195f7777ea5286ec2be46">GfnActionType</a> type, unsigned int id, <a class="el" href="struct_gfn_rect.html">GfnRect</a> *zone)</td></tr>
<tr class="separator:ga1d0b3d941ab0d2127282d79df49a9130"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2148a6c3f952a7731b91b070fb08e30e"><td class="memItemLeft" align="right" valign="top">GfnRuntimeError&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wrapper.html#ga2148a6c3f952a7731b91b070fb08e30e">GfnSendMessage</a> (const char *pchMessage, unsigned int length)</td></tr>
<tr class="separator:ga2148a6c3f952a7731b91b070fb08e30e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Wrapper API definitions </p>
Expand Down
39 changes: 21 additions & 18 deletions doc/SDK-GFN-RUNTIME/html/_gfn_runtime_sdk___wrapper_8h_source.html

Large diffs are not rendered by default.

Loading

0 comments on commit fa339dc

Please sign in to comment.