]> Chaos Git - corbenik/ctrulib.git/commitdiff
Doc generated from commit 57ec5db247ddb1f9703fb87a68d45f78447f8c00 gh-pages
authorTravisCI-DocBuilder <travis@travis-ci.org>
Wed, 6 Jan 2016 19:18:11 +0000 (19:18 +0000)
committerTravisCI-DocBuilder <travis@travis-ci.org>
Wed, 6 Jan 2016 19:18:11 +0000 (19:18 +0000)
367 files changed:
3ds_8h.html
3ds_8h_source.html
ac_8h.html
ac_8h_source.html
am_8h.html
am_8h_source.html
annotated.html
app_launch_2source_2main_8c-example.html
apt_8h.html
apt_8h_source.html
audio_2mic_2source_2main_8c-example.html
cam_8h.html
cam_8h_source.html
cfgnor_8h.html
cfgnor_8h_source.html
cfgu_8h.html
cfgu_8h_source.html
channel_8h.html
channel_8h_source.html
classes.html
console_8h.html
console_8h_source.html
csnd_8h.html
csnd_8h_source.html
deprecated.html
dir_0e005207343684f6967052d1f51a7e66.html
dir_0f128149b5f0edcc1e84fa1d13781a04.html
dir_1b1aef9f2527d990c50369cf62d7d9a1.html
dir_317ea3797c15f4a1d9c156bc812661ca.html
dir_6dafe9e8493a4966457f520acc17aa32.html
dir_953d82d0b36b92ff36f0c21b90fa146f.html
dir_a31f4157c8426a01402443a71f1cf774.html
dir_d0a04a149c821e4e65be9315f86ccf56.html
dir_d44c64559bbebec7f509842c48db8b23.html
dir_d475325f6a9fe3bfc3a495c72a9e475e.html
dsp_8h.html
dsp_8h_source.html
enums_8h.html
enums_8h_source.html
env_8h.html
env_8h_source.html
examples.html
files.html
fs_8h.html
fs_8h_source.html
functions.html
functions_a.html
functions_b.html
functions_c.html
functions_d.html
functions_e.html
functions_f.html
functions_g.html
functions_h.html
functions_i.html
functions_k.html
functions_l.html
functions_m.html
functions_n.html
functions_o.html
functions_p.html
functions_r.html
functions_s.html
functions_t.html
functions_u.html
functions_v.html
functions_vars.html
functions_vars_a.html
functions_vars_b.html
functions_vars_c.html
functions_vars_d.html
functions_vars_e.html
functions_vars_f.html
functions_vars_g.html
functions_vars_h.html
functions_vars_i.html
functions_vars_k.html
functions_vars_l.html
functions_vars_m.html
functions_vars_n.html
functions_vars_o.html
functions_vars_p.html
functions_vars_r.html
functions_vars_s.html
functions_vars_t.html
functions_vars_u.html
functions_vars_v.html
functions_vars_w.html
functions_vars_x.html
functions_vars_y.html
functions_vars_z.html
functions_w.html
functions_x.html
functions_y.html
functions_z.html
get_system_language_2source_2main_8c-example.html
gfx_8h.html
gfx_8h_source.html
globals.html
globals_a.html
globals_b.html
globals_c.html
globals_d.html
globals_defs.html
globals_defs_b.html
globals_defs_c.html
globals_defs_d.html
globals_defs_g.html
globals_defs_h.html
globals_defs_k.html
globals_defs_m.html
globals_defs_n.html
globals_defs_p.html
globals_defs_r.html
globals_defs_s.html
globals_defs_t.html
globals_defs_u.html
globals_e.html
globals_enum.html
globals_eval.html
globals_eval_b.html
globals_eval_c.html
globals_eval_d.html
globals_eval_e.html
globals_eval_f.html
globals_eval_g.html
globals_eval_h.html
globals_eval_i.html
globals_eval_k.html
globals_eval_l.html
globals_eval_m.html
globals_eval_n.html
globals_eval_o.html
globals_eval_p.html
globals_eval_r.html
globals_eval_s.html
globals_eval_t.html
globals_eval_u.html
globals_eval_v.html
globals_eval_w.html
globals_f.html
globals_func.html
globals_func_a.html
globals_func_c.html
globals_func_d.html
globals_func_e.html
globals_func_f.html
globals_func_g.html
globals_func_h.html
globals_func_i.html
globals_func_l.html
globals_func_m.html
globals_func_n.html
globals_func_o.html
globals_func_p.html
globals_func_q.html
globals_func_r.html
globals_func_s.html
globals_func_t.html
globals_func_u.html
globals_func_v.html
globals_func_y.html
globals_g.html
globals_h.html
globals_i.html
globals_k.html
globals_l.html
globals_m.html
globals_n.html
globals_o.html
globals_p.html
globals_q.html
globals_r.html
globals_s.html
globals_t.html
globals_type.html
globals_u.html
globals_v.html
globals_vars.html
globals_w.html
globals_y.html
gpu-old_8h.html
gpu-old_8h_source.html
gpu_8h.html
gpu_8h_source.html
graphics_2bitmap_224bit-color_2source_2main_8c-example.html
graphics_2gpu_2fragment_light_2source_2main_8c-example.html [new file with mode: 0644]
graphics_2gpu_2geoshader_2source_2main_8c-example.html
graphics_2gpu_2gpusprites_2source_2main_8c-example.html [new file with mode: 0644]
graphics_2gpu_2immediate_2source_2main_8c-example.html [new file with mode: 0644]
graphics_2gpu_2simple_tri_2source_2main_8c-example.html
graphics_2gpu_2textured_cube_2source_2main_8c-example.html
graphics_2printing_2both-screen-text_2source_2main_8c-example.html
graphics_2printing_2colored-text_2source_2main_8c-example.html
graphics_2printing_2hello-world_2source_2main_8c-example.html
graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html
gspgpu_8h.html
gspgpu_8h_source.html
gsplcd_8h.html
gsplcd_8h_source.html
gx_8h.html
gx_8h_source.html
hb_8h.html
hb_8h_source.html
hid_8h.html
hid_8h_source.html
http_2source_2main_8c-example.html
httpc_8h.html
httpc_8h_source.html
in_8h_source.html
index.html
inet_8h_source.html
input_2read-controls_2source_2main_8c-example.html
input_2touch-screen_2source_2main_8c-example.html
ioctl_8h_source.html
ipc_8h.html
ipc_8h_source.html
ir_8h.html
ir_8h_source.html
irrst_8h.html
irrst_8h_source.html
libapplet_launch_2source_2main_8c-example.html
linear_8h.html
linear_8h_source.html
mappable_8h.html
mappable_8h_source.html
md__home_travis_build_smealum_ctrulib_Changelog.html
mic_8h.html
mic_8h_source.html
mvd_2source_2main_8c-example.html
mvd_8h.html
mvd_8h_source.html
ndsp_8h.html
ndsp_8h_source.html
netdb_8h_source.html
news_8h.html
news_8h_source.html
ns_8h.html
ns_8h_source.html
os_8h.html
os_8h_source.html
pages.html
pm_8h.html
pm_8h_source.html
poll_8h_source.html
ps_8h.html
ps_8h_source.html
ptmsysm_8h.html
ptmsysm_8h_source.html
ptmu_8h.html
ptmu_8h_source.html
qtm_2source_2main_8c-example.html
qtm_8h.html
qtm_8h_source.html
rbtree_8h.html
rbtree_8h_source.html
registers_8h.html
registers_8h_source.html
result_8h.html
result_8h_source.html
romfs_8h.html
romfs_8h_source.html
sdmc_2source_2main_8c-example.html
sdmc_8h.html
sdmc_8h_source.html
select_8h_source.html
shaderProgram_8h.html
shaderProgram_8h_source.html
shbin_8h.html
shbin_8h_source.html
soc_8h.html
soc_8h_source.html
socket_8h_source.html
srv_8h.html
srv_8h_source.html
srvpm_8h.html
srvpm_8h_source.html
structAM__TitleEntry.html
structCAMU__ImageQualityCalibrationData.html
structCAMU__PackageParameterCameraSelect.html
structCAMU__PackageParameterContext.html
structCAMU__PackageParameterContextDetail.html
structCAMU__StereoCameraCalibrationData.html
structConsoleFont.html
structCreateThreadEvent.html
structDVLB__s.html
structDVLE__constEntry__s.html
structDVLE__outEntry__s.html
structDVLE__s.html
structDVLE__uniformEntry__s.html
structDVLP__s.html
structDebugEventInfo.html
structExceptionEvent.html
structExitProcessEvent.html
structExitThreadEvent.html
structFS__Archive.html
structFS__ArchiveResource.html
structFS__DeviceMoveContext.html
structFS__DirectoryEntry.html
structFS__ExtSaveDataInfo.html
structFS__IntegrityVerificationSeed.html
structFS__Path.html
structFS__ProductInfo.html
structFS__ProgramInfo.html
structFS__SystemSaveDataInfo.html
structGSPGPU__CaptureInfo.html
structGSPGPU__CaptureInfoEntry.html
structGSPGPU__FramebufferInfo.html
structMVDSTD__Config.html
structMapEvent.html
structMemInfo.html
structOS__VersionBin.html
structOutputStringEvent.html
structPageInfo.html
structPrintConsole.html
structProcessEvent.html
structQTM__HeadTrackingInfo.html
structQTM__HeadTrackingInfoCoord.html
structSchedulerInOutEvent.html
structSyscallInOutEvent.html
structY2RU__ColorCoefficients.html
structY2RU__ConversionParams.html
structY2RU__DitheringWeightParams.html
structaccelVector.html
structangularRate.html
structaptHookCookie.html
structcirclePosition.html
structfloat24Uniform__s.html
structhostent.html
structhttpcContext.html
structin__addr.html
structip__mreq.html
structlinger.html
structndspAdpcmData.html
structpollfd.html
structrbtree.html
structrbtree__node.html
structromfs__dir.html
structromfs__file.html
structromfs__header.html
structshaderInstance__s.html
structshaderProgram__s.html
structsockaddr.html
structsockaddr__in.html
structsockaddr__storage.html
structtag__ndspWaveBuf.html
structtouchPosition.html
svc_8h.html
svc_8h_source.html
synchronization_8h.html
synchronization_8h_source.html
tcp_8h_source.html
thread_8h.html
thread_8h_source.html
threads_2event_2source_2main_8c-example.html
threads_2thread-basic_2source_2main_8c-example.html
time_2rtc_2source_2main_8c-example.html
types_8h.html
types_8h_source.html
unionCSND__CapInfo.html
unionCSND__ChnInfo.html
utf_8h.html
utf_8h_source.html
vram_8h.html
vram_8h_source.html
y2r_8h.html
y2r_8h_source.html

index f538d75cd87a8c90118c2b5b4fe2993252b4864e..9791ce7a4e7a1848116d7e5c0a9b2feed9394a05 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index f5a8a5f3c9a95e5c5424fa894c8b3219316bf359..a411cad74e35abc0b07f3a5db1d52f800385e675 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -172,59 +172,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment"> * @example graphics/printing/both-screen-text/source/main.c</span></div>
 <div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment"> * @example graphics/printing/colored-text/source/main.c</span></div>
 <div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment"> * @example graphics/printing/multiple-windows-text/source/main.c</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment"> * @example graphics/gpu/fragment_light/source/main.c</span></div>
 <div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment"> * @example graphics/gpu/geoshader/source/main.c</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">   graphics/gpu/geoshader/source/gpu.h</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">   @include graphics/gpu/geoshader/source/gpu.h</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">   graphics/gpu/geoshader/source/gpu.c</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">   @include graphics/gpu/geoshader/source/gpu.c</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">   graphics/gpu/geoshader/source/3dmath.h</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">   @include graphics/gpu/geoshader/source/3dmath.h</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">   graphics/gpu/geoshader/source/3dmath.c</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">   @include graphics/gpu/geoshader/source/3dmath.c</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">   graphics/gpu/geoshader/source/vshader.pica</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">   @include graphics/gpu/geoshader/source/vshader.pica</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment">   graphics/gpu/geoshader/source/gshader.pica</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">   @include graphics/gpu/geoshader/source/gshader.pica</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">   </span></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment"> * @example graphics/gpu/simple_tri/source/main.c</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">   graphics/gpu/simple_tri/source/gpu.h</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">   @include graphics/gpu/simple_tri/source/gpu.h</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">   graphics/gpu/simple_tri/source/gpu.c</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">   @include graphics/gpu/simple_tri/source/gpu.c</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">   graphics/gpu/simple_tri/source/3dmath.h</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">   @include graphics/gpu/simple_tri/source/3dmath.h</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">   graphics/gpu/simple_tri/source/3dmath.c</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">   @include graphics/gpu/simple_tri/source/3dmath.c</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">   graphics/gpu/simple_tri/source/vshader.pica</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">   @include graphics/gpu/simple_tri/source/vshader.pica</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment">   </span></div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment"> * @example graphics/gpu/textured_cube/source/main.c</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment">   graphics/gpu/textured_cube/source/gpu.h</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">   @include graphics/gpu/textured_cube/source/gpu.h</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment">   graphics/gpu/textured_cube/source/gpu.c</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">   @include graphics/gpu/textured_cube/source/gpu.c</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">   graphics/gpu/textured_cube/source/3dmath.h</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">   @include graphics/gpu/textured_cube/source/3dmath.h</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">   graphics/gpu/textured_cube/source/3dmath.c</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment">   @include graphics/gpu/textured_cube/source/3dmath.c</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="comment">   graphics/gpu/textured_cube/source/vshader.pica</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment">   @include graphics/gpu/textured_cube/source/vshader.pica</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment"> * @example http/source/main.c</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment"> * @example input/read-controls/source/main.c</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment"> * @example input/touch-screen/source/main.c</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment"> * @example libapplet_launch/source/main.c</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment"> * @example mvd/source/main.c</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment"> * @example qtm/source/main.c</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment"> * @example sdmc/source/main.c</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="comment"> * @example threads/thread-basic/source/main.c</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="comment"> * @example threads/event/source/main.c</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment"> * @example time/rtc/source/main.c</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160; </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment"> * @example graphics/gpu/gpusprites/source/main.c</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment"> * @example graphics/gpu/immediate/source/main.c</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment"> * @example graphics/gpu/simple_tri/source/main.c</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment"> * @example graphics/gpu/textured_cube/source/main.c</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment"> * @example http/source/main.c</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment"> * @example input/read-controls/source/main.c</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment"> * @example input/touch-screen/source/main.c</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment"> * @example libapplet_launch/source/main.c</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment"> * @example mvd/source/main.c</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment"> * @example qtm/source/main.c</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment"> * @example sdmc/source/main.c</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment"> * @example threads/thread-basic/source/main.c</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment"> * @example threads/event/source/main.c</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment"> * @example time/rtc/source/main.c</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
 <div class="ttc" id="gsplcd_8h_html"><div class="ttname"><a href="gsplcd_8h.html">gsplcd.h</a></div><div class="ttdoc">GSPLCD service. </div></div>
 <div class="ttc" id="srvpm_8h_html"><div class="ttname"><a href="srvpm_8h.html">srvpm.h</a></div><div class="ttdoc">srv:pm service. </div></div>
 <div class="ttc" id="shaderProgram_8h_html"><div class="ttname"><a href="shaderProgram_8h.html">shaderProgram.h</a></div><div class="ttdoc">Functions for working with shaders. </div></div>
index 224d053f01d765a6b6ee978d3c6869b96721b76c..4f65ac5650a96177861da5a958404fe9dcccd3d3 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 8b4c904900bcab31a9ec650c09ae5a4aa992440f..59e88acd53cef71333a778878193c5409c0a7a5a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index de046e3bc003e0dd6d73a9d1b7b98601631d2f2d..b892d61b60fab3a4260236fe971217118abfded4 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -154,6 +154,10 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="am_8
 <a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="am_8h.html#a022d7fdd04454fd2300588b539a9da4a">AM_InstallNativeFirm</a> (void)</td></tr>
 <tr class="memdesc:a022d7fdd04454fd2300588b539a9da4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Installs the current NATIVE_FIRM title to NAND (firm0:/ &amp; firm1:/) <br /></td></tr>
 <tr class="separator:a022d7fdd04454fd2300588b539a9da4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a04a92770482e500d5da2995e0d4a1bc1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04a92770482e500d5da2995e0d4a1bc1"></a>
+<a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="am_8h.html#a04a92770482e500d5da2995e0d4a1bc1">AM_InstallFirm</a> (<a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> titleID)</td></tr>
+<tr class="memdesc:a04a92770482e500d5da2995e0d4a1bc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Similar to InstallNativeFirm, but doesn't use AMPXI_GetTitleList (NATIVE_FIRM: 0004013800000002 or 0004013820000002 (N3DS)) <br /></td></tr>
+<tr class="separator:a04a92770482e500d5da2995e0d4a1bc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a90c6dfe2f8f65a5842811fb2cd0589af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="am_8h.html#a90c6dfe2f8f65a5842811fb2cd0589af">AM_GetTitleProductCode</a> (<a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> mediatype, <a class="el" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> titleID, char *productCode)</td></tr>
 <tr class="memdesc:a90c6dfe2f8f65a5842811fb2cd0589af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the product code of a title.  <a href="#a90c6dfe2f8f65a5842811fb2cd0589af">More...</a><br /></td></tr>
 <tr class="separator:a90c6dfe2f8f65a5842811fb2cd0589af"><td class="memSeparator" colspan="2">&#160;</td></tr>
index 6035fc8176c43db972561ac2736693c71d0bfb77..36c4c05ace795e5100e46b38ca2cfafc9048ac18 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -190,33 +190,36 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">/// Installs the current NATIVE_FIRM title to NAND (firm0:/ &amp; firm1:/)</span></div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="am_8h.html#a022d7fdd04454fd2300588b539a9da4a">AM_InstallNativeFirm</a>(<span class="keywordtype">void</span>);</div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment"> * @brief Gets the product code of a title.</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment"> * @param mediatype Mediatype of the title.</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment"> * @param titleID ID of the title.</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment"> * @param productCode Buffer to output the product code to. (length = 16)</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="am_8h.html#a90c6dfe2f8f65a5842811fb2cd0589af">AM_GetTitleProductCode</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> mediatype, <a class="code" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> titleID, <span class="keywordtype">char</span>* productCode);</div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment"> * @brief Gets an AM_TitleEntry instance for a CIA file.</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment"> * @param mediatype Mediatype that this CIA would be installed to.</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment"> * @param titleEntry Pointer to write the AM_TitleEntry instance to.</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment"> * @param fileHandle Handle of the CIA file to read.</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="am_8h.html#ab24393616aede722605b83f17b021a7a">AM_GetCiaFileInfo</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> mediatype, <a class="code" href="structAM__TitleEntry.html">AM_TitleEntry</a> *titleEntry, <a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> fileHandle);</div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment"> * @brief Initializes the external (SD) title database.</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment"> * @param overwrite Overwrites the database if it already exists.</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="am_8h.html#a469ba855d3817fa86091baa17d136676">AM_InitializeExternalTitleDatabase</a>(<span class="keywordtype">bool</span> overwrite);</div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment"> * @brief Queries whether the external title database is available.</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment"> * @param[out] available Pointer to output the availability status to.</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="am_8h.html#a505ee8fcca3984f1ebc21930c5a99813">AM_QueryAvailableExternalTitleDatabase</a>(<span class="keywordtype">bool</span>* available);</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">/// Similar to InstallNativeFirm, but doesn&#39;t use AMPXI_GetTitleList (NATIVE_FIRM: 0004013800000002 or 0004013820000002 (N3DS))</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="am_8h.html#a04a92770482e500d5da2995e0d4a1bc1">AM_InstallFirm</a>(<a class="code" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> titleID);</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment"> * @brief Gets the product code of a title.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment"> * @param mediatype Mediatype of the title.</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment"> * @param titleID ID of the title.</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment"> * @param productCode Buffer to output the product code to. (length = 16)</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="am_8h.html#a90c6dfe2f8f65a5842811fb2cd0589af">AM_GetTitleProductCode</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> mediatype, <a class="code" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> titleID, <span class="keywordtype">char</span>* productCode);</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment"> * @brief Gets an AM_TitleEntry instance for a CIA file.</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment"> * @param mediatype Mediatype that this CIA would be installed to.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment"> * @param titleEntry Pointer to write the AM_TitleEntry instance to.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment"> * @param fileHandle Handle of the CIA file to read.</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="am_8h.html#ab24393616aede722605b83f17b021a7a">AM_GetCiaFileInfo</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> mediatype, <a class="code" href="structAM__TitleEntry.html">AM_TitleEntry</a> *titleEntry, <a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> fileHandle);</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="comment"> * @brief Initializes the external (SD) title database.</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment"> * @param overwrite Overwrites the database if it already exists.</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="am_8h.html#a469ba855d3817fa86091baa17d136676">AM_InitializeExternalTitleDatabase</a>(<span class="keywordtype">bool</span> overwrite);</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment"> * @brief Queries whether the external title database is available.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment"> * @param[out] available Pointer to output the availability status to.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="am_8h.html#a505ee8fcca3984f1ebc21930c5a99813">AM_QueryAvailableExternalTitleDatabase</a>(<span class="keywordtype">bool</span>* available);</div>
 <div class="ttc" id="am_8h_html_a791fb482056b39b063bcffb987b9e7f0"><div class="ttname"><a href="am_8h.html#a791fb482056b39b063bcffb987b9e7f0">AM_DeleteAppTitle</a></div><div class="ttdeci">Result AM_DeleteAppTitle(u8 mediatype, u64 titleID)</div><div class="ttdoc">Deletes a title, provided that it is not a system title. </div></div>
 <div class="ttc" id="am_8h_html_aceae39c1e445980f5a23a7cc70d45843"><div class="ttname"><a href="am_8h.html#aceae39c1e445980f5a23a7cc70d45843">AM_GetTitleIdList</a></div><div class="ttdeci">Result AM_GetTitleIdList(u8 mediatype, u32 count, u64 *titleIDs)</div><div class="ttdoc">Gets a list of title IDs present in a mediatype. </div></div>
 <div class="ttc" id="am_8h_html_af5163db1ac0ca50112e403cfc6f4f52a"><div class="ttname"><a href="am_8h.html#af5163db1ac0ca50112e403cfc6f4f52a">AM_FinishCiaInstall</a></div><div class="ttdeci">Result AM_FinishCiaInstall(u8 mediatype, Handle *ciaHandle)</div><div class="ttdoc">Finalizes the CIA install process. </div></div>
@@ -228,6 +231,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="ttc" id="am_8h_html_aa14c82d746e8e7912f45ca94d4275de1"><div class="ttname"><a href="am_8h.html#aa14c82d746e8e7912f45ca94d4275de1">AM_CancelCIAInstall</a></div><div class="ttdeci">Result AM_CancelCIAInstall(Handle *ciaHandle)</div><div class="ttdoc">Aborts the CIA install process. </div></div>
 <div class="ttc" id="types_8h_html_ab6d744c6b5de129f12937e482dc674fb"><div class="ttname"><a href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a></div><div class="ttdeci">u32 Handle</div><div class="ttdoc">Resource handle. </div><div class="ttdef"><b>Definition:</b> types.h:41</div></div>
 <div class="ttc" id="am_8h_html_a3d9438a9ed27a0372c4845520a685c9e"><div class="ttname"><a href="am_8h.html#a3d9438a9ed27a0372c4845520a685c9e">AM_StartDlpChildCiaInstall</a></div><div class="ttdeci">Result AM_StartDlpChildCiaInstall(Handle *ciaHandle)</div><div class="ttdoc">Initializes the CIA install process for Download Play CIAs, returning a handle to write CIA data to...</div></div>
+<div class="ttc" id="am_8h_html_a04a92770482e500d5da2995e0d4a1bc1"><div class="ttname"><a href="am_8h.html#a04a92770482e500d5da2995e0d4a1bc1">AM_InstallFirm</a></div><div class="ttdeci">Result AM_InstallFirm(u64 titleID)</div><div class="ttdoc">Similar to InstallNativeFirm, but doesn&#39;t use AMPXI_GetTitleList (NATIVE_FIRM: 0004013800000002 or 00...</div></div>
 <div class="ttc" id="types_8h_html_a92c50087ca0e64fa93fc59402c55f8ca"><div class="ttname"><a href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a></div><div class="ttdeci">uint8_t u8</div><div class="ttdoc">would be nice if newlib had this already </div><div class="ttdef"><b>Definition:</b> types.h:21</div></div>
 <div class="ttc" id="types_8h_html_a3f7e2bcbb0b4c338f3c4f6c937cd4234"><div class="ttname"><a href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a></div><div class="ttdeci">uint64_t u64</div><div class="ttdoc">64-bit unsigned integer </div><div class="ttdef"><b>Definition:</b> types.h:24</div></div>
 <div class="ttc" id="am_8h_html_a0c5fe613e72c2906b52cec80143d5953"><div class="ttname"><a href="am_8h.html#a0c5fe613e72c2906b52cec80143d5953">AM_ListTitles</a></div><div class="ttdeci">Result AM_ListTitles(u8 mediatype, u32 titleCount, u64 *titleIdList, AM_TitleEntry *titleList)</div><div class="ttdoc">Gets a list of details about installed titles. </div></div>
index 111aaed52a1c8e224198a3adddbbf5138f32a246..b4730ec5c4d64d9a98e37a374bbf7bb67b5cd5c7 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4c88baeee10b7407189cbcc4929ccfc92a7afbbd..1befaac8d8045d7e73ba04708d8cbf0ebae15f8e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 999de9cb3188ef0a4fe4764371cb8e92489288f3..0981656c1f0090a9b3e97f29500bbb08f00d6ea0 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -2041,7 +2041,7 @@ Variables</h2></td></tr>
 
 <p>Processes the current APT status. </p>
 <p>Generally used within a main loop. </p><dl class="section return"><dt>Returns</dt><dd>Whether the application is closing. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a1">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a8">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a5">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a7">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a67">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a66">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a77">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a6">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a3">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a3">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a6">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a17">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a3">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a3">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a3">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a20">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a6">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a4">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a8">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a8">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a3">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a1">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a8">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a5">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a7">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a27">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a23">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a31">graphics/gpu/gpusprites/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#a20">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a22">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a26">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a6">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a3">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a3">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a6">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a17">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a3">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a3">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a3">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a20">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a6">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a4">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a8">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a8">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a3">time/rtc/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
index f2c4560b990a721827947b23bb32a969a7bb6328..d1b6700cb2d7dd3b91c3e59d75297804d5b9fd5f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index e30990b815eec5f9342f73de4e57f7e60121b143..ba058d29d5a554d6a4afe63a6afafa7133b45a2c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 07c881b70d4107c2ea72bcc204c440cf49ce749b..e1502d0c3d7a00a5863217527d6bfb3b589bb93f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 724169b8929ca486b0a137b037ddef0016b02bae..5ef06e336bde35122ada0c4f47cfcb20614fe9a7 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 52c42c468a81e86cd53e74b15ace5078e2c88d01..f4e8e7f38711f3f1f067769327289b2963d73515 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index bb5e181aaa79ce9e88fa13b02dff0fd55e965367..349a3b499c5f632a47de660fc0435261606bb7d9 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4b8598dd5400676d7d1e64ff34a8216d37cc2b41..4fea0038a8533909b8d029bfafeff0c409c868df 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 83375d00eab53fa1cd76d6ac7e39df825c2437eb..56798c09763125afd82403a95599a040aa2c99b4 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4d3cdc43299bf854f0d2456d23da67cda7bbfac9..6dbf12b4e3b8c866c18030c358eae49439e88908 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index bad8f513b0874288de34f152c277d51008fe507c..719a7c78031e2be0f99d2481f57e66d2eabe8273 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 01e4b4032fd37170e6732af20b5fb2861d8f32db..34dafc29e6db7622bca3a2e85901e7887dbd94d7 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 01527ba597c649fdfffba03763635b371f2bdb63..d474159de8ec4d32389379e0f8a06ed2a5d1f167 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 28d4f9c26e40f5ca34787814ca883e0c0fd07bab..4371f674d7a71a3c4b8024f9f16042a7ae2d326f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 93bdea468ebc38f820ee5b260e86ef86cdce8189..8cd7c9036fcce6d396cad3f3b7253a8be97409bc 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 0f811ce649f504d21fc901b8aff5ba3f58fe4752..b452b61e80f3ddd75cdc58ce975873652ea5d962 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 5ffee81164fbc25b53a05b84a6c7a3a81250bfaf..2a88549f903c9911eb6d0f478c248112e48dcf69 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 499ecf57a739bc3f40c41ae1eb0426bf599d9009..d33a90bd358e49d7c680c3052c8aeb97c2c8a460 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 093e0c6837cd088984d0dd7239ed69f6444f57bf..2b625fbd8417d1ab89ff45e545719280155cee90 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index af91f523ebb9a405c5ab9624710edc24a5d264b6..171d56584de91b07542964e772bc0a5a3517b038 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 8270c07a9fff61136a0b8c17af6573d340b1e878..ad36b2d6f8a0c3c53bbd484f08829b8a9338ee25 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index b3f1eb33f5fc620da2733e81287b2c67e250d87c..b4de6ec053950dd82f4fee6dd3b91106a6c59ef2 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 751cc749139db1e70fe406279d318420758b8537..45e5f1bb979291c376fb6e7b729611b38964ec36 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 74c08ff7fcb27bc90f7ed88d741436e990698337..54b6f1bd8283fc4a7a4548f875f459c0ca05ad1e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index cb5fc909bfb348751080fb12679dd44534fe3474..80e9c984053aea8b1a504874126e7111f948ee85 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 20f83ecd7cbb9512b68aea387910ce3077755229..fb696d2f9ccef2017d4c17d994b7c8be6848c1f8 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index b91330129ad573aab967a72201306939782411a8..75cdd289bec6dea9f11590f66f148503fc210b23 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 89946196b9176d5c07ed6043da17e7888313634c..c5b6c3e4fb26079045457b4e5a06b6f9848d5d24 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 263079ff8ab9e5f003bed829eea3eab9958e867b..f8a87b87d691362589c800005b42ed7270fe5225 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index d96761a8b766a96c42786664140e68b2f4992045..7a43d681005890b474d11cba5a1a06c3e6bb9d9b 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 0fe0655f5578c25b6195734fccffb10c04ef6e5b..a9138072b024b79e7466282b657aa6030626c8a3 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4deb56ee1f41b7da3239c38477cc6b1e13669a37..9382d08d9ef77abea1467db111e0074dda6b63bb 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 0815a15b5699ad5259abd2c47009b32d6253ffff..a623991c576ce968987aaeae1fa3fbc5e5889787 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index a70b4cdbb3efca2408918bff4d9917e60f370a22..4e7d69cc39855a790f1f0bafdbc7140f54817345 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -90,8 +90,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
 <li><a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html">graphics/bitmap/24bit-color/source/main.c</a></li>
 
+<li><a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html">graphics/gpu/fragment_light/source/main.c</a></li>
+
 <li><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html">graphics/gpu/geoshader/source/main.c</a></li>
 
+<li><a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html">graphics/gpu/gpusprites/source/main.c</a></li>
+
+<li><a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html">graphics/gpu/immediate/source/main.c</a></li>
+
 <li><a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html">graphics/gpu/simple_tri/source/main.c</a></li>
 
 <li><a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html">graphics/gpu/textured_cube/source/main.c</a></li>
index c16540110dcf1587a9b08e01fe0bfab96cb1d40d..00d1d62bcac735b02812a1f7b4dac598883319e1 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 90c4076e834e1c3397deccf24a1a6f033aa0384b..220d601bc9158dbcbea326c04e143128eea07206 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 2707671de3ae9e595dbfc0abff3b64a8cdd1f21b..47689e6f9b2f023242f2bab2490ce8a6c3ffdc9f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 970263aa07cb8839b2dece5a2d6ee971a4b5bf11..048a7fee2e5930edcc514c2154ef4f9f0e7c1bb2 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 817eda3e279f393b5e3a65b4be76a496751fd41a..8c1ead9752241544befb8954bdf9e62083d58012 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index bda1e961927e94c146f49fc56530c01557dc3ce3..626091c16e4144e60f2dc867782665f860f45e18 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 9f2b31959f58be3acebb922151ba5e1f288f4840..f863fd03fa4ca3dfb2b473bd10cad279baba02d0 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 3ea0f6df746b4ba1ea90f233fe6f8814e7a9436a..39f9750609cab3a817c950a736e2e8a7e9a05a49 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index dcec0991fb2fa75e8a65338058a2ede1583a6ca9..d3cc24fa6753707bf1f4201873e1698e2effaa53 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 6207c208f7cb1af5be27f191c81ec8f8fff17290..c46d605292114e0ab4fa39f7da7e745c33746112 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 316177ec6115c9bd6bfd12727ce2fa1f98d88510..ad27906e45f4e90426447d6abb1f3f2184a47584 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index bb07d58441c231c5eac0bfe26a5d07379899faad..ada63bae65311d821fd4b74ca04a098ee3122cee 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 80c154eabae5643c2099eca62b615430cf21ebc5..751106aac84e6d12437dd550301619bd85d97188 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4062e6006df7dcac66776f660426e8a0cf1a901c..d0d820d67842dddded4328a289779d61fbcd0f93 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index f23eafde99eff3e3f7d04ce66e95aa791b8646a8..1fe66d914d44a3a73b52dd1be8eb8c2b4e1633c8 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index a51471c1bf9e996d26ecaccbae4f63817d3c35fc..89b4a931e2d1ee0aa05453c5802317fd4457dd8f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 6c62da699093ebbb7464b888b5a6b7b98c669ce4..2ab5d9a7cea5aef308dceffcdb8c3ac75c8dc3aa 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index dfb7bf787ea7be336a73d4790fd24fd33195bafa..44b46b21b7c5257147a327eaef986621b4daf5b8 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 8374470d783a70b10cee333553711f4df97f3d81..c15436ee71b6712b3aced35fe4acb5797d1991bd 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index eccac86477b8b6082414907a3f4bb7b080233c7d..7cf2df530941f188cface835ec59861713e1be94 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 8fd8ed0c20ed644203d6e6fc6df834c1d774c7e2..1416f11b5bc8727768b60ada65cbde1a03329918 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4b1dd532746ddee4e05b6e2e9530f98b8344a0b4..fc288d7c94631a37a95dbf34cec724313c2fc7cb 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index b14f834b2f1011a20ef1ea50cc2eb0a6f295bfdd..3193041d305cac07876c40760dfe9b96298fa13b 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 56461e573894cde5d09d75f7d4924f5f3e7621b6..d7d53dfc93fd81d2ddbb103286718540c16bb13d 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 26fd8f5a2aab9caf7f88be48b9b3316d5e8e6238..d5bf0b0e57ca0103cf4399156d977776fff0b24f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 9e7e470b57693121c51e6f261016da2d64c0dd03..72eafa0c477af2509e8c55217315390696e7d4b8 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 5a69f2227ec25e1d6383de14d2b522e271114a51..6e486059d8339bea77ae17f22c241cf852a91080 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 41def4952e38bb4c7953e67239761134e71d85aa..5e8b9dd3367eafaca73074a2767987c71de3f729 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 9eeb1750b37043093ed514a3054763dc83f4d0a3..3fce7347e3029ae26a7aff049155b52dad5f6712 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 749f1f3c741f8facda1a8aabe3bc0bde54484705..5c51eedef1aea4f067838db0b61830fe52c8c234 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 1e3624b868a9d870750f138c0391dafa2c7feccf..45c808ceee09fc805e5eb85f522821d42da3b71a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index d8e6f9bd8a38eba3544b5f755d3e25d174507020..a7146d29222074de0ac8cf0628b8415142da0023 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index c7576681c9b3a4b7903cc479453e3f08ee42f4fb..16c121b3b3d00ea14138f412a34d2628d559e26c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index e458941a22f9f8159bb91d636567d240ce371967..cc2ebd979ed8464e535fb2cf54e3e9c47fdbf324 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 793506691a1aafc02bd9d79ad729c93ed1d7981c..d7af2b21b85676419c2e23749bf9b39a570c33a7 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 630dd3b7a85906dbce3bfd958448ae379e523e87..09e395196596c73b0b2c1dbd7896ac3971944a3c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 9239443484be3a2c9d8f907fad762f22bb58af33..ebd336350285cf9883c1cdb7b01463b8805332da 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index cc24492f0327e99dfc51a83d5ba41f1f03cfc891..a86cedc37382cef48be0e92a4c15e6b1cdaca50c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 2cabd31a01b300ec823de2394ea4f8c653be26c2..b87904760fed08d8c532faba1bd14d055223e357 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 25e522a8696bc94f812df15956b6ec089f306e1b..410424d9612ace808ccc7b09211ae3ca6079d9de 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index e6e62cc2cc10002d8775ea45189dab5f22aecb9d..b39db362df8fe586381fd44cdc39d8942426d674 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index d3b0f0adc960b7681d8437db83c5913547bf7c76..15e79615ac22e3c9419cda704606536dc29d774c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index cb7822fa8a2093da5ccfc4076f29a9697c680a3a..aa077191dbf5a1942e85934a45e1bb6017a693e2 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 01a653c4038e1a4203137595ce88b0096fe06337..de4c7df84a1c0cee6520c8a712fc8da7993b5347 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index cc15202d928dc7fae4200930750a816164263d4d..43be384ddbbdaaa81b0c97935df4093e5f555263 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 6e58cceabe62891517b5c604c1fdd7366f387b4c..1c0355ddcd9ab15baba748f9e2d26e0b41a2289e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 88eb4e42e7c75611a5e12f8e09b1ef45d9c88734..f6b04b899ff1ee1c38399a37a062177023158171 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 62d94971dac81f64c7f6342deafeeda2063e237a..0833e9d94802b3b514537c2eeb1aa194c47fb85a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 04f1c69fcfa21f6b47564eb60ad0f52f52730147..662164db1e4e92c49033ea16b7d10a6f313abead 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 84497656de4f6bec0ec5d8fd913784b9148b03cc..f2163dd074c5ffc6ecfeef0ad2aebeb4a124c6d0 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index d44d097fb2b1d481375d1e5d1b8c2ec98119c0a5..9b2047cefaf46838d9fbfe973555087ded7e29bf 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 97a58b962b7d421cd1619f987cda31806bfe7374..663d006a872056896cfe96a942ce5f67f9d9c9ef 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index a5ae59d0ecf6153ee67980ccd669632d79283798..7a77530b61961dca8294067d8a90d4b7e95d6fbb 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index edfdd329081808a0faacbdb73e22f9f3b46bc2d0..4194b76e4cadf60c6d385b9da57d448a31dedb31 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 0efaac0490030b508fad55107c129b64175ea2cf..ce782c360d466dbbd2542430f31c9bb0ed2550f5 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -149,6 +149,9 @@ Functions</h2></td></tr>
 <tr class="memitem:a7b5743ba9ce490263b12d1575af7ebc1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gfx_8h.html#a7b5743ba9ce490263b12d1575af7ebc1">gfxSet3D</a> (bool enable)</td></tr>
 <tr class="memdesc:a7b5743ba9ce490263b12d1575af7ebc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the 3D stereoscopic effect.  <a href="#a7b5743ba9ce490263b12d1575af7ebc1">More...</a><br /></td></tr>
 <tr class="separator:a7b5743ba9ce490263b12d1575af7ebc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a07c2e95d490e338a8b87030124f58a60"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gfx_8h.html#a07c2e95d490e338a8b87030124f58a60">gfxIs3D</a> (void)</td></tr>
+<tr class="memdesc:a07c2e95d490e338a8b87030124f58a60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the status of the 3D stereoscopic effect.  <a href="#a07c2e95d490e338a8b87030124f58a60">More...</a><br /></td></tr>
+<tr class="separator:a07c2e95d490e338a8b87030124f58a60"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a3bfb0d00d8bbf7be08ece053a1b6ce8a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gfx_8h.html#a3bfb0d00d8bbf7be08ece053a1b6ce8a">gfxSetScreenFormat</a> (<a class="el" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c">gfxScreen_t</a> screen, <a class="el" href="gspgpu_8h.html#a4c8d43241faec4b99bf24791375c3708">GSPGPU_FramebufferFormats</a> format)</td></tr>
 <tr class="memdesc:a3bfb0d00d8bbf7be08ece053a1b6ce8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the color format of a screen.  <a href="#a3bfb0d00d8bbf7be08ece053a1b6ce8a">More...</a><br /></td></tr>
 <tr class="separator:a3bfb0d00d8bbf7be08ece053a1b6ce8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -161,6 +164,9 @@ Functions</h2></td></tr>
 <tr class="memitem:aea1808bd74fe0c00f9794e455fc8499b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b">gfxFlushBuffers</a> (void)</td></tr>
 <tr class="memdesc:aea1808bd74fe0c00f9794e455fc8499b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes the current framebuffers.  <a href="#aea1808bd74fe0c00f9794e455fc8499b">More...</a><br /></td></tr>
 <tr class="separator:aea1808bd74fe0c00f9794e455fc8499b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a848357d4a31b6ccd7ead1e9feb69b935"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gfx_8h.html#a848357d4a31b6ccd7ead1e9feb69b935">gfxConfigScreen</a> (<a class="el" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c">gfxScreen_t</a> scr, bool immediate)</td></tr>
+<tr class="memdesc:a848357d4a31b6ccd7ead1e9feb69b935"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the configuration of the specified screen (swapping the buffers if double-buffering is enabled).  <a href="#a848357d4a31b6ccd7ead1e9feb69b935">More...</a><br /></td></tr>
+<tr class="separator:a848357d4a31b6ccd7ead1e9feb69b935"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a0f338920111994110975dc0d1360bb1f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a> (void)</td></tr>
 <tr class="memdesc:a0f338920111994110975dc0d1360bb1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swaps the buffers and sets the gsp state.  <a href="#a0f338920111994110975dc0d1360bb1f">More...</a><br /></td></tr>
 <tr class="separator:a0f338920111994110975dc0d1360bb1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -234,6 +240,41 @@ Variables</h2></td></tr>
 </div>
 </div>
 <h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a848357d4a31b6ccd7ead1e9feb69b935"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void gfxConfigScreen </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c">gfxScreen_t</a>&#160;</td>
+          <td class="paramname"><em>scr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>immediate</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Updates the configuration of the specified screen (swapping the buffers if double-buffering is enabled). </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">scr</td><td>Screen to configure. </td></tr>
+    <tr><td class="paramname">immediate</td><td>Whether to apply the updated configuration immediately or let GSPGPU apply it after the next GX transfer completes. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
 <a class="anchor" id="aa446ccfdfdd4c575e648956ae96f2a3b"></a>
 <div class="memitem">
 <div class="memproto">
@@ -250,7 +291,7 @@ Variables</h2></td></tr>
 
 <p>Closes the gsp service and frees the framebuffers. </p>
 <p>Just call it when you're done. </p>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a12">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a33">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a13">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a14">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a73">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a72">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a83">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a13">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a10">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a10">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a13">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a22">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a18">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a14">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a13">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a25">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a26">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a12">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a19">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a18">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a10">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a12">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a33">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a13">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a14">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a32">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a27">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a35">graphics/gpu/gpusprites/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#a24">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a26">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a30">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a13">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a10">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a10">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a13">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a22">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a18">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a14">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a13">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a25">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a26">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a12">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a19">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a18">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a10">time/rtc/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
@@ -322,7 +363,7 @@ Variables</h2></td></tr>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>A pointer to the current framebuffer of the choosen screen.</dd></dl>
 <p>Please remember that the returned pointer will change after each call to gfxSwapBuffers if double buffering is enabled. </p>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a5">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a37">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a37">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a37">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a6">http/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a0">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a11">qtm/source/main.c</a>, and <a class="el" href="sdmc_2source_2main_8c-example.html#a0">sdmc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a5">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a6">http/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a0">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a11">qtm/source/main.c</a>, and <a class="el" href="sdmc_2source_2main_8c-example.html#a0">sdmc/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
@@ -415,8 +456,27 @@ You should always call <a class="el" href="gfx_8h.html#aa446ccfdfdd4c575e648956a
 <p>Initializes the LCD framebuffers with default parameters. </p>
 <p>By default ctrulib will configure the LCD framebuffers with the <a class="el" href="gspgpu_8h.html#a4c8d43241faec4b99bf24791375c3708a7e2e54f5d000504cd971d23bf2d2b58f">GSP_BGR8_OES</a> format in linear memory. This is the same as calling :</p><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;gfxInit(GSP_BGR8_OES,GSP_BGR8_OES,false); </div>
 </div><!-- fragment --><dl class="section note"><dt>Note</dt><dd>You should always call <a class="el" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a> once done to free the memory and services </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a0">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a0">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a0">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a0">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a66">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a65">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a76">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a0">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a0">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a0">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a0">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a11">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a0">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a0">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a0">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a18">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a1">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a3">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a3">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a2">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a0">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a0">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a0">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a0">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a0">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a20">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a18">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a26">graphics/gpu/gpusprites/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#a15">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a17">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a21">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a0">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a0">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a0">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a0">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a11">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a0">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a0">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a0">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a18">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a1">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a3">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a3">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a2">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a0">time/rtc/source/main.c</a>.</dd>
 </dl>
+</div>
+</div>
+<a class="anchor" id="a07c2e95d490e338a8b87030124f58a60"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool gfxIs3D </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Retrieves the status of the 3D stereoscopic effect. </p>
+<dl class="section return"><dt>Returns</dt><dd>true if 3D enabled, false otherwise. </dd></dl>
+
 </div>
 </div>
 <a class="anchor" id="a7b5743ba9ce490263b12d1575af7ebc1"></a>
@@ -440,7 +500,8 @@ You should always call <a class="el" href="gfx_8h.html#aa446ccfdfdd4c575e648956a
   </table>
   </dd>
 </dl>
-
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a21">graphics/gpu/fragment_light/source/main.c</a>.</dd>
+</dl>
 </div>
 </div>
 <a class="anchor" id="ad5c1216a99f555bbc619a157b4295dcb"></a>
@@ -552,7 +613,7 @@ You should always call <a class="el" href="gfx_8h.html#aa446ccfdfdd4c575e648956a
 
 <p>Swaps the framebuffers. </p>
 <p>This is the version to be used with the GPU since the GPU will use the gsp shared memory, so the gsp state mustn't be set directly by the user. </p>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a69">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a68">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a79">graphics/gpu/textured_cube/source/main.c</a>, and <a class="el" href="sdmc_2source_2main_8c-example.html#a9">sdmc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="sdmc_2source_2main_8c-example.html#a9">sdmc/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
index dbdb1cc40363fb8f032e365bf64d33cdd30e7c68..cd377933a4fe96951e36a21fd35501e9c60b1a51 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -175,86 +175,101 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gfx_8h.html#a7b5743ba9ce490263b12d1575af7ebc1">gfxSet3D</a>(<span class="keywordtype">bool</span> enable);</div>
 <div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment"></span></div>
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment"> * @brief Changes the color format of a screen</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment"> * @param screen The screen of which format should be changed</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment"> * @param format One of the gsp pixel formats.</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gfx_8h.html#a3bfb0d00d8bbf7be08ece053a1b6ce8a">gfxSetScreenFormat</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c">gfxScreen_t</a> screen, <a class="code" href="gspgpu_8h.html#a4c8d43241faec4b99bf24791375c3708">GSPGPU_FramebufferFormats</a> format);</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment"> * @brief Gets a screen pixel format.</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment"> * @param screen Screen to get the pixel format of.</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment"> * @return the pixel format of the chosen screen set by ctrulib.</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<a class="code" href="gspgpu_8h.html#a4c8d43241faec4b99bf24791375c3708">GSPGPU_FramebufferFormats</a> <a class="code" href="gfx_8h.html#ae93ce8f657958343a5c2c9db35f0eabb">gfxGetScreenFormat</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c">gfxScreen_t</a> screen);</div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment"> * @brief Sets whether to use ctrulib&#39;s double buffering</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment"> * @param screen Screen to toggle double buffering for.</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment"> * @param doubleBuffering Whether to use double buffering.</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment"> * ctrulib is by default using a double buffering scheme.</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment"> * If you do not want to swap one of the screen framebuffers when @ref gfxSwapBuffers or @ref gfxSwapBuffers is called,</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment"> * then you have to disable double buffering.</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment"> * It is however recommended to call @ref gfxSwapBuffers even if double buffering is disabled</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment"> * for both screens if you want to keep the gsp configuration up to date.</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gfx_8h.html#ad5c1216a99f555bbc619a157b4295dcb">gfxSetDoubleBuffering</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c">gfxScreen_t</a> screen, <span class="keywordtype">bool</span> doubleBuffering);</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment"> * @brief Flushes the current framebuffers</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment"> * Use this if the data within your framebuffers changes a lot and that you want to make sure everything was updated correctly.</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment"> * This shouldn&#39;t be needed and has a significant overhead.</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b">gfxFlushBuffers</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment"> * @brief Swaps the buffers and sets the gsp state</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment"> * This is to be called to update the gsp state and swap the framebuffers.</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment"> * LCD rendering should start as soon as the gsp state is set.</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment"> * When using the GPU, call @ref gfxSwapBuffers instead.</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="comment"> * @brief Swaps the framebuffers</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment"> * This is the version to be used with the GPU since the GPU will use the gsp shared memory,</span></div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="comment"> * so the gsp state mustn&#39;t be set directly by the user.</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gfx_8h.html#a3306df28835a647734cf8e299f041527">gfxSwapBuffersGpu</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment">///@}</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment">///@name Helper</span></div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment">///@{</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment"></span><span class="comment">/**</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment"> * @brief Retrieves a framebuffer information.</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="comment"> * @param screen Screen to retrieve framebuffer information for.</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment"> * @param side Side of the screen to retrieve framebuffer information for.</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment"> * @param width Pointer that will hold the width of the framebuffer in pixels.</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="comment"> * @param height Pointer that will hold the height of the framebuffer in pixels.</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="comment"> * @return A pointer to the current framebuffer of the choosen screen.</span></div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment"> * Please remember that the returned pointer will change after each call to gfxSwapBuffers if double buffering is enabled.</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* <a class="code" href="gfx_8h.html#a332447352568e250a75397a1b2e452db">gfxGetFramebuffer</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c">gfxScreen_t</a> screen, <a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03">gfx3dSide_t</a> side, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a>* width, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a>* height);<span class="comment"></span></div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="comment">///@}</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="comment">//global variables</span></div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="keyword">extern</span> <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* gfxTopLeftFramebuffers[2];</div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="keyword">extern</span> <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* gfxTopRightFramebuffers[2];</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">extern</span> <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* gfxBottomFramebuffers[2];</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment"> * @brief Retrieves the status of the 3D stereoscopic effect.</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment"> * @return true if 3D enabled, false otherwise.</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="gfx_8h.html#a07c2e95d490e338a8b87030124f58a60">gfxIs3D</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment"> * @brief Changes the color format of a screen</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment"> * @param screen The screen of which format should be changed</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment"> * @param format One of the gsp pixel formats.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gfx_8h.html#a3bfb0d00d8bbf7be08ece053a1b6ce8a">gfxSetScreenFormat</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c">gfxScreen_t</a> screen, <a class="code" href="gspgpu_8h.html#a4c8d43241faec4b99bf24791375c3708">GSPGPU_FramebufferFormats</a> format);</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment"> * @brief Gets a screen pixel format.</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment"> * @param screen Screen to get the pixel format of.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment"> * @return the pixel format of the chosen screen set by ctrulib.</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<a class="code" href="gspgpu_8h.html#a4c8d43241faec4b99bf24791375c3708">GSPGPU_FramebufferFormats</a> <a class="code" href="gfx_8h.html#ae93ce8f657958343a5c2c9db35f0eabb">gfxGetScreenFormat</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c">gfxScreen_t</a> screen);</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment"> * @brief Sets whether to use ctrulib&#39;s double buffering</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment"> * @param screen Screen to toggle double buffering for.</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment"> * @param doubleBuffering Whether to use double buffering.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment"> * ctrulib is by default using a double buffering scheme.</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment"> * If you do not want to swap one of the screen framebuffers when @ref gfxSwapBuffers or @ref gfxSwapBuffers is called,</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment"> * then you have to disable double buffering.</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment"> * It is however recommended to call @ref gfxSwapBuffers even if double buffering is disabled</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment"> * for both screens if you want to keep the gsp configuration up to date.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gfx_8h.html#ad5c1216a99f555bbc619a157b4295dcb">gfxSetDoubleBuffering</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c">gfxScreen_t</a> screen, <span class="keywordtype">bool</span> doubleBuffering);</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment"> * @brief Flushes the current framebuffers</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment"> * Use this if the data within your framebuffers changes a lot and that you want to make sure everything was updated correctly.</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment"> * This shouldn&#39;t be needed and has a significant overhead.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b">gfxFlushBuffers</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment"> * @brief Updates the configuration of the specified screen (swapping the buffers if double-buffering is enabled).</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment"> * @param scr Screen to configure.</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment"> * @param immediate Whether to apply the updated configuration immediately or let GSPGPU apply it after the next GX transfer completes.</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gfx_8h.html#a848357d4a31b6ccd7ead1e9feb69b935">gfxConfigScreen</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c">gfxScreen_t</a> scr, <span class="keywordtype">bool</span> immediate);</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment"> * @brief Swaps the buffers and sets the gsp state</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment"> * This is to be called to update the gsp state and swap the framebuffers.</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment"> * LCD rendering should start as soon as the gsp state is set.</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="comment"> * When using the GPU, call @ref gfxSwapBuffers instead.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment"> * @brief Swaps the framebuffers</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment"> * This is the version to be used with the GPU since the GPU will use the gsp shared memory,</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment"> * so the gsp state mustn&#39;t be set directly by the user.</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gfx_8h.html#a3306df28835a647734cf8e299f041527">gfxSwapBuffersGpu</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment">///@}</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="comment">///@name Helper</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="comment">///@{</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="comment"></span><span class="comment">/**</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="comment"> * @brief Retrieves a framebuffer information.</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="comment"> * @param screen Screen to retrieve framebuffer information for.</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="comment"> * @param side Side of the screen to retrieve framebuffer information for.</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="comment"> * @param width Pointer that will hold the width of the framebuffer in pixels.</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="comment"> * @param height Pointer that will hold the height of the framebuffer in pixels.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="comment"> * @return A pointer to the current framebuffer of the choosen screen.</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="comment"> * Please remember that the returned pointer will change after each call to gfxSwapBuffers if double buffering is enabled.</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* <a class="code" href="gfx_8h.html#a332447352568e250a75397a1b2e452db">gfxGetFramebuffer</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c">gfxScreen_t</a> screen, <a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03">gfx3dSide_t</a> side, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a>* width, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a>* height);<span class="comment"></span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="comment">///@}</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="comment">//global variables</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keyword">extern</span> <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* gfxTopLeftFramebuffers[2];</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="keyword">extern</span> <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* gfxTopRightFramebuffers[2];</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="keyword">extern</span> <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* gfxBottomFramebuffers[2];</div>
 <div class="ttc" id="types_8h_html"><div class="ttname"><a href="types_8h.html">types.h</a></div><div class="ttdoc">Various system types. </div></div>
+<div class="ttc" id="gfx_8h_html_a848357d4a31b6ccd7ead1e9feb69b935"><div class="ttname"><a href="gfx_8h.html#a848357d4a31b6ccd7ead1e9feb69b935">gfxConfigScreen</a></div><div class="ttdeci">void gfxConfigScreen(gfxScreen_t scr, bool immediate)</div><div class="ttdoc">Updates the configuration of the specified screen (swapping the buffers if double-buffering is enable...</div></div>
 <div class="ttc" id="types_8h_html_ace9d960e74685e2cd84b36132dbbf8aa"><div class="ttname"><a href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a></div><div class="ttdeci">uint16_t u16</div><div class="ttdoc">16-bit unsigned integer </div><div class="ttdef"><b>Definition:</b> types.h:22</div></div>
 <div class="ttc" id="gspgpu_8h_html"><div class="ttname"><a href="gspgpu_8h.html">gspgpu.h</a></div><div class="ttdoc">GSPGPU service. </div></div>
 <div class="ttc" id="gfx_8h_html_a356112d87f5cf6bbba3ea3b6b010e09cac1be8c2dee1ab5520b30ba069afa7541"><div class="ttname"><a href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09cac1be8c2dee1ab5520b30ba069afa7541">GFX_BOTTOM</a></div><div class="ttdoc">Bottom screen. </div><div class="ttdef"><b>Definition:</b> gfx.h:23</div></div>
 <div class="ttc" id="gspgpu_8h_html_a4c8d43241faec4b99bf24791375c3708"><div class="ttname"><a href="gspgpu_8h.html#a4c8d43241faec4b99bf24791375c3708">GSPGPU_FramebufferFormats</a></div><div class="ttdeci">GSPGPU_FramebufferFormats</div><div class="ttdoc">Framebuffer format. </div><div class="ttdef"><b>Definition:</b> gspgpu.h:22</div></div>
 <div class="ttc" id="gfx_8h_html_a0f338920111994110975dc0d1360bb1f"><div class="ttname"><a href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a></div><div class="ttdeci">void gfxSwapBuffers(void)</div><div class="ttdoc">Swaps the buffers and sets the gsp state. </div></div>
+<div class="ttc" id="gfx_8h_html_a07c2e95d490e338a8b87030124f58a60"><div class="ttname"><a href="gfx_8h.html#a07c2e95d490e338a8b87030124f58a60">gfxIs3D</a></div><div class="ttdeci">bool gfxIs3D(void)</div><div class="ttdoc">Retrieves the status of the 3D stereoscopic effect. </div></div>
 <div class="ttc" id="gfx_8h_html_ad5c1216a99f555bbc619a157b4295dcb"><div class="ttname"><a href="gfx_8h.html#ad5c1216a99f555bbc619a157b4295dcb">gfxSetDoubleBuffering</a></div><div class="ttdeci">void gfxSetDoubleBuffering(gfxScreen_t screen, bool doubleBuffering)</div><div class="ttdoc">Sets whether to use ctrulib&#39;s double buffering. </div></div>
 <div class="ttc" id="types_8h_html_a92c50087ca0e64fa93fc59402c55f8ca"><div class="ttname"><a href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a></div><div class="ttdeci">uint8_t u8</div><div class="ttdoc">would be nice if newlib had this already </div><div class="ttdef"><b>Definition:</b> types.h:21</div></div>
 <div class="ttc" id="gfx_8h_html_a236a005ae029247c8bfe4a4a649206fc"><div class="ttname"><a href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a></div><div class="ttdeci">void gfxInitDefault(void)</div><div class="ttdoc">Initializes the LCD framebuffers with default parameters. </div></div>
index aabeb900aa792a2728b60c84f5efd9b30e3b7000..56b39bb9561b7d14b380746ebc6530990131e54b 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -140,6 +140,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>__strex()
 : <a class="el" href="synchronization_8h.html#ae5b6bc8b7ae74b57efbb0707c1d6cea9">synchronization.h</a>
 </li>
+<li>__sync_get_arbiter()
+: <a class="el" href="synchronization_8h.html#abfc0f49f74fdd98c039a670ecacd23de">synchronization.h</a>
+</li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
index 6eaab69538b76a176f52875c36a44d64f20fa162..75f297094a76cf47ffb6db44820af989eda3f6e0 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -170,6 +170,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>AM_InitializeExternalTitleDatabase()
 : <a class="el" href="am_8h.html#a469ba855d3817fa86091baa17d136676">am.h</a>
 </li>
+<li>AM_InstallFirm()
+: <a class="el" href="am_8h.html#a04a92770482e500d5da2995e0d4a1bc1">am.h</a>
+</li>
 <li>AM_InstallNativeFirm()
 : <a class="el" href="am_8h.html#a022d7fdd04454fd2300588b539a9da4a">am.h</a>
 </li>
index 6d4f097d74471d4d49908bacf364e0148187358e..d6a04998b679fbae6d13e7a00970e22da55ffb99 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index a3f45a2002ccf9e0f7304b9760c74e484d86bc33..a4af651c23f5d0b521e84b62a98c09839a460d28 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index e7430e31649b49fb7b59dc423bfe0c2cc061398b..93a16049e2122af98cb8f77b4376281a5ac04c60 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 29754e7eeaf1456771646294b74866dc24b3fbea..85eba3caf816e1c8b9ac8d70dd756c5bc5d6dceb 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 0dcd4415321d12b8af4a2173a85291aee093f04c..ea9e2bbc6f4a88e940b54fd5953e8fee43910350 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 01cf3c6666427ae4560b0c29f37da1cc95be5542..f7c5ffc5976579c9aaecacb22ce909e4d5f6d2cb 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 0498cfedb9ef4b2f954fd0fc013856071c193d94..b0333f5a5238ff27230e7adf2c9997862d761e9a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 095aed87fca3bcb4d31f782462330d369e5fc6a8..3651a6a9f9486e9284c2decb1ba8a08993d56be8 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index d52777ce37459c1142ae4b36aa5b22329666a972..2364d454acc8fa886a045a9abc0b4471c6dbbe81 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 9dda32c2ee5b3af5086dfe783be965179e7caacb..767c7a208cc9627a51b24c7a5f24838f9d274860 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index fa8bd7376440c60fd1004c1fac32b3f2183d9130..f994e9f27e6c2b31b8c0856a4c4746d80fac597f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index d21cb0f9ab38bc480f2b9c78b3097f7b9b83d619..b358430ed54697442864e037fe32a48e0985c91c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 789fe7ebce93243cc09462fa4b08dcac659723d0..7c0db3af6d59d155fcda59a0c45b8960d2607769 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index a7ee68e2884425fc1e6d71ead20dab9148b555c1..2c7385785f42612a1c55e91a7ac532a9cea09195 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index eb8b81c96745d3add4d42cd52a58b3356dfdfa3b..9725e21c3a300b8656502c1692129c2e55a9a177 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 48ec22b40c3f2c8acefb4a196a49366c81d1866b..589e4daf84c4375e8d79db340058c5781ffdd864 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 8fa4a1213f0e03f8142b98ba4262c9b208fedc5c..606863ec1556958217213069a9373aa0c43b1b32 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 7b87af112eee2b9785a12b8a9741e563a71023c5..1ca0c52c2810430947e82364d0778b31b059e702 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 7c6cfd3fb18af12fb5afe469a259b60bb1fed996..0638d143f65e66d9558bf868b969efda4c1e67c5 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 6a3cce76e32b0324870ec0d9f14a237e83d01b88..b525346762305722dc823b811467037eb37483f4 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 08d74efdab0f0dd7c49da2b3fb2f3f28a3f3afbb..e2a06ca8ef1fec7e4b5be178197e2042aad324bd 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 5d256a91b082d6616ae58893d4a8bf7b1f7b912c..fd76cf5cd398de8baa3de68ff06e25695dcbf5d2 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index c1dac2d0868198ecdf62a039507e2cbeb6186392..2e2292336f6714533627dcb153d0e9b42d1c3129 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index ac4deefb1a4c580a9e7412a8dc2375a9e73aad05..180b323b484d7e588ee08f7b460d754129c17001 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4badaa6f659685b6a9d00fc94282302f6b5e57af..f43ab0c975cd1f0ca0f7f261b0f12e66d08c9c16 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 791d57595f65d53ef98e3e64cbc5b42e67bd545a..5bb737991d05b3f923338e69c28dd87992f64c04 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 7bd43ac4665febe0f5aa0a780d042c7089c65fce..11e9326d03c3da60126293713d1c5490981fd42a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 05d3d0adb609ed8e7b1cfc53b32a0038f200450d..1ca1e39aba0707e4f8821d1e3b55130e4a5edfac 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 3db4952d7be00ab0f236830989e42854d7a8e13f..3d25cabc798d4240706ff995de0c648f6e876c97 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 1a3f20231072899677255be56ff2b56d5691d61d..6e300067c9568f29b5c65b62239ed274a41ba91e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 922786754f6709d9f6b31dd6ae271190eb77f38f..0a20dfce3ef696aca4b091df150772b3d9cbdde5 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 95b41d0452d7cb0c8bea4985fe1685fcebb528df..e05956751e05b3db3a801c47e8d8b990c9d9337a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 051b976afbed66dbf0ed31fdf788bc6c01bb35f4..dddde20058b0a47da957add061a873d65058f77d 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 3ff1ce94f0b6db862acfdb550aa90f0c5df398a8..95ace3f7947a308569d49620f2cf4f9e901aa1c4 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 64e26d32102af212c6cfe09238200df8a86c7e6c..7343028d92fcbafeab092ab5e60f622bad54905e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 876631fc0ed30c0cb8675ae5149e452e194805ac..9dcf6ba2ae51a96bf538285c6127f491fe5279df 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index beab036eecdeb3a33a1a1f1bfa5cb54d405c66d8..3ef361842571e3293d5ba6018b606968c35d81dc 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 95027bbf21ebbceeef62ab7c113ef6969d6eebfe..a965ba058251f42703e8625881cf7f6327ca06ab 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 1662e2eacaa3ce43a1eb06ff948daa11bdb6609f..5c8d10acebd60c541a955cd98f2ac0847b172912 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index e5e186bc2e7a466c431ac1dc15f7253302dad1cc..a6116fdf04cb27ab6a66a3f9ee7b51c924ebfa2e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 87e859737671762a8969670325e70d1a1c362733..f8919ab9d788f5d5e4273f98fed87dde403a1ae3 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 3219a9c84f683d87206c14a1a01644c1d64b7bb6..d5d3d3e39bcb42674d5261d31413539220f39ae9 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -137,6 +137,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>__strex()
 : <a class="el" href="synchronization_8h.html#ae5b6bc8b7ae74b57efbb0707c1d6cea9">synchronization.h</a>
 </li>
+<li>__sync_get_arbiter()
+: <a class="el" href="synchronization_8h.html#abfc0f49f74fdd98c039a670ecacd23de">synchronization.h</a>
+</li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
index 100f39ca7f36ef8204e319c25736468ff3abee38..556b315b0614cb932b631a81585cc4a36759bcc0 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -164,6 +164,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>AM_InitializeExternalTitleDatabase()
 : <a class="el" href="am_8h.html#a469ba855d3817fa86091baa17d136676">am.h</a>
 </li>
+<li>AM_InstallFirm()
+: <a class="el" href="am_8h.html#a04a92770482e500d5da2995e0d4a1bc1">am.h</a>
+</li>
 <li>AM_InstallNativeFirm()
 : <a class="el" href="am_8h.html#a022d7fdd04454fd2300588b539a9da4a">am.h</a>
 </li>
index b8b51c980ed97a069225efe2c129009f40c36901..5ccb06214d314c5a99621daa0ff5cb97544dc2d8 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index e6994da1da690004fadba31ad508b59e69b76861..1a2cb89263ceade8fe393d60a70c836f9519bd3b 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 87fbffb7dfa3de5a90eed6e03a9ae88a2f27f62d..352a1b167d0c4f5b2cfe6c1329b73dbe8e299af1 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 59863cd8864358726cf1e3efec652043c3277225..1544fa6a290d87d931d98747e2edb409233818aa 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 277a5886462af7182e2be9bc97b60b96c393bcad..2fcfadd0b828336f95e89ce3e743240a8b8b02af 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -134,6 +134,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>getThreadStaticBuffers()
 : <a class="el" href="svc_8h.html#a7f804146f815c96c98e7712bce3993bf">svc.h</a>
 </li>
+<li>gfxConfigScreen()
+: <a class="el" href="gfx_8h.html#a848357d4a31b6ccd7ead1e9feb69b935">gfx.h</a>
+</li>
 <li>gfxExit()
 : <a class="el" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfx.h</a>
 </li>
@@ -152,6 +155,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>gfxInitDefault()
 : <a class="el" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfx.h</a>
 </li>
+<li>gfxIs3D()
+: <a class="el" href="gfx_8h.html#a07c2e95d490e338a8b87030124f58a60">gfx.h</a>
+</li>
 <li>gfxSet3D()
 : <a class="el" href="gfx_8h.html#a7b5743ba9ce490263b12d1575af7ebc1">gfx.h</a>
 </li>
@@ -332,9 +338,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>gspLcdInit()
 : <a class="el" href="gsplcd_8h.html#a3e3d897ec34cb4f64efd6dbfed777f0c">gsplcd.h</a>
 </li>
+<li>gspSetEventCallback()
+: <a class="el" href="gspgpu_8h.html#a38080f47e69bd240156ca043c7946b29">gspgpu.h</a>
+</li>
 <li>gspSubmitGxCommand()
 : <a class="el" href="gspgpu_8h.html#aa4e931a0de3b33497503fc063127af0c">gspgpu.h</a>
 </li>
+<li>gspWaitForAnyEvent()
+: <a class="el" href="gspgpu_8h.html#a7280943da0262bb75eacc779bf54be87">gspgpu.h</a>
+</li>
 <li>gspWaitForEvent()
 : <a class="el" href="gspgpu_8h.html#a91a03ad378747bc554ff611742727958">gspgpu.h</a>
 </li>
index 66ae57946b96a6b6a57dacf1d7444151eb32cba0..80f0a428b7096254f978c3fa66d02ba6c427eac7 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4f6d116c635c0171d4c2675b1c78c2b35211d919..529e40fe02ef1969da38c4f5cb157eedd43c496d 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index f82cd123133ac67db1447a747b369b850d06c659..75b005c9ce7543c9137cfb91b11cca868d700f2e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 9012c8204859aa1e2953a95b3f0b610c59a96ac8..5c079456217b023848c5e93ed97fc29ec73bce17 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index c8824b390f38b302a169ca51d90583f59e86ea25..9a26cb660e3cec5728f43e204f43572cebaa41ed 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index e1207146536be9946ffd28bbbaa7d18d0108588b..43a5c66aba8a85472158009022784ff0a9723aec 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 90591992c1674050d645985121e61e0fbb3d74c8..643c57723c6f266f78837ffdacb8f867642ce65d 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 9b681be55dd5999078df089d623599f48c27e4ce..aa17d94716544baf9786afe1cfd816ddfd64e796 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 8a7d64050b10fca1172e2f5de2c16e7f93293a34..0ae1e72d259d8a13068299dfd1a7de0a3e63dd70 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 5d6684a998c9555ce0f228cfe311d4857a85435a..732ebaf092ac0ece2d7cfe41a2f1285958fb1f81 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4a9f0b4dc89851d7910ffafdd83e920a48c27724..10dd7083f1141ec7a93ceb5630336939a2d31cca 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 437093daed5517eda041ef7d2d5268389cf49e7f..67609b451fb599c7c93caf526c814e6cffea9b11 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index c5678286150acfeb21bddbdfe800c707b3595591..11a804a4a548cdaf82bc845b986320189ae62844 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index a2a1803ccfb75a964c04ad99cca50e0660905922..5366db4af4c4541831a8f922fb74cd5b2418361e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index c9b05a5cac6b5913760846ce65f275c97097c707..c9eea6f623c53462f5b983c78ab1ce939528eca0 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -167,6 +167,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>GFX_TOP
 : <a class="el" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">gfx.h</a>
 </li>
+<li>gfxConfigScreen()
+: <a class="el" href="gfx_8h.html#a848357d4a31b6ccd7ead1e9feb69b935">gfx.h</a>
+</li>
 <li>gfxExit()
 : <a class="el" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfx.h</a>
 </li>
@@ -185,6 +188,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>gfxInitDefault()
 : <a class="el" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfx.h</a>
 </li>
+<li>gfxIs3D()
+: <a class="el" href="gfx_8h.html#a07c2e95d490e338a8b87030124f58a60">gfx.h</a>
+</li>
 <li>gfxScreen_t
 : <a class="el" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c">gfx.h</a>
 </li>
@@ -3479,9 +3485,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <li>gspLcdInit()
 : <a class="el" href="gsplcd_8h.html#a3e3d897ec34cb4f64efd6dbfed777f0c">gsplcd.h</a>
 </li>
+<li>gspSetEventCallback()
+: <a class="el" href="gspgpu_8h.html#a38080f47e69bd240156ca043c7946b29">gspgpu.h</a>
+</li>
 <li>gspSubmitGxCommand()
 : <a class="el" href="gspgpu_8h.html#aa4e931a0de3b33497503fc063127af0c">gspgpu.h</a>
 </li>
+<li>gspWaitForAnyEvent()
+: <a class="el" href="gspgpu_8h.html#a7280943da0262bb75eacc779bf54be87">gspgpu.h</a>
+</li>
 <li>gspWaitForDMA
 : <a class="el" href="gspgpu_8h.html#a95267f3508badebdcd0788cf262c99d8">gspgpu.h</a>
 </li>
index 11cd65a272cca7fd37e755284bf69a38036d527d..08070450568c3aaec3a04752359ae3c1f5ee36f0 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index edbfd5a170a2fec502e3411d394f3902ba2ffdb6..33f7ea22c1d38049afb46f0f2a143bf195295b70 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 8210c03080da546dad352397db5736d991402840..ef5b48c3dee21c2c0f604f71f9bad32fe7df5a75 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index c11bad7bc6b5acaed404c01a7212899c4d559d67..defb8fd4f839971e72e65d9d46a09afc97a8c661 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 6b29a63952abd5444c90f3a21dc744268f488f99..e8f20e110c3aad196757974ee1babc295c658e3f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 01dd2e92d7e0a5f3001cee95c48aec340104043b..44aed5b8de3c54f377dc59e50d8506c530768c39 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index ee7f5264e1817e799bb63fc50a25720dd2193e3b..6f7868885ff46183c48bbce1be99b7e1ecedc67a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index f909291d1d8fc77162f4661241804d754624f0ca..9d012b8f6e8fa0271c05473fa74b3d99d14cd755 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 0a79fe5d9fbe0022c941ac0189918ff97d6e0b8c..84f86cbe9e4f395ebcdcea8ddd3dea11b41a8026 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 9525fb1c8480fc38fb245062c322e71b752ef9dd..a1867502c748998e73b5fa5aaeded33ace8b8819 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 0d56d8e3052d7d72ded80179b6ca1a1c4a4fc48f..93f4d0ce8f588d6ec87b7d72686d1578f015f0a1 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index e3a49ed2a00a04a9ce42ed006ada41bb8bb502f6..a9d3b0e85d216e076af01c5ec614323b090ba762 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index d0ae1ddc5aa7788edd3e69f0d74692bec5fc09ef..14641aba9135030278723ddfc60850e729c5408b 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 374d6e9c7ed6b7db2005c9f05baf4eb98acf663f..c16dd4a2fd7f4d6943ea8cceb70a45349d5bf04c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index c4e2f85ce31ddbb5e8e8a18d23f5160bc334022f..e5b3897f7f7e2172a207174dcdaae9e1fe5d33a7 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 226c5541f143120e904d4661997a46f74ea2aedf..6b4481403cf0938559967d6a6d1456471b1b2632 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 682c568d5daafb9b9451b4e24b1c5d79968e8656..999ec7a0c5d54039bb70ef2db639a3e0732f106b 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 12f3d4e440c5c926304d24355248a10d06994ca7..49608a8cbe690ddddd8778d3810e5cdbb9b387fb 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 2e288de746828e77f087b638dda563a561c07574..a1a5a2b5cb0cb7ca3360398678b6e96ddd0a894f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -209,8 +209,7 @@ Functions</h2></td></tr>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000007">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a13">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a13">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a13">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a4aecce954e20dee2e37e2e774361e9dd"></a>
@@ -253,8 +252,7 @@ Functions</h2></td></tr>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000022">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a62">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a61">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a72">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a829e0411f5a51f8c0ed4a473fbbccb55"></a>
@@ -315,8 +313,7 @@ Functions</h2></td></tr>
 
 <p>Finishes drawing. </p>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000024">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a31">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a31">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a31">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a921bb00def7171c1936fa50c6e464fba"></a>
@@ -341,8 +338,7 @@ Functions</h2></td></tr>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a3">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a3">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a3">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a896e2be6136bb62909be966cc74eeb4d"></a>
@@ -385,8 +381,7 @@ Functions</h2></td></tr>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a4">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a4">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a4">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="ac9bf249df1e7a27a56a4e57c81d19e1c"></a>
@@ -451,8 +446,7 @@ Functions</h2></td></tr>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000014">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a26">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a26">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a26">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="aec1714fa8c2684020ab10a4da8e784e0"></a>
@@ -495,8 +489,7 @@ Functions</h2></td></tr>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000008">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a30">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a30">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a30">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="ac81475073183a797d1e723770f5cf6b4"></a>
@@ -581,8 +574,7 @@ Functions</h2></td></tr>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000017">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a58">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a57">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a68">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a2ead0a88519b4197e13c6ce8e138d6c7"></a>
@@ -632,8 +624,7 @@ Functions</h2></td></tr>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000016">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a20">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a20">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a20">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a16d2f28ab67d2208b0321f817f7babb3"></a>
@@ -742,8 +733,7 @@ Only the first four TEV stages can write to the combiner buffer. </dd></dl>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000009">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a21">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a21">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a21">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a717ac338a87549c36a9d70f5c1d7a077"></a>
@@ -768,8 +758,7 @@ Only the first four TEV stages can write to the combiner buffer. </dd></dl>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000012">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a14">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a14">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a14">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="af18a38db985563a54813c2ebf86d6509"></a>
@@ -819,8 +808,7 @@ Only the first four TEV stages can write to the combiner buffer. </dd></dl>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a0">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a0">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a0">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a5bcd123602324b372662ea425786aa58"></a>
@@ -920,8 +908,7 @@ Only the first four TEV stages can write to the combiner buffer. </dd></dl>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000011">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a18">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a18">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a18">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="abc687b8c34463fd1ceacd64dab6c078e"></a>
@@ -978,8 +965,7 @@ Only the first four TEV stages can write to the combiner buffer. </dd></dl>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000010">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a16">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a16">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a16">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a7b61022c85fa068574fd6b61d55f9530"></a>
@@ -1057,8 +1043,7 @@ Only the first four TEV stages can write to the combiner buffer. </dd></dl>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000021">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a42">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a42">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a42">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a4145b7accf26fb3295c6e950a6ec52c5"></a>
@@ -1122,8 +1107,7 @@ Only the first four TEV stages can write to the combiner buffer. </dd></dl>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000019">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a61">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a7fc8f4ca807737d2d9206e1ef9144dc4"></a>
@@ -1184,8 +1168,7 @@ Only the first four TEV stages can write to the combiner buffer. </dd></dl>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000018">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a59">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="aba80c2d6e88cb75263de89a2d059e230"></a>
@@ -1249,8 +1232,7 @@ Only the first four TEV stages can write to the combiner buffer. </dd></dl>
   </dd>
 </dl>
 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd></dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a11">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a11">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a11">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 </div><!-- contents -->
index 9073fd7fab83dca476510584ed34660c002b1b8f..4c7c58a655c6e270225ad06e12adbe6f707e7349 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 52ae5501e9b978b018438cb902e257fa65c9c7eb..a2e54bc394441cd75d06d153c9eb8f849b728a17 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -480,8 +480,7 @@ Variables</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a41">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a41">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a41">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 </div><!-- contents -->
index ccb11f5f89690e5268f1836751e26975535802ba..e969939f29c8843b565f457b8ca9d9b0c94bfa78 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index e9f805b98a7cfdeb284dd93331fd3223a756d9f7..243c7f9407cc4a5a5c80f086a59ff62e12eea40f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
diff --git a/graphics_2gpu_2fragment_light_2source_2main_8c-example.html b/graphics_2gpu_2fragment_light_2source_2main_8c-example.html
new file mode 100644 (file)
index 0000000..a657f89
--- /dev/null
@@ -0,0 +1,333 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>libctru: graphics/gpu/fragment_light/source/main.c</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">libctru
+   &#160;<span id="projectnumber">v1.1.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li><a href="examples.html"><span>Examples</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">graphics/gpu/fragment_light/source/main.c</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="3ds_8h.html">3ds.h</a>&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &lt;citro3d.h&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &lt;string.h&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &quot;vshader_shbin.h&quot;</span></div>
+<div class="line"></div>
+<div class="line"><span class="preprocessor">#define CLEAR_COLOR 0x68B0D8FF</span></div>
+<div class="line"></div>
+<div class="line"><span class="preprocessor">#define DISPLAY_TRANSFER_FLAGS \</span></div>
+<div class="line"><span class="preprocessor">    (GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \</span></div>
+<div class="line"><span class="preprocessor">    GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \</span></div>
+<div class="line"><span class="preprocessor">    GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))</span></div>
+<div class="line"></div>
+<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{ <span class="keywordtype">float</span> position[3]; <span class="keywordtype">float</span> texcoord[2]; <span class="keywordtype">float</span> normal[3]; } vertex;</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">static</span> <span class="keyword">const</span> vertex vertex_list[] =</div>
+<div class="line">{</div>
+<div class="line">    <span class="comment">// First face (PZ)</span></div>
+<div class="line">    <span class="comment">// First triangle</span></div>
+<div class="line">    { {-0.5f, -0.5f, +0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },</div>
+<div class="line">    { {+0.5f, -0.5f, +0.5f}, {1.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },</div>
+<div class="line">    { {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },</div>
+<div class="line">    <span class="comment">// Second triangle</span></div>
+<div class="line">    { {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },</div>
+<div class="line">    { {-0.5f, +0.5f, +0.5f}, {0.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },</div>
+<div class="line">    { {-0.5f, -0.5f, +0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Second face (MZ)</span></div>
+<div class="line">    <span class="comment">// First triangle</span></div>
+<div class="line">    { {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },</div>
+<div class="line">    { {-0.5f, +0.5f, -0.5f}, {1.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },</div>
+<div class="line">    { {+0.5f, +0.5f, -0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },</div>
+<div class="line">    <span class="comment">// Second triangle</span></div>
+<div class="line">    { {+0.5f, +0.5f, -0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },</div>
+<div class="line">    { {+0.5f, -0.5f, -0.5f}, {0.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },</div>
+<div class="line">    { {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Third face (PX)</span></div>
+<div class="line">    <span class="comment">// First triangle</span></div>
+<div class="line">    { {+0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },</div>
+<div class="line">    { {+0.5f, +0.5f, -0.5f}, {1.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },</div>
+<div class="line">    { {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },</div>
+<div class="line">    <span class="comment">// Second triangle</span></div>
+<div class="line">    { {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },</div>
+<div class="line">    { {+0.5f, -0.5f, +0.5f}, {0.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },</div>
+<div class="line">    { {+0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Fourth face (MX)</span></div>
+<div class="line">    <span class="comment">// First triangle</span></div>
+<div class="line">    { {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },</div>
+<div class="line">    { {-0.5f, -0.5f, +0.5f}, {1.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },</div>
+<div class="line">    { {-0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },</div>
+<div class="line">    <span class="comment">// Second triangle</span></div>
+<div class="line">    { {-0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },</div>
+<div class="line">    { {-0.5f, +0.5f, -0.5f}, {0.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },</div>
+<div class="line">    { {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Fifth face (PY)</span></div>
+<div class="line">    <span class="comment">// First triangle</span></div>
+<div class="line">    { {-0.5f, +0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },</div>
+<div class="line">    { {-0.5f, +0.5f, +0.5f}, {1.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },</div>
+<div class="line">    { {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },</div>
+<div class="line">    <span class="comment">// Second triangle</span></div>
+<div class="line">    { {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },</div>
+<div class="line">    { {+0.5f, +0.5f, -0.5f}, {0.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },</div>
+<div class="line">    { {-0.5f, +0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Sixth face (MY)</span></div>
+<div class="line">    <span class="comment">// First triangle</span></div>
+<div class="line">    { {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },</div>
+<div class="line">    { {+0.5f, -0.5f, -0.5f}, {1.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },</div>
+<div class="line">    { {+0.5f, -0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },</div>
+<div class="line">    <span class="comment">// Second triangle</span></div>
+<div class="line">    { {+0.5f, -0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },</div>
+<div class="line">    { {-0.5f, -0.5f, +0.5f}, {0.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },</div>
+<div class="line">    { {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },</div>
+<div class="line">};</div>
+<div class="line"></div>
+<div class="line"><span class="preprocessor">#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))</span></div>
+<div class="line"></div>
+<div class="line"><span class="keyword">static</span> <a name="_a0"></a><a class="code" href="structDVLB__s.html">DVLB_s</a>* vshader_dvlb;</div>
+<div class="line"><span class="keyword">static</span> <a name="_a1"></a><a class="code" href="structshaderProgram__s.html">shaderProgram_s</a> program;</div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span> uLoc_projection, uLoc_modelView;</div>
+<div class="line"><span class="keyword">static</span> C3D_Mtx projection;</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">static</span> C3D_LightEnv lightEnv;</div>
+<div class="line"><span class="keyword">static</span> C3D_Light light;</div>
+<div class="line"><span class="keyword">static</span> C3D_LightLut lut_Phong;</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span>* vbo_data;</div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">float</span> angleX = 0.0, angleY = 0.0;</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneInit(<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
+<div class="line">    <span class="comment">// Load the vertex shader, create a shader program and bind it</span></div>
+<div class="line">    vshader_dvlb = <a name="a2"></a><a class="code" href="shbin_8h.html#afd50bf30516e9e3acffd3b62cd061cb0">DVLB_ParseFile</a>((<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)vshader_shbin, vshader_shbin_size);</div>
+<div class="line">    <a name="a3"></a><a class="code" href="shaderProgram_8h.html#a4907e3572c644efe27c130a8c37bddf0">shaderProgramInit</a>(&amp;program);</div>
+<div class="line">    <a name="a4"></a><a class="code" href="shaderProgram_8h.html#a3ca416a2e6bc3c2aaae1895435e8452c">shaderProgramSetVsh</a>(&amp;program, &amp;vshader_dvlb-&gt;<a name="a5"></a><a class="code" href="structDVLB__s.html#a1934abe9c4109579746d57c5b20b5834">DVLE</a>[0]);</div>
+<div class="line">    C3D_BindProgram(&amp;program);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Get the location of the uniforms</span></div>
+<div class="line">    uLoc_projection   = <a name="a6"></a><a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a name="a7"></a><a class="code" href="structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0">vertexShader</a>, <span class="stringliteral">&quot;projection&quot;</span>);</div>
+<div class="line">    uLoc_modelView    = <a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a class="code" href="structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0">vertexShader</a>, <span class="stringliteral">&quot;modelView&quot;</span>);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Configure attributes for use with the vertex shader</span></div>
+<div class="line">    C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();</div>
+<div class="line">    AttrInfo_Init(attrInfo);</div>
+<div class="line">    AttrInfo_AddLoader(attrInfo, 0, <a name="a8"></a><a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>, 3); <span class="comment">// v0=position</span></div>
+<div class="line">    AttrInfo_AddLoader(attrInfo, 1, <a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>, 2); <span class="comment">// v1=texcoord</span></div>
+<div class="line">    AttrInfo_AddLoader(attrInfo, 2, <a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>, 3); <span class="comment">// v2=normal</span></div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Create the VBO (vertex buffer object)</span></div>
+<div class="line">    vbo_data = <a name="a9"></a><a class="code" href="linear_8h.html#a73a6bd0b398a08f695e16e07267a7424">linearAlloc</a>(<span class="keyword">sizeof</span>(vertex_list));</div>
+<div class="line">    memcpy(vbo_data, vertex_list, <span class="keyword">sizeof</span>(vertex_list));</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Configure buffers</span></div>
+<div class="line">    C3D_BufInfo* bufInfo = C3D_GetBufInfo();</div>
+<div class="line">    BufInfo_Init(bufInfo);</div>
+<div class="line">    BufInfo_Add(bufInfo, vbo_data, <span class="keyword">sizeof</span>(vertex), 3, 0x210);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Configure the first fragment shading substage to blend the fragment primary color</span></div>
+<div class="line">    <span class="comment">// with the fragment secondary color.</span></div>
+<div class="line">    <span class="comment">// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight</span></div>
+<div class="line">    C3D_TexEnv* env = C3D_GetTexEnv(0);</div>
+<div class="line">    C3D_TexEnvSrc(env, C3D_Both, <a name="a10"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a0bbc8695a5f516fd20607b11d04a4c3c">GPU_FRAGMENT_PRIMARY_COLOR</a>, <a name="a11"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0ab32b4d5fc6dfdbc4706f2d6ff955b12a">GPU_FRAGMENT_SECONDARY_COLOR</a>, 0);</div>
+<div class="line">    C3D_TexEnvOp(env, C3D_Both, 0, 0, 0);</div>
+<div class="line">    C3D_TexEnvFunc(env, C3D_Both, <a name="a12"></a><a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1a76c8833caf6cd58a784b748d7428c4">GPU_ADD</a>);</div>
+<div class="line"></div>
+<div class="line">    <span class="keyword">static</span> <span class="keyword">const</span> C3D_Material material =</div>
+<div class="line">    {</div>
+<div class="line">        { 0.2f, 0.2f, 0.2f }, <span class="comment">//ambient</span></div>
+<div class="line">        { 0.4f, 0.4f, 0.4f }, <span class="comment">//diffuse</span></div>
+<div class="line">        { 0.8f, 0.8f, 0.8f }, <span class="comment">//specular0</span></div>
+<div class="line">        { 0.0f, 0.0f, 0.0f }, <span class="comment">//specular1</span></div>
+<div class="line">        { 0.0f, 0.0f, 0.0f }, <span class="comment">//emission</span></div>
+<div class="line">    };</div>
+<div class="line"></div>
+<div class="line">    C3D_LightEnvInit(&amp;lightEnv);</div>
+<div class="line">    C3D_LightEnvBind(&amp;lightEnv);</div>
+<div class="line">    C3D_LightEnvMaterial(&amp;lightEnv, &amp;material);</div>
+<div class="line"></div>
+<div class="line">    LightLut_Phong(&amp;lut_Phong, 30);</div>
+<div class="line">    C3D_LightEnvLut(&amp;lightEnv, <a name="a13"></a><a class="code" href="enums_8h.html#a207e4181777d84b837218fdeb61825b2afadcb590d677a876167c3965c1d9e325">GPU_LUT_D0</a>, <a name="a14"></a><a class="code" href="enums_8h.html#ac63e58430371c6fef616284076c22f90a542a9d0845299b89d2cd65de9ed29ad0">GPU_LUTINPUT_LN</a>, <span class="keyword">false</span>, &amp;lut_Phong);</div>
+<div class="line"></div>
+<div class="line">    C3D_FVec lightVec = { { 1.0, -0.5, 0.0, 0.0 } };</div>
+<div class="line"></div>
+<div class="line">    C3D_LightInit(&amp;light, &amp;lightEnv);</div>
+<div class="line">    C3D_LightColor(&amp;light, 1.0, 1.0, 1.0);</div>
+<div class="line">    C3D_LightPosition(&amp;light, &amp;lightVec);</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneRender(<span class="keywordtype">float</span> iod)</div>
+<div class="line">{</div>
+<div class="line">    <span class="comment">// Compute the projection matrix</span></div>
+<div class="line">    Mtx_PerspStereoTilt(&amp;projection, 40.0f*M_PI/180.0f, 400.0f/240.0f, 0.01f, 1000.0f, iod, 2.0f);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Calculate the modelView matrix</span></div>
+<div class="line">    C3D_Mtx modelView;</div>
+<div class="line">    Mtx_Identity(&amp;modelView);</div>
+<div class="line">    Mtx_Translate(&amp;modelView, 0.0, 0.0, -4.0 + sinf(angleX));</div>
+<div class="line">    Mtx_RotateX(&amp;modelView, angleX, <span class="keyword">true</span>);</div>
+<div class="line">    Mtx_RotateY(&amp;modelView, angleY, <span class="keyword">true</span>);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Rotate the cube each frame</span></div>
+<div class="line">    <span class="keywordflow">if</span> (iod &gt;= 0.0f)</div>
+<div class="line">    {</div>
+<div class="line">        angleX += M_PI / 180;</div>
+<div class="line">        angleY += M_PI / 360;</div>
+<div class="line">    }</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Update the uniforms</span></div>
+<div class="line">    C3D_FVUnifMtx4x4(<a name="a15"></a><a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_projection, &amp;projection);</div>
+<div class="line">    C3D_FVUnifMtx4x4(<a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_modelView,  &amp;modelView);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Draw the VBO</span></div>
+<div class="line">    C3D_DrawArrays(<a name="a16"></a><a class="code" href="enums_8h.html#a94bdee50fa003d70dd3888f347397806abee71ba286bcf6b5222049ac7beb2d8b">GPU_TRIANGLES</a>, 0, vertex_list_count);</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneExit(<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
+<div class="line">    <span class="comment">// Free the VBO</span></div>
+<div class="line">    <a name="a17"></a><a class="code" href="linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2">linearFree</a>(vbo_data);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Free the shader program</span></div>
+<div class="line">    <a name="a18"></a><a class="code" href="shaderProgram_8h.html#a57cbd903975f5ccce6169159f89714d8">shaderProgramFree</a>(&amp;program);</div>
+<div class="line">    <a name="a19"></a><a class="code" href="shbin_8h.html#a60c02d561312081aefb2096f2b005643">DVLB_Free</a>(vshader_dvlb);</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"><span class="keywordtype">int</span> main()</div>
+<div class="line">{</div>
+<div class="line">    <span class="comment">// Initialize graphics</span></div>
+<div class="line">    <a name="a20"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
+<div class="line">    <a name="a21"></a><a class="code" href="gfx_8h.html#a7b5743ba9ce490263b12d1575af7ebc1">gfxSet3D</a>(<span class="keyword">true</span>); <span class="comment">// Enable stereoscopic 3D</span></div>
+<div class="line">    C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Initialize the render targets</span></div>
+<div class="line">    C3D_RenderTarget* targetLeft  = C3D_RenderTargetCreate(240, 400, <a name="a22"></a><a class="code" href="enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa17f2a0c3889f7e34d720d818a61030b4">GPU_RB_RGBA8</a>, <a name="a23"></a><a class="code" href="enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3eaaa31fb7049df6c69198111e309210720">GPU_RB_DEPTH24_STENCIL8</a>);</div>
+<div class="line">    C3D_RenderTarget* targetRight = C3D_RenderTargetCreate(240, 400, <a class="code" href="enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa17f2a0c3889f7e34d720d818a61030b4">GPU_RB_RGBA8</a>, <a class="code" href="enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3eaaa31fb7049df6c69198111e309210720">GPU_RB_DEPTH24_STENCIL8</a>);</div>
+<div class="line">    C3D_RenderTargetSetClear(targetLeft,   C3D_CLEAR_ALL, CLEAR_COLOR, 0);</div>
+<div class="line">    C3D_RenderTargetSetClear(targetRight,  C3D_CLEAR_ALL, CLEAR_COLOR, 0);</div>
+<div class="line">    C3D_RenderTargetSetOutput(targetLeft,  <a name="a24"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a name="a25"></a><a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a>,  DISPLAY_TRANSFER_FLAGS);</div>
+<div class="line">    C3D_RenderTargetSetOutput(targetRight, <a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a name="a26"></a><a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1e16d704e9b5a318e3f73aaaba2f38f9">GFX_RIGHT</a>, DISPLAY_TRANSFER_FLAGS);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Initialize the scene</span></div>
+<div class="line">    sceneInit();</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Main loop</span></div>
+<div class="line">    <span class="keywordflow">while</span> (<a name="a27"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>())</div>
+<div class="line">    {</div>
+<div class="line">        <a name="a28"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();</div>
+<div class="line"></div>
+<div class="line">        <span class="comment">// Respond to user input</span></div>
+<div class="line">        <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a29"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
+<div class="line">        <span class="keywordflow">if</span> (kDown &amp; <a name="a30"></a><a class="code" href="hid_8h.html#aaf8fd5f0e57d456151c951e0f3715fc4a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
+<div class="line">            <span class="keywordflow">break</span>; <span class="comment">// break in order to return to hbmenu</span></div>
+<div class="line"></div>
+<div class="line">        <span class="keywordtype">float</span> slider = <a name="a31"></a><a class="code" href="os_8h.html#a3b62a51a9c8f111843c1fd3ef0756026">osGet3DSliderState</a>();</div>
+<div class="line">        <span class="keywordtype">float</span> iod = slider/3;</div>
+<div class="line"></div>
+<div class="line">        <span class="comment">// Render the scene</span></div>
+<div class="line">        C3D_FrameBegin(C3D_FRAME_SYNCDRAW);</div>
+<div class="line">        {</div>
+<div class="line">            C3D_FrameDrawOn(targetLeft);</div>
+<div class="line">            sceneRender(-iod);</div>
+<div class="line"></div>
+<div class="line">            <span class="keywordflow">if</span> (iod &gt; 0.0f)</div>
+<div class="line">            {</div>
+<div class="line">                C3D_FrameDrawOn(targetRight);</div>
+<div class="line">                sceneRender(iod);</div>
+<div class="line">            }</div>
+<div class="line">        }</div>
+<div class="line">        C3D_FrameEnd(0);</div>
+<div class="line">    }</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Deinitialize the scene</span></div>
+<div class="line">    sceneExit();</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Deinitialize graphics</span></div>
+<div class="line">    C3D_Fini();</div>
+<div class="line">    <a name="a32"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
+<div class="line">    <span class="keywordflow">return</span> 0;</div>
+<div class="line">}</div>
+</div><!-- fragment --> </div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
index 17d4620198d7a8954621bfda1d1d112368954379..a8c771392095583050f5defc1231d8f1444b1304 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -81,483 +81,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="title">graphics/gpu/geoshader/source/main.c</div>  </div>
 </div><!--header-->
 <div class="contents">
-<p>graphics/gpu/geoshader/source/gpu.h </p><div class="fragment"><div class="line"><span class="comment">/*</span></div>
-<div class="line"><span class="comment"> * Bare-bones simplistic GPU wrapper</span></div>
-<div class="line"><span class="comment"> * This library is common to all libctru GPU examples</span></div>
-<div class="line"><span class="comment"> */</span></div>
-<div class="line"></div>
-<div class="line"><span class="preprocessor">#pragma once</span></div>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="3ds_8h.html">3ds.h</a>&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &lt;citro3d.h&gt;</span></div>
 <div class="line"><span class="preprocessor">#include &lt;string.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="3ds_8h.html">3ds.h</a>&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &quot;3dmath.h&quot;</span></div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuInit(<span class="keywordtype">void</span>);</div>
-<div class="line"><span class="keywordtype">void</span> gpuExit(<span class="keywordtype">void</span>);</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuClearBuffers(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> clearColor);</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuFrameBegin(<span class="keywordtype">void</span>);</div>
-<div class="line"><span class="keywordtype">void</span> gpuFrameEnd(<span class="keywordtype">void</span>);</div>
-<div class="line"></div>
-<div class="line"><span class="comment">// Configures the specified fixed-function fragment shading substage to be a no-operation</span></div>
-<div class="line"><span class="keywordtype">void</span> GPU_SetDummyTexEnv(<span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div>
+<div class="line"><span class="preprocessor">#include &quot;program_shbin.h&quot;</span></div>
 <div class="line"></div>
-<div class="line"><span class="comment">// Uploads an uniform matrix</span></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> GPU_SetFloatUniformMatrix(<a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5">GPU_SHADER_TYPE</a> type, <span class="keywordtype">int</span> location, matrix_4x4* matrix)</div>
-<div class="line">{</div>
-<div class="line">    <a name="a0"></a><a class="code" href="gpu-old_8h.html#af18a38db985563a54813c2ebf86d6509">GPU_SetFloatUniform</a>(type, location, (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)matrix, 4);</div>
-<div class="line">}</div>
-</div><!-- fragment --><p> graphics/gpu/geoshader/source/gpu.c </p><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="gpu_8h.html">gpu.h</a>&quot;</span></div>
+<div class="line"><span class="preprocessor">#define CLEAR_COLOR 0x68B0D8FF</span></div>
 <div class="line"></div>
 <div class="line"><span class="preprocessor">#define DISPLAY_TRANSFER_FLAGS \</span></div>
 <div class="line"><span class="preprocessor">    (GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \</span></div>
 <div class="line"><span class="preprocessor">    GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \</span></div>
 <div class="line"><span class="preprocessor">    GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))</span></div>
 <div class="line"></div>
-<div class="line"><span class="keyword">static</span> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *colorBuf, *depthBuf;</div>
-<div class="line"><span class="keyword">static</span> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *cmdBuf;</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuInit(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    colorBuf = <a name="a1"></a><a class="code" href="vram_8h.html#a00b84b8d38c127d8af9a89b9b7e2a5a4">vramAlloc</a>(400*240*4);</div>
-<div class="line">    depthBuf = <a class="code" href="vram_8h.html#a00b84b8d38c127d8af9a89b9b7e2a5a4">vramAlloc</a>(400*240*4);</div>
-<div class="line">    cmdBuf = <a name="a2"></a><a class="code" href="linear_8h.html#a73a6bd0b398a08f695e16e07267a7424">linearAlloc</a>(0x40000*4);</div>
-<div class="line"></div>
-<div class="line">    <a name="a3"></a><a class="code" href="gpu-old_8h.html#a921bb00def7171c1936fa50c6e464fba">GPU_Init</a>(NULL);</div>
-<div class="line">    <a name="a4"></a><a class="code" href="gpu-old_8h.html#a896e2be6136bb62909be966cc74eeb4d">GPU_Reset</a>(NULL, cmdBuf, 0x40000);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuExit(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    <a name="a5"></a><a class="code" href="linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2">linearFree</a>(cmdBuf);</div>
-<div class="line">    <a name="a6"></a><a class="code" href="vram_8h.html#a867318cde93cdd997588d6dcbfc584e1">vramFree</a>(depthBuf);</div>
-<div class="line">    <a class="code" href="vram_8h.html#a867318cde93cdd997588d6dcbfc584e1">vramFree</a>(colorBuf);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuClearBuffers(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> clearColor)</div>
-<div class="line">{</div>
-<div class="line">    <a name="a7"></a><a class="code" href="gx_8h.html#aa6e39b328383930b64eaa230bc9bc6a0">GX_MemoryFill</a>(</div>
-<div class="line">        colorBuf, clearColor, &amp;colorBuf[240*400], <a name="a8"></a><a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd">GX_FILL_TRIGGER</a> | <a name="a9"></a><a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d">GX_FILL_32BIT_DEPTH</a>,</div>
-<div class="line">        depthBuf, 0,          &amp;depthBuf[240*400], <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd">GX_FILL_TRIGGER</a> | <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d">GX_FILL_32BIT_DEPTH</a>);</div>
-<div class="line">    <a name="a10"></a><a class="code" href="gspgpu_8h.html#a704e891a5d988f4964c24dc2b8bac787">gspWaitForPSC0</a>(); <span class="comment">// Wait for the fill to complete</span></div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuFrameBegin(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    <span class="comment">// Configure the viewport and the depth linear conversion function</span></div>
-<div class="line">    <a name="a11"></a><a class="code" href="gpu-old_8h.html#aba80c2d6e88cb75263de89a2d059e230">GPU_SetViewport</a>(</div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)<a name="a12"></a><a class="code" href="os_8h.html#ad5be83050dcdaf4ba7824a2afd420866">osConvertVirtToPhys</a>(depthBuf),</div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)<a class="code" href="os_8h.html#ad5be83050dcdaf4ba7824a2afd420866">osConvertVirtToPhys</a>(colorBuf),</div>
-<div class="line">        0, 0, 240, 400); <span class="comment">// The top screen is physically 240x400 pixels</span></div>
-<div class="line">    <a name="a13"></a><a class="code" href="gpu-old_8h.html#a8b8de4eb721e55913ad0641c64fbaa75">GPU_DepthMap</a>(-1.0f, 0.0f); <span class="comment">// calculate the depth value from the Z coordinate in the following way: -1.0*z + 0.0</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Configure some boilerplate</span></div>
-<div class="line">    <a name="a14"></a><a class="code" href="gpu-old_8h.html#a717ac338a87549c36a9d70f5c1d7a077">GPU_SetFaceCulling</a>(<a name="a15"></a><a class="code" href="enums_8h.html#aded31eec5d2f72ea5c6141f24d8a0174a5f4f59f8f711f0bcfa9ca8b87f169ee0">GPU_CULL_BACK_CCW</a>);</div>
-<div class="line">    <a name="a16"></a><a class="code" href="gpu-old_8h.html#abc687b8c34463fd1ceacd64dab6c078e">GPU_SetStencilTest</a>(<span class="keyword">false</span>, <a name="a17"></a><a class="code" href="enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a2021d04562bc3b47a305c57dff840c2e">GPU_ALWAYS</a>, 0x00, 0xFF, 0x00);</div>
-<div class="line">    <a name="a18"></a><a class="code" href="gpu-old_8h.html#aa2512e6c918e4ce998899d589a20dc2b">GPU_SetStencilOp</a>(<a name="a19"></a><a class="code" href="enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a2ef8af6e032c0cd8613259aef01f0477">GPU_STENCIL_KEEP</a>, <a class="code" href="enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a2ef8af6e032c0cd8613259aef01f0477">GPU_STENCIL_KEEP</a>, <a class="code" href="enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a2ef8af6e032c0cd8613259aef01f0477">GPU_STENCIL_KEEP</a>);</div>
-<div class="line">    <a name="a20"></a><a class="code" href="gpu-old_8h.html#a2ead0a88519b4197e13c6ce8e138d6c7">GPU_SetBlendingColor</a>(0,0,0,0);</div>
-<div class="line">    <a name="a21"></a><a class="code" href="gpu-old_8h.html#a8c32fb10ed5457b2e3a9273db61187d3">GPU_SetDepthTestAndWriteMask</a>(<span class="keyword">true</span>, <a name="a22"></a><a class="code" href="enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a939d397eee5556dccc012bddfd0dd46a">GPU_GREATER</a>, <a name="a23"></a><a class="code" href="enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3ae6311b606a2db6df1e7358ad79e297a0">GPU_WRITE_ALL</a>);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// This is unknown</span></div>
-<div class="line">    <a name="a24"></a><a class="code" href="gpu_8h.html#a9042ca3f0e361abe2a2ede7206376cb5">GPUCMD_AddMaskedWrite</a>(GPUREG_0062, 0x1, 0);</div>
-<div class="line">    <a name="a25"></a><a class="code" href="gpu_8h.html#a1251c8456a0f92b49eecbe2c21f0a9a0">GPUCMD_AddWrite</a>(GPUREG_0118, 0);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Configure alpha blending and test</span></div>
-<div class="line">    <a name="a26"></a><a class="code" href="gpu-old_8h.html#ac9bf249df1e7a27a56a4e57c81d19e1c">GPU_SetAlphaBlending</a>(<a name="a27"></a><a class="code" href="enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5a39318f81ae768d8a6119e7965a11bd50">GPU_BLEND_ADD</a>, <a class="code" href="enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5a39318f81ae768d8a6119e7965a11bd50">GPU_BLEND_ADD</a>, <a name="a28"></a><a class="code" href="enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1af2ec416dc4e7e8562e61d5f7963e8a36">GPU_SRC_ALPHA</a>, <a name="a29"></a><a class="code" href="enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a7bf978d71679e5507689e4570d3d85b2">GPU_ONE_MINUS_SRC_ALPHA</a>, <a class="code" href="enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1af2ec416dc4e7e8562e61d5f7963e8a36">GPU_SRC_ALPHA</a>, <a class="code" href="enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a7bf978d71679e5507689e4570d3d85b2">GPU_ONE_MINUS_SRC_ALPHA</a>);</div>
-<div class="line">    <a name="a30"></a><a class="code" href="gpu-old_8h.html#aec1714fa8c2684020ab10a4da8e784e0">GPU_SetAlphaTest</a>(<span class="keyword">false</span>, <a class="code" href="enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a2021d04562bc3b47a305c57dff840c2e">GPU_ALWAYS</a>, 0x00);</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">int</span> i;</div>
-<div class="line">    <span class="keywordflow">for</span> (i = 0; i &lt; 6; i ++)</div>
-<div class="line">        GPU_SetDummyTexEnv(i);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuFrameEnd(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    <span class="comment">// Finish rendering</span></div>
-<div class="line">    <a name="a31"></a><a class="code" href="gpu-old_8h.html#a0c6bf377d3b218402cca69bb16778fd5">GPU_FinishDrawing</a>();</div>
-<div class="line">    <a name="a32"></a><a class="code" href="gpu_8h.html#a418b5471dc141d47267cbc9b8facc4a3">GPUCMD_Finalize</a>();</div>
-<div class="line">    <a name="a33"></a><a class="code" href="gpu_8h.html#a7a806155f4e52af7775737d45d9342d5">GPUCMD_FlushAndRun</a>();</div>
-<div class="line">    <a name="a34"></a><a class="code" href="gspgpu_8h.html#aba84a82e0137f5dc7a5c9d0ece41d9b7">gspWaitForP3D</a>(); <span class="comment">// Wait for the rendering to complete</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Transfer the GPU output to the framebuffer</span></div>
-<div class="line">    <a name="a35"></a><a class="code" href="gx_8h.html#a4de1f2c27d7984b8cf5b93c8913a499b">GX_DisplayTransfer</a>(</div>
-<div class="line">        colorBuf, <a name="a36"></a><a class="code" href="gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc">GX_BUFFER_DIM</a>(240, 400),</div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)<a name="a37"></a><a class="code" href="gfx_8h.html#a332447352568e250a75397a1b2e452db">gfxGetFramebuffer</a>(<a name="a38"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a name="a39"></a><a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a>, NULL, NULL), <a class="code" href="gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc">GX_BUFFER_DIM</a>(240, 400),</div>
-<div class="line">        DISPLAY_TRANSFER_FLAGS);</div>
-<div class="line">    <a name="a40"></a><a class="code" href="gspgpu_8h.html#a2f2aca81b76a88b6ebb121ec54f76b7e">gspWaitForPPF</a>(); <span class="comment">// Wait for the transfer to complete</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Reset the command buffer</span></div>
-<div class="line">    <a name="a41"></a><a class="code" href="gpu_8h.html#a42142a7ec0fd6ac9941d454f7e18415a">GPUCMD_SetBufferOffset</a>(0);</div>
-<div class="line">};</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> GPU_SetDummyTexEnv(<span class="keywordtype">int</span> <span class="keywordtype">id</span>)</div>
-<div class="line">{</div>
-<div class="line">    <a name="a42"></a><a class="code" href="gpu-old_8h.html#a7b61022c85fa068574fd6b61d55f9530">GPU_SetTexEnv</a>(<span class="keywordtype">id</span>,</div>
-<div class="line">        <a name="a43"></a><a class="code" href="enums_8h.html#abb62754733c37a8490767fd8e004b903">GPU_TEVSOURCES</a>(<a name="a44"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a1b960db2c45d309c5e4d9c899d051936">GPU_PREVIOUS</a>, 0, 0),</div>
-<div class="line">        <a class="code" href="enums_8h.html#abb62754733c37a8490767fd8e004b903">GPU_TEVSOURCES</a>(<a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a1b960db2c45d309c5e4d9c899d051936">GPU_PREVIOUS</a>, 0, 0),</div>
-<div class="line">        <a name="a45"></a><a class="code" href="enums_8h.html#a4f2c9311619707a1276457d94b06a983">GPU_TEVOPERANDS</a>(0, 0, 0),</div>
-<div class="line">        <a class="code" href="enums_8h.html#a4f2c9311619707a1276457d94b06a983">GPU_TEVOPERANDS</a>(0, 0, 0),</div>
-<div class="line">        <a name="a46"></a><a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11">GPU_REPLACE</a>,</div>
-<div class="line">        <a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11">GPU_REPLACE</a>,</div>
-<div class="line">        0xFFFFFFFF);</div>
-<div class="line">}</div>
-</div><!-- fragment --><p> graphics/gpu/geoshader/source/3dmath.h </p><div class="fragment"><div class="line"><span class="comment">/*</span></div>
-<div class="line"><span class="comment"> * Bare-bones simplistic 3D math library</span></div>
-<div class="line"><span class="comment"> * This library is common to all libctru GPU examples</span></div>
-<div class="line"><span class="comment"> */</span></div>
-<div class="line"></div>
-<div class="line"><span class="preprocessor">#pragma once</span></div>
-<div class="line"><span class="preprocessor">#include &lt;string.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &lt;math.h&gt;</span></div>
-<div class="line"></div>
-<div class="line"><span class="keyword">typedef</span> <span class="keyword">union </span>{ <span class="keyword">struct </span>{ <span class="keywordtype">float</span> w, z, y, x; }; <span class="keywordtype">float</span> c[4]; } vector_4f;</div>
-<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{ vector_4f r[4]; } matrix_4x4;</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">float</span> v4f_dp4(<span class="keyword">const</span> vector_4f* a, <span class="keyword">const</span> vector_4f* b)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordflow">return</span> a-&gt;x*b-&gt;x + a-&gt;y*b-&gt;y + a-&gt;z*b-&gt;z + a-&gt;w*b-&gt;w;</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">float</span> v4f_mod4(<span class="keyword">const</span> vector_4f* a)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordflow">return</span> sqrtf(v4f_dp4(a,a));</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> v4f_norm4(vector_4f* vec)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordtype">float</span> m = v4f_mod4(vec);</div>
-<div class="line">    <span class="keywordflow">if</span> (m == 0.0) <span class="keywordflow">return</span>;</div>
-<div class="line">    vec-&gt;x /= m;</div>
-<div class="line">    vec-&gt;y /= m;</div>
-<div class="line">    vec-&gt;z /= m;</div>
-<div class="line">    vec-&gt;w /= m;</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> m4x4_zeros(matrix_4x4* out)</div>
-<div class="line">{</div>
-<div class="line">    memset(out, 0, <span class="keyword">sizeof</span>(*out));</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> m4x4_copy(matrix_4x4* out, <span class="keyword">const</span> matrix_4x4* in)</div>
-<div class="line">{</div>
-<div class="line">    memcpy(out, in, <span class="keyword">sizeof</span>(*out));</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_identity(matrix_4x4* out);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_multiply(matrix_4x4* out, <span class="keyword">const</span> matrix_4x4* a, <span class="keyword">const</span> matrix_4x4* b);</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_translate(matrix_4x4* mtx, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_scale(matrix_4x4* mtx, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z);</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_x(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_y(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_z(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide);</div>
-<div class="line"></div>
-<div class="line"><span class="comment">// Special versions of the projection matrices that take the 3DS&#39; screen orientation into account</span></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_ortho_tilt(matrix_4x4* mtx, <span class="keywordtype">float</span> left, <span class="keywordtype">float</span> right, <span class="keywordtype">float</span> bottom, <span class="keywordtype">float</span> top, <span class="keywordtype">float</span> near, <span class="keywordtype">float</span> far);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_persp_tilt(matrix_4x4* mtx, <span class="keywordtype">float</span> fovy, <span class="keywordtype">float</span> aspect, <span class="keywordtype">float</span> near, <span class="keywordtype">float</span> far);</div>
-</div><!-- fragment --><p> graphics/gpu/geoshader/source/3dmath.c </p><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;3dmath.h&quot;</span></div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_identity(matrix_4x4* out)</div>
-<div class="line">{</div>
-<div class="line">    m4x4_zeros(out);</div>
-<div class="line">    out-&gt;r[0].x = out-&gt;r[1].y = out-&gt;r[2].z = out-&gt;r[3].w = 1.0f;</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_multiply(matrix_4x4* out, <span class="keyword">const</span> matrix_4x4* a, <span class="keyword">const</span> matrix_4x4* b)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordtype">int</span> i, j;</div>
-<div class="line">    <span class="keywordflow">for</span> (i = 0; i &lt; 4; i ++)</div>
-<div class="line">        <span class="keywordflow">for</span> (j = 0; j &lt; 4; j ++)</div>
-<div class="line">            out-&gt;r[j].c[i] = a-&gt;r[j].x*b-&gt;r[0].c[i] + a-&gt;r[j].y*b-&gt;r[1].c[i] + a-&gt;r[j].z*b-&gt;r[2].c[i] + a-&gt;r[j].w*b-&gt;r[3].c[i];</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_translate(matrix_4x4* mtx, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 tm, om;</div>
-<div class="line"></div>
-<div class="line">    m4x4_identity(&amp;tm);</div>
-<div class="line">    tm.r[0].w = x;</div>
-<div class="line">    tm.r[1].w = y;</div>
-<div class="line">    tm.r[2].w = z;</div>
-<div class="line"></div>
-<div class="line">    m4x4_multiply(&amp;om, mtx, &amp;tm);</div>
-<div class="line">    m4x4_copy(mtx, &amp;om);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_scale(matrix_4x4* mtx, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordtype">int</span> i;</div>
-<div class="line">    <span class="keywordflow">for</span> (i = 0; i &lt; 4; i ++)</div>
-<div class="line">    {</div>
-<div class="line">        mtx-&gt;r[i].x *= x;</div>
-<div class="line">        mtx-&gt;r[i].y *= y;</div>
-<div class="line">        mtx-&gt;r[i].z *= z;</div>
-<div class="line">    }</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_x(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 rm, om;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">float</span> cosAngle = cosf(angle);</div>
-<div class="line">    <span class="keywordtype">float</span> sinAngle = sinf(angle);</div>
-<div class="line"></div>
-<div class="line">    m4x4_zeros(&amp;rm);</div>
-<div class="line">    rm.r[0].x = 1.0f;</div>
-<div class="line">    rm.r[1].y = cosAngle;</div>
-<div class="line">    rm.r[1].z = sinAngle;</div>
-<div class="line">    rm.r[2].y = -sinAngle;</div>
-<div class="line">    rm.r[2].z = cosAngle;</div>
-<div class="line">    rm.r[3].w = 1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordflow">if</span> (bRightSide) m4x4_multiply(&amp;om, mtx, &amp;rm);</div>
-<div class="line">    <span class="keywordflow">else</span>            m4x4_multiply(&amp;om, &amp;rm, mtx);</div>
-<div class="line">    m4x4_copy(mtx, &amp;om);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_y(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 rm, om;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">float</span> cosAngle = cosf(angle);</div>
-<div class="line">    <span class="keywordtype">float</span> sinAngle = sinf(angle);</div>
-<div class="line"></div>
-<div class="line">    m4x4_zeros(&amp;rm);</div>
-<div class="line">    rm.r[0].x = cosAngle;</div>
-<div class="line">    rm.r[0].z = sinAngle;</div>
-<div class="line">    rm.r[1].y = 1.0f;</div>
-<div class="line">    rm.r[2].x = -sinAngle;</div>
-<div class="line">    rm.r[2].z = cosAngle;</div>
-<div class="line">    rm.r[3].w = 1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordflow">if</span> (bRightSide) m4x4_multiply(&amp;om, mtx, &amp;rm);</div>
-<div class="line">    <span class="keywordflow">else</span>            m4x4_multiply(&amp;om, &amp;rm, mtx);</div>
-<div class="line">    m4x4_copy(mtx, &amp;om);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_z(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 rm, om;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">float</span> cosAngle = cosf(angle);</div>
-<div class="line">    <span class="keywordtype">float</span> sinAngle = sinf(angle);</div>
-<div class="line"></div>
-<div class="line">    m4x4_zeros(&amp;rm);</div>
-<div class="line">    rm.r[0].x = cosAngle;</div>
-<div class="line">    rm.r[0].y = sinAngle;</div>
-<div class="line">    rm.r[1].x = -sinAngle;</div>
-<div class="line">    rm.r[1].y = cosAngle;</div>
-<div class="line">    rm.r[2].z = 1.0f;</div>
-<div class="line">    rm.r[3].w = 1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordflow">if</span> (bRightSide) m4x4_multiply(&amp;om, mtx, &amp;rm);</div>
-<div class="line">    <span class="keywordflow">else</span>            m4x4_multiply(&amp;om, &amp;rm, mtx);</div>
-<div class="line">    m4x4_copy(mtx, &amp;om);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_ortho_tilt(matrix_4x4* mtx, <span class="keywordtype">float</span> left, <span class="keywordtype">float</span> right, <span class="keywordtype">float</span> bottom, <span class="keywordtype">float</span> top, <span class="keywordtype">float</span> near, <span class="keywordtype">float</span> far)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 mp;</div>
-<div class="line">    m4x4_zeros(&amp;mp);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Build standard orthogonal projection matrix</span></div>
-<div class="line">    mp.r[0].x = 2.0f / (right - left);</div>
-<div class="line">    mp.r[0].w = (left + right) / (left - right);</div>
-<div class="line">    mp.r[1].y = 2.0f / (top - bottom);</div>
-<div class="line">    mp.r[1].w = (bottom + top) / (bottom - top);</div>
-<div class="line">    mp.r[2].z = 2.0f / (near - far);</div>
-<div class="line">    mp.r[2].w = (far + near) / (far - near);</div>
-<div class="line">    mp.r[3].w = 1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Fix depth range to [-1, 0]</span></div>
-<div class="line">    matrix_4x4 mp2, mp3;</div>
-<div class="line">    m4x4_identity(&amp;mp2);</div>
-<div class="line">    mp2.r[2].z = 0.5;</div>
-<div class="line">    mp2.r[2].w = -0.5;</div>
-<div class="line">    m4x4_multiply(&amp;mp3, &amp;mp2, &amp;mp);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Fix the 3DS screens&#39; orientation by swapping the X and Y axis</span></div>
-<div class="line">    m4x4_identity(&amp;mp2);</div>
-<div class="line">    mp2.r[0].x = 0.0;</div>
-<div class="line">    mp2.r[0].y = 1.0;</div>
-<div class="line">    mp2.r[1].x = -1.0; <span class="comment">// flipped</span></div>
-<div class="line">    mp2.r[1].y = 0.0;</div>
-<div class="line">    m4x4_multiply(mtx, &amp;mp2, &amp;mp3);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_persp_tilt(matrix_4x4* mtx, <span class="keywordtype">float</span> fovx, <span class="keywordtype">float</span> invaspect, <span class="keywordtype">float</span> near, <span class="keywordtype">float</span> far)</div>
-<div class="line">{</div>
-<div class="line">    <span class="comment">// Notes:</span></div>
-<div class="line">    <span class="comment">// We are passed &quot;fovy&quot; and the &quot;aspect ratio&quot;. However, the 3DS screens are sideways,</span></div>
-<div class="line">    <span class="comment">// and so are these parameters -- in fact, they are actually the fovx and the inverse</span></div>
-<div class="line">    <span class="comment">// of the aspect ratio. Therefore the formula for the perspective projection matrix</span></div>
-<div class="line">    <span class="comment">// had to be modified to be expressed in these terms instead.</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Notes:</span></div>
-<div class="line">    <span class="comment">// fovx = 2 atan(tan(fovy/2)*w/h)</span></div>
-<div class="line">    <span class="comment">// fovy = 2 atan(tan(fovx/2)*h/w)</span></div>
-<div class="line">    <span class="comment">// invaspect = h/w</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// a0,0 = h / (w*tan(fovy/2)) =</span></div>
-<div class="line">    <span class="comment">//      = h / (w*tan(2 atan(tan(fovx/2)*h/w) / 2)) =</span></div>
-<div class="line">    <span class="comment">//      = h / (w*tan( atan(tan(fovx/2)*h/w) )) =</span></div>
-<div class="line">    <span class="comment">//      = h / (w * tan(fovx/2)*h/w) =</span></div>
-<div class="line">    <span class="comment">//      = 1 / tan(fovx/2)</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// a1,1 = 1 / tan(fovy/2) = (...) = w / (h*tan(fovx/2))</span></div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">float</span> fovx_tan = tanf(fovx / 2);</div>
-<div class="line">    matrix_4x4 mp;</div>
-<div class="line">    m4x4_zeros(&amp;mp);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Build standard perspective projection matrix</span></div>
-<div class="line">    mp.r[0].x = 1.0f / fovx_tan;</div>
-<div class="line">    mp.r[1].y = 1.0f / (fovx_tan*invaspect);</div>
-<div class="line">    mp.r[2].z = (near + far) / (near - far);</div>
-<div class="line">    mp.r[2].w = (2 * near * far) / (near - far);</div>
-<div class="line">    mp.r[3].z = -1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Fix depth range to [-1, 0]</span></div>
-<div class="line">    matrix_4x4 mp2;</div>
-<div class="line">    m4x4_identity(&amp;mp2);</div>
-<div class="line">    mp2.r[2].z = 0.5;</div>
-<div class="line">    mp2.r[2].w = -0.5;</div>
-<div class="line">    m4x4_multiply(mtx, &amp;mp2, &amp;mp);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Rotate the matrix one quarter of a turn CCW in order to fix the 3DS screens&#39; orientation</span></div>
-<div class="line">    m4x4_rotate_z(mtx, M_PI / 2, <span class="keyword">true</span>);</div>
-<div class="line">}</div>
-</div><!-- fragment --><p> graphics/gpu/geoshader/source/vshader.pica </p><div class="fragment"><div class="line">; Example PICA200 vertex shader</div>
-<div class="line"></div>
-<div class="line">; Constants</div>
-<div class="line">.constf myconst(0.0, 1.0, -1.0, -0.5)</div>
-<div class="line">.alias  zeros myconst.xxxx ; Vector full of zeros</div>
-<div class="line">.alias  ones  myconst.yyyy ; Vector full of ones</div>
-<div class="line"></div>
-<div class="line">; Outputs - since we are also using a geoshader the output type isn&#39;t really used</div>
-<div class="line">.out outpos position</div>
-<div class="line">.out outclr color</div>
-<div class="line"></div>
-<div class="line">; Inputs (defined as aliases for convenience)</div>
-<div class="line">.alias inpos v0</div>
-<div class="line">.alias inclr v1</div>
-<div class="line"></div>
-<div class="line">.proc main</div>
-<div class="line">    ; Pass through both inputs to the geoshader</div>
-<div class="line">    mov outpos.xyz, inpos</div>
-<div class="line">    mov outpos.w,   ones</div>
-<div class="line">    mov outclr,     inclr</div>
-<div class="line"></div>
-<div class="line">    ; We&#39;re finished</div>
-<div class="line">    end</div>
-<div class="line">.end</div>
-</div><!-- fragment --><p> graphics/gpu/geoshader/source/gshader.pica </p><div class="fragment"><div class="line">; Example PICA200 geometry shader</div>
-<div class="line"></div>
-<div class="line">; Uniforms</div>
-<div class="line">.fvec projection[4]</div>
-<div class="line"></div>
-<div class="line">; Constants</div>
-<div class="line">.constf myconst(0.0, 1.0, -1.0, 0.5)</div>
-<div class="line">.alias  zeros myconst.xxxx ; Vector full of zeros</div>
-<div class="line">.alias  ones  myconst.yyyy ; Vector full of ones</div>
-<div class="line">.alias  half  myconst.wwww</div>
-<div class="line"></div>
-<div class="line">; Outputs - this time the type *is* used</div>
-<div class="line">.out outpos position</div>
-<div class="line">.out outclr color</div>
-<div class="line"></div>
-<div class="line">; Inputs: we will receive the following inputs:</div>
-<div class="line">; v0-v1: position/color of the first vertex</div>
-<div class="line">; v2-v3: position/color of the second vertex</div>
-<div class="line">; v4-v5: position/color of the third vertex</div>
-<div class="line"></div>
-<div class="line">.proc main</div>
-<div class="line">    ; Calculate the midpoints of the vertices</div>
-<div class="line">    mov r4, v0</div>
-<div class="line">    add r4, v2,   r4</div>
-<div class="line">    mul r4, half, r4</div>
-<div class="line">    mov r5, v2</div>
-<div class="line">    add r5, v4,   r5</div>
-<div class="line">    mul r5, half, r5</div>
-<div class="line">    mov r6, v4</div>
-<div class="line">    add r6, v0,   r6</div>
-<div class="line">    mul r6, half, r6</div>
-<div class="line"></div>
-<div class="line">    ; Emit the first triangle</div>
-<div class="line">    mov r0, v0</div>
-<div class="line">    mov r1, r4</div>
-<div class="line">    mov r2, r6</div>
-<div class="line">    call emit_triangle</div>
-<div class="line"></div>
-<div class="line">    ; Emit the second triangle</div>
-<div class="line">    mov r0, r4</div>
-<div class="line">    mov r1, v2</div>
-<div class="line">    mov r2, r5</div>
-<div class="line">    call emit_triangle</div>
-<div class="line"></div>
-<div class="line">    ; Emit the third triangle</div>
-<div class="line">    mov r0, r6</div>
-<div class="line">    mov r1, r5</div>
-<div class="line">    mov r2, v4</div>
-<div class="line">    call emit_triangle</div>
-<div class="line"></div>
-<div class="line">    ; We&#39;re finished</div>
-<div class="line">    end</div>
-<div class="line">.end</div>
-<div class="line"></div>
-<div class="line">.proc emit_triangle</div>
-<div class="line">    ; Emit the first vertex</div>
-<div class="line">    setemit 0</div>
-<div class="line">    mov r8, r0</div>
-<div class="line">    mov r9, v1</div>
-<div class="line">    call process_vertex</div>
-<div class="line">    emit</div>
-<div class="line"></div>
-<div class="line">    ; Emit the second vertex</div>
-<div class="line">    setemit 1</div>
-<div class="line">    mov r8, r1</div>
-<div class="line">    mov r9, v3</div>
-<div class="line">    call process_vertex</div>
-<div class="line">    emit</div>
-<div class="line"></div>
-<div class="line">    ; Emit the third vertex and finish the primitive</div>
-<div class="line">    setemit 2, prim</div>
-<div class="line">    mov r8, r2</div>
-<div class="line">    mov r9, v5</div>
-<div class="line">    call process_vertex</div>
-<div class="line">    emit</div>
-<div class="line">.end</div>
-<div class="line"></div>
-<div class="line">; Subroutine</div>
-<div class="line">; Inputs:</div>
-<div class="line">;   r8: vertex position</div>
-<div class="line">;   r9: vertex color</div>
-<div class="line">.proc process_vertex</div>
-<div class="line">    ; outpos = projectionMatrix * r8</div>
-<div class="line">    dp4 outpos.x, projection[0], r8</div>
-<div class="line">    dp4 outpos.y, projection[1], r8</div>
-<div class="line">    dp4 outpos.z, projection[2], r8</div>
-<div class="line">    dp4 outpos.w, projection[3], r8</div>
-<div class="line"></div>
-<div class="line">    ; outclr = r9</div>
-<div class="line">    mov outclr, r9</div>
-<div class="line">.end</div>
-</div><!-- fragment --><div class="fragment"><div class="line"><span class="comment">/*</span></div>
-<div class="line"><span class="comment"> * ~~ Simple libctru GPU geometry shader example ~~</span></div>
-<div class="line"><span class="comment"> * This example demonstrates the basics of using the PICA200 in a 3DS homebrew</span></div>
-<div class="line"><span class="comment"> * application in order to render a basic scene using a geoshader.</span></div>
-<div class="line"><span class="comment"> * The example geoshader receives the vertices of a triangle and emits three</span></div>
-<div class="line"><span class="comment"> * smaller triangles, thus forming a &#39;triforce&#39; shape.</span></div>
-<div class="line"><span class="comment"> */</span></div>
-<div class="line"></div>
-<div class="line"><span class="preprocessor">#include &quot;<a class="code" href="gpu_8h.html">gpu.h</a>&quot;</span></div>
-<div class="line"><span class="preprocessor">#include &quot;vshader_shbin.h&quot;</span></div>
-<div class="line"><span class="preprocessor">#include &quot;gshader_shbin.h&quot;</span></div>
-<div class="line"></div>
-<div class="line"><span class="preprocessor">#define CLEAR_COLOR 0x68B0D8FF</span></div>
-<div class="line"></div>
 <div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{ <span class="keywordtype">float</span> position[3]; <span class="keywordtype">float</span> color[4]; } vertex;</div>
 <div class="line"></div>
 <div class="line"><span class="keyword">static</span> <span class="keyword">const</span> vertex vertex_list[] =</div>
@@ -569,10 +104,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"></div>
 <div class="line"><span class="preprocessor">#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))</span></div>
 <div class="line"></div>
-<div class="line"><span class="keyword">static</span> <a name="_a47"></a><a class="code" href="structDVLB__s.html">DVLB_s</a> *vshader_dvlb, *gshader_dvlb;</div>
-<div class="line"><span class="keyword">static</span> <a name="_a48"></a><a class="code" href="structshaderProgram__s.html">shaderProgram_s</a> program;</div>
+<div class="line"><span class="keyword">static</span> <a name="_a0"></a><a class="code" href="structDVLB__s.html">DVLB_s</a>* program_dvlb;</div>
+<div class="line"><span class="keyword">static</span> <a name="_a1"></a><a class="code" href="structshaderProgram__s.html">shaderProgram_s</a> program;</div>
 <div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span> uLoc_projection;</div>
-<div class="line"><span class="keyword">static</span> matrix_4x4 projection;</div>
+<div class="line"><span class="keyword">static</span> C3D_Mtx projection;</div>
 <div class="line"></div>
 <div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span>* vbo_data;</div>
 <div class="line"></div>
@@ -580,107 +115,97 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line">{</div>
 <div class="line">    <span class="comment">// Load the shaders and create a shader program</span></div>
 <div class="line">    <span class="comment">// The geoshader stride is set to 6 so that it processes a triangle at a time</span></div>
-<div class="line">    vshader_dvlb = <a name="a49"></a><a class="code" href="shbin_8h.html#afd50bf30516e9e3acffd3b62cd061cb0">DVLB_ParseFile</a>((<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)vshader_shbin, vshader_shbin_size);</div>
-<div class="line">    gshader_dvlb = <a class="code" href="shbin_8h.html#afd50bf30516e9e3acffd3b62cd061cb0">DVLB_ParseFile</a>((<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)gshader_shbin, gshader_shbin_size);</div>
-<div class="line">    <a name="a50"></a><a class="code" href="shaderProgram_8h.html#a4907e3572c644efe27c130a8c37bddf0">shaderProgramInit</a>(&amp;program);</div>
-<div class="line">    <a name="a51"></a><a class="code" href="shaderProgram_8h.html#a3ca416a2e6bc3c2aaae1895435e8452c">shaderProgramSetVsh</a>(&amp;program, &amp;vshader_dvlb-&gt;<a name="a52"></a><a class="code" href="structDVLB__s.html#a1934abe9c4109579746d57c5b20b5834">DVLE</a>[0]);</div>
-<div class="line">    <a name="a53"></a><a class="code" href="shaderProgram_8h.html#a9dfb834657daeaa420744d0d55a857b4">shaderProgramSetGsh</a>(&amp;program, &amp;gshader_dvlb-&gt;<a class="code" href="structDVLB__s.html#a1934abe9c4109579746d57c5b20b5834">DVLE</a>[0], 6);</div>
+<div class="line">    program_dvlb = <a name="a2"></a><a class="code" href="shbin_8h.html#afd50bf30516e9e3acffd3b62cd061cb0">DVLB_ParseFile</a>((<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)program_shbin, program_shbin_size);</div>
+<div class="line">    <a name="a3"></a><a class="code" href="shaderProgram_8h.html#a4907e3572c644efe27c130a8c37bddf0">shaderProgramInit</a>(&amp;program);</div>
+<div class="line">    <a name="a4"></a><a class="code" href="shaderProgram_8h.html#a3ca416a2e6bc3c2aaae1895435e8452c">shaderProgramSetVsh</a>(&amp;program, &amp;program_dvlb-&gt;<a name="a5"></a><a class="code" href="structDVLB__s.html#a1934abe9c4109579746d57c5b20b5834">DVLE</a>[0]);</div>
+<div class="line">    <a name="a6"></a><a class="code" href="shaderProgram_8h.html#a9dfb834657daeaa420744d0d55a857b4">shaderProgramSetGsh</a>(&amp;program, &amp;program_dvlb-&gt;<a class="code" href="structDVLB__s.html#a1934abe9c4109579746d57c5b20b5834">DVLE</a>[1], 6);</div>
+<div class="line">    C3D_BindProgram(&amp;program);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Get the location of the projection matrix uniform</span></div>
-<div class="line">    uLoc_projection = <a name="a54"></a><a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a name="a55"></a><a class="code" href="structshaderProgram__s.html#a80f25550817af2c8163bc95430542f1f">geometryShader</a>, <span class="stringliteral">&quot;projection&quot;</span>);</div>
+<div class="line">    uLoc_projection = <a name="a7"></a><a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a name="a8"></a><a class="code" href="structshaderProgram__s.html#a80f25550817af2c8163bc95430542f1f">geometryShader</a>, <span class="stringliteral">&quot;projection&quot;</span>);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Configure attributes for use with the vertex shader</span></div>
+<div class="line">    C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();</div>
+<div class="line">    AttrInfo_Init(attrInfo);</div>
+<div class="line">    AttrInfo_AddLoader(attrInfo, 0, <a name="a9"></a><a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>, 3); <span class="comment">// v0=position</span></div>
+<div class="line">    AttrInfo_AddLoader(attrInfo, 1, <a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>, 4); <span class="comment">// v1=color</span></div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Compute the projection matrix</span></div>
-<div class="line">    m4x4_ortho_tilt(&amp;projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0);</div>
+<div class="line">    Mtx_OrthoTilt(&amp;projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Create the VBO (vertex buffer object)</span></div>
-<div class="line">    vbo_data = <a class="code" href="linear_8h.html#a73a6bd0b398a08f695e16e07267a7424">linearAlloc</a>(<span class="keyword">sizeof</span>(vertex_list));</div>
+<div class="line">    vbo_data = <a name="a10"></a><a class="code" href="linear_8h.html#a73a6bd0b398a08f695e16e07267a7424">linearAlloc</a>(<span class="keyword">sizeof</span>(vertex_list));</div>
 <div class="line">    memcpy(vbo_data, vertex_list, <span class="keyword">sizeof</span>(vertex_list));</div>
-<div class="line">}</div>
 <div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneRender(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    <span class="comment">// Bind the shader program</span></div>
-<div class="line">    <a name="a56"></a><a class="code" href="shaderProgram_8h.html#a29749780857245eb8860fe1bda3bcc97">shaderProgramUse</a>(&amp;program);</div>
+<div class="line">    <span class="comment">// Configure buffers</span></div>
+<div class="line">    C3D_BufInfo* bufInfo = C3D_GetBufInfo();</div>
+<div class="line">    BufInfo_Init(bufInfo);</div>
+<div class="line">    BufInfo_Add(bufInfo, vbo_data, <span class="keyword">sizeof</span>(vertex), 2, 0x10);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Configure the first fragment shading substage to just pass through the vertex color</span></div>
 <div class="line">    <span class="comment">// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight</span></div>
-<div class="line">    <a class="code" href="gpu-old_8h.html#a7b61022c85fa068574fd6b61d55f9530">GPU_SetTexEnv</a>(0,</div>
-<div class="line">        <a class="code" href="enums_8h.html#abb62754733c37a8490767fd8e004b903">GPU_TEVSOURCES</a>(<a name="a57"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>, <a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>, <a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>), <span class="comment">// RGB channels</span></div>
-<div class="line">        <a class="code" href="enums_8h.html#abb62754733c37a8490767fd8e004b903">GPU_TEVSOURCES</a>(<a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>, <a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>, <a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>), <span class="comment">// Alpha</span></div>
-<div class="line">        <a class="code" href="enums_8h.html#a4f2c9311619707a1276457d94b06a983">GPU_TEVOPERANDS</a>(0, 0, 0), <span class="comment">// RGB</span></div>
-<div class="line">        <a class="code" href="enums_8h.html#a4f2c9311619707a1276457d94b06a983">GPU_TEVOPERANDS</a>(0, 0, 0), <span class="comment">// Alpha</span></div>
-<div class="line">        <a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11">GPU_REPLACE</a>, <a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11">GPU_REPLACE</a>, <span class="comment">// RGB, Alpha</span></div>
-<div class="line">        0xFFFFFFFF);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Configure the &quot;attribute buffers&quot; (that is, the vertex input buffers)</span></div>
-<div class="line">    <a name="a58"></a><a class="code" href="gpu-old_8h.html#ac81475073183a797d1e723770f5cf6b4">GPU_SetAttributeBuffers</a>(</div>
-<div class="line">        2, <span class="comment">// Number of inputs per vertex</span></div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)<a class="code" href="os_8h.html#ad5be83050dcdaf4ba7824a2afd420866">osConvertVirtToPhys</a>(vbo_data), <span class="comment">// Location of the VBO</span></div>
-<div class="line">        <a name="a59"></a><a class="code" href="enums_8h.html#aaa7337c142b909e470bbf1ce3c8e9e03">GPU_ATTRIBFMT</a>(0, 3, <a name="a60"></a><a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>) |</div>
-<div class="line">        <a class="code" href="enums_8h.html#aaa7337c142b909e470bbf1ce3c8e9e03">GPU_ATTRIBFMT</a>(1, 4, <a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>), <span class="comment">// Format of the inputs (in this case the only input is a 3-element float vector)</span></div>
-<div class="line">        0xFFC, <span class="comment">// Unused attribute mask, in our case bit 0 is cleared since it is used</span></div>
-<div class="line">        0x10, <span class="comment">// Attribute permutations (here it is the identity)</span></div>
-<div class="line">        1, <span class="comment">// Number of buffers</span></div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>[]) { 0x0 }, <span class="comment">// Buffer offsets (placeholders)</span></div>
-<div class="line">        (<a class="code" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>[]) { 0x10 }, <span class="comment">// Attribute permutations for each buffer (identity again)</span></div>
-<div class="line">        (<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>[])  { 2 }); <span class="comment">// Number of attributes for each buffer</span></div>
+<div class="line">    C3D_TexEnv* env = C3D_GetTexEnv(0);</div>
+<div class="line">    C3D_TexEnvSrc(env, C3D_Both, <a name="a11"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>, 0, 0);</div>
+<div class="line">    C3D_TexEnvOp(env, C3D_Both, 0, 0, 0);</div>
+<div class="line">    C3D_TexEnvFunc(env, C3D_Both, <a name="a12"></a><a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11">GPU_REPLACE</a>);</div>
+<div class="line">}</div>
 <div class="line"></div>
-<div class="line">    <span class="comment">// Upload the projection matrix</span></div>
-<div class="line">    GPU_SetFloatUniformMatrix(<a name="a61"></a><a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a3a5aa450c7d22bbeb9252de319c635db">GPU_GEOMETRY_SHADER</a>, uLoc_projection, &amp;projection);</div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneRender(<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
+<div class="line">    <span class="comment">// Update the uniforms</span></div>
+<div class="line">    C3D_FVUnifMtx4x4(<a name="a13"></a><a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a3a5aa450c7d22bbeb9252de319c635db">GPU_GEOMETRY_SHADER</a>, uLoc_projection, &amp;projection);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Draw the VBO - GPU_GEOMETRY_PRIM allows the geoshader to control primitive emission</span></div>
-<div class="line">    <a name="a62"></a><a class="code" href="gpu-old_8h.html#a4aecce954e20dee2e37e2e774361e9dd">GPU_DrawArray</a>(<a name="a63"></a><a class="code" href="enums_8h.html#a94bdee50fa003d70dd3888f347397806aa5510b7bf1f022edd1a180a2b111cf53">GPU_GEOMETRY_PRIM</a>, 0, vertex_list_count);</div>
+<div class="line">    C3D_DrawArrays(<a name="a14"></a><a class="code" href="enums_8h.html#a94bdee50fa003d70dd3888f347397806aa5510b7bf1f022edd1a180a2b111cf53">GPU_GEOMETRY_PRIM</a>, 0, vertex_list_count);</div>
 <div class="line">}</div>
 <div class="line"></div>
 <div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneExit(<span class="keywordtype">void</span>)</div>
 <div class="line">{</div>
 <div class="line">    <span class="comment">// Free the VBO</span></div>
-<div class="line">    <a class="code" href="linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2">linearFree</a>(vbo_data);</div>
+<div class="line">    <a name="a15"></a><a class="code" href="linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2">linearFree</a>(vbo_data);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Free the shader program</span></div>
-<div class="line">    <a name="a64"></a><a class="code" href="shaderProgram_8h.html#a57cbd903975f5ccce6169159f89714d8">shaderProgramFree</a>(&amp;program);</div>
-<div class="line">    <a name="a65"></a><a class="code" href="shbin_8h.html#a60c02d561312081aefb2096f2b005643">DVLB_Free</a>(vshader_dvlb);</div>
-<div class="line">    <a class="code" href="shbin_8h.html#a60c02d561312081aefb2096f2b005643">DVLB_Free</a>(gshader_dvlb);</div>
+<div class="line">    <a name="a16"></a><a class="code" href="shaderProgram_8h.html#a57cbd903975f5ccce6169159f89714d8">shaderProgramFree</a>(&amp;program);</div>
+<div class="line">    <a name="a17"></a><a class="code" href="shbin_8h.html#a60c02d561312081aefb2096f2b005643">DVLB_Free</a>(program_dvlb);</div>
 <div class="line">}</div>
 <div class="line"></div>
 <div class="line"><span class="keywordtype">int</span> main()</div>
 <div class="line">{</div>
 <div class="line">    <span class="comment">// Initialize graphics</span></div>
-<div class="line">    <a name="a66"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
-<div class="line">    gpuInit();</div>
+<div class="line">    <a name="a18"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
+<div class="line">    C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Initialize the render target</span></div>
+<div class="line">    C3D_RenderTarget* target = C3D_RenderTargetCreate(240, 400, <a name="a19"></a><a class="code" href="enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa17f2a0c3889f7e34d720d818a61030b4">GPU_RB_RGBA8</a>, <a name="a20"></a><a class="code" href="enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3eaaa31fb7049df6c69198111e309210720">GPU_RB_DEPTH24_STENCIL8</a>);</div>
+<div class="line">    C3D_RenderTargetSetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);</div>
+<div class="line">    C3D_RenderTargetSetOutput(target, <a name="a21"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a name="a22"></a><a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a>, DISPLAY_TRANSFER_FLAGS);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Initialize the scene</span></div>
 <div class="line">    sceneInit();</div>
-<div class="line">    gpuClearBuffers(CLEAR_COLOR);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Main loop</span></div>
-<div class="line">    <span class="keywordflow">while</span> (<a name="a67"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>())</div>
+<div class="line">    <span class="keywordflow">while</span> (<a name="a23"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>())</div>
 <div class="line">    {</div>
-<div class="line">        <a name="a68"></a><a class="code" href="gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45">gspWaitForVBlank</a>();  <span class="comment">// Synchronize with the start of VBlank</span></div>
-<div class="line">        <a name="a69"></a><a class="code" href="gfx_8h.html#a3306df28835a647734cf8e299f041527">gfxSwapBuffersGpu</a>(); <span class="comment">// Swap the framebuffers so that the frame that we rendered last frame is now visible</span></div>
-<div class="line">        <a name="a70"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();      <span class="comment">// Read the user input</span></div>
+<div class="line">        <a name="a24"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();</div>
 <div class="line"></div>
 <div class="line">        <span class="comment">// Respond to user input</span></div>
-<div class="line">        <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a71"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
-<div class="line">        <span class="keywordflow">if</span> (kDown &amp; <a name="a72"></a><a class="code" href="hid_8h.html#aaf8fd5f0e57d456151c951e0f3715fc4a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
+<div class="line">        <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a25"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
+<div class="line">        <span class="keywordflow">if</span> (kDown &amp; <a name="a26"></a><a class="code" href="hid_8h.html#aaf8fd5f0e57d456151c951e0f3715fc4a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
 <div class="line">            <span class="keywordflow">break</span>; <span class="comment">// break in order to return to hbmenu</span></div>
 <div class="line"></div>
 <div class="line">        <span class="comment">// Render the scene</span></div>
-<div class="line">        gpuFrameBegin();</div>
-<div class="line">        sceneRender();</div>
-<div class="line">        gpuFrameEnd();</div>
-<div class="line">        gpuClearBuffers(CLEAR_COLOR);</div>
-<div class="line"></div>
-<div class="line">        <span class="comment">// Flush the framebuffers out of the data cache (not necessary with pure GPU rendering)</span></div>
-<div class="line">        <span class="comment">//gfxFlushBuffers();</span></div>
+<div class="line">        C3D_FrameBegin(C3D_FRAME_SYNCDRAW);</div>
+<div class="line">            C3D_FrameDrawOn(target);</div>
+<div class="line">            sceneRender();</div>
+<div class="line">        C3D_FrameEnd(0);</div>
 <div class="line">    }</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Deinitialize the scene</span></div>
 <div class="line">    sceneExit();</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Deinitialize graphics</span></div>
-<div class="line">    gpuExit();</div>
-<div class="line">    <a name="a73"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
+<div class="line">    C3D_Fini();</div>
+<div class="line">    <a name="a27"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
 <div class="line">    <span class="keywordflow">return</span> 0;</div>
 <div class="line">}</div>
 </div><!-- fragment --> </div><!-- contents -->
diff --git a/graphics_2gpu_2gpusprites_2source_2main_8c-example.html b/graphics_2gpu_2gpusprites_2source_2main_8c-example.html
new file mode 100644 (file)
index 0000000..36942b3
--- /dev/null
@@ -0,0 +1,367 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>libctru: graphics/gpu/gpusprites/source/main.c</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">libctru
+   &#160;<span id="projectnumber">v1.1.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li><a href="examples.html"><span>Examples</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">graphics/gpu/gpusprites/source/main.c</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><span class="comment">/*</span></div>
+<div class="line"><span class="comment"></span></div>
+<div class="line"><span class="comment">    Simple demo of sprites using citro3d, lodepng and immediate mode.</span></div>
+<div class="line"><span class="comment"></span></div>
+<div class="line"><span class="comment">    Citra doesn&#39;t yet emulate immediate mode so this is hw only.</span></div>
+<div class="line"><span class="comment"></span></div>
+<div class="line"><span class="comment">*/</span></div>
+<div class="line"></div>
+<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="3ds_8h.html">3ds.h</a>&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &lt;citro3d.h&gt;</span></div>
+<div class="line"></div>
+<div class="line"><span class="preprocessor">#include &lt;string.h&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &lt;time.h&gt;</span></div>
+<div class="line"></div>
+<div class="line"><span class="preprocessor">#include &quot;lodepng.h&quot;</span></div>
+<div class="line"></div>
+<div class="line"><span class="comment">// These headers are generated by the build process</span></div>
+<div class="line"><span class="preprocessor">#include &quot;vshader_shbin.h&quot;</span></div>
+<div class="line"><span class="preprocessor">#include &quot;ballsprites_png.h&quot;</span></div>
+<div class="line"></div>
+<div class="line"><span class="preprocessor">#define CLEAR_COLOR 0x000000FF</span></div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Used to transfer the final rendered display to the framebuffer</span></div>
+<div class="line"><span class="preprocessor">#define DISPLAY_TRANSFER_FLAGS \</span></div>
+<div class="line"><span class="preprocessor">    (GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \</span></div>
+<div class="line"><span class="preprocessor">    GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \</span></div>
+<div class="line"><span class="preprocessor">    GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))</span></div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Used to convert textures to 3DS tiled format</span></div>
+<div class="line"><span class="comment">// Note: vertical flip flag set so 0,0 is top left of texture</span></div>
+<div class="line"><span class="preprocessor">#define TEXTURE_TRANSFER_FLAGS \</span></div>
+<div class="line"><span class="preprocessor">    (GX_TRANSFER_FLIP_VERT(1) | GX_TRANSFER_OUT_TILED(1) | GX_TRANSFER_RAW_COPY(0) | \</span></div>
+<div class="line"><span class="preprocessor">    GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGBA8) | \</span></div>
+<div class="line"><span class="preprocessor">    GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))</span></div>
+<div class="line"></div>
+<div class="line"><span class="preprocessor">#define NUM_SPRITES 256</span></div>
+<div class="line"></div>
+<div class="line"><span class="comment">//simple sprite struct</span></div>
+<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
+<div class="line">    <span class="keywordtype">int</span> x,y;            <span class="comment">// screen co-ordinates </span></div>
+<div class="line">    <span class="keywordtype">int</span> dx, dy;         <span class="comment">// velocity</span></div>
+<div class="line">    <span class="keywordtype">int</span> image;</div>
+<div class="line">}Sprite;</div>
+<div class="line"></div>
+<div class="line">Sprite sprites[NUM_SPRITES];</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">struct </span>{ <span class="keywordtype">float</span> left, right, top, bottom; } images[4] = {</div>
+<div class="line">    {0.0f, 0.5f, 0.0f, 0.5f},</div>
+<div class="line">    {0.5f, 1.0f, 0.0f, 0.5f},</div>
+<div class="line">    {0.0f, 0.5f, 0.5f, 1.0f},</div>
+<div class="line">    {0.5f, 1.0f, 0.5f, 1.0f},</div>
+<div class="line">};</div>
+<div class="line"></div>
+<div class="line"><span class="comment">//---------------------------------------------------------------------------------</span></div>
+<div class="line"><span class="keywordtype">void</span> drawSprite( <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, <span class="keywordtype">int</span> image ) {</div>
+<div class="line"><span class="comment">//---------------------------------------------------------------------------------</span></div>
+<div class="line"></div>
+<div class="line">    <span class="keywordtype">float</span> left = images[image].left;</div>
+<div class="line">    <span class="keywordtype">float</span> right = images[image].right;</div>
+<div class="line">    <span class="keywordtype">float</span> top = images[image].top;</div>
+<div class="line">    <span class="keywordtype">float</span> bottom = images[image].bottom;</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Draw a textured quad directly</span></div>
+<div class="line">    C3D_ImmDrawBegin(<a name="a0"></a><a class="code" href="enums_8h.html#a94bdee50fa003d70dd3888f347397806abee71ba286bcf6b5222049ac7beb2d8b">GPU_TRIANGLES</a>);</div>
+<div class="line">        C3D_ImmSendAttrib(x, y, 0.5f, 0.0f); <span class="comment">// v0=position</span></div>
+<div class="line">        C3D_ImmSendAttrib( left, top, 0.0f, 0.0f);</div>
+<div class="line"></div>
+<div class="line">        C3D_ImmSendAttrib(x+width, y+height, 0.5f, 0.0f);</div>
+<div class="line">        C3D_ImmSendAttrib( right, bottom, 0.0f, 0.0f);</div>
+<div class="line"></div>
+<div class="line">        C3D_ImmSendAttrib(x+width, y, 0.5f, 0.0f);</div>
+<div class="line">        C3D_ImmSendAttrib( right, top, 0.0f, 0.0f);</div>
+<div class="line"></div>
+<div class="line">        C3D_ImmSendAttrib(x, y, 0.5f, 0.0f); <span class="comment">// v0=position</span></div>
+<div class="line">        C3D_ImmSendAttrib( left, top, 0.0f, 0.0f);</div>
+<div class="line"></div>
+<div class="line">        C3D_ImmSendAttrib(x, y+height, 0.5f, 0.0f);</div>
+<div class="line">        C3D_ImmSendAttrib( left, bottom, 0.0f, 0.0f);</div>
+<div class="line"></div>
+<div class="line">        C3D_ImmSendAttrib(x+width, y+height, 0.5f, 0.0f);</div>
+<div class="line">        C3D_ImmSendAttrib( right, bottom, 0.0f, 0.0f);</div>
+<div class="line"></div>
+<div class="line"></div>
+<div class="line">    C3D_ImmDrawEnd();</div>
+<div class="line"></div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"></div>
+<div class="line"><span class="keyword">static</span> <a name="_a1"></a><a class="code" href="structDVLB__s.html">DVLB_s</a>* vshader_dvlb;</div>
+<div class="line"><span class="keyword">static</span> <a name="_a2"></a><a class="code" href="structshaderProgram__s.html">shaderProgram_s</a> program;</div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span> uLoc_projection;</div>
+<div class="line"><span class="keyword">static</span> C3D_Mtx projection;</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">static</span> C3D_Tex spritesheet_tex;</div>
+<div class="line"></div>
+<div class="line"><span class="comment">//---------------------------------------------------------------------------------</span></div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneInit(<span class="keywordtype">void</span>) {</div>
+<div class="line"><span class="comment">//---------------------------------------------------------------------------------</span></div>
+<div class="line">    <span class="keywordtype">int</span> i;</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Load the vertex shader, create a shader program and bind it</span></div>
+<div class="line">    vshader_dvlb = <a name="a3"></a><a class="code" href="shbin_8h.html#afd50bf30516e9e3acffd3b62cd061cb0">DVLB_ParseFile</a>((<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)vshader_shbin, vshader_shbin_size);</div>
+<div class="line">    <a name="a4"></a><a class="code" href="shaderProgram_8h.html#a4907e3572c644efe27c130a8c37bddf0">shaderProgramInit</a>(&amp;program);</div>
+<div class="line">    <a name="a5"></a><a class="code" href="shaderProgram_8h.html#a3ca416a2e6bc3c2aaae1895435e8452c">shaderProgramSetVsh</a>(&amp;program, &amp;vshader_dvlb-&gt;<a name="a6"></a><a class="code" href="structDVLB__s.html#a1934abe9c4109579746d57c5b20b5834">DVLE</a>[0]);</div>
+<div class="line">    C3D_BindProgram(&amp;program);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Get the location of the uniforms</span></div>
+<div class="line">    uLoc_projection = <a name="a7"></a><a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a name="a8"></a><a class="code" href="structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0">vertexShader</a>, <span class="stringliteral">&quot;projection&quot;</span>);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Configure attributes for use with the vertex shader</span></div>
+<div class="line">    <span class="comment">// Attribute format and element count are ignored in immediate mode</span></div>
+<div class="line">    C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();</div>
+<div class="line">    AttrInfo_Init(attrInfo);</div>
+<div class="line">    AttrInfo_AddLoader(attrInfo, 0, <a name="a9"></a><a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>, 3); <span class="comment">// v0=position</span></div>
+<div class="line">    AttrInfo_AddLoader(attrInfo, 1, <a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>, 2); <span class="comment">// v2=texcoord</span></div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Compute the projection matrix</span></div>
+<div class="line">    <span class="comment">// Note: we&#39;re setting top to 240 here so origin is at top left.</span></div>
+<div class="line">    Mtx_OrthoTilt(&amp;projection, 0.0, 400.0, 240.0, 0.0, 0.0, 1.0);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Configure buffers</span></div>
+<div class="line">    C3D_BufInfo* bufInfo = C3D_GetBufInfo();</div>
+<div class="line">    BufInfo_Init(bufInfo);</div>
+<div class="line"></div>
+<div class="line">    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* image;</div>
+<div class="line">    <span class="keywordtype">unsigned</span> width, height;</div>
+<div class="line"></div>
+<div class="line">    lodepng_decode32(&amp;image, &amp;width, &amp;height, ballsprites_png, ballsprites_png_size);</div>
+<div class="line"></div>
+<div class="line">    <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *gpusrc = <a name="a10"></a><a class="code" href="linear_8h.html#a73a6bd0b398a08f695e16e07267a7424">linearAlloc</a>(width*height*4);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// GX_DisplayTransfer needs input buffer in linear RAM</span></div>
+<div class="line">    <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* src=image; <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *dst=gpusrc;</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// lodepng outputs big endian rgba so we need to convert</span></div>
+<div class="line">    <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i&lt;width*height; i++) {</div>
+<div class="line">        <span class="keywordtype">int</span> r = *src++;</div>
+<div class="line">        <span class="keywordtype">int</span> g = *src++;</div>
+<div class="line">        <span class="keywordtype">int</span> b = *src++;</div>
+<div class="line">        <span class="keywordtype">int</span> a = *src++;</div>
+<div class="line"></div>
+<div class="line">        *dst++ = a;</div>
+<div class="line">        *dst++ = b;</div>
+<div class="line">        *dst++ = g;</div>
+<div class="line">        *dst++ = r;</div>
+<div class="line">    }</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// ensure data is in physical ram</span></div>
+<div class="line">    <a name="a11"></a><a class="code" href="gspgpu_8h.html#a24f1c78fad4e1108ddc56fb3674cdba2">GSPGPU_FlushDataCache</a>(gpusrc, width*height*4);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Load the texture and bind it to the first texture unit</span></div>
+<div class="line">    C3D_TexInit(&amp;spritesheet_tex, width, height, <a name="a12"></a><a class="code" href="enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99faff51f393b902dd545e863c24679bccd2">GPU_RGBA8</a>);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Convert image to 3DS tiled texture format</span></div>
+<div class="line">    <a name="a13"></a><a class="code" href="gx_8h.html#a4de1f2c27d7984b8cf5b93c8913a499b">GX_DisplayTransfer</a> ((<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)gpusrc, <a name="a14"></a><a class="code" href="gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc">GX_BUFFER_DIM</a>(width,height), (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)spritesheet_tex.data, <a class="code" href="gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc">GX_BUFFER_DIM</a>(width,height), TEXTURE_TRANSFER_FLAGS);</div>
+<div class="line">    <a name="a15"></a><a class="code" href="gspgpu_8h.html#a2f2aca81b76a88b6ebb121ec54f76b7e">gspWaitForPPF</a>();</div>
+<div class="line"></div>
+<div class="line">    C3D_TexSetFilter(&amp;spritesheet_tex, <a name="a16"></a><a class="code" href="enums_8h.html#a2c76780b7ff5d323daf30ea310fbc8c4a18f85af3bd3785e9463dae917436cb6f">GPU_LINEAR</a>, <a name="a17"></a><a class="code" href="enums_8h.html#a2c76780b7ff5d323daf30ea310fbc8c4a916807475bc96900be35e0b8035845d0">GPU_NEAREST</a>);</div>
+<div class="line">    C3D_TexBind(0, &amp;spritesheet_tex);</div>
+<div class="line"></div>
+<div class="line">    free(image);</div>
+<div class="line">    <a name="a18"></a><a class="code" href="linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2">linearFree</a>(gpusrc);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Configure the first fragment shading substage to just pass through the texture color</span></div>
+<div class="line">    <span class="comment">// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight</span></div>
+<div class="line">    C3D_TexEnv* env = C3D_GetTexEnv(0);</div>
+<div class="line">    C3D_TexEnvSrc(env, C3D_Both, <a name="a19"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0ab6436a8677bfb947fd2c085d95eb2cd0">GPU_TEXTURE0</a>, 0, 0);</div>
+<div class="line">    C3D_TexEnvOp(env, C3D_Both, 0, 0, 0);</div>
+<div class="line">    C3D_TexEnvFunc(env, C3D_Both, <a name="a20"></a><a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11">GPU_REPLACE</a>);</div>
+<div class="line"></div>
+<div class="line">    srand(time(NULL));</div>
+<div class="line"></div>
+<div class="line">    <span class="keywordflow">for</span>(i = 0; i &lt; NUM_SPRITES; i++) {</div>
+<div class="line">        <span class="comment">//random place and speed</span></div>
+<div class="line">        sprites[i].x = (rand() % (400 - 32 )) &lt;&lt; 8;</div>
+<div class="line">        sprites[i].y = (rand() % (240 - 32 )) &lt;&lt; 8 ;</div>
+<div class="line">        sprites[i].dx = (rand() &amp; 0xFF) + 0x100;</div>
+<div class="line">        sprites[i].dy = (rand() &amp; 0xFF) + 0x100;</div>
+<div class="line">        sprites[i].image = rand() &amp; 3;</div>
+<div class="line"></div>
+<div class="line">        <span class="keywordflow">if</span>(rand() &amp; 1)</div>
+<div class="line">            sprites[i].dx = -sprites[i].dx;</div>
+<div class="line">        <span class="keywordflow">if</span>(rand() &amp; 1)</div>
+<div class="line">            sprites[i].dy = -sprites[i].dy;</div>
+<div class="line">    }</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Configure depth test to overwrite pixels with the same depth (needed to draw overlapping sprites)</span></div>
+<div class="line">    C3D_DepthTest(<span class="keyword">true</span>, <a name="a21"></a><a class="code" href="enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a1160361c130e3b1bd576cbab921fe719">GPU_GEQUAL</a>, <a name="a22"></a><a class="code" href="enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3ae6311b606a2db6df1e7358ad79e297a0">GPU_WRITE_ALL</a>);</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"><span class="comment">//---------------------------------------------------------------------------------</span></div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> moveSprites() {</div>
+<div class="line"><span class="comment">//---------------------------------------------------------------------------------</span></div>
+<div class="line"></div>
+<div class="line">    <span class="keywordtype">int</span> i;</div>
+<div class="line"></div>
+<div class="line">    <span class="keywordflow">for</span>(i = 0; i &lt; NUM_SPRITES; i++) {</div>
+<div class="line">        sprites[i].x += sprites[i].dx;</div>
+<div class="line">        sprites[i].y += sprites[i].dy;</div>
+<div class="line">            </div>
+<div class="line">        <span class="comment">//check for collision with the screen boundaries</span></div>
+<div class="line">        <span class="keywordflow">if</span>(sprites[i].x &lt; (1&lt;&lt;8) || sprites[i].x &gt; ((400-32) &lt;&lt; 8))</div>
+<div class="line">            sprites[i].dx = -sprites[i].dx;</div>
+<div class="line"></div>
+<div class="line">        <span class="keywordflow">if</span>(sprites[i].y &lt; (1&lt;&lt;8) || sprites[i].y &gt; ((240-32) &lt;&lt; 8))</div>
+<div class="line">            sprites[i].dy = -sprites[i].dy;</div>
+<div class="line">    }</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"><span class="comment">//---------------------------------------------------------------------------------</span></div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneRender(<span class="keywordtype">void</span>) {</div>
+<div class="line"><span class="comment">//---------------------------------------------------------------------------------</span></div>
+<div class="line">    <span class="keywordtype">int</span> i;</div>
+<div class="line">    <span class="comment">// Update the uniforms</span></div>
+<div class="line">    C3D_FVUnifMtx4x4(<a name="a23"></a><a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_projection, &amp;projection);</div>
+<div class="line"></div>
+<div class="line">    <span class="keywordflow">for</span>(i = 0; i &lt; NUM_SPRITES; i++) {</div>
+<div class="line"></div>
+<div class="line">        drawSprite( sprites[i].x &gt;&gt; 8, sprites[i].y &gt;&gt; 8, 32, 32, sprites[i].image);</div>
+<div class="line">    }</div>
+<div class="line"></div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"><span class="comment">//---------------------------------------------------------------------------------</span></div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneExit(<span class="keywordtype">void</span>) {</div>
+<div class="line"><span class="comment">//---------------------------------------------------------------------------------</span></div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Free the shader program</span></div>
+<div class="line">    <a name="a24"></a><a class="code" href="shaderProgram_8h.html#a57cbd903975f5ccce6169159f89714d8">shaderProgramFree</a>(&amp;program);</div>
+<div class="line">    <a name="a25"></a><a class="code" href="shbin_8h.html#a60c02d561312081aefb2096f2b005643">DVLB_Free</a>(vshader_dvlb);</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"><span class="comment">//---------------------------------------------------------------------------------</span></div>
+<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv) {</div>
+<div class="line"><span class="comment">//---------------------------------------------------------------------------------</span></div>
+<div class="line">    <span class="comment">// Initialize graphics</span></div>
+<div class="line">    <a name="a26"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
+<div class="line">    C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Initialize the render target</span></div>
+<div class="line">    C3D_RenderTarget* target = C3D_RenderTargetCreate(240, 400, <a name="a27"></a><a class="code" href="enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa17f2a0c3889f7e34d720d818a61030b4">GPU_RB_RGBA8</a>, <a name="a28"></a><a class="code" href="enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3eaaa31fb7049df6c69198111e309210720">GPU_RB_DEPTH24_STENCIL8</a>);</div>
+<div class="line">    C3D_RenderTargetSetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);</div>
+<div class="line">    C3D_RenderTargetSetOutput(target, <a name="a29"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a name="a30"></a><a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a>, DISPLAY_TRANSFER_FLAGS);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Initialize the scene</span></div>
+<div class="line">    sceneInit();</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Main loop</span></div>
+<div class="line">    <span class="keywordflow">while</span> (<a name="a31"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>()) {</div>
+<div class="line"></div>
+<div class="line">        <a name="a32"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();</div>
+<div class="line"></div>
+<div class="line">        <span class="comment">// Respond to user input</span></div>
+<div class="line">        <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a33"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
+<div class="line">        <span class="keywordflow">if</span> (kDown &amp; <a name="a34"></a><a class="code" href="hid_8h.html#aaf8fd5f0e57d456151c951e0f3715fc4a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
+<div class="line">            <span class="keywordflow">break</span>; <span class="comment">// break in order to return to hbmenu</span></div>
+<div class="line"></div>
+<div class="line">        moveSprites();</div>
+<div class="line"></div>
+<div class="line">        <span class="comment">// Render the scene</span></div>
+<div class="line">        C3D_FrameBegin(C3D_FRAME_SYNCDRAW);</div>
+<div class="line">            C3D_FrameDrawOn(target);</div>
+<div class="line">            sceneRender();</div>
+<div class="line">        C3D_FrameEnd(0);</div>
+<div class="line">    }</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Deinitialize the scene</span></div>
+<div class="line">    sceneExit();</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Deinitialize graphics</span></div>
+<div class="line">    C3D_Fini();</div>
+<div class="line">    <a name="a35"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
+<div class="line">    <span class="keywordflow">return</span> 0;</div>
+<div class="line">}</div>
+</div><!-- fragment --> </div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/graphics_2gpu_2immediate_2source_2main_8c-example.html b/graphics_2gpu_2immediate_2source_2main_8c-example.html
new file mode 100644 (file)
index 0000000..f504c60
--- /dev/null
@@ -0,0 +1,202 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>libctru: graphics/gpu/immediate/source/main.c</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">libctru
+   &#160;<span id="projectnumber">v1.1.0</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li><a href="examples.html"><span>Examples</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">graphics/gpu/immediate/source/main.c</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="3ds_8h.html">3ds.h</a>&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &lt;citro3d.h&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &lt;string.h&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &quot;vshader_shbin.h&quot;</span></div>
+<div class="line"></div>
+<div class="line"><span class="preprocessor">#define CLEAR_COLOR 0x68B0D8FF</span></div>
+<div class="line"></div>
+<div class="line"><span class="preprocessor">#define DISPLAY_TRANSFER_FLAGS \</span></div>
+<div class="line"><span class="preprocessor">    (GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \</span></div>
+<div class="line"><span class="preprocessor">    GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \</span></div>
+<div class="line"><span class="preprocessor">    GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))</span></div>
+<div class="line"></div>
+<div class="line"><span class="keyword">static</span> <a name="_a0"></a><a class="code" href="structDVLB__s.html">DVLB_s</a>* vshader_dvlb;</div>
+<div class="line"><span class="keyword">static</span> <a name="_a1"></a><a class="code" href="structshaderProgram__s.html">shaderProgram_s</a> program;</div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span> uLoc_projection;</div>
+<div class="line"><span class="keyword">static</span> C3D_Mtx projection;</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneInit(<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
+<div class="line">    <span class="comment">// Load the vertex shader, create a shader program and bind it</span></div>
+<div class="line">    vshader_dvlb = <a name="a2"></a><a class="code" href="shbin_8h.html#afd50bf30516e9e3acffd3b62cd061cb0">DVLB_ParseFile</a>((<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)vshader_shbin, vshader_shbin_size);</div>
+<div class="line">    <a name="a3"></a><a class="code" href="shaderProgram_8h.html#a4907e3572c644efe27c130a8c37bddf0">shaderProgramInit</a>(&amp;program);</div>
+<div class="line">    <a name="a4"></a><a class="code" href="shaderProgram_8h.html#a3ca416a2e6bc3c2aaae1895435e8452c">shaderProgramSetVsh</a>(&amp;program, &amp;vshader_dvlb-&gt;<a name="a5"></a><a class="code" href="structDVLB__s.html#a1934abe9c4109579746d57c5b20b5834">DVLE</a>[0]);</div>
+<div class="line">    C3D_BindProgram(&amp;program);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Get the location of the uniforms</span></div>
+<div class="line">    uLoc_projection = <a name="a6"></a><a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a name="a7"></a><a class="code" href="structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0">vertexShader</a>, <span class="stringliteral">&quot;projection&quot;</span>);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Configure attributes for use with the vertex shader</span></div>
+<div class="line">    <span class="comment">// Attribute format and element count are ignored in immediate mode</span></div>
+<div class="line">    C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();</div>
+<div class="line">    AttrInfo_Init(attrInfo);</div>
+<div class="line">    AttrInfo_AddLoader(attrInfo, 0, <a name="a8"></a><a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>, 3); <span class="comment">// v0=position</span></div>
+<div class="line">    AttrInfo_AddLoader(attrInfo, 1, <a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>, 3); <span class="comment">// v1=color</span></div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Compute the projection matrix</span></div>
+<div class="line">    Mtx_OrthoTilt(&amp;projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Configure the first fragment shading substage to just pass through the vertex color</span></div>
+<div class="line">    <span class="comment">// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight</span></div>
+<div class="line">    C3D_TexEnv* env = C3D_GetTexEnv(0);</div>
+<div class="line">    C3D_TexEnvSrc(env, C3D_Both, <a name="a9"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>, 0, 0);</div>
+<div class="line">    C3D_TexEnvOp(env, C3D_Both, 0, 0, 0);</div>
+<div class="line">    C3D_TexEnvFunc(env, C3D_Both, <a name="a10"></a><a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11">GPU_REPLACE</a>);</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneRender(<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
+<div class="line">    <span class="comment">// Update the uniforms</span></div>
+<div class="line">    C3D_FVUnifMtx4x4(<a name="a11"></a><a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_projection, &amp;projection);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Draw the triangle directly</span></div>
+<div class="line">    C3D_ImmDrawBegin(<a name="a12"></a><a class="code" href="enums_8h.html#a94bdee50fa003d70dd3888f347397806abee71ba286bcf6b5222049ac7beb2d8b">GPU_TRIANGLES</a>);</div>
+<div class="line">        C3D_ImmSendAttrib(200.0f, 200.0f, 0.5f, 0.0f); <span class="comment">// v0=position</span></div>
+<div class="line">        C3D_ImmSendAttrib(1.0f, 0.0f, 0.0f, 1.0f);     <span class="comment">// v1=color</span></div>
+<div class="line"></div>
+<div class="line">        C3D_ImmSendAttrib(100.0f, 40.0f, 0.5f, 0.0f);</div>
+<div class="line">        C3D_ImmSendAttrib(0.0f, 1.0f, 0.0f, 1.0f);</div>
+<div class="line"></div>
+<div class="line">        C3D_ImmSendAttrib(300.0f, 40.0f, 0.5f, 0.0f);</div>
+<div class="line">        C3D_ImmSendAttrib(0.0f, 0.0f, 1.0f, 1.0f);</div>
+<div class="line">    C3D_ImmDrawEnd();</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneExit(<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
+<div class="line">    <span class="comment">// Free the shader program</span></div>
+<div class="line">    <a name="a13"></a><a class="code" href="shaderProgram_8h.html#a57cbd903975f5ccce6169159f89714d8">shaderProgramFree</a>(&amp;program);</div>
+<div class="line">    <a name="a14"></a><a class="code" href="shbin_8h.html#a60c02d561312081aefb2096f2b005643">DVLB_Free</a>(vshader_dvlb);</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"><span class="keywordtype">int</span> main()</div>
+<div class="line">{</div>
+<div class="line">    <span class="comment">// Initialize graphics</span></div>
+<div class="line">    <a name="a15"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
+<div class="line">    C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Initialize the render target</span></div>
+<div class="line">    C3D_RenderTarget* target = C3D_RenderTargetCreate(240, 400, <a name="a16"></a><a class="code" href="enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa17f2a0c3889f7e34d720d818a61030b4">GPU_RB_RGBA8</a>, <a name="a17"></a><a class="code" href="enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3eaaa31fb7049df6c69198111e309210720">GPU_RB_DEPTH24_STENCIL8</a>);</div>
+<div class="line">    C3D_RenderTargetSetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);</div>
+<div class="line">    C3D_RenderTargetSetOutput(target, <a name="a18"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a name="a19"></a><a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a>, DISPLAY_TRANSFER_FLAGS);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Initialize the scene</span></div>
+<div class="line">    sceneInit();</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Main loop</span></div>
+<div class="line">    <span class="keywordflow">while</span> (<a name="a20"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>())</div>
+<div class="line">    {</div>
+<div class="line">        <a name="a21"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();</div>
+<div class="line"></div>
+<div class="line">        <span class="comment">// Respond to user input</span></div>
+<div class="line">        <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a22"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
+<div class="line">        <span class="keywordflow">if</span> (kDown &amp; <a name="a23"></a><a class="code" href="hid_8h.html#aaf8fd5f0e57d456151c951e0f3715fc4a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
+<div class="line">            <span class="keywordflow">break</span>; <span class="comment">// break in order to return to hbmenu</span></div>
+<div class="line"></div>
+<div class="line">        <span class="comment">// Render the scene</span></div>
+<div class="line">        C3D_FrameBegin(C3D_FRAME_SYNCDRAW);</div>
+<div class="line">            C3D_FrameDrawOn(target);</div>
+<div class="line">            sceneRender();</div>
+<div class="line">        C3D_FrameEnd(0);</div>
+<div class="line">    }</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Deinitialize the scene</span></div>
+<div class="line">    sceneExit();</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Deinitialize graphics</span></div>
+<div class="line">    C3D_Fini();</div>
+<div class="line">    <a name="a24"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
+<div class="line">    <span class="keywordflow">return</span> 0;</div>
+<div class="line">}</div>
+</div><!-- fragment --> </div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
index a2a89553ea1afcbc46a51cffe801f23814643723..a316958f8b4694c12da06de735f4237c5343d73f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -81,399 +81,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="title">graphics/gpu/simple_tri/source/main.c</div>  </div>
 </div><!--header-->
 <div class="contents">
-<p>graphics/gpu/simple_tri/source/gpu.h </p><div class="fragment"><div class="line"><span class="comment">/*</span></div>
-<div class="line"><span class="comment"> * Bare-bones simplistic GPU wrapper</span></div>
-<div class="line"><span class="comment"> * This library is common to all libctru GPU examples</span></div>
-<div class="line"><span class="comment"> */</span></div>
-<div class="line"></div>
-<div class="line"><span class="preprocessor">#pragma once</span></div>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="3ds_8h.html">3ds.h</a>&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &lt;citro3d.h&gt;</span></div>
 <div class="line"><span class="preprocessor">#include &lt;string.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="3ds_8h.html">3ds.h</a>&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &quot;3dmath.h&quot;</span></div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuInit(<span class="keywordtype">void</span>);</div>
-<div class="line"><span class="keywordtype">void</span> gpuExit(<span class="keywordtype">void</span>);</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuClearBuffers(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> clearColor);</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuFrameBegin(<span class="keywordtype">void</span>);</div>
-<div class="line"><span class="keywordtype">void</span> gpuFrameEnd(<span class="keywordtype">void</span>);</div>
-<div class="line"></div>
-<div class="line"><span class="comment">// Configures the specified fixed-function fragment shading substage to be a no-operation</span></div>
-<div class="line"><span class="keywordtype">void</span> GPU_SetDummyTexEnv(<span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div>
+<div class="line"><span class="preprocessor">#include &quot;vshader_shbin.h&quot;</span></div>
 <div class="line"></div>
-<div class="line"><span class="comment">// Uploads an uniform matrix</span></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> GPU_SetFloatUniformMatrix(<a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5">GPU_SHADER_TYPE</a> type, <span class="keywordtype">int</span> location, matrix_4x4* matrix)</div>
-<div class="line">{</div>
-<div class="line">    <a name="a0"></a><a class="code" href="gpu-old_8h.html#af18a38db985563a54813c2ebf86d6509">GPU_SetFloatUniform</a>(type, location, (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)matrix, 4);</div>
-<div class="line">}</div>
-</div><!-- fragment --><p> graphics/gpu/simple_tri/source/gpu.c </p><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="gpu_8h.html">gpu.h</a>&quot;</span></div>
+<div class="line"><span class="preprocessor">#define CLEAR_COLOR 0x68B0D8FF</span></div>
 <div class="line"></div>
 <div class="line"><span class="preprocessor">#define DISPLAY_TRANSFER_FLAGS \</span></div>
 <div class="line"><span class="preprocessor">    (GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \</span></div>
 <div class="line"><span class="preprocessor">    GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \</span></div>
 <div class="line"><span class="preprocessor">    GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))</span></div>
 <div class="line"></div>
-<div class="line"><span class="keyword">static</span> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *colorBuf, *depthBuf;</div>
-<div class="line"><span class="keyword">static</span> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *cmdBuf;</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuInit(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    colorBuf = <a name="a1"></a><a class="code" href="vram_8h.html#a00b84b8d38c127d8af9a89b9b7e2a5a4">vramAlloc</a>(400*240*4);</div>
-<div class="line">    depthBuf = <a class="code" href="vram_8h.html#a00b84b8d38c127d8af9a89b9b7e2a5a4">vramAlloc</a>(400*240*4);</div>
-<div class="line">    cmdBuf = <a name="a2"></a><a class="code" href="linear_8h.html#a73a6bd0b398a08f695e16e07267a7424">linearAlloc</a>(0x40000*4);</div>
-<div class="line"></div>
-<div class="line">    <a name="a3"></a><a class="code" href="gpu-old_8h.html#a921bb00def7171c1936fa50c6e464fba">GPU_Init</a>(NULL);</div>
-<div class="line">    <a name="a4"></a><a class="code" href="gpu-old_8h.html#a896e2be6136bb62909be966cc74eeb4d">GPU_Reset</a>(NULL, cmdBuf, 0x40000);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuExit(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    <a name="a5"></a><a class="code" href="linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2">linearFree</a>(cmdBuf);</div>
-<div class="line">    <a name="a6"></a><a class="code" href="vram_8h.html#a867318cde93cdd997588d6dcbfc584e1">vramFree</a>(depthBuf);</div>
-<div class="line">    <a class="code" href="vram_8h.html#a867318cde93cdd997588d6dcbfc584e1">vramFree</a>(colorBuf);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuClearBuffers(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> clearColor)</div>
-<div class="line">{</div>
-<div class="line">    <a name="a7"></a><a class="code" href="gx_8h.html#aa6e39b328383930b64eaa230bc9bc6a0">GX_MemoryFill</a>(</div>
-<div class="line">        colorBuf, clearColor, &amp;colorBuf[240*400], <a name="a8"></a><a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd">GX_FILL_TRIGGER</a> | <a name="a9"></a><a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d">GX_FILL_32BIT_DEPTH</a>,</div>
-<div class="line">        depthBuf, 0,          &amp;depthBuf[240*400], <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd">GX_FILL_TRIGGER</a> | <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d">GX_FILL_32BIT_DEPTH</a>);</div>
-<div class="line">    <a name="a10"></a><a class="code" href="gspgpu_8h.html#a704e891a5d988f4964c24dc2b8bac787">gspWaitForPSC0</a>(); <span class="comment">// Wait for the fill to complete</span></div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuFrameBegin(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    <span class="comment">// Configure the viewport and the depth linear conversion function</span></div>
-<div class="line">    <a name="a11"></a><a class="code" href="gpu-old_8h.html#aba80c2d6e88cb75263de89a2d059e230">GPU_SetViewport</a>(</div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)<a name="a12"></a><a class="code" href="os_8h.html#ad5be83050dcdaf4ba7824a2afd420866">osConvertVirtToPhys</a>(depthBuf),</div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)<a class="code" href="os_8h.html#ad5be83050dcdaf4ba7824a2afd420866">osConvertVirtToPhys</a>(colorBuf),</div>
-<div class="line">        0, 0, 240, 400); <span class="comment">// The top screen is physically 240x400 pixels</span></div>
-<div class="line">    <a name="a13"></a><a class="code" href="gpu-old_8h.html#a8b8de4eb721e55913ad0641c64fbaa75">GPU_DepthMap</a>(-1.0f, 0.0f); <span class="comment">// calculate the depth value from the Z coordinate in the following way: -1.0*z + 0.0</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Configure some boilerplate</span></div>
-<div class="line">    <a name="a14"></a><a class="code" href="gpu-old_8h.html#a717ac338a87549c36a9d70f5c1d7a077">GPU_SetFaceCulling</a>(<a name="a15"></a><a class="code" href="enums_8h.html#aded31eec5d2f72ea5c6141f24d8a0174a5f4f59f8f711f0bcfa9ca8b87f169ee0">GPU_CULL_BACK_CCW</a>);</div>
-<div class="line">    <a name="a16"></a><a class="code" href="gpu-old_8h.html#abc687b8c34463fd1ceacd64dab6c078e">GPU_SetStencilTest</a>(<span class="keyword">false</span>, <a name="a17"></a><a class="code" href="enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a2021d04562bc3b47a305c57dff840c2e">GPU_ALWAYS</a>, 0x00, 0xFF, 0x00);</div>
-<div class="line">    <a name="a18"></a><a class="code" href="gpu-old_8h.html#aa2512e6c918e4ce998899d589a20dc2b">GPU_SetStencilOp</a>(<a name="a19"></a><a class="code" href="enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a2ef8af6e032c0cd8613259aef01f0477">GPU_STENCIL_KEEP</a>, <a class="code" href="enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a2ef8af6e032c0cd8613259aef01f0477">GPU_STENCIL_KEEP</a>, <a class="code" href="enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a2ef8af6e032c0cd8613259aef01f0477">GPU_STENCIL_KEEP</a>);</div>
-<div class="line">    <a name="a20"></a><a class="code" href="gpu-old_8h.html#a2ead0a88519b4197e13c6ce8e138d6c7">GPU_SetBlendingColor</a>(0,0,0,0);</div>
-<div class="line">    <a name="a21"></a><a class="code" href="gpu-old_8h.html#a8c32fb10ed5457b2e3a9273db61187d3">GPU_SetDepthTestAndWriteMask</a>(<span class="keyword">true</span>, <a name="a22"></a><a class="code" href="enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a939d397eee5556dccc012bddfd0dd46a">GPU_GREATER</a>, <a name="a23"></a><a class="code" href="enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3ae6311b606a2db6df1e7358ad79e297a0">GPU_WRITE_ALL</a>);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// This is unknown</span></div>
-<div class="line">    <a name="a24"></a><a class="code" href="gpu_8h.html#a9042ca3f0e361abe2a2ede7206376cb5">GPUCMD_AddMaskedWrite</a>(GPUREG_0062, 0x1, 0);</div>
-<div class="line">    <a name="a25"></a><a class="code" href="gpu_8h.html#a1251c8456a0f92b49eecbe2c21f0a9a0">GPUCMD_AddWrite</a>(GPUREG_0118, 0);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Configure alpha blending and test</span></div>
-<div class="line">    <a name="a26"></a><a class="code" href="gpu-old_8h.html#ac9bf249df1e7a27a56a4e57c81d19e1c">GPU_SetAlphaBlending</a>(<a name="a27"></a><a class="code" href="enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5a39318f81ae768d8a6119e7965a11bd50">GPU_BLEND_ADD</a>, <a class="code" href="enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5a39318f81ae768d8a6119e7965a11bd50">GPU_BLEND_ADD</a>, <a name="a28"></a><a class="code" href="enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1af2ec416dc4e7e8562e61d5f7963e8a36">GPU_SRC_ALPHA</a>, <a name="a29"></a><a class="code" href="enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a7bf978d71679e5507689e4570d3d85b2">GPU_ONE_MINUS_SRC_ALPHA</a>, <a class="code" href="enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1af2ec416dc4e7e8562e61d5f7963e8a36">GPU_SRC_ALPHA</a>, <a class="code" href="enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a7bf978d71679e5507689e4570d3d85b2">GPU_ONE_MINUS_SRC_ALPHA</a>);</div>
-<div class="line">    <a name="a30"></a><a class="code" href="gpu-old_8h.html#aec1714fa8c2684020ab10a4da8e784e0">GPU_SetAlphaTest</a>(<span class="keyword">false</span>, <a class="code" href="enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a2021d04562bc3b47a305c57dff840c2e">GPU_ALWAYS</a>, 0x00);</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">int</span> i;</div>
-<div class="line">    <span class="keywordflow">for</span> (i = 0; i &lt; 6; i ++)</div>
-<div class="line">        GPU_SetDummyTexEnv(i);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuFrameEnd(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    <span class="comment">// Finish rendering</span></div>
-<div class="line">    <a name="a31"></a><a class="code" href="gpu-old_8h.html#a0c6bf377d3b218402cca69bb16778fd5">GPU_FinishDrawing</a>();</div>
-<div class="line">    <a name="a32"></a><a class="code" href="gpu_8h.html#a418b5471dc141d47267cbc9b8facc4a3">GPUCMD_Finalize</a>();</div>
-<div class="line">    <a name="a33"></a><a class="code" href="gpu_8h.html#a7a806155f4e52af7775737d45d9342d5">GPUCMD_FlushAndRun</a>();</div>
-<div class="line">    <a name="a34"></a><a class="code" href="gspgpu_8h.html#aba84a82e0137f5dc7a5c9d0ece41d9b7">gspWaitForP3D</a>(); <span class="comment">// Wait for the rendering to complete</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Transfer the GPU output to the framebuffer</span></div>
-<div class="line">    <a name="a35"></a><a class="code" href="gx_8h.html#a4de1f2c27d7984b8cf5b93c8913a499b">GX_DisplayTransfer</a>(</div>
-<div class="line">        colorBuf, <a name="a36"></a><a class="code" href="gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc">GX_BUFFER_DIM</a>(240, 400),</div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)<a name="a37"></a><a class="code" href="gfx_8h.html#a332447352568e250a75397a1b2e452db">gfxGetFramebuffer</a>(<a name="a38"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a name="a39"></a><a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a>, NULL, NULL), <a class="code" href="gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc">GX_BUFFER_DIM</a>(240, 400),</div>
-<div class="line">        DISPLAY_TRANSFER_FLAGS);</div>
-<div class="line">    <a name="a40"></a><a class="code" href="gspgpu_8h.html#a2f2aca81b76a88b6ebb121ec54f76b7e">gspWaitForPPF</a>(); <span class="comment">// Wait for the transfer to complete</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Reset the command buffer</span></div>
-<div class="line">    <a name="a41"></a><a class="code" href="gpu_8h.html#a42142a7ec0fd6ac9941d454f7e18415a">GPUCMD_SetBufferOffset</a>(0);</div>
-<div class="line">};</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> GPU_SetDummyTexEnv(<span class="keywordtype">int</span> <span class="keywordtype">id</span>)</div>
-<div class="line">{</div>
-<div class="line">    <a name="a42"></a><a class="code" href="gpu-old_8h.html#a7b61022c85fa068574fd6b61d55f9530">GPU_SetTexEnv</a>(<span class="keywordtype">id</span>,</div>
-<div class="line">        <a name="a43"></a><a class="code" href="enums_8h.html#abb62754733c37a8490767fd8e004b903">GPU_TEVSOURCES</a>(<a name="a44"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a1b960db2c45d309c5e4d9c899d051936">GPU_PREVIOUS</a>, 0, 0),</div>
-<div class="line">        <a class="code" href="enums_8h.html#abb62754733c37a8490767fd8e004b903">GPU_TEVSOURCES</a>(<a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a1b960db2c45d309c5e4d9c899d051936">GPU_PREVIOUS</a>, 0, 0),</div>
-<div class="line">        <a name="a45"></a><a class="code" href="enums_8h.html#a4f2c9311619707a1276457d94b06a983">GPU_TEVOPERANDS</a>(0, 0, 0),</div>
-<div class="line">        <a class="code" href="enums_8h.html#a4f2c9311619707a1276457d94b06a983">GPU_TEVOPERANDS</a>(0, 0, 0),</div>
-<div class="line">        <a name="a46"></a><a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11">GPU_REPLACE</a>,</div>
-<div class="line">        <a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11">GPU_REPLACE</a>,</div>
-<div class="line">        0xFFFFFFFF);</div>
-<div class="line">}</div>
-</div><!-- fragment --><p> graphics/gpu/simple_tri/source/3dmath.h </p><div class="fragment"><div class="line"><span class="comment">/*</span></div>
-<div class="line"><span class="comment"> * Bare-bones simplistic 3D math library</span></div>
-<div class="line"><span class="comment"> * This library is common to all libctru GPU examples</span></div>
-<div class="line"><span class="comment"> */</span></div>
-<div class="line"></div>
-<div class="line"><span class="preprocessor">#pragma once</span></div>
-<div class="line"><span class="preprocessor">#include &lt;string.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &lt;math.h&gt;</span></div>
-<div class="line"></div>
-<div class="line"><span class="keyword">typedef</span> <span class="keyword">union </span>{ <span class="keyword">struct </span>{ <span class="keywordtype">float</span> w, z, y, x; }; <span class="keywordtype">float</span> c[4]; } vector_4f;</div>
-<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{ vector_4f r[4]; } matrix_4x4;</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">float</span> v4f_dp4(<span class="keyword">const</span> vector_4f* a, <span class="keyword">const</span> vector_4f* b)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordflow">return</span> a-&gt;x*b-&gt;x + a-&gt;y*b-&gt;y + a-&gt;z*b-&gt;z + a-&gt;w*b-&gt;w;</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">float</span> v4f_mod4(<span class="keyword">const</span> vector_4f* a)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordflow">return</span> sqrtf(v4f_dp4(a,a));</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> v4f_norm4(vector_4f* vec)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordtype">float</span> m = v4f_mod4(vec);</div>
-<div class="line">    <span class="keywordflow">if</span> (m == 0.0) <span class="keywordflow">return</span>;</div>
-<div class="line">    vec-&gt;x /= m;</div>
-<div class="line">    vec-&gt;y /= m;</div>
-<div class="line">    vec-&gt;z /= m;</div>
-<div class="line">    vec-&gt;w /= m;</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> m4x4_zeros(matrix_4x4* out)</div>
-<div class="line">{</div>
-<div class="line">    memset(out, 0, <span class="keyword">sizeof</span>(*out));</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> m4x4_copy(matrix_4x4* out, <span class="keyword">const</span> matrix_4x4* in)</div>
-<div class="line">{</div>
-<div class="line">    memcpy(out, in, <span class="keyword">sizeof</span>(*out));</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_identity(matrix_4x4* out);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_multiply(matrix_4x4* out, <span class="keyword">const</span> matrix_4x4* a, <span class="keyword">const</span> matrix_4x4* b);</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_translate(matrix_4x4* mtx, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_scale(matrix_4x4* mtx, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z);</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_x(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_y(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_z(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide);</div>
-<div class="line"></div>
-<div class="line"><span class="comment">// Special versions of the projection matrices that take the 3DS&#39; screen orientation into account</span></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_ortho_tilt(matrix_4x4* mtx, <span class="keywordtype">float</span> left, <span class="keywordtype">float</span> right, <span class="keywordtype">float</span> bottom, <span class="keywordtype">float</span> top, <span class="keywordtype">float</span> near, <span class="keywordtype">float</span> far);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_persp_tilt(matrix_4x4* mtx, <span class="keywordtype">float</span> fovy, <span class="keywordtype">float</span> aspect, <span class="keywordtype">float</span> near, <span class="keywordtype">float</span> far);</div>
-</div><!-- fragment --><p> graphics/gpu/simple_tri/source/3dmath.c </p><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;3dmath.h&quot;</span></div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_identity(matrix_4x4* out)</div>
-<div class="line">{</div>
-<div class="line">    m4x4_zeros(out);</div>
-<div class="line">    out-&gt;r[0].x = out-&gt;r[1].y = out-&gt;r[2].z = out-&gt;r[3].w = 1.0f;</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_multiply(matrix_4x4* out, <span class="keyword">const</span> matrix_4x4* a, <span class="keyword">const</span> matrix_4x4* b)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordtype">int</span> i, j;</div>
-<div class="line">    <span class="keywordflow">for</span> (i = 0; i &lt; 4; i ++)</div>
-<div class="line">        <span class="keywordflow">for</span> (j = 0; j &lt; 4; j ++)</div>
-<div class="line">            out-&gt;r[j].c[i] = a-&gt;r[j].x*b-&gt;r[0].c[i] + a-&gt;r[j].y*b-&gt;r[1].c[i] + a-&gt;r[j].z*b-&gt;r[2].c[i] + a-&gt;r[j].w*b-&gt;r[3].c[i];</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_translate(matrix_4x4* mtx, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 tm, om;</div>
-<div class="line"></div>
-<div class="line">    m4x4_identity(&amp;tm);</div>
-<div class="line">    tm.r[0].w = x;</div>
-<div class="line">    tm.r[1].w = y;</div>
-<div class="line">    tm.r[2].w = z;</div>
-<div class="line"></div>
-<div class="line">    m4x4_multiply(&amp;om, mtx, &amp;tm);</div>
-<div class="line">    m4x4_copy(mtx, &amp;om);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_scale(matrix_4x4* mtx, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordtype">int</span> i;</div>
-<div class="line">    <span class="keywordflow">for</span> (i = 0; i &lt; 4; i ++)</div>
-<div class="line">    {</div>
-<div class="line">        mtx-&gt;r[i].x *= x;</div>
-<div class="line">        mtx-&gt;r[i].y *= y;</div>
-<div class="line">        mtx-&gt;r[i].z *= z;</div>
-<div class="line">    }</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_x(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 rm, om;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">float</span> cosAngle = cosf(angle);</div>
-<div class="line">    <span class="keywordtype">float</span> sinAngle = sinf(angle);</div>
-<div class="line"></div>
-<div class="line">    m4x4_zeros(&amp;rm);</div>
-<div class="line">    rm.r[0].x = 1.0f;</div>
-<div class="line">    rm.r[1].y = cosAngle;</div>
-<div class="line">    rm.r[1].z = sinAngle;</div>
-<div class="line">    rm.r[2].y = -sinAngle;</div>
-<div class="line">    rm.r[2].z = cosAngle;</div>
-<div class="line">    rm.r[3].w = 1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordflow">if</span> (bRightSide) m4x4_multiply(&amp;om, mtx, &amp;rm);</div>
-<div class="line">    <span class="keywordflow">else</span>            m4x4_multiply(&amp;om, &amp;rm, mtx);</div>
-<div class="line">    m4x4_copy(mtx, &amp;om);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_y(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 rm, om;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">float</span> cosAngle = cosf(angle);</div>
-<div class="line">    <span class="keywordtype">float</span> sinAngle = sinf(angle);</div>
-<div class="line"></div>
-<div class="line">    m4x4_zeros(&amp;rm);</div>
-<div class="line">    rm.r[0].x = cosAngle;</div>
-<div class="line">    rm.r[0].z = sinAngle;</div>
-<div class="line">    rm.r[1].y = 1.0f;</div>
-<div class="line">    rm.r[2].x = -sinAngle;</div>
-<div class="line">    rm.r[2].z = cosAngle;</div>
-<div class="line">    rm.r[3].w = 1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordflow">if</span> (bRightSide) m4x4_multiply(&amp;om, mtx, &amp;rm);</div>
-<div class="line">    <span class="keywordflow">else</span>            m4x4_multiply(&amp;om, &amp;rm, mtx);</div>
-<div class="line">    m4x4_copy(mtx, &amp;om);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_z(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 rm, om;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">float</span> cosAngle = cosf(angle);</div>
-<div class="line">    <span class="keywordtype">float</span> sinAngle = sinf(angle);</div>
-<div class="line"></div>
-<div class="line">    m4x4_zeros(&amp;rm);</div>
-<div class="line">    rm.r[0].x = cosAngle;</div>
-<div class="line">    rm.r[0].y = sinAngle;</div>
-<div class="line">    rm.r[1].x = -sinAngle;</div>
-<div class="line">    rm.r[1].y = cosAngle;</div>
-<div class="line">    rm.r[2].z = 1.0f;</div>
-<div class="line">    rm.r[3].w = 1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordflow">if</span> (bRightSide) m4x4_multiply(&amp;om, mtx, &amp;rm);</div>
-<div class="line">    <span class="keywordflow">else</span>            m4x4_multiply(&amp;om, &amp;rm, mtx);</div>
-<div class="line">    m4x4_copy(mtx, &amp;om);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_ortho_tilt(matrix_4x4* mtx, <span class="keywordtype">float</span> left, <span class="keywordtype">float</span> right, <span class="keywordtype">float</span> bottom, <span class="keywordtype">float</span> top, <span class="keywordtype">float</span> near, <span class="keywordtype">float</span> far)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 mp;</div>
-<div class="line">    m4x4_zeros(&amp;mp);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Build standard orthogonal projection matrix</span></div>
-<div class="line">    mp.r[0].x = 2.0f / (right - left);</div>
-<div class="line">    mp.r[0].w = (left + right) / (left - right);</div>
-<div class="line">    mp.r[1].y = 2.0f / (top - bottom);</div>
-<div class="line">    mp.r[1].w = (bottom + top) / (bottom - top);</div>
-<div class="line">    mp.r[2].z = 2.0f / (near - far);</div>
-<div class="line">    mp.r[2].w = (far + near) / (far - near);</div>
-<div class="line">    mp.r[3].w = 1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Fix depth range to [-1, 0]</span></div>
-<div class="line">    matrix_4x4 mp2, mp3;</div>
-<div class="line">    m4x4_identity(&amp;mp2);</div>
-<div class="line">    mp2.r[2].z = 0.5;</div>
-<div class="line">    mp2.r[2].w = -0.5;</div>
-<div class="line">    m4x4_multiply(&amp;mp3, &amp;mp2, &amp;mp);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Fix the 3DS screens&#39; orientation by swapping the X and Y axis</span></div>
-<div class="line">    m4x4_identity(&amp;mp2);</div>
-<div class="line">    mp2.r[0].x = 0.0;</div>
-<div class="line">    mp2.r[0].y = 1.0;</div>
-<div class="line">    mp2.r[1].x = -1.0; <span class="comment">// flipped</span></div>
-<div class="line">    mp2.r[1].y = 0.0;</div>
-<div class="line">    m4x4_multiply(mtx, &amp;mp2, &amp;mp3);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_persp_tilt(matrix_4x4* mtx, <span class="keywordtype">float</span> fovx, <span class="keywordtype">float</span> invaspect, <span class="keywordtype">float</span> near, <span class="keywordtype">float</span> far)</div>
-<div class="line">{</div>
-<div class="line">    <span class="comment">// Notes:</span></div>
-<div class="line">    <span class="comment">// We are passed &quot;fovy&quot; and the &quot;aspect ratio&quot;. However, the 3DS screens are sideways,</span></div>
-<div class="line">    <span class="comment">// and so are these parameters -- in fact, they are actually the fovx and the inverse</span></div>
-<div class="line">    <span class="comment">// of the aspect ratio. Therefore the formula for the perspective projection matrix</span></div>
-<div class="line">    <span class="comment">// had to be modified to be expressed in these terms instead.</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Notes:</span></div>
-<div class="line">    <span class="comment">// fovx = 2 atan(tan(fovy/2)*w/h)</span></div>
-<div class="line">    <span class="comment">// fovy = 2 atan(tan(fovx/2)*h/w)</span></div>
-<div class="line">    <span class="comment">// invaspect = h/w</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// a0,0 = h / (w*tan(fovy/2)) =</span></div>
-<div class="line">    <span class="comment">//      = h / (w*tan(2 atan(tan(fovx/2)*h/w) / 2)) =</span></div>
-<div class="line">    <span class="comment">//      = h / (w*tan( atan(tan(fovx/2)*h/w) )) =</span></div>
-<div class="line">    <span class="comment">//      = h / (w * tan(fovx/2)*h/w) =</span></div>
-<div class="line">    <span class="comment">//      = 1 / tan(fovx/2)</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// a1,1 = 1 / tan(fovy/2) = (...) = w / (h*tan(fovx/2))</span></div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">float</span> fovx_tan = tanf(fovx / 2);</div>
-<div class="line">    matrix_4x4 mp;</div>
-<div class="line">    m4x4_zeros(&amp;mp);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Build standard perspective projection matrix</span></div>
-<div class="line">    mp.r[0].x = 1.0f / fovx_tan;</div>
-<div class="line">    mp.r[1].y = 1.0f / (fovx_tan*invaspect);</div>
-<div class="line">    mp.r[2].z = (near + far) / (near - far);</div>
-<div class="line">    mp.r[2].w = (2 * near * far) / (near - far);</div>
-<div class="line">    mp.r[3].z = -1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Fix depth range to [-1, 0]</span></div>
-<div class="line">    matrix_4x4 mp2;</div>
-<div class="line">    m4x4_identity(&amp;mp2);</div>
-<div class="line">    mp2.r[2].z = 0.5;</div>
-<div class="line">    mp2.r[2].w = -0.5;</div>
-<div class="line">    m4x4_multiply(mtx, &amp;mp2, &amp;mp);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Rotate the matrix one quarter of a turn CCW in order to fix the 3DS screens&#39; orientation</span></div>
-<div class="line">    m4x4_rotate_z(mtx, M_PI / 2, <span class="keyword">true</span>);</div>
-<div class="line">}</div>
-</div><!-- fragment --><p> graphics/gpu/simple_tri/source/vshader.pica </p><div class="fragment"><div class="line">; Example PICA200 vertex shader</div>
-<div class="line"></div>
-<div class="line">; Uniforms</div>
-<div class="line">.fvec projection[4]</div>
-<div class="line"></div>
-<div class="line">; Constants</div>
-<div class="line">.constf myconst(0.0, 1.0, -1.0, -0.5)</div>
-<div class="line">.alias  zeros myconst.xxxx ; Vector full of zeros</div>
-<div class="line">.alias  ones  myconst.yyyy ; Vector full of ones</div>
-<div class="line"></div>
-<div class="line">; Outputs</div>
-<div class="line">.out outpos position</div>
-<div class="line">.out outclr color</div>
-<div class="line"></div>
-<div class="line">; Inputs (defined as aliases for convenience)</div>
-<div class="line">.alias inpos v0</div>
-<div class="line"></div>
-<div class="line">.proc main</div>
-<div class="line">    ; Force the w component of inpos to be 1.0</div>
-<div class="line">    mov r0.xyz, inpos</div>
-<div class="line">    mov r0.w,   ones</div>
-<div class="line"></div>
-<div class="line">    ; outpos = projectionMatrix * inpos</div>
-<div class="line">    dp4 outpos.x, projection[0], r0</div>
-<div class="line">    dp4 outpos.y, projection[1], r0</div>
-<div class="line">    dp4 outpos.z, projection[2], r0</div>
-<div class="line">    dp4 outpos.w, projection[3], r0</div>
-<div class="line"></div>
-<div class="line">    ; outclr = solid white color</div>
-<div class="line">    mov outclr, ones</div>
-<div class="line"></div>
-<div class="line">    ; We&#39;re finished</div>
-<div class="line">    end</div>
-<div class="line">.end</div>
-</div><!-- fragment --><div class="fragment"><div class="line"><span class="comment">/*</span></div>
-<div class="line"><span class="comment"> * ~~ Simple libctru GPU triangle example ~~</span></div>
-<div class="line"><span class="comment"> * This example demonstrates the basics of using the PICA200 in a 3DS homebrew</span></div>
-<div class="line"><span class="comment"> * application in order to render a basic scene consisting of a white solid triangle.</span></div>
-<div class="line"><span class="comment"> */</span></div>
-<div class="line"></div>
-<div class="line"><span class="preprocessor">#include &quot;<a class="code" href="gpu_8h.html">gpu.h</a>&quot;</span></div>
-<div class="line"><span class="preprocessor">#include &quot;vshader_shbin.h&quot;</span></div>
-<div class="line"></div>
-<div class="line"><span class="preprocessor">#define CLEAR_COLOR 0x68B0D8FF</span></div>
-<div class="line"></div>
 <div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{ <span class="keywordtype">float</span> x, y, z; } vertex;</div>
 <div class="line"></div>
 <div class="line"><span class="keyword">static</span> <span class="keyword">const</span> vertex vertex_list[] =</div>
@@ -485,113 +104,109 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"></div>
 <div class="line"><span class="preprocessor">#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))</span></div>
 <div class="line"></div>
-<div class="line"><span class="keyword">static</span> <a name="_a47"></a><a class="code" href="structDVLB__s.html">DVLB_s</a>* vshader_dvlb;</div>
-<div class="line"><span class="keyword">static</span> <a name="_a48"></a><a class="code" href="structshaderProgram__s.html">shaderProgram_s</a> program;</div>
+<div class="line"><span class="keyword">static</span> <a name="_a0"></a><a class="code" href="structDVLB__s.html">DVLB_s</a>* vshader_dvlb;</div>
+<div class="line"><span class="keyword">static</span> <a name="_a1"></a><a class="code" href="structshaderProgram__s.html">shaderProgram_s</a> program;</div>
 <div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span> uLoc_projection;</div>
-<div class="line"><span class="keyword">static</span> matrix_4x4 projection;</div>
+<div class="line"><span class="keyword">static</span> C3D_Mtx projection;</div>
 <div class="line"></div>
 <div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span>* vbo_data;</div>
 <div class="line"></div>
 <div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneInit(<span class="keywordtype">void</span>)</div>
 <div class="line">{</div>
-<div class="line">    <span class="comment">// Load the vertex shader and create a shader program</span></div>
-<div class="line">    vshader_dvlb = <a name="a49"></a><a class="code" href="shbin_8h.html#afd50bf30516e9e3acffd3b62cd061cb0">DVLB_ParseFile</a>((<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)vshader_shbin, vshader_shbin_size);</div>
-<div class="line">    <a name="a50"></a><a class="code" href="shaderProgram_8h.html#a4907e3572c644efe27c130a8c37bddf0">shaderProgramInit</a>(&amp;program);</div>
-<div class="line">    <a name="a51"></a><a class="code" href="shaderProgram_8h.html#a3ca416a2e6bc3c2aaae1895435e8452c">shaderProgramSetVsh</a>(&amp;program, &amp;vshader_dvlb-&gt;<a name="a52"></a><a class="code" href="structDVLB__s.html#a1934abe9c4109579746d57c5b20b5834">DVLE</a>[0]);</div>
+<div class="line">    <span class="comment">// Load the vertex shader, create a shader program and bind it</span></div>
+<div class="line">    vshader_dvlb = <a name="a2"></a><a class="code" href="shbin_8h.html#afd50bf30516e9e3acffd3b62cd061cb0">DVLB_ParseFile</a>((<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)vshader_shbin, vshader_shbin_size);</div>
+<div class="line">    <a name="a3"></a><a class="code" href="shaderProgram_8h.html#a4907e3572c644efe27c130a8c37bddf0">shaderProgramInit</a>(&amp;program);</div>
+<div class="line">    <a name="a4"></a><a class="code" href="shaderProgram_8h.html#a3ca416a2e6bc3c2aaae1895435e8452c">shaderProgramSetVsh</a>(&amp;program, &amp;vshader_dvlb-&gt;<a name="a5"></a><a class="code" href="structDVLB__s.html#a1934abe9c4109579746d57c5b20b5834">DVLE</a>[0]);</div>
+<div class="line">    C3D_BindProgram(&amp;program);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Get the location of the uniforms</span></div>
+<div class="line">    uLoc_projection = <a name="a6"></a><a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a name="a7"></a><a class="code" href="structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0">vertexShader</a>, <span class="stringliteral">&quot;projection&quot;</span>);</div>
 <div class="line"></div>
-<div class="line">    <span class="comment">// Get the location of the projection matrix uniform</span></div>
-<div class="line">    uLoc_projection = <a name="a53"></a><a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a name="a54"></a><a class="code" href="structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0">vertexShader</a>, <span class="stringliteral">&quot;projection&quot;</span>);</div>
+<div class="line">    <span class="comment">// Configure attributes for use with the vertex shader</span></div>
+<div class="line">    C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();</div>
+<div class="line">    AttrInfo_Init(attrInfo);</div>
+<div class="line">    AttrInfo_AddLoader(attrInfo, 0, <a name="a8"></a><a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>, 3); <span class="comment">// v0=position</span></div>
+<div class="line">    AttrInfo_AddFixed(attrInfo, 1); <span class="comment">// v1=color</span></div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Set the fixed attribute (color) to solid white</span></div>
+<div class="line">    C3D_FixedAttribSet(1, 1.0, 1.0, 1.0, 1.0);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Compute the projection matrix</span></div>
-<div class="line">    m4x4_ortho_tilt(&amp;projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0);</div>
+<div class="line">    Mtx_OrthoTilt(&amp;projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Create the VBO (vertex buffer object)</span></div>
-<div class="line">    vbo_data = <a class="code" href="linear_8h.html#a73a6bd0b398a08f695e16e07267a7424">linearAlloc</a>(<span class="keyword">sizeof</span>(vertex_list));</div>
+<div class="line">    vbo_data = <a name="a9"></a><a class="code" href="linear_8h.html#a73a6bd0b398a08f695e16e07267a7424">linearAlloc</a>(<span class="keyword">sizeof</span>(vertex_list));</div>
 <div class="line">    memcpy(vbo_data, vertex_list, <span class="keyword">sizeof</span>(vertex_list));</div>
-<div class="line">}</div>
 <div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneRender(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    <span class="comment">// Bind the shader program</span></div>
-<div class="line">    <a name="a55"></a><a class="code" href="shaderProgram_8h.html#a29749780857245eb8860fe1bda3bcc97">shaderProgramUse</a>(&amp;program);</div>
+<div class="line">    <span class="comment">// Configure buffers</span></div>
+<div class="line">    C3D_BufInfo* bufInfo = C3D_GetBufInfo();</div>
+<div class="line">    BufInfo_Init(bufInfo);</div>
+<div class="line">    BufInfo_Add(bufInfo, vbo_data, <span class="keyword">sizeof</span>(vertex), 1, 0x0);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Configure the first fragment shading substage to just pass through the vertex color</span></div>
 <div class="line">    <span class="comment">// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight</span></div>
-<div class="line">    <a class="code" href="gpu-old_8h.html#a7b61022c85fa068574fd6b61d55f9530">GPU_SetTexEnv</a>(0,</div>
-<div class="line">        <a class="code" href="enums_8h.html#abb62754733c37a8490767fd8e004b903">GPU_TEVSOURCES</a>(<a name="a56"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>, <a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>, <a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>), <span class="comment">// RGB channels</span></div>
-<div class="line">        <a class="code" href="enums_8h.html#abb62754733c37a8490767fd8e004b903">GPU_TEVSOURCES</a>(<a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>, <a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>, <a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>), <span class="comment">// Alpha</span></div>
-<div class="line">        <a class="code" href="enums_8h.html#a4f2c9311619707a1276457d94b06a983">GPU_TEVOPERANDS</a>(0, 0, 0), <span class="comment">// RGB</span></div>
-<div class="line">        <a class="code" href="enums_8h.html#a4f2c9311619707a1276457d94b06a983">GPU_TEVOPERANDS</a>(0, 0, 0), <span class="comment">// Alpha</span></div>
-<div class="line">        <a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11">GPU_REPLACE</a>, <a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11">GPU_REPLACE</a>, <span class="comment">// RGB, Alpha</span></div>
-<div class="line">        0xFFFFFFFF);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Configure the &quot;attribute buffers&quot; (that is, the vertex input buffers)</span></div>
-<div class="line">    <a name="a57"></a><a class="code" href="gpu-old_8h.html#ac81475073183a797d1e723770f5cf6b4">GPU_SetAttributeBuffers</a>(</div>
-<div class="line">        1, <span class="comment">// Number of inputs per vertex</span></div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)<a class="code" href="os_8h.html#ad5be83050dcdaf4ba7824a2afd420866">osConvertVirtToPhys</a>((<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>)vbo_data), <span class="comment">// Location of the VBO</span></div>
-<div class="line">        <a name="a58"></a><a class="code" href="enums_8h.html#aaa7337c142b909e470bbf1ce3c8e9e03">GPU_ATTRIBFMT</a>(0, 3, <a name="a59"></a><a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>), <span class="comment">// Format of the inputs (in this case the only input is a 3-element float vector)</span></div>
-<div class="line">        0xFFE, <span class="comment">// Unused attribute mask, in our case bit 0 is cleared since it is used</span></div>
-<div class="line">        0x0, <span class="comment">// Attribute permutations (here it is the identity)</span></div>
-<div class="line">        1, <span class="comment">// Number of buffers</span></div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>[]) { 0x0 }, <span class="comment">// Buffer offsets (placeholders)</span></div>
-<div class="line">        (<a class="code" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>[]) { 0x0 }, <span class="comment">// Attribute permutations for each buffer (identity again)</span></div>
-<div class="line">        (<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>[])  { 1 }); <span class="comment">// Number of attributes for each buffer</span></div>
+<div class="line">    C3D_TexEnv* env = C3D_GetTexEnv(0);</div>
+<div class="line">    C3D_TexEnvSrc(env, C3D_Both, <a name="a10"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>, 0, 0);</div>
+<div class="line">    C3D_TexEnvOp(env, C3D_Both, 0, 0, 0);</div>
+<div class="line">    C3D_TexEnvFunc(env, C3D_Both, <a name="a11"></a><a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11">GPU_REPLACE</a>);</div>
+<div class="line">}</div>
 <div class="line"></div>
-<div class="line">    <span class="comment">// Upload the projection matrix</span></div>
-<div class="line">    GPU_SetFloatUniformMatrix(<a name="a60"></a><a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_projection, &amp;projection);</div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneRender(<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
+<div class="line">    <span class="comment">// Update the uniforms</span></div>
+<div class="line">    C3D_FVUnifMtx4x4(<a name="a12"></a><a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_projection, &amp;projection);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Draw the VBO</span></div>
-<div class="line">    <a name="a61"></a><a class="code" href="gpu-old_8h.html#a4aecce954e20dee2e37e2e774361e9dd">GPU_DrawArray</a>(<a name="a62"></a><a class="code" href="enums_8h.html#a94bdee50fa003d70dd3888f347397806abee71ba286bcf6b5222049ac7beb2d8b">GPU_TRIANGLES</a>, 0, vertex_list_count);</div>
+<div class="line">    C3D_DrawArrays(<a name="a13"></a><a class="code" href="enums_8h.html#a94bdee50fa003d70dd3888f347397806abee71ba286bcf6b5222049ac7beb2d8b">GPU_TRIANGLES</a>, 0, vertex_list_count);</div>
 <div class="line">}</div>
 <div class="line"></div>
 <div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneExit(<span class="keywordtype">void</span>)</div>
 <div class="line">{</div>
 <div class="line">    <span class="comment">// Free the VBO</span></div>
-<div class="line">    <a class="code" href="linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2">linearFree</a>(vbo_data);</div>
+<div class="line">    <a name="a14"></a><a class="code" href="linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2">linearFree</a>(vbo_data);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Free the shader program</span></div>
-<div class="line">    <a name="a63"></a><a class="code" href="shaderProgram_8h.html#a57cbd903975f5ccce6169159f89714d8">shaderProgramFree</a>(&amp;program);</div>
-<div class="line">    <a name="a64"></a><a class="code" href="shbin_8h.html#a60c02d561312081aefb2096f2b005643">DVLB_Free</a>(vshader_dvlb);</div>
+<div class="line">    <a name="a15"></a><a class="code" href="shaderProgram_8h.html#a57cbd903975f5ccce6169159f89714d8">shaderProgramFree</a>(&amp;program);</div>
+<div class="line">    <a name="a16"></a><a class="code" href="shbin_8h.html#a60c02d561312081aefb2096f2b005643">DVLB_Free</a>(vshader_dvlb);</div>
 <div class="line">}</div>
 <div class="line"></div>
 <div class="line"><span class="keywordtype">int</span> main()</div>
 <div class="line">{</div>
 <div class="line">    <span class="comment">// Initialize graphics</span></div>
-<div class="line">    <a name="a65"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
-<div class="line">    gpuInit();</div>
+<div class="line">    <a name="a17"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
+<div class="line">    C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Initialize the render target</span></div>
+<div class="line">    C3D_RenderTarget* target = C3D_RenderTargetCreate(240, 400, <a name="a18"></a><a class="code" href="enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa17f2a0c3889f7e34d720d818a61030b4">GPU_RB_RGBA8</a>, <a name="a19"></a><a class="code" href="enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3eaaa31fb7049df6c69198111e309210720">GPU_RB_DEPTH24_STENCIL8</a>);</div>
+<div class="line">    C3D_RenderTargetSetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);</div>
+<div class="line">    C3D_RenderTargetSetOutput(target, <a name="a20"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a name="a21"></a><a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a>, DISPLAY_TRANSFER_FLAGS);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Initialize the scene</span></div>
 <div class="line">    sceneInit();</div>
-<div class="line">    gpuClearBuffers(CLEAR_COLOR);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Main loop</span></div>
-<div class="line">    <span class="keywordflow">while</span> (<a name="a66"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>())</div>
+<div class="line">    <span class="keywordflow">while</span> (<a name="a22"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>())</div>
 <div class="line">    {</div>
-<div class="line">        <a name="a67"></a><a class="code" href="gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45">gspWaitForVBlank</a>();  <span class="comment">// Synchronize with the start of VBlank</span></div>
-<div class="line">        <a name="a68"></a><a class="code" href="gfx_8h.html#a3306df28835a647734cf8e299f041527">gfxSwapBuffersGpu</a>(); <span class="comment">// Swap the framebuffers so that the frame that we rendered last frame is now visible</span></div>
-<div class="line">        <a name="a69"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();      <span class="comment">// Read the user input</span></div>
+<div class="line">        <a name="a23"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();</div>
 <div class="line"></div>
 <div class="line">        <span class="comment">// Respond to user input</span></div>
-<div class="line">        <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a70"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
-<div class="line">        <span class="keywordflow">if</span> (kDown &amp; <a name="a71"></a><a class="code" href="hid_8h.html#aaf8fd5f0e57d456151c951e0f3715fc4a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
+<div class="line">        <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a24"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
+<div class="line">        <span class="keywordflow">if</span> (kDown &amp; <a name="a25"></a><a class="code" href="hid_8h.html#aaf8fd5f0e57d456151c951e0f3715fc4a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
 <div class="line">            <span class="keywordflow">break</span>; <span class="comment">// break in order to return to hbmenu</span></div>
 <div class="line"></div>
 <div class="line">        <span class="comment">// Render the scene</span></div>
-<div class="line">        gpuFrameBegin();</div>
-<div class="line">        sceneRender();</div>
-<div class="line">        gpuFrameEnd();</div>
-<div class="line">        gpuClearBuffers(CLEAR_COLOR);</div>
-<div class="line"></div>
-<div class="line">        <span class="comment">// Flush the framebuffers out of the data cache (not necessary with pure GPU rendering)</span></div>
-<div class="line">        <span class="comment">//gfxFlushBuffers();</span></div>
+<div class="line">        C3D_FrameBegin(C3D_FRAME_SYNCDRAW);</div>
+<div class="line">            C3D_FrameDrawOn(target);</div>
+<div class="line">            sceneRender();</div>
+<div class="line">        C3D_FrameEnd(0);</div>
 <div class="line">    }</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Deinitialize the scene</span></div>
 <div class="line">    sceneExit();</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Deinitialize graphics</span></div>
-<div class="line">    gpuExit();</div>
-<div class="line">    <a name="a72"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
+<div class="line">    C3D_Fini();</div>
+<div class="line">    <a name="a26"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
 <div class="line">    <span class="keywordflow">return</span> 0;</div>
 <div class="line">}</div>
 </div><!-- fragment --> </div><!-- contents -->
index b554c002f6f1ba5d8c1b6632314f7db822c6a321..871547b888368dbfd3ca6f22f300b01b584859a6 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -81,458 +81,19 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="title">graphics/gpu/textured_cube/source/main.c</div>  </div>
 </div><!--header-->
 <div class="contents">
-<p>graphics/gpu/textured_cube/source/gpu.h </p><div class="fragment"><div class="line"><span class="comment">/*</span></div>
-<div class="line"><span class="comment"> * Bare-bones simplistic GPU wrapper</span></div>
-<div class="line"><span class="comment"> * This library is common to all libctru GPU examples</span></div>
-<div class="line"><span class="comment"> */</span></div>
-<div class="line"></div>
-<div class="line"><span class="preprocessor">#pragma once</span></div>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="3ds_8h.html">3ds.h</a>&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &lt;citro3d.h&gt;</span></div>
 <div class="line"><span class="preprocessor">#include &lt;string.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="3ds_8h.html">3ds.h</a>&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &quot;3dmath.h&quot;</span></div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuInit(<span class="keywordtype">void</span>);</div>
-<div class="line"><span class="keywordtype">void</span> gpuExit(<span class="keywordtype">void</span>);</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuClearBuffers(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> clearColor);</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuFrameBegin(<span class="keywordtype">void</span>);</div>
-<div class="line"><span class="keywordtype">void</span> gpuFrameEnd(<span class="keywordtype">void</span>);</div>
-<div class="line"></div>
-<div class="line"><span class="comment">// Configures the specified fixed-function fragment shading substage to be a no-operation</span></div>
-<div class="line"><span class="keywordtype">void</span> GPU_SetDummyTexEnv(<span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div>
+<div class="line"><span class="preprocessor">#include &quot;vshader_shbin.h&quot;</span></div>
+<div class="line"><span class="preprocessor">#include &quot;kitten_bin.h&quot;</span></div>
 <div class="line"></div>
-<div class="line"><span class="comment">// Uploads an uniform matrix</span></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> GPU_SetFloatUniformMatrix(<a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5">GPU_SHADER_TYPE</a> type, <span class="keywordtype">int</span> location, matrix_4x4* matrix)</div>
-<div class="line">{</div>
-<div class="line">    <a name="a0"></a><a class="code" href="gpu-old_8h.html#af18a38db985563a54813c2ebf86d6509">GPU_SetFloatUniform</a>(type, location, (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)matrix, 4);</div>
-<div class="line">}</div>
-</div><!-- fragment --><p> graphics/gpu/textured_cube/source/gpu.c </p><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="gpu_8h.html">gpu.h</a>&quot;</span></div>
+<div class="line"><span class="preprocessor">#define CLEAR_COLOR 0x68B0D8FF</span></div>
 <div class="line"></div>
 <div class="line"><span class="preprocessor">#define DISPLAY_TRANSFER_FLAGS \</span></div>
 <div class="line"><span class="preprocessor">    (GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \</span></div>
 <div class="line"><span class="preprocessor">    GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \</span></div>
 <div class="line"><span class="preprocessor">    GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))</span></div>
 <div class="line"></div>
-<div class="line"><span class="keyword">static</span> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *colorBuf, *depthBuf;</div>
-<div class="line"><span class="keyword">static</span> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *cmdBuf;</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuInit(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    colorBuf = <a name="a1"></a><a class="code" href="vram_8h.html#a00b84b8d38c127d8af9a89b9b7e2a5a4">vramAlloc</a>(400*240*4);</div>
-<div class="line">    depthBuf = <a class="code" href="vram_8h.html#a00b84b8d38c127d8af9a89b9b7e2a5a4">vramAlloc</a>(400*240*4);</div>
-<div class="line">    cmdBuf = <a name="a2"></a><a class="code" href="linear_8h.html#a73a6bd0b398a08f695e16e07267a7424">linearAlloc</a>(0x40000*4);</div>
-<div class="line"></div>
-<div class="line">    <a name="a3"></a><a class="code" href="gpu-old_8h.html#a921bb00def7171c1936fa50c6e464fba">GPU_Init</a>(NULL);</div>
-<div class="line">    <a name="a4"></a><a class="code" href="gpu-old_8h.html#a896e2be6136bb62909be966cc74eeb4d">GPU_Reset</a>(NULL, cmdBuf, 0x40000);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuExit(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    <a name="a5"></a><a class="code" href="linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2">linearFree</a>(cmdBuf);</div>
-<div class="line">    <a name="a6"></a><a class="code" href="vram_8h.html#a867318cde93cdd997588d6dcbfc584e1">vramFree</a>(depthBuf);</div>
-<div class="line">    <a class="code" href="vram_8h.html#a867318cde93cdd997588d6dcbfc584e1">vramFree</a>(colorBuf);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuClearBuffers(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> clearColor)</div>
-<div class="line">{</div>
-<div class="line">    <a name="a7"></a><a class="code" href="gx_8h.html#aa6e39b328383930b64eaa230bc9bc6a0">GX_MemoryFill</a>(</div>
-<div class="line">        colorBuf, clearColor, &amp;colorBuf[240*400], <a name="a8"></a><a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd">GX_FILL_TRIGGER</a> | <a name="a9"></a><a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d">GX_FILL_32BIT_DEPTH</a>,</div>
-<div class="line">        depthBuf, 0,          &amp;depthBuf[240*400], <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd">GX_FILL_TRIGGER</a> | <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d">GX_FILL_32BIT_DEPTH</a>);</div>
-<div class="line">    <a name="a10"></a><a class="code" href="gspgpu_8h.html#a704e891a5d988f4964c24dc2b8bac787">gspWaitForPSC0</a>(); <span class="comment">// Wait for the fill to complete</span></div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuFrameBegin(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    <span class="comment">// Configure the viewport and the depth linear conversion function</span></div>
-<div class="line">    <a name="a11"></a><a class="code" href="gpu-old_8h.html#aba80c2d6e88cb75263de89a2d059e230">GPU_SetViewport</a>(</div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)<a name="a12"></a><a class="code" href="os_8h.html#ad5be83050dcdaf4ba7824a2afd420866">osConvertVirtToPhys</a>(depthBuf),</div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)<a class="code" href="os_8h.html#ad5be83050dcdaf4ba7824a2afd420866">osConvertVirtToPhys</a>(colorBuf),</div>
-<div class="line">        0, 0, 240, 400); <span class="comment">// The top screen is physically 240x400 pixels</span></div>
-<div class="line">    <a name="a13"></a><a class="code" href="gpu-old_8h.html#a8b8de4eb721e55913ad0641c64fbaa75">GPU_DepthMap</a>(-1.0f, 0.0f); <span class="comment">// calculate the depth value from the Z coordinate in the following way: -1.0*z + 0.0</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Configure some boilerplate</span></div>
-<div class="line">    <a name="a14"></a><a class="code" href="gpu-old_8h.html#a717ac338a87549c36a9d70f5c1d7a077">GPU_SetFaceCulling</a>(<a name="a15"></a><a class="code" href="enums_8h.html#aded31eec5d2f72ea5c6141f24d8a0174a5f4f59f8f711f0bcfa9ca8b87f169ee0">GPU_CULL_BACK_CCW</a>);</div>
-<div class="line">    <a name="a16"></a><a class="code" href="gpu-old_8h.html#abc687b8c34463fd1ceacd64dab6c078e">GPU_SetStencilTest</a>(<span class="keyword">false</span>, <a name="a17"></a><a class="code" href="enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a2021d04562bc3b47a305c57dff840c2e">GPU_ALWAYS</a>, 0x00, 0xFF, 0x00);</div>
-<div class="line">    <a name="a18"></a><a class="code" href="gpu-old_8h.html#aa2512e6c918e4ce998899d589a20dc2b">GPU_SetStencilOp</a>(<a name="a19"></a><a class="code" href="enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a2ef8af6e032c0cd8613259aef01f0477">GPU_STENCIL_KEEP</a>, <a class="code" href="enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a2ef8af6e032c0cd8613259aef01f0477">GPU_STENCIL_KEEP</a>, <a class="code" href="enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a2ef8af6e032c0cd8613259aef01f0477">GPU_STENCIL_KEEP</a>);</div>
-<div class="line">    <a name="a20"></a><a class="code" href="gpu-old_8h.html#a2ead0a88519b4197e13c6ce8e138d6c7">GPU_SetBlendingColor</a>(0,0,0,0);</div>
-<div class="line">    <a name="a21"></a><a class="code" href="gpu-old_8h.html#a8c32fb10ed5457b2e3a9273db61187d3">GPU_SetDepthTestAndWriteMask</a>(<span class="keyword">true</span>, <a name="a22"></a><a class="code" href="enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a939d397eee5556dccc012bddfd0dd46a">GPU_GREATER</a>, <a name="a23"></a><a class="code" href="enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3ae6311b606a2db6df1e7358ad79e297a0">GPU_WRITE_ALL</a>);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// This is unknown</span></div>
-<div class="line">    <a name="a24"></a><a class="code" href="gpu_8h.html#a9042ca3f0e361abe2a2ede7206376cb5">GPUCMD_AddMaskedWrite</a>(GPUREG_0062, 0x1, 0);</div>
-<div class="line">    <a name="a25"></a><a class="code" href="gpu_8h.html#a1251c8456a0f92b49eecbe2c21f0a9a0">GPUCMD_AddWrite</a>(GPUREG_0118, 0);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Configure alpha blending and test</span></div>
-<div class="line">    <a name="a26"></a><a class="code" href="gpu-old_8h.html#ac9bf249df1e7a27a56a4e57c81d19e1c">GPU_SetAlphaBlending</a>(<a name="a27"></a><a class="code" href="enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5a39318f81ae768d8a6119e7965a11bd50">GPU_BLEND_ADD</a>, <a class="code" href="enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5a39318f81ae768d8a6119e7965a11bd50">GPU_BLEND_ADD</a>, <a name="a28"></a><a class="code" href="enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1af2ec416dc4e7e8562e61d5f7963e8a36">GPU_SRC_ALPHA</a>, <a name="a29"></a><a class="code" href="enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a7bf978d71679e5507689e4570d3d85b2">GPU_ONE_MINUS_SRC_ALPHA</a>, <a class="code" href="enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1af2ec416dc4e7e8562e61d5f7963e8a36">GPU_SRC_ALPHA</a>, <a class="code" href="enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a7bf978d71679e5507689e4570d3d85b2">GPU_ONE_MINUS_SRC_ALPHA</a>);</div>
-<div class="line">    <a name="a30"></a><a class="code" href="gpu-old_8h.html#aec1714fa8c2684020ab10a4da8e784e0">GPU_SetAlphaTest</a>(<span class="keyword">false</span>, <a class="code" href="enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a2021d04562bc3b47a305c57dff840c2e">GPU_ALWAYS</a>, 0x00);</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">int</span> i;</div>
-<div class="line">    <span class="keywordflow">for</span> (i = 0; i &lt; 6; i ++)</div>
-<div class="line">        GPU_SetDummyTexEnv(i);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> gpuFrameEnd(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    <span class="comment">// Finish rendering</span></div>
-<div class="line">    <a name="a31"></a><a class="code" href="gpu-old_8h.html#a0c6bf377d3b218402cca69bb16778fd5">GPU_FinishDrawing</a>();</div>
-<div class="line">    <a name="a32"></a><a class="code" href="gpu_8h.html#a418b5471dc141d47267cbc9b8facc4a3">GPUCMD_Finalize</a>();</div>
-<div class="line">    <a name="a33"></a><a class="code" href="gpu_8h.html#a7a806155f4e52af7775737d45d9342d5">GPUCMD_FlushAndRun</a>();</div>
-<div class="line">    <a name="a34"></a><a class="code" href="gspgpu_8h.html#aba84a82e0137f5dc7a5c9d0ece41d9b7">gspWaitForP3D</a>(); <span class="comment">// Wait for the rendering to complete</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Transfer the GPU output to the framebuffer</span></div>
-<div class="line">    <a name="a35"></a><a class="code" href="gx_8h.html#a4de1f2c27d7984b8cf5b93c8913a499b">GX_DisplayTransfer</a>(</div>
-<div class="line">        colorBuf, <a name="a36"></a><a class="code" href="gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc">GX_BUFFER_DIM</a>(240, 400),</div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)<a name="a37"></a><a class="code" href="gfx_8h.html#a332447352568e250a75397a1b2e452db">gfxGetFramebuffer</a>(<a name="a38"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a name="a39"></a><a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a>, NULL, NULL), <a class="code" href="gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc">GX_BUFFER_DIM</a>(240, 400),</div>
-<div class="line">        DISPLAY_TRANSFER_FLAGS);</div>
-<div class="line">    <a name="a40"></a><a class="code" href="gspgpu_8h.html#a2f2aca81b76a88b6ebb121ec54f76b7e">gspWaitForPPF</a>(); <span class="comment">// Wait for the transfer to complete</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Reset the command buffer</span></div>
-<div class="line">    <a name="a41"></a><a class="code" href="gpu_8h.html#a42142a7ec0fd6ac9941d454f7e18415a">GPUCMD_SetBufferOffset</a>(0);</div>
-<div class="line">};</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> GPU_SetDummyTexEnv(<span class="keywordtype">int</span> <span class="keywordtype">id</span>)</div>
-<div class="line">{</div>
-<div class="line">    <a name="a42"></a><a class="code" href="gpu-old_8h.html#a7b61022c85fa068574fd6b61d55f9530">GPU_SetTexEnv</a>(<span class="keywordtype">id</span>,</div>
-<div class="line">        <a name="a43"></a><a class="code" href="enums_8h.html#abb62754733c37a8490767fd8e004b903">GPU_TEVSOURCES</a>(<a name="a44"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a1b960db2c45d309c5e4d9c899d051936">GPU_PREVIOUS</a>, 0, 0),</div>
-<div class="line">        <a class="code" href="enums_8h.html#abb62754733c37a8490767fd8e004b903">GPU_TEVSOURCES</a>(<a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a1b960db2c45d309c5e4d9c899d051936">GPU_PREVIOUS</a>, 0, 0),</div>
-<div class="line">        <a name="a45"></a><a class="code" href="enums_8h.html#a4f2c9311619707a1276457d94b06a983">GPU_TEVOPERANDS</a>(0, 0, 0),</div>
-<div class="line">        <a class="code" href="enums_8h.html#a4f2c9311619707a1276457d94b06a983">GPU_TEVOPERANDS</a>(0, 0, 0),</div>
-<div class="line">        <a name="a46"></a><a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11">GPU_REPLACE</a>,</div>
-<div class="line">        <a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11">GPU_REPLACE</a>,</div>
-<div class="line">        0xFFFFFFFF);</div>
-<div class="line">}</div>
-</div><!-- fragment --><p> graphics/gpu/textured_cube/source/3dmath.h </p><div class="fragment"><div class="line"><span class="comment">/*</span></div>
-<div class="line"><span class="comment"> * Bare-bones simplistic 3D math library</span></div>
-<div class="line"><span class="comment"> * This library is common to all libctru GPU examples</span></div>
-<div class="line"><span class="comment"> */</span></div>
-<div class="line"></div>
-<div class="line"><span class="preprocessor">#pragma once</span></div>
-<div class="line"><span class="preprocessor">#include &lt;string.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
-<div class="line"><span class="preprocessor">#include &lt;math.h&gt;</span></div>
-<div class="line"></div>
-<div class="line"><span class="keyword">typedef</span> <span class="keyword">union </span>{ <span class="keyword">struct </span>{ <span class="keywordtype">float</span> w, z, y, x; }; <span class="keywordtype">float</span> c[4]; } vector_4f;</div>
-<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{ vector_4f r[4]; } matrix_4x4;</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">float</span> v4f_dp4(<span class="keyword">const</span> vector_4f* a, <span class="keyword">const</span> vector_4f* b)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordflow">return</span> a-&gt;x*b-&gt;x + a-&gt;y*b-&gt;y + a-&gt;z*b-&gt;z + a-&gt;w*b-&gt;w;</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">float</span> v4f_mod4(<span class="keyword">const</span> vector_4f* a)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordflow">return</span> sqrtf(v4f_dp4(a,a));</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> v4f_norm4(vector_4f* vec)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordtype">float</span> m = v4f_mod4(vec);</div>
-<div class="line">    <span class="keywordflow">if</span> (m == 0.0) <span class="keywordflow">return</span>;</div>
-<div class="line">    vec-&gt;x /= m;</div>
-<div class="line">    vec-&gt;y /= m;</div>
-<div class="line">    vec-&gt;z /= m;</div>
-<div class="line">    vec-&gt;w /= m;</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> m4x4_zeros(matrix_4x4* out)</div>
-<div class="line">{</div>
-<div class="line">    memset(out, 0, <span class="keyword">sizeof</span>(*out));</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> m4x4_copy(matrix_4x4* out, <span class="keyword">const</span> matrix_4x4* in)</div>
-<div class="line">{</div>
-<div class="line">    memcpy(out, in, <span class="keyword">sizeof</span>(*out));</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_identity(matrix_4x4* out);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_multiply(matrix_4x4* out, <span class="keyword">const</span> matrix_4x4* a, <span class="keyword">const</span> matrix_4x4* b);</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_translate(matrix_4x4* mtx, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_scale(matrix_4x4* mtx, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z);</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_x(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_y(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_z(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide);</div>
-<div class="line"></div>
-<div class="line"><span class="comment">// Special versions of the projection matrices that take the 3DS&#39; screen orientation into account</span></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_ortho_tilt(matrix_4x4* mtx, <span class="keywordtype">float</span> left, <span class="keywordtype">float</span> right, <span class="keywordtype">float</span> bottom, <span class="keywordtype">float</span> top, <span class="keywordtype">float</span> near, <span class="keywordtype">float</span> far);</div>
-<div class="line"><span class="keywordtype">void</span> m4x4_persp_tilt(matrix_4x4* mtx, <span class="keywordtype">float</span> fovy, <span class="keywordtype">float</span> aspect, <span class="keywordtype">float</span> near, <span class="keywordtype">float</span> far);</div>
-</div><!-- fragment --><p> graphics/gpu/textured_cube/source/3dmath.c </p><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;3dmath.h&quot;</span></div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_identity(matrix_4x4* out)</div>
-<div class="line">{</div>
-<div class="line">    m4x4_zeros(out);</div>
-<div class="line">    out-&gt;r[0].x = out-&gt;r[1].y = out-&gt;r[2].z = out-&gt;r[3].w = 1.0f;</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_multiply(matrix_4x4* out, <span class="keyword">const</span> matrix_4x4* a, <span class="keyword">const</span> matrix_4x4* b)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordtype">int</span> i, j;</div>
-<div class="line">    <span class="keywordflow">for</span> (i = 0; i &lt; 4; i ++)</div>
-<div class="line">        <span class="keywordflow">for</span> (j = 0; j &lt; 4; j ++)</div>
-<div class="line">            out-&gt;r[j].c[i] = a-&gt;r[j].x*b-&gt;r[0].c[i] + a-&gt;r[j].y*b-&gt;r[1].c[i] + a-&gt;r[j].z*b-&gt;r[2].c[i] + a-&gt;r[j].w*b-&gt;r[3].c[i];</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_translate(matrix_4x4* mtx, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 tm, om;</div>
-<div class="line"></div>
-<div class="line">    m4x4_identity(&amp;tm);</div>
-<div class="line">    tm.r[0].w = x;</div>
-<div class="line">    tm.r[1].w = y;</div>
-<div class="line">    tm.r[2].w = z;</div>
-<div class="line"></div>
-<div class="line">    m4x4_multiply(&amp;om, mtx, &amp;tm);</div>
-<div class="line">    m4x4_copy(mtx, &amp;om);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_scale(matrix_4x4* mtx, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z)</div>
-<div class="line">{</div>
-<div class="line">    <span class="keywordtype">int</span> i;</div>
-<div class="line">    <span class="keywordflow">for</span> (i = 0; i &lt; 4; i ++)</div>
-<div class="line">    {</div>
-<div class="line">        mtx-&gt;r[i].x *= x;</div>
-<div class="line">        mtx-&gt;r[i].y *= y;</div>
-<div class="line">        mtx-&gt;r[i].z *= z;</div>
-<div class="line">    }</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_x(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 rm, om;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">float</span> cosAngle = cosf(angle);</div>
-<div class="line">    <span class="keywordtype">float</span> sinAngle = sinf(angle);</div>
-<div class="line"></div>
-<div class="line">    m4x4_zeros(&amp;rm);</div>
-<div class="line">    rm.r[0].x = 1.0f;</div>
-<div class="line">    rm.r[1].y = cosAngle;</div>
-<div class="line">    rm.r[1].z = sinAngle;</div>
-<div class="line">    rm.r[2].y = -sinAngle;</div>
-<div class="line">    rm.r[2].z = cosAngle;</div>
-<div class="line">    rm.r[3].w = 1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordflow">if</span> (bRightSide) m4x4_multiply(&amp;om, mtx, &amp;rm);</div>
-<div class="line">    <span class="keywordflow">else</span>            m4x4_multiply(&amp;om, &amp;rm, mtx);</div>
-<div class="line">    m4x4_copy(mtx, &amp;om);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_y(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 rm, om;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">float</span> cosAngle = cosf(angle);</div>
-<div class="line">    <span class="keywordtype">float</span> sinAngle = sinf(angle);</div>
-<div class="line"></div>
-<div class="line">    m4x4_zeros(&amp;rm);</div>
-<div class="line">    rm.r[0].x = cosAngle;</div>
-<div class="line">    rm.r[0].z = sinAngle;</div>
-<div class="line">    rm.r[1].y = 1.0f;</div>
-<div class="line">    rm.r[2].x = -sinAngle;</div>
-<div class="line">    rm.r[2].z = cosAngle;</div>
-<div class="line">    rm.r[3].w = 1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordflow">if</span> (bRightSide) m4x4_multiply(&amp;om, mtx, &amp;rm);</div>
-<div class="line">    <span class="keywordflow">else</span>            m4x4_multiply(&amp;om, &amp;rm, mtx);</div>
-<div class="line">    m4x4_copy(mtx, &amp;om);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_rotate_z(matrix_4x4* mtx, <span class="keywordtype">float</span> angle, <span class="keywordtype">bool</span> bRightSide)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 rm, om;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">float</span> cosAngle = cosf(angle);</div>
-<div class="line">    <span class="keywordtype">float</span> sinAngle = sinf(angle);</div>
-<div class="line"></div>
-<div class="line">    m4x4_zeros(&amp;rm);</div>
-<div class="line">    rm.r[0].x = cosAngle;</div>
-<div class="line">    rm.r[0].y = sinAngle;</div>
-<div class="line">    rm.r[1].x = -sinAngle;</div>
-<div class="line">    rm.r[1].y = cosAngle;</div>
-<div class="line">    rm.r[2].z = 1.0f;</div>
-<div class="line">    rm.r[3].w = 1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="keywordflow">if</span> (bRightSide) m4x4_multiply(&amp;om, mtx, &amp;rm);</div>
-<div class="line">    <span class="keywordflow">else</span>            m4x4_multiply(&amp;om, &amp;rm, mtx);</div>
-<div class="line">    m4x4_copy(mtx, &amp;om);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_ortho_tilt(matrix_4x4* mtx, <span class="keywordtype">float</span> left, <span class="keywordtype">float</span> right, <span class="keywordtype">float</span> bottom, <span class="keywordtype">float</span> top, <span class="keywordtype">float</span> near, <span class="keywordtype">float</span> far)</div>
-<div class="line">{</div>
-<div class="line">    matrix_4x4 mp;</div>
-<div class="line">    m4x4_zeros(&amp;mp);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Build standard orthogonal projection matrix</span></div>
-<div class="line">    mp.r[0].x = 2.0f / (right - left);</div>
-<div class="line">    mp.r[0].w = (left + right) / (left - right);</div>
-<div class="line">    mp.r[1].y = 2.0f / (top - bottom);</div>
-<div class="line">    mp.r[1].w = (bottom + top) / (bottom - top);</div>
-<div class="line">    mp.r[2].z = 2.0f / (near - far);</div>
-<div class="line">    mp.r[2].w = (far + near) / (far - near);</div>
-<div class="line">    mp.r[3].w = 1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Fix depth range to [-1, 0]</span></div>
-<div class="line">    matrix_4x4 mp2, mp3;</div>
-<div class="line">    m4x4_identity(&amp;mp2);</div>
-<div class="line">    mp2.r[2].z = 0.5;</div>
-<div class="line">    mp2.r[2].w = -0.5;</div>
-<div class="line">    m4x4_multiply(&amp;mp3, &amp;mp2, &amp;mp);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Fix the 3DS screens&#39; orientation by swapping the X and Y axis</span></div>
-<div class="line">    m4x4_identity(&amp;mp2);</div>
-<div class="line">    mp2.r[0].x = 0.0;</div>
-<div class="line">    mp2.r[0].y = 1.0;</div>
-<div class="line">    mp2.r[1].x = -1.0; <span class="comment">// flipped</span></div>
-<div class="line">    mp2.r[1].y = 0.0;</div>
-<div class="line">    m4x4_multiply(mtx, &amp;mp2, &amp;mp3);</div>
-<div class="line">}</div>
-<div class="line"></div>
-<div class="line"><span class="keywordtype">void</span> m4x4_persp_tilt(matrix_4x4* mtx, <span class="keywordtype">float</span> fovx, <span class="keywordtype">float</span> invaspect, <span class="keywordtype">float</span> near, <span class="keywordtype">float</span> far)</div>
-<div class="line">{</div>
-<div class="line">    <span class="comment">// Notes:</span></div>
-<div class="line">    <span class="comment">// We are passed &quot;fovy&quot; and the &quot;aspect ratio&quot;. However, the 3DS screens are sideways,</span></div>
-<div class="line">    <span class="comment">// and so are these parameters -- in fact, they are actually the fovx and the inverse</span></div>
-<div class="line">    <span class="comment">// of the aspect ratio. Therefore the formula for the perspective projection matrix</span></div>
-<div class="line">    <span class="comment">// had to be modified to be expressed in these terms instead.</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Notes:</span></div>
-<div class="line">    <span class="comment">// fovx = 2 atan(tan(fovy/2)*w/h)</span></div>
-<div class="line">    <span class="comment">// fovy = 2 atan(tan(fovx/2)*h/w)</span></div>
-<div class="line">    <span class="comment">// invaspect = h/w</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// a0,0 = h / (w*tan(fovy/2)) =</span></div>
-<div class="line">    <span class="comment">//      = h / (w*tan(2 atan(tan(fovx/2)*h/w) / 2)) =</span></div>
-<div class="line">    <span class="comment">//      = h / (w*tan( atan(tan(fovx/2)*h/w) )) =</span></div>
-<div class="line">    <span class="comment">//      = h / (w * tan(fovx/2)*h/w) =</span></div>
-<div class="line">    <span class="comment">//      = 1 / tan(fovx/2)</span></div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// a1,1 = 1 / tan(fovy/2) = (...) = w / (h*tan(fovx/2))</span></div>
-<div class="line"></div>
-<div class="line">    <span class="keywordtype">float</span> fovx_tan = tanf(fovx / 2);</div>
-<div class="line">    matrix_4x4 mp;</div>
-<div class="line">    m4x4_zeros(&amp;mp);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Build standard perspective projection matrix</span></div>
-<div class="line">    mp.r[0].x = 1.0f / fovx_tan;</div>
-<div class="line">    mp.r[1].y = 1.0f / (fovx_tan*invaspect);</div>
-<div class="line">    mp.r[2].z = (near + far) / (near - far);</div>
-<div class="line">    mp.r[2].w = (2 * near * far) / (near - far);</div>
-<div class="line">    mp.r[3].z = -1.0f;</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Fix depth range to [-1, 0]</span></div>
-<div class="line">    matrix_4x4 mp2;</div>
-<div class="line">    m4x4_identity(&amp;mp2);</div>
-<div class="line">    mp2.r[2].z = 0.5;</div>
-<div class="line">    mp2.r[2].w = -0.5;</div>
-<div class="line">    m4x4_multiply(mtx, &amp;mp2, &amp;mp);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Rotate the matrix one quarter of a turn CCW in order to fix the 3DS screens&#39; orientation</span></div>
-<div class="line">    m4x4_rotate_z(mtx, M_PI / 2, <span class="keyword">true</span>);</div>
-<div class="line">}</div>
-</div><!-- fragment --><p> graphics/gpu/textured_cube/source/vshader.pica </p><div class="fragment"><div class="line">; Example PICA200 vertex shader</div>
-<div class="line"></div>
-<div class="line">; Uniforms</div>
-<div class="line">.fvec projection[4], modelView[4]</div>
-<div class="line">.fvec lightVec, lightHalfVec, lightClr, material[4]</div>
-<div class="line">.alias mat_amb material[0]</div>
-<div class="line">.alias mat_dif material[1]</div>
-<div class="line">.alias mat_spe material[2]</div>
-<div class="line">.alias mat_emi material[3]</div>
-<div class="line"></div>
-<div class="line">; Constants</div>
-<div class="line">.constf myconst(0.0, 1.0, -1.0, -0.5)</div>
-<div class="line">.alias  zeros myconst.xxxx ; Vector full of zeros</div>
-<div class="line">.alias  ones  myconst.yyyy ; Vector full of ones</div>
-<div class="line"></div>
-<div class="line">; Outputs</div>
-<div class="line">.out outpos position</div>
-<div class="line">.out outtc0 texcoord0</div>
-<div class="line">.out outclr color</div>
-<div class="line"></div>
-<div class="line">; Inputs (defined as aliases for convenience)</div>
-<div class="line">.alias inpos v0</div>
-<div class="line">.alias intex v1</div>
-<div class="line">.alias innrm v2</div>
-<div class="line"></div>
-<div class="line">.proc main</div>
-<div class="line">    ; Force the w component of inpos to be 1.0</div>
-<div class="line">    mov r0.xyz, inpos</div>
-<div class="line">    mov r0.w,   ones</div>
-<div class="line"></div>
-<div class="line">    ; r1 = modelView * inpos</div>
-<div class="line">    dp4 r1.x, modelView[0], r0</div>
-<div class="line">    dp4 r1.y, modelView[1], r0</div>
-<div class="line">    dp4 r1.z, modelView[2], r0</div>
-<div class="line">    dp4 r1.w, modelView[3], r0</div>
-<div class="line"></div>
-<div class="line">    ; outpos = projection * r1</div>
-<div class="line">    dp4 outpos.x, projection[0], r1</div>
-<div class="line">    dp4 outpos.y, projection[1], r1</div>
-<div class="line">    dp4 outpos.z, projection[2], r1</div>
-<div class="line">    dp4 outpos.w, projection[3], r1</div>
-<div class="line"></div>
-<div class="line">    ; outtex = intex</div>
-<div class="line">    mov outtc0, intex</div>
-<div class="line"></div>
-<div class="line">    ; Transform the normal vector with the modelView matrix</div>
-<div class="line">    ; r1 = normalize(modelView * innrm)</div>
-<div class="line">    mov r0.xyz, innrm</div>
-<div class="line">    mov r0.w,   zeros</div>
-<div class="line">    dp4 r1.x,   modelView[0], r0</div>
-<div class="line">    dp4 r1.y,   modelView[1], r0</div>
-<div class="line">    dp4 r1.z,   modelView[2], r0</div>
-<div class="line">    mov r1.w,   zeros</div>
-<div class="line">    dp3 r2,     r1, r1 ; r2 = x^2+y^2+z^2 for each component</div>
-<div class="line">    rsq r2,     r2     ; r2 = 1/sqrt(r2)  &#39;&#39;</div>
-<div class="line">    mul r1,     r2, r1 ; r1 = r1*r2</div>
-<div class="line"></div>
-<div class="line">    ; Calculate the diffuse level (r0.x) and the shininess level (r0.y)</div>
-<div class="line">    ; r0.x = max(0, -(lightVec * r1))</div>
-<div class="line">    ; r0.y = max(0, (-lightHalfVec[i]) * r1) ^ 2</div>
-<div class="line">    dp3 r0.x, lightVec,      r1</div>
-<div class="line">    add r0.x, zeros,         -r0</div>
-<div class="line">    dp3 r0.y, -lightHalfVec, r1</div>
-<div class="line">    max r0,   zeros,         r0</div>
-<div class="line">    mul r0.y, r0,            r0</div>
-<div class="line"></div>
-<div class="line">    ; Accumulate the vertex color in r1, initializing it to the emission color</div>
-<div class="line">    mov r1, mat_emi</div>
-<div class="line"></div>
-<div class="line">    ; r1 += specularColor * lightClr * shininessLevel</div>
-<div class="line">    mul r2, lightClr, r0.yyyy</div>
-<div class="line">    mul r2, mat_spe,  r2</div>
-<div class="line">    add r1, r2,       r1</div>
-<div class="line"></div>
-<div class="line">    ; r1 += diffuseColor * lightClr * diffuseLevel</div>
-<div class="line">    mul r2, lightClr, r0.xxxx</div>
-<div class="line">    mul r2, mat_dif,  r2</div>
-<div class="line">    add r1, r2,       r1</div>
-<div class="line"></div>
-<div class="line">    ; r1 += ambientColor * lightClr</div>
-<div class="line">    mov r2, lightClr</div>
-<div class="line">    mul r2, mat_amb, r2</div>
-<div class="line">    add r1, r2,      r1</div>
-<div class="line">    </div>
-<div class="line">    ; outclr = clamp r1 to [0,1]</div>
-<div class="line">    min outclr, ones, r1</div>
-<div class="line"></div>
-<div class="line">    ; We&#39;re finished</div>
-<div class="line">    end</div>
-<div class="line">.end</div>
-</div><!-- fragment --><div class="fragment"><div class="line"><span class="comment">/*</span></div>
-<div class="line"><span class="comment"> * ~~ Simple libctru GPU textured cube example ~~</span></div>
-<div class="line"><span class="comment"> * This example demonstrates the basics of using the PICA200 in a 3DS homebrew</span></div>
-<div class="line"><span class="comment"> * application in order to render a basic scene consisting of a rotating</span></div>
-<div class="line"><span class="comment"> * textured cube which is also shaded using a simple shading algorithm.</span></div>
-<div class="line"><span class="comment"> * The shading algorithm is explained in the vertex shader source code.</span></div>
-<div class="line"><span class="comment"> */</span></div>
-<div class="line"></div>
-<div class="line"><span class="preprocessor">#include &quot;<a class="code" href="gpu_8h.html">gpu.h</a>&quot;</span></div>
-<div class="line"><span class="preprocessor">#include &quot;vshader_shbin.h&quot;</span></div>
-<div class="line"><span class="preprocessor">#include &quot;kitten_bin.h&quot;</span></div>
-<div class="line"></div>
-<div class="line"><span class="preprocessor">#define CLEAR_COLOR 0x68B0D8FF</span></div>
-<div class="line"></div>
 <div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>{ <span class="keywordtype">float</span> position[3]; <span class="keywordtype">float</span> texcoord[2]; <span class="keywordtype">float</span> normal[3]; } vertex;</div>
 <div class="line"></div>
 <div class="line"><span class="keyword">static</span> <span class="keyword">const</span> vertex vertex_list[] =</div>
@@ -600,12 +161,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"></div>
 <div class="line"><span class="preprocessor">#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))</span></div>
 <div class="line"></div>
-<div class="line"><span class="keyword">static</span> <a name="_a47"></a><a class="code" href="structDVLB__s.html">DVLB_s</a>* vshader_dvlb;</div>
-<div class="line"><span class="keyword">static</span> <a name="_a48"></a><a class="code" href="structshaderProgram__s.html">shaderProgram_s</a> program;</div>
+<div class="line"><span class="keyword">static</span> <a name="_a0"></a><a class="code" href="structDVLB__s.html">DVLB_s</a>* vshader_dvlb;</div>
+<div class="line"><span class="keyword">static</span> <a name="_a1"></a><a class="code" href="structshaderProgram__s.html">shaderProgram_s</a> program;</div>
 <div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span> uLoc_projection, uLoc_modelView;</div>
 <div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span> uLoc_lightVec, uLoc_lightHalfVec, uLoc_lightClr, uLoc_material;</div>
-<div class="line"><span class="keyword">static</span> matrix_4x4 projection;</div>
-<div class="line"><span class="keyword">static</span> matrix_4x4 material =</div>
+<div class="line"><span class="keyword">static</span> C3D_Mtx projection;</div>
+<div class="line"><span class="keyword">static</span> C3D_Mtx material =</div>
 <div class="line">{</div>
 <div class="line">    {</div>
 <div class="line">    { { 0.0f, 0.2f, 0.2f, 0.2f } }, <span class="comment">// Ambient</span></div>
@@ -616,151 +177,134 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line">};</div>
 <div class="line"></div>
 <div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span>* vbo_data;</div>
-<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span>* tex_data;</div>
+<div class="line"><span class="keyword">static</span> C3D_Tex kitten_tex;</div>
 <div class="line"><span class="keyword">static</span> <span class="keywordtype">float</span> angleX = 0.0, angleY = 0.0;</div>
 <div class="line"></div>
 <div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneInit(<span class="keywordtype">void</span>)</div>
 <div class="line">{</div>
-<div class="line">    <span class="comment">// Load the vertex shader and create a shader program</span></div>
-<div class="line">    vshader_dvlb = <a name="a49"></a><a class="code" href="shbin_8h.html#afd50bf30516e9e3acffd3b62cd061cb0">DVLB_ParseFile</a>((<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)vshader_shbin, vshader_shbin_size);</div>
-<div class="line">    <a name="a50"></a><a class="code" href="shaderProgram_8h.html#a4907e3572c644efe27c130a8c37bddf0">shaderProgramInit</a>(&amp;program);</div>
-<div class="line">    <a name="a51"></a><a class="code" href="shaderProgram_8h.html#a3ca416a2e6bc3c2aaae1895435e8452c">shaderProgramSetVsh</a>(&amp;program, &amp;vshader_dvlb-&gt;<a name="a52"></a><a class="code" href="structDVLB__s.html#a1934abe9c4109579746d57c5b20b5834">DVLE</a>[0]);</div>
+<div class="line">    <span class="comment">// Load the vertex shader, create a shader program and bind it</span></div>
+<div class="line">    vshader_dvlb = <a name="a2"></a><a class="code" href="shbin_8h.html#afd50bf30516e9e3acffd3b62cd061cb0">DVLB_ParseFile</a>((<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)vshader_shbin, vshader_shbin_size);</div>
+<div class="line">    <a name="a3"></a><a class="code" href="shaderProgram_8h.html#a4907e3572c644efe27c130a8c37bddf0">shaderProgramInit</a>(&amp;program);</div>
+<div class="line">    <a name="a4"></a><a class="code" href="shaderProgram_8h.html#a3ca416a2e6bc3c2aaae1895435e8452c">shaderProgramSetVsh</a>(&amp;program, &amp;vshader_dvlb-&gt;<a name="a5"></a><a class="code" href="structDVLB__s.html#a1934abe9c4109579746d57c5b20b5834">DVLE</a>[0]);</div>
+<div class="line">    C3D_BindProgram(&amp;program);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Get the location of the uniforms</span></div>
-<div class="line">    uLoc_projection   = <a name="a53"></a><a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a name="a54"></a><a class="code" href="structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0">vertexShader</a>, <span class="stringliteral">&quot;projection&quot;</span>);</div>
+<div class="line">    uLoc_projection   = <a name="a6"></a><a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a name="a7"></a><a class="code" href="structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0">vertexShader</a>, <span class="stringliteral">&quot;projection&quot;</span>);</div>
 <div class="line">    uLoc_modelView    = <a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a class="code" href="structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0">vertexShader</a>, <span class="stringliteral">&quot;modelView&quot;</span>);</div>
 <div class="line">    uLoc_lightVec     = <a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a class="code" href="structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0">vertexShader</a>, <span class="stringliteral">&quot;lightVec&quot;</span>);</div>
 <div class="line">    uLoc_lightHalfVec = <a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a class="code" href="structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0">vertexShader</a>, <span class="stringliteral">&quot;lightHalfVec&quot;</span>);</div>
 <div class="line">    uLoc_lightClr     = <a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a class="code" href="structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0">vertexShader</a>, <span class="stringliteral">&quot;lightClr&quot;</span>);</div>
 <div class="line">    uLoc_material     = <a class="code" href="shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604">shaderInstanceGetUniformLocation</a>(program.<a class="code" href="structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0">vertexShader</a>, <span class="stringliteral">&quot;material&quot;</span>);</div>
 <div class="line"></div>
+<div class="line">    <span class="comment">// Configure attributes for use with the vertex shader</span></div>
+<div class="line">    C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();</div>
+<div class="line">    AttrInfo_Init(attrInfo);</div>
+<div class="line">    AttrInfo_AddLoader(attrInfo, 0, <a name="a8"></a><a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>, 3); <span class="comment">// v0=position</span></div>
+<div class="line">    AttrInfo_AddLoader(attrInfo, 1, <a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>, 2); <span class="comment">// v1=texcoord</span></div>
+<div class="line">    AttrInfo_AddLoader(attrInfo, 2, <a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>, 3); <span class="comment">// v2=normal</span></div>
+<div class="line"></div>
 <div class="line">    <span class="comment">// Compute the projection matrix</span></div>
-<div class="line">    m4x4_persp_tilt(&amp;projection, 80.0f*M_PI/180.0f, 400.0f/240.0f, 0.01f, 1000.0f);</div>
+<div class="line">    Mtx_PerspTilt(&amp;projection, 80.0f*M_PI/180.0f, 400.0f/240.0f, 0.01f, 1000.0f);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Create the VBO (vertex buffer object)</span></div>
-<div class="line">    vbo_data = <a class="code" href="linear_8h.html#a73a6bd0b398a08f695e16e07267a7424">linearAlloc</a>(<span class="keyword">sizeof</span>(vertex_list));</div>
+<div class="line">    vbo_data = <a name="a9"></a><a class="code" href="linear_8h.html#a73a6bd0b398a08f695e16e07267a7424">linearAlloc</a>(<span class="keyword">sizeof</span>(vertex_list));</div>
 <div class="line">    memcpy(vbo_data, vertex_list, <span class="keyword">sizeof</span>(vertex_list));</div>
 <div class="line"></div>
-<div class="line">    <span class="comment">// Load the texture</span></div>
-<div class="line">    tex_data = <a class="code" href="linear_8h.html#a73a6bd0b398a08f695e16e07267a7424">linearAlloc</a>(kitten_bin_size);</div>
-<div class="line">    memcpy(tex_data, kitten_bin, kitten_bin_size);</div>
-<div class="line">}</div>
+<div class="line">    <span class="comment">// Configure buffers</span></div>
+<div class="line">    C3D_BufInfo* bufInfo = C3D_GetBufInfo();</div>
+<div class="line">    BufInfo_Init(bufInfo);</div>
+<div class="line">    BufInfo_Add(bufInfo, vbo_data, <span class="keyword">sizeof</span>(vertex), 3, 0x210);</div>
 <div class="line"></div>
-<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneRender(<span class="keywordtype">void</span>)</div>
-<div class="line">{</div>
-<div class="line">    <span class="comment">// Bind the shader program</span></div>
-<div class="line">    <a name="a55"></a><a class="code" href="shaderProgram_8h.html#a29749780857245eb8860fe1bda3bcc97">shaderProgramUse</a>(&amp;program);</div>
+<div class="line">    <span class="comment">// Load the texture and bind it to the first texture unit</span></div>
+<div class="line">    C3D_TexInit(&amp;kitten_tex, 64, 64, <a name="a10"></a><a class="code" href="enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99faff51f393b902dd545e863c24679bccd2">GPU_RGBA8</a>);</div>
+<div class="line">    C3D_TexUpload(&amp;kitten_tex, kitten_bin);</div>
+<div class="line">    C3D_TexSetFilter(&amp;kitten_tex, <a name="a11"></a><a class="code" href="enums_8h.html#a2c76780b7ff5d323daf30ea310fbc8c4a18f85af3bd3785e9463dae917436cb6f">GPU_LINEAR</a>, <a name="a12"></a><a class="code" href="enums_8h.html#a2c76780b7ff5d323daf30ea310fbc8c4a916807475bc96900be35e0b8035845d0">GPU_NEAREST</a>);</div>
+<div class="line">    C3D_TexBind(0, &amp;kitten_tex);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Configure the first fragment shading substage to blend the texture color with</span></div>
 <div class="line">    <span class="comment">// the vertex color (calculated by the vertex shader using a lighting algorithm)</span></div>
 <div class="line">    <span class="comment">// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight</span></div>
-<div class="line">    <a class="code" href="gpu-old_8h.html#a7b61022c85fa068574fd6b61d55f9530">GPU_SetTexEnv</a>(0,</div>
-<div class="line">        <a class="code" href="enums_8h.html#abb62754733c37a8490767fd8e004b903">GPU_TEVSOURCES</a>(<a name="a56"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0ab6436a8677bfb947fd2c085d95eb2cd0">GPU_TEXTURE0</a>, <a name="a57"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>, <a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>), <span class="comment">// RGB channels</span></div>
-<div class="line">        <a class="code" href="enums_8h.html#abb62754733c37a8490767fd8e004b903">GPU_TEVSOURCES</a>(<a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0ab6436a8677bfb947fd2c085d95eb2cd0">GPU_TEXTURE0</a>, <a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>, <a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>), <span class="comment">// Alpha</span></div>
-<div class="line">        <a class="code" href="enums_8h.html#a4f2c9311619707a1276457d94b06a983">GPU_TEVOPERANDS</a>(0, 0, 0), <span class="comment">// RGB</span></div>
-<div class="line">        <a class="code" href="enums_8h.html#a4f2c9311619707a1276457d94b06a983">GPU_TEVOPERANDS</a>(0, 0, 0), <span class="comment">// Alpha</span></div>
-<div class="line">        <a name="a58"></a><a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0af18e74afecfedc6e3feca318e1d7dd21">GPU_MODULATE</a>, <a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0af18e74afecfedc6e3feca318e1d7dd21">GPU_MODULATE</a>, <span class="comment">// RGB, Alpha</span></div>
-<div class="line">        0xFFFFFFFF);</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Configure the first texture unit</span></div>
-<div class="line">    <a name="a59"></a><a class="code" href="gpu-old_8h.html#a8b0ca32b6fca3bb66b7c8f5c4c658d91">GPU_SetTextureEnable</a>(<a name="a60"></a><a class="code" href="enums_8h.html#a541188a9d9f32ee0f5c74b2742908cf5a0227367076a47599a3ebf7656ebfb95a">GPU_TEXUNIT0</a>);</div>
-<div class="line">    <a name="a61"></a><a class="code" href="gpu-old_8h.html#a4145b7accf26fb3295c6e950a6ec52c5">GPU_SetTexture</a>(</div>
-<div class="line">        <a class="code" href="enums_8h.html#a541188a9d9f32ee0f5c74b2742908cf5a0227367076a47599a3ebf7656ebfb95a">GPU_TEXUNIT0</a>,</div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)<a class="code" href="os_8h.html#ad5be83050dcdaf4ba7824a2afd420866">osConvertVirtToPhys</a>(tex_data),</div>
-<div class="line">        64, <span class="comment">// Width</span></div>
-<div class="line">        64, <span class="comment">// Height</span></div>
-<div class="line">        <a name="a62"></a><a class="code" href="enums_8h.html#a136a68611d2edcd5e875cbe6b2ffc14a">GPU_TEXTURE_MAG_FILTER</a>(<a name="a63"></a><a class="code" href="enums_8h.html#a2c76780b7ff5d323daf30ea310fbc8c4a18f85af3bd3785e9463dae917436cb6f">GPU_LINEAR</a>) | <a name="a64"></a><a class="code" href="enums_8h.html#a2df8e344fd803deccbe004a547fbb941">GPU_TEXTURE_WRAP_S</a>(<a name="a65"></a><a class="code" href="enums_8h.html#aca018b509809231470e5e3c3e907261da408167b5e23912ad858dc058be1f18b3">GPU_REPEAT</a>) | <a name="a66"></a><a class="code" href="enums_8h.html#aba218d9758b440166624d22b2c735fa2">GPU_TEXTURE_WRAP_T</a>(<a class="code" href="enums_8h.html#aca018b509809231470e5e3c3e907261da408167b5e23912ad858dc058be1f18b3">GPU_REPEAT</a>), <span class="comment">// Flags</span></div>
-<div class="line">        <a name="a67"></a><a class="code" href="enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99faff51f393b902dd545e863c24679bccd2">GPU_RGBA8</a> <span class="comment">// Pixel format</span></div>
-<div class="line">    );</div>
-<div class="line"></div>
-<div class="line">    <span class="comment">// Configure the &quot;attribute buffers&quot; (that is, the vertex input buffers)</span></div>
-<div class="line">    <a name="a68"></a><a class="code" href="gpu-old_8h.html#ac81475073183a797d1e723770f5cf6b4">GPU_SetAttributeBuffers</a>(</div>
-<div class="line">        3, <span class="comment">// Number of inputs per vertex</span></div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)<a class="code" href="os_8h.html#ad5be83050dcdaf4ba7824a2afd420866">osConvertVirtToPhys</a>(vbo_data), <span class="comment">// Location of the VBO</span></div>
-<div class="line">        <a name="a69"></a><a class="code" href="enums_8h.html#aaa7337c142b909e470bbf1ce3c8e9e03">GPU_ATTRIBFMT</a>(0, 3, <a name="a70"></a><a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>) | <span class="comment">// Format of the inputs</span></div>
-<div class="line">        <a class="code" href="enums_8h.html#aaa7337c142b909e470bbf1ce3c8e9e03">GPU_ATTRIBFMT</a>(1, 2, <a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>) |</div>
-<div class="line">        <a class="code" href="enums_8h.html#aaa7337c142b909e470bbf1ce3c8e9e03">GPU_ATTRIBFMT</a>(2, 3, <a class="code" href="enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246">GPU_FLOAT</a>),</div>
-<div class="line">        0xFFC, <span class="comment">// Unused attribute mask, in our case bits 0~2 are cleared since they are used</span></div>
-<div class="line">        0x210, <span class="comment">// Attribute permutations (here it is the identity, passing each attribute in order)</span></div>
-<div class="line">        1, <span class="comment">// Number of buffers</span></div>
-<div class="line">        (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>[]) { 0x0 }, <span class="comment">// Buffer offsets (placeholders)</span></div>
-<div class="line">        (<a class="code" href="types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>[]) { 0x210 }, <span class="comment">// Attribute permutations for each buffer (identity again)</span></div>
-<div class="line">        (<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>[])  { 3 }); <span class="comment">// Number of attributes for each buffer</span></div>
+<div class="line">    C3D_TexEnv* env = C3D_GetTexEnv(0);</div>
+<div class="line">    C3D_TexEnvSrc(env, C3D_Both, <a name="a13"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0ab6436a8677bfb947fd2c085d95eb2cd0">GPU_TEXTURE0</a>, <a name="a14"></a><a class="code" href="enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d">GPU_PRIMARY_COLOR</a>, 0);</div>
+<div class="line">    C3D_TexEnvOp(env, C3D_Both, 0, 0, 0);</div>
+<div class="line">    C3D_TexEnvFunc(env, C3D_Both, <a name="a15"></a><a class="code" href="enums_8h.html#a07c36c673c5ca75d946367821c8afdd0af18e74afecfedc6e3feca318e1d7dd21">GPU_MODULATE</a>);</div>
+<div class="line">}</div>
 <div class="line"></div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneRender(<span class="keywordtype">void</span>)</div>
+<div class="line">{</div>
 <div class="line">    <span class="comment">// Calculate the modelView matrix</span></div>
-<div class="line">    matrix_4x4 modelView;</div>
-<div class="line">    m4x4_identity(&amp;modelView);</div>
-<div class="line">    m4x4_translate(&amp;modelView, 0.0, 0.0, -2.0 + 0.5*sinf(angleX));</div>
-<div class="line">    m4x4_rotate_x(&amp;modelView, angleX, <span class="keyword">true</span>);</div>
-<div class="line">    m4x4_rotate_y(&amp;modelView, angleY, <span class="keyword">true</span>);</div>
+<div class="line">    C3D_Mtx modelView;</div>
+<div class="line">    Mtx_Identity(&amp;modelView);</div>
+<div class="line">    Mtx_Translate(&amp;modelView, 0.0, 0.0, -2.0 + 0.5*sinf(angleX));</div>
+<div class="line">    Mtx_RotateX(&amp;modelView, angleX, <span class="keyword">true</span>);</div>
+<div class="line">    Mtx_RotateY(&amp;modelView, angleY, <span class="keyword">true</span>);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Rotate the cube each frame</span></div>
 <div class="line">    angleX += M_PI / 180;</div>
 <div class="line">    angleY += M_PI / 360;</div>
 <div class="line"></div>
-<div class="line">    <span class="comment">// Upload the uniforms</span></div>
-<div class="line">    GPU_SetFloatUniformMatrix(<a name="a71"></a><a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_projection, &amp;projection);</div>
-<div class="line">    GPU_SetFloatUniformMatrix(<a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_modelView,  &amp;modelView);</div>
-<div class="line">    GPU_SetFloatUniformMatrix(<a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_material,   &amp;material);</div>
-<div class="line">    <a class="code" href="gpu-old_8h.html#af18a38db985563a54813c2ebf86d6509">GPU_SetFloatUniform</a>(<a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_lightVec,     (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)(<span class="keywordtype">float</span>[]){0.0f, -1.0f, 0.0f, 0.0f}, 1);</div>
-<div class="line">    <a class="code" href="gpu-old_8h.html#af18a38db985563a54813c2ebf86d6509">GPU_SetFloatUniform</a>(<a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_lightHalfVec, (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)(<span class="keywordtype">float</span>[]){0.0f, -1.0f, 0.0f, 0.0f}, 1);</div>
-<div class="line">    <a class="code" href="gpu-old_8h.html#af18a38db985563a54813c2ebf86d6509">GPU_SetFloatUniform</a>(<a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_lightClr,     (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)(<span class="keywordtype">float</span>[]){1.0f,  1.0f, 1.0f, 1.0f}, 1);</div>
+<div class="line">    <span class="comment">// Update the uniforms</span></div>
+<div class="line">    C3D_FVUnifMtx4x4(<a name="a16"></a><a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_projection, &amp;projection);</div>
+<div class="line">    C3D_FVUnifMtx4x4(<a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_modelView,  &amp;modelView);</div>
+<div class="line">    C3D_FVUnifMtx4x4(<a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_material,   &amp;material);</div>
+<div class="line">    C3D_FVUnifSet(<a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_lightVec,     0.0f, 0.0f, -1.0f, 0.0f);</div>
+<div class="line">    C3D_FVUnifSet(<a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_lightHalfVec, 0.0f, 0.0f, -1.0f, 0.0f);</div>
+<div class="line">    C3D_FVUnifSet(<a class="code" href="enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f">GPU_VERTEX_SHADER</a>, uLoc_lightClr,     1.0f, 1.0f,  1.0f, 1.0f);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Draw the VBO</span></div>
-<div class="line">    <a name="a72"></a><a class="code" href="gpu-old_8h.html#a4aecce954e20dee2e37e2e774361e9dd">GPU_DrawArray</a>(<a name="a73"></a><a class="code" href="enums_8h.html#a94bdee50fa003d70dd3888f347397806abee71ba286bcf6b5222049ac7beb2d8b">GPU_TRIANGLES</a>, 0, vertex_list_count);</div>
+<div class="line">    C3D_DrawArrays(<a name="a17"></a><a class="code" href="enums_8h.html#a94bdee50fa003d70dd3888f347397806abee71ba286bcf6b5222049ac7beb2d8b">GPU_TRIANGLES</a>, 0, vertex_list_count);</div>
 <div class="line">}</div>
 <div class="line"></div>
 <div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> sceneExit(<span class="keywordtype">void</span>)</div>
 <div class="line">{</div>
 <div class="line">    <span class="comment">// Free the texture</span></div>
-<div class="line">    <a class="code" href="linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2">linearFree</a>(tex_data);</div>
+<div class="line">    C3D_TexDelete(&amp;kitten_tex);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Free the VBO</span></div>
-<div class="line">    <a class="code" href="linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2">linearFree</a>(vbo_data);</div>
+<div class="line">    <a name="a18"></a><a class="code" href="linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2">linearFree</a>(vbo_data);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Free the shader program</span></div>
-<div class="line">    <a name="a74"></a><a class="code" href="shaderProgram_8h.html#a57cbd903975f5ccce6169159f89714d8">shaderProgramFree</a>(&amp;program);</div>
-<div class="line">    <a name="a75"></a><a class="code" href="shbin_8h.html#a60c02d561312081aefb2096f2b005643">DVLB_Free</a>(vshader_dvlb);</div>
+<div class="line">    <a name="a19"></a><a class="code" href="shaderProgram_8h.html#a57cbd903975f5ccce6169159f89714d8">shaderProgramFree</a>(&amp;program);</div>
+<div class="line">    <a name="a20"></a><a class="code" href="shbin_8h.html#a60c02d561312081aefb2096f2b005643">DVLB_Free</a>(vshader_dvlb);</div>
 <div class="line">}</div>
 <div class="line"></div>
 <div class="line"><span class="keywordtype">int</span> main()</div>
 <div class="line">{</div>
 <div class="line">    <span class="comment">// Initialize graphics</span></div>
-<div class="line">    <a name="a76"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
-<div class="line">    gpuInit();</div>
+<div class="line">    <a name="a21"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
+<div class="line">    C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);</div>
+<div class="line"></div>
+<div class="line">    <span class="comment">// Initialize the render target</span></div>
+<div class="line">    C3D_RenderTarget* target = C3D_RenderTargetCreate(240, 400, <a name="a22"></a><a class="code" href="enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa17f2a0c3889f7e34d720d818a61030b4">GPU_RB_RGBA8</a>, <a name="a23"></a><a class="code" href="enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3eaaa31fb7049df6c69198111e309210720">GPU_RB_DEPTH24_STENCIL8</a>);</div>
+<div class="line">    C3D_RenderTargetSetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);</div>
+<div class="line">    C3D_RenderTargetSetOutput(target, <a name="a24"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a name="a25"></a><a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a>, DISPLAY_TRANSFER_FLAGS);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Initialize the scene</span></div>
 <div class="line">    sceneInit();</div>
-<div class="line">    gpuClearBuffers(CLEAR_COLOR);</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Main loop</span></div>
-<div class="line">    <span class="keywordflow">while</span> (<a name="a77"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>())</div>
+<div class="line">    <span class="keywordflow">while</span> (<a name="a26"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>())</div>
 <div class="line">    {</div>
-<div class="line">        <a name="a78"></a><a class="code" href="gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45">gspWaitForVBlank</a>();  <span class="comment">// Synchronize with the start of VBlank</span></div>
-<div class="line">        <a name="a79"></a><a class="code" href="gfx_8h.html#a3306df28835a647734cf8e299f041527">gfxSwapBuffersGpu</a>(); <span class="comment">// Swap the framebuffers so that the frame that we rendered last frame is now visible</span></div>
-<div class="line">        <a name="a80"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();      <span class="comment">// Read the user input</span></div>
+<div class="line">        <a name="a27"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();</div>
 <div class="line"></div>
 <div class="line">        <span class="comment">// Respond to user input</span></div>
-<div class="line">        <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a81"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
-<div class="line">        <span class="keywordflow">if</span> (kDown &amp; <a name="a82"></a><a class="code" href="hid_8h.html#aaf8fd5f0e57d456151c951e0f3715fc4a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
+<div class="line">        <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a28"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
+<div class="line">        <span class="keywordflow">if</span> (kDown &amp; <a name="a29"></a><a class="code" href="hid_8h.html#aaf8fd5f0e57d456151c951e0f3715fc4a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
 <div class="line">            <span class="keywordflow">break</span>; <span class="comment">// break in order to return to hbmenu</span></div>
 <div class="line"></div>
 <div class="line">        <span class="comment">// Render the scene</span></div>
-<div class="line">        gpuFrameBegin();</div>
-<div class="line">        sceneRender();</div>
-<div class="line">        gpuFrameEnd();</div>
-<div class="line">        gpuClearBuffers(CLEAR_COLOR);</div>
-<div class="line"></div>
-<div class="line">        <span class="comment">// Flush the framebuffers out of the data cache (not necessary with pure GPU rendering)</span></div>
-<div class="line">        <span class="comment">//gfxFlushBuffers();</span></div>
+<div class="line">        C3D_FrameBegin(C3D_FRAME_SYNCDRAW);</div>
+<div class="line">            C3D_FrameDrawOn(target);</div>
+<div class="line">            sceneRender();</div>
+<div class="line">        C3D_FrameEnd(0);</div>
 <div class="line">    }</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Deinitialize the scene</span></div>
 <div class="line">    sceneExit();</div>
 <div class="line"></div>
 <div class="line">    <span class="comment">// Deinitialize graphics</span></div>
-<div class="line">    gpuExit();</div>
-<div class="line">    <a name="a83"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
+<div class="line">    C3D_Fini();</div>
+<div class="line">    <a name="a30"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
 <div class="line">    <span class="keywordflow">return</span> 0;</div>
 <div class="line">}</div>
 </div><!-- fragment --> </div><!-- contents -->
index b06d7f78158b88c3847ca309fb1fbc4616d99ca0..3c7accc3b03bc79da8caa57decc736987c25cf61 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 52625648e7ccabd128a17de81655d71c37d24ce0..991464cf5b4011b21353d4e310902f3d347cabe2 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index a277062b8ac4ab3f42e6b825d379dd29499de113..eb4be759b541af3dfc8d00fde08886c75ca6169f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 10160db9e306a40706606b9647288557456deeb3..b57d351a297bd5a531c05d129a778b973e614d9c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 1efbc81c922377b45c22ff47f0b95cb749cd97bd..489fe616d185075040c71d339b9c8e4e3ce280a1 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -199,6 +199,9 @@ Functions</h2></td></tr>
 void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gspgpu_8h.html#a1de71253d8f3e3ea0f504ab6cc621f98">gspExit</a> (void)</td></tr>
 <tr class="memdesc:a1de71253d8f3e3ea0f504ab6cc621f98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exits GSPGPU. <br /></td></tr>
 <tr class="separator:a1de71253d8f3e3ea0f504ab6cc621f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a38080f47e69bd240156ca043c7946b29"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gspgpu_8h.html#a38080f47e69bd240156ca043c7946b29">gspSetEventCallback</a> (<a class="el" href="gspgpu_8h.html#a02ba699764336c8df7f8910921d478cb">GSPGPU_Event</a> id, <a class="el" href="types_8h.html#a857e4e893f41191500e83c00058df64e">ThreadFunc</a> cb, void *data, bool oneShot)</td></tr>
+<tr class="memdesc:a38080f47e69bd240156ca043c7946b29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures a callback to run when a GSPGPU event occurs.  <a href="#a38080f47e69bd240156ca043c7946b29">More...</a><br /></td></tr>
+<tr class="separator:a38080f47e69bd240156ca043c7946b29"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa8b40b9b5550a1ed61528c05b586fb6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gspgpu_8h.html#aa8b40b9b5550a1ed61528c05b586fb6c">gspInitEventHandler</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> gspEvent, <a class="el" href="types_8h.html#a1a2a3100a902c32a55d8b08915bce044">vu8</a> *gspSharedMem, <a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> gspThreadId)</td></tr>
 <tr class="memdesc:aa8b40b9b5550a1ed61528c05b586fb6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the GSPGPU event handler.  <a href="#aa8b40b9b5550a1ed61528c05b586fb6c">More...</a><br /></td></tr>
 <tr class="separator:aa8b40b9b5550a1ed61528c05b586fb6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -209,6 +212,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gspg
 <tr class="memitem:a91a03ad378747bc554ff611742727958"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gspgpu_8h.html#a91a03ad378747bc554ff611742727958">gspWaitForEvent</a> (<a class="el" href="gspgpu_8h.html#a02ba699764336c8df7f8910921d478cb">GSPGPU_Event</a> id, bool nextEvent)</td></tr>
 <tr class="memdesc:a91a03ad378747bc554ff611742727958"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for a GSPGPU event to occur.  <a href="#a91a03ad378747bc554ff611742727958">More...</a><br /></td></tr>
 <tr class="separator:a91a03ad378747bc554ff611742727958"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7280943da0262bb75eacc779bf54be87"><td class="memItemLeft" align="right" valign="top"><a class="el" href="gspgpu_8h.html#a02ba699764336c8df7f8910921d478cb">GSPGPU_Event</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gspgpu_8h.html#a7280943da0262bb75eacc779bf54be87">gspWaitForAnyEvent</a> (void)</td></tr>
+<tr class="memdesc:a7280943da0262bb75eacc779bf54be87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for any GSPGPU event to occur.  <a href="#a7280943da0262bb75eacc779bf54be87">More...</a><br /></td></tr>
+<tr class="separator:a7280943da0262bb75eacc779bf54be87"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa4e931a0de3b33497503fc063127af0c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gspgpu_8h.html#aa4e931a0de3b33497503fc063127af0c">gspSubmitGxCommand</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *sharedGspCmdBuf, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> gxCommand[0x8])</td></tr>
 <tr class="memdesc:aa4e931a0de3b33497503fc063127af0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Submits a GX command.  <a href="#aa4e931a0de3b33497503fc063127af0c">More...</a><br /></td></tr>
 <tr class="separator:aa4e931a0de3b33497503fc063127af0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -394,7 +400,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gspg
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a24">audio/mic/source/main.c</a>, and <a class="el" href="mvd_2source_2main_8c-example.html#a5">mvd/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a24">audio/mic/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a11">graphics/gpu/gpusprites/source/main.c</a>, and <a class="el" href="mvd_2source_2main_8c-example.html#a5">mvd/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
@@ -746,6 +752,55 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gspg
   </dd>
 </dl>
 
+</div>
+</div>
+<a class="anchor" id="a38080f47e69bd240156ca043c7946b29"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void gspSetEventCallback </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="gspgpu_8h.html#a02ba699764336c8df7f8910921d478cb">GSPGPU_Event</a>&#160;</td>
+          <td class="paramname"><em>id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="types_8h.html#a857e4e893f41191500e83c00058df64e">ThreadFunc</a>&#160;</td>
+          <td class="paramname"><em>cb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&#160;</td>
+          <td class="paramname"><em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>oneShot</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Configures a callback to run when a GSPGPU event occurs. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">id</td><td>ID of the event. </td></tr>
+    <tr><td class="paramname">cb</td><td>Callback to run. </td></tr>
+    <tr><td class="paramname">data</td><td>Data to be passed to the callback. </td></tr>
+    <tr><td class="paramname">oneShot</td><td>When true, the callback is only executed once. When false, the callback is executed every time the event occurs. </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <a class="anchor" id="aa4e931a0de3b33497503fc063127af0c"></a>
@@ -781,6 +836,26 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gspg
   </dd>
 </dl>
 
+</div>
+</div>
+<a class="anchor" id="a7280943da0262bb75eacc779bf54be87"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="gspgpu_8h.html#a02ba699764336c8df7f8910921d478cb">GSPGPU_Event</a> gspWaitForAnyEvent </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Waits for any GSPGPU event to occur. </p>
+<dl class="section return"><dt>Returns</dt><dd>The ID of the event that occurred.</dd></dl>
+<p>The function returns immediately if there are unprocessed events at the time of call. </p>
+
 </div>
 </div>
 <a class="anchor" id="a91a03ad378747bc554ff611742727958"></a>
@@ -811,7 +886,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gspg
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">id</td><td>ID of the event. </td></tr>
-    <tr><td class="paramname">Whether</td><td>to discard the current event and wait for the next event. </td></tr>
+    <tr><td class="paramname">nextEvent</td><td>Whether to discard the current event and wait for the next event. </td></tr>
   </table>
   </dd>
 </dl>
index 5438d85fd2e19f8dbcdf033bf3a59b7bcbd4cbd7..690c9a0d960e761a3ed95cd6257c286781bc9a9a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -157,143 +157,160 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="gspgpu_8h.html#a1de71253d8f3e3ea0f504ab6cc621f98">gspExit</a>(<span class="keywordtype">void</span>);</div>
 <div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment"></span></div>
 <div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment"> * @brief Initializes the GSPGPU event handler.</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment"> * @param gspEvent Event handle to use.</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment"> * @param gspSharedMem GSP shared memory.</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment"> * @param gspThreadId ID of the GSP thread.</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#aa8b40b9b5550a1ed61528c05b586fb6c">gspInitEventHandler</a>(<a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> gspEvent, <a class="code" href="types_8h.html#a1a2a3100a902c32a55d8b08915bce044">vu8</a>* gspSharedMem, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> gspThreadId);</div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">/// Exits the GSPGPU event handler.</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="gspgpu_8h.html#a842bbd15e91a9d4e1aa8481106c67e07">gspExitEventHandler</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment"> * @brief Waits for a GSPGPU event to occur.</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment"> * @param id ID of the event.</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment"> * @param Whether to discard the current event and wait for the next event.</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gspgpu_8h.html#a91a03ad378747bc554ff611742727958">gspWaitForEvent</a>(<a class="code" href="gspgpu_8h.html#a02ba699764336c8df7f8910921d478cb">GSPGPU_Event</a> <span class="keywordtype">id</span>, <span class="keywordtype">bool</span> nextEvent);</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">/// Waits for PSC0</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#a704e891a5d988f4964c24dc2b8bac787">   85</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForPSC0() gspWaitForEvent(GSPGPU_EVENT_PSC0, false)</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/// Waits for PSC1</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#a8a6e23746817c80d092cefd439d490f6">   88</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForPSC1() gspWaitForEvent(GSPGPU_EVENT_PSC1, false)</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">/// Waits for VBlank.</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45">   91</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForVBlank() gspWaitForVBlank0()</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment"> * @brief Configures a callback to run when a GSPGPU event occurs.</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment"> * @param id ID of the event.</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment"> * @param cb Callback to run.</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment"> * @param data Data to be passed to the callback.</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment"> * @param oneShot When true, the callback is only executed once. When false, the callback is executed every time the event occurs.</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gspgpu_8h.html#a38080f47e69bd240156ca043c7946b29">gspSetEventCallback</a>(<a class="code" href="gspgpu_8h.html#a02ba699764336c8df7f8910921d478cb">GSPGPU_Event</a> <span class="keywordtype">id</span>, <a class="code" href="types_8h.html#a857e4e893f41191500e83c00058df64e">ThreadFunc</a> cb, <span class="keywordtype">void</span>* data, <span class="keywordtype">bool</span> oneShot);</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment"> * @brief Initializes the GSPGPU event handler.</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment"> * @param gspEvent Event handle to use.</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment"> * @param gspSharedMem GSP shared memory.</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment"> * @param gspThreadId ID of the GSP thread.</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#aa8b40b9b5550a1ed61528c05b586fb6c">gspInitEventHandler</a>(<a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> gspEvent, <a class="code" href="types_8h.html#a1a2a3100a902c32a55d8b08915bce044">vu8</a>* gspSharedMem, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> gspThreadId);</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">/// Exits the GSPGPU event handler.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="gspgpu_8h.html#a842bbd15e91a9d4e1aa8481106c67e07">gspExitEventHandler</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment"> * @brief Waits for a GSPGPU event to occur.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment"> * @param id ID of the event.</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment"> * @param nextEvent Whether to discard the current event and wait for the next event.</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keywordtype">void</span> <a class="code" href="gspgpu_8h.html#a91a03ad378747bc554ff611742727958">gspWaitForEvent</a>(<a class="code" href="gspgpu_8h.html#a02ba699764336c8df7f8910921d478cb">GSPGPU_Event</a> <span class="keywordtype">id</span>, <span class="keywordtype">bool</span> nextEvent);</div>
 <div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">/// Waits for VBlank0.</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#ac999e7889bfe880d47ef787aa4ad36ff">   94</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForVBlank0() gspWaitForEvent(GSPGPU_EVENT_VBlank0, true)</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">/// Waits for VBlank1.</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#a109b22fd311cb108387d59c298d5acef">   97</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForVBlank1() gspWaitForEvent(GSPGPU_EVENT_VBlank1, true)</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">/// Waits for PPF.</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#a2f2aca81b76a88b6ebb121ec54f76b7e">  100</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForPPF() gspWaitForEvent(GSPGPU_EVENT_PPF, false)</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">/// Waits for P3D.</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#aba84a82e0137f5dc7a5c9d0ece41d9b7">  103</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForP3D() gspWaitForEvent(GSPGPU_EVENT_P3D, false)</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">/// Waits for DMA.</span></div>
-<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#a95267f3508badebdcd0788cf262c99d8">  106</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForDMA() gspWaitForEvent(GSPGPU_EVENT_DMA, false)</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment"> * @brief Submits a GX command.</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment"> * @param sharedGspCmdBuf Command buffer to use.</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment"> * @param gxCommand GX command to execute.</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#aa4e931a0de3b33497503fc063127af0c">gspSubmitGxCommand</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* sharedGspCmdBuf, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> gxCommand[0x8]);</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment"> * @brief Acquires GPU rights.</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment"> * @param flags Flags to acquire with.</span></div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a317950e5ea5dabed8569ae5683075fc6">GSPGPU_AcquireRight</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> flags);</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment">/// Releases GPU rights.</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#aa163710b32591debd191e2cbf04e5374">GSPGPU_ReleaseRight</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment"> * @brief Retrieves display capture info.</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment"> * @param captureinfo Pointer to output capture info to.</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a6677e4b4467934a07320c556f4d103f2">GSPGPU_ImportDisplayCaptureInfo</a>(<a class="code" href="structGSPGPU__CaptureInfo.html">GSPGPU_CaptureInfo</a>*captureinfo);</div>
-<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="comment">/// Sames the VRAM sys area.</span></div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a6217cefdce79c05f2ae4fdadfac817b0">GSPGPU_SaveVramSysArea</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="comment">/// Restores the VRAM sys area.</span></div>
-<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a663f1bd4b15c96bf426ccbda06810fba">GSPGPU_RestoreVramSysArea</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment"> * @brief Sets whether to force the LCD to black.</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="comment"> * @param flags Whether to force the LCD to black. (0 = no, non-zero = yes)</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a0be2d830a9eccca7b59bf927b7c5e002">GSPGPU_SetLcdForceBlack</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> flags);</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment"> * @brief Updates a screen&#39;s framebuffer state.</span></div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="comment"> * @param screenid ID of the screen to update.</span></div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment"> * @param framebufinfo Framebuffer information to update with.</span></div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#ae010c996a4eb9bbd21d9e76d1ef14cbc">GSPGPU_SetBufferSwap</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> screenid, <a class="code" href="structGSPGPU__FramebufferInfo.html">GSPGPU_FramebufferInfo</a>*framebufinfo);</div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment"> * @brief Flushes memory from the data cache.</span></div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="comment"> * @param adr Address to flush.</span></div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment"> * @param size Size of the memory to flush.</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a24f1c78fad4e1108ddc56fb3674cdba2">GSPGPU_FlushDataCache</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* adr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size);</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="comment"> * @brief Invalidates memory in the data cache.</span></div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="comment"> * @param adr Address to invalidate.</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="comment"> * @param size Size of the memory to invalidate.</span></div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#abfd8bb5bde8d3072a9041884d599665e">GSPGPU_InvalidateDataCache</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* adr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size);</div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="comment"> * @brief Writes to GPU hardware registers.</span></div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="comment"> * @param regAddr Register address to write to.</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="comment"> * @param data Data to write.</span></div>
-<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="comment"> * @param size Size of the data to write.</span></div>
-<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a682c120ccc45f5f6a8d65ef74886206a">GSPGPU_WriteHWRegs</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> regAddr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* data, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> size);</div>
-<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="comment"> * @brief Writes to GPU hardware registers with a mask.</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="comment"> * @param regAddr Register address to write to.</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="comment"> * @param data Data to write.</span></div>
-<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="comment"> * @param datasize Size of the data to write.</span></div>
-<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="comment"> * @param maskdata Data of the mask.</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="comment"> * @param masksize Size of the mask.</span></div>
-<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a250b3be40bc03360272d18830de6721e">GSPGPU_WriteHWRegsWithMask</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> regAddr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* data, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> datasize, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* maskdata, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> masksize);</div>
-<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="comment"> * @brief Reads from GPU hardware registers.</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="comment"> * @param regAddr Register address to read from.</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="comment"> * @param data Buffer to read data to.</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="comment"> * @param size Size of the buffer.</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#ae554cb598da7d9be11dd4345902c43a5">GSPGPU_ReadHWRegs</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> regAddr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* data, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> size);</div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="comment"> * @brief Registers the interrupt relay queue.</span></div>
-<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="comment"> * @param eventHandle Handle of the GX command event.</span></div>
-<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="comment"> * @param flags Flags to register with.</span></div>
-<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="comment"> * @param outMemHandle Pointer to output the shared memory handle to.</span></div>
-<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="comment"> * @param threadID Pointer to output the GSP thread ID to.</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment"> * @brief Waits for any GSPGPU event to occur.</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment"> * @return The ID of the event that occurred.</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment"> * The function returns immediately if there are unprocessed events at the time of call.</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<a class="code" href="gspgpu_8h.html#a02ba699764336c8df7f8910921d478cb">GSPGPU_Event</a> <a class="code" href="gspgpu_8h.html#a7280943da0262bb75eacc779bf54be87">gspWaitForAnyEvent</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">/// Waits for PSC0</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#a704e891a5d988f4964c24dc2b8bac787">  102</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForPSC0() gspWaitForEvent(GSPGPU_EVENT_PSC0, false)</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">/// Waits for PSC1</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#a8a6e23746817c80d092cefd439d490f6">  105</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForPSC1() gspWaitForEvent(GSPGPU_EVENT_PSC1, false)</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">/// Waits for VBlank.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45">  108</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForVBlank() gspWaitForVBlank0()</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment">/// Waits for VBlank0.</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#ac999e7889bfe880d47ef787aa4ad36ff">  111</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForVBlank0() gspWaitForEvent(GSPGPU_EVENT_VBlank0, true)</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">/// Waits for VBlank1.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#a109b22fd311cb108387d59c298d5acef">  114</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForVBlank1() gspWaitForEvent(GSPGPU_EVENT_VBlank1, true)</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">/// Waits for PPF.</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#a2f2aca81b76a88b6ebb121ec54f76b7e">  117</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForPPF() gspWaitForEvent(GSPGPU_EVENT_PPF, false)</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment">/// Waits for P3D.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#aba84a82e0137f5dc7a5c9d0ece41d9b7">  120</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForP3D() gspWaitForEvent(GSPGPU_EVENT_P3D, false)</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment">/// Waits for DMA.</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="gspgpu_8h.html#a95267f3508badebdcd0788cf262c99d8">  123</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define gspWaitForDMA() gspWaitForEvent(GSPGPU_EVENT_DMA, false)</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment"> * @brief Submits a GX command.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment"> * @param sharedGspCmdBuf Command buffer to use.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment"> * @param gxCommand GX command to execute.</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#aa4e931a0de3b33497503fc063127af0c">gspSubmitGxCommand</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* sharedGspCmdBuf, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> gxCommand[0x8]);</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="comment"> * @brief Acquires GPU rights.</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment"> * @param flags Flags to acquire with.</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a317950e5ea5dabed8569ae5683075fc6">GSPGPU_AcquireRight</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> flags);</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="comment">/// Releases GPU rights.</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#aa163710b32591debd191e2cbf04e5374">GSPGPU_ReleaseRight</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment"> * @brief Retrieves display capture info.</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment"> * @param captureinfo Pointer to output capture info to.</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a6677e4b4467934a07320c556f4d103f2">GSPGPU_ImportDisplayCaptureInfo</a>(<a class="code" href="structGSPGPU__CaptureInfo.html">GSPGPU_CaptureInfo</a>*captureinfo);</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="comment">/// Sames the VRAM sys area.</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a6217cefdce79c05f2ae4fdadfac817b0">GSPGPU_SaveVramSysArea</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment">/// Restores the VRAM sys area.</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a663f1bd4b15c96bf426ccbda06810fba">GSPGPU_RestoreVramSysArea</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="comment"> * @brief Sets whether to force the LCD to black.</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="comment"> * @param flags Whether to force the LCD to black. (0 = no, non-zero = yes)</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a0be2d830a9eccca7b59bf927b7c5e002">GSPGPU_SetLcdForceBlack</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> flags);</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="comment"> * @brief Updates a screen&#39;s framebuffer state.</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="comment"> * @param screenid ID of the screen to update.</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="comment"> * @param framebufinfo Framebuffer information to update with.</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#ae010c996a4eb9bbd21d9e76d1ef14cbc">GSPGPU_SetBufferSwap</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> screenid, <a class="code" href="structGSPGPU__FramebufferInfo.html">GSPGPU_FramebufferInfo</a>*framebufinfo);</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="comment"> * @brief Flushes memory from the data cache.</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="comment"> * @param adr Address to flush.</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="comment"> * @param size Size of the memory to flush.</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a24f1c78fad4e1108ddc56fb3674cdba2">GSPGPU_FlushDataCache</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* adr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size);</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="comment"> * @brief Invalidates memory in the data cache.</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="comment"> * @param adr Address to invalidate.</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="comment"> * @param size Size of the memory to invalidate.</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#abfd8bb5bde8d3072a9041884d599665e">GSPGPU_InvalidateDataCache</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* adr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size);</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="comment"> * @brief Writes to GPU hardware registers.</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="comment"> * @param regAddr Register address to write to.</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="comment"> * @param data Data to write.</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="comment"> * @param size Size of the data to write.</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a682c120ccc45f5f6a8d65ef74886206a">GSPGPU_WriteHWRegs</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> regAddr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* data, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> size);</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="comment"> * @brief Writes to GPU hardware registers with a mask.</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="comment"> * @param regAddr Register address to write to.</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="comment"> * @param data Data to write.</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="comment"> * @param datasize Size of the data to write.</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="comment"> * @param maskdata Data of the mask.</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="comment"> * @param masksize Size of the mask.</span></div>
 <div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a5ebccf501024a721b2f1ff96abe397ff">GSPGPU_RegisterInterruptRelayQueue</a>(<a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> eventHandle, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> flags, <a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* outMemHandle, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* threadID);</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a250b3be40bc03360272d18830de6721e">GSPGPU_WriteHWRegsWithMask</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> regAddr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* data, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> datasize, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* maskdata, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> masksize);</div>
 <div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="comment">/// Unregisters the interrupt relay queue.</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a70ca61cd22140cadbf54c55da13eb48c">GSPGPU_UnregisterInterruptRelayQueue</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="comment">/// Triggers a handling of commands written to shared memory.</span></div>
-<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#aa5d37db7ffdd14031b5f19c6de49f933">GSPGPU_TriggerCmdReqQueue</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="comment"> * @brief Reads from GPU hardware registers.</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="comment"> * @param regAddr Register address to read from.</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="comment"> * @param data Buffer to read data to.</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="comment"> * @param size Size of the buffer.</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#ae554cb598da7d9be11dd4345902c43a5">GSPGPU_ReadHWRegs</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> regAddr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* data, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> size);</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="comment"> * @brief Registers the interrupt relay queue.</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="comment"> * @param eventHandle Handle of the GX command event.</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="comment"> * @param flags Flags to register with.</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="comment"> * @param outMemHandle Pointer to output the shared memory handle to.</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="comment"> * @param threadID Pointer to output the GSP thread ID to.</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a5ebccf501024a721b2f1ff96abe397ff">GSPGPU_RegisterInterruptRelayQueue</a>(<a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> eventHandle, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> flags, <a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* outMemHandle, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* threadID);</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="comment">/// Unregisters the interrupt relay queue.</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#a70ca61cd22140cadbf54c55da13eb48c">GSPGPU_UnregisterInterruptRelayQueue</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="comment">/// Triggers a handling of commands written to shared memory.</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gspgpu_8h.html#aa5d37db7ffdd14031b5f19c6de49f933">GSPGPU_TriggerCmdReqQueue</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div>
 <div class="ttc" id="structGSPGPU__CaptureInfoEntry_html_a09e23bcfb56d75309bf7a547b85c56b0"><div class="ttname"><a href="structGSPGPU__CaptureInfoEntry.html#a09e23bcfb56d75309bf7a547b85c56b0">GSPGPU_CaptureInfoEntry::framebuf1_vaddr</a></div><div class="ttdeci">u32 * framebuf1_vaddr</div><div class="ttdoc">Right framebuffer. </div><div class="ttdef"><b>Definition:</b> gspgpu.h:35</div></div>
 <div class="ttc" id="gspgpu_8h_html_a02ba699764336c8df7f8910921d478cb"><div class="ttname"><a href="gspgpu_8h.html#a02ba699764336c8df7f8910921d478cb">GSPGPU_Event</a></div><div class="ttdeci">GSPGPU_Event</div><div class="ttdoc">GSPGPU events. </div><div class="ttdef"><b>Definition:</b> gspgpu.h:47</div></div>
 <div class="ttc" id="gspgpu_8h_html_a02ba699764336c8df7f8910921d478cba1bf23df97456715e279a4254b39c49b2"><div class="ttname"><a href="gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba1bf23df97456715e279a4254b39c49b2">GSPGPU_EVENT_MAX</a></div><div class="ttdoc">Used to know how many events there are. </div><div class="ttdef"><b>Definition:</b> gspgpu.h:57</div></div>
@@ -303,6 +320,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="ttc" id="structGSPGPU__CaptureInfoEntry_html_a067ad2df1b3b46e4e06b26f8f905bdd0"><div class="ttname"><a href="structGSPGPU__CaptureInfoEntry.html#a067ad2df1b3b46e4e06b26f8f905bdd0">GSPGPU_CaptureInfoEntry::format</a></div><div class="ttdeci">u32 format</div><div class="ttdoc">Framebuffer format. </div><div class="ttdef"><b>Definition:</b> gspgpu.h:36</div></div>
 <div class="ttc" id="gspgpu_8h_html_a4c8d43241faec4b99bf24791375c3708a7d05a3900d34338a30c681f67c35093b"><div class="ttname"><a href="gspgpu_8h.html#a4c8d43241faec4b99bf24791375c3708a7d05a3900d34338a30c681f67c35093b">GSP_RGBA4_OES</a></div><div class="ttdoc">RGBA4. (2 bytes) </div><div class="ttdef"><b>Definition:</b> gspgpu.h:28</div></div>
 <div class="ttc" id="structGSPGPU__FramebufferInfo_html_a4e0899ea0a76864a9268a8a938b122ec"><div class="ttname"><a href="structGSPGPU__FramebufferInfo.html#a4e0899ea0a76864a9268a8a938b122ec">GSPGPU_FramebufferInfo::format</a></div><div class="ttdeci">u32 format</div><div class="ttdoc">Framebuffer format, this u16 is written to the low u16 for LCD register 0x1EF00X70. </div><div class="ttdef"><b>Definition:</b> gspgpu.h:16</div></div>
+<div class="ttc" id="types_8h_html_a857e4e893f41191500e83c00058df64e"><div class="ttname"><a href="types_8h.html#a857e4e893f41191500e83c00058df64e">ThreadFunc</a></div><div class="ttdeci">void(* ThreadFunc)(void *)</div><div class="ttdoc">Thread entrypoint function. </div><div class="ttdef"><b>Definition:</b> types.h:43</div></div>
+<div class="ttc" id="gspgpu_8h_html_a38080f47e69bd240156ca043c7946b29"><div class="ttname"><a href="gspgpu_8h.html#a38080f47e69bd240156ca043c7946b29">gspSetEventCallback</a></div><div class="ttdeci">void gspSetEventCallback(GSPGPU_Event id, ThreadFunc cb, void *data, bool oneShot)</div><div class="ttdoc">Configures a callback to run when a GSPGPU event occurs. </div></div>
 <div class="ttc" id="gspgpu_8h_html_a02ba699764336c8df7f8910921d478cba5f7bd78a3019e3d57bac1cfee8cef768"><div class="ttname"><a href="gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba5f7bd78a3019e3d57bac1cfee8cef768">GSPGPU_EVENT_PPF</a></div><div class="ttdoc">Display transfer finished. </div><div class="ttdef"><b>Definition:</b> gspgpu.h:53</div></div>
 <div class="ttc" id="gspgpu_8h_html_a70ca61cd22140cadbf54c55da13eb48c"><div class="ttname"><a href="gspgpu_8h.html#a70ca61cd22140cadbf54c55da13eb48c">GSPGPU_UnregisterInterruptRelayQueue</a></div><div class="ttdeci">Result GSPGPU_UnregisterInterruptRelayQueue(void)</div><div class="ttdoc">Unregisters the interrupt relay queue. </div></div>
 <div class="ttc" id="gspgpu_8h_html_a0be2d830a9eccca7b59bf927b7c5e002"><div class="ttname"><a href="gspgpu_8h.html#a0be2d830a9eccca7b59bf927b7c5e002">GSPGPU_SetLcdForceBlack</a></div><div class="ttdeci">Result GSPGPU_SetLcdForceBlack(u8 flags)</div><div class="ttdoc">Sets whether to force the LCD to black. </div></div>
@@ -322,6 +341,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="ttc" id="structGSPGPU__FramebufferInfo_html_ad33ec3ca41e404b967416c78c7aa7db8"><div class="ttname"><a href="structGSPGPU__FramebufferInfo.html#ad33ec3ca41e404b967416c78c7aa7db8">GSPGPU_FramebufferInfo::framebuf_dispselect</a></div><div class="ttdeci">u32 framebuf_dispselect</div><div class="ttdoc">Value for 0x1EF00X78, controls which framebuffer is displayed. </div><div class="ttdef"><b>Definition:</b> gspgpu.h:17</div></div>
 <div class="ttc" id="gspgpu_8h_html_a02ba699764336c8df7f8910921d478cba767fab5a8e58912ea84f192dff6926af"><div class="ttname"><a href="gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba767fab5a8e58912ea84f192dff6926af">GSPGPU_EVENT_DMA</a></div><div class="ttdoc">TODO. </div><div class="ttdef"><b>Definition:</b> gspgpu.h:55</div></div>
 <div class="ttc" id="gspgpu_8h_html_a4c8d43241faec4b99bf24791375c3708af2acd7de248add1481404d4cd1fdf816"><div class="ttname"><a href="gspgpu_8h.html#a4c8d43241faec4b99bf24791375c3708af2acd7de248add1481404d4cd1fdf816">GSP_RGB565_OES</a></div><div class="ttdoc">RGB565. (2 bytes) </div><div class="ttdef"><b>Definition:</b> gspgpu.h:26</div></div>
+<div class="ttc" id="gspgpu_8h_html_a7280943da0262bb75eacc779bf54be87"><div class="ttname"><a href="gspgpu_8h.html#a7280943da0262bb75eacc779bf54be87">gspWaitForAnyEvent</a></div><div class="ttdeci">GSPGPU_Event gspWaitForAnyEvent(void)</div><div class="ttdoc">Waits for any GSPGPU event to occur. </div></div>
 <div class="ttc" id="types_8h_html_afaa62991928fb9fb18ff0db62a040aba"><div class="ttname"><a href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a></div><div class="ttdeci">uint32_t u32</div><div class="ttdoc">32-bit unsigned integer </div><div class="ttdef"><b>Definition:</b> types.h:23</div></div>
 <div class="ttc" id="structGSPGPU__CaptureInfoEntry_html"><div class="ttname"><a href="structGSPGPU__CaptureInfoEntry.html">GSPGPU_CaptureInfoEntry</a></div><div class="ttdoc">Capture info entry. </div><div class="ttdef"><b>Definition:</b> gspgpu.h:32</div></div>
 <div class="ttc" id="gspgpu_8h_html_aa8b40b9b5550a1ed61528c05b586fb6c"><div class="ttname"><a href="gspgpu_8h.html#aa8b40b9b5550a1ed61528c05b586fb6c">gspInitEventHandler</a></div><div class="ttdeci">Result gspInitEventHandler(Handle gspEvent, vu8 *gspSharedMem, u8 gspThreadId)</div><div class="ttdoc">Initializes the GSPGPU event handler. </div></div>
index 8c915ce2777fa9da08cc68fbb42d550eb3f3b023..605889a352f4e317c99ceb789733b157c7823896 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 629b457d182c4e2bca0f1029f643c63c19be9963..3e81c0195dee68bbe35d80d485013902a5150cc9 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4a6f04b757b314a5a12abb7b4ee6e6b1a4863cc6..0821e8126baf753c813e288b45160f03fb63344e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -104,9 +104,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
 Macros</h2></td></tr>
-<tr class="memitem:ad34237bd30a2a96a6074e8967840d4fc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad34237bd30a2a96a6074e8967840d4fc"></a>
-#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc">GX_BUFFER_DIM</a>(w,  h)&#160;&#160;&#160;(((h)&lt;&lt;16)|((w)&amp;0xFFFF))</td></tr>
-<tr class="memdesc:ad34237bd30a2a96a6074e8967840d4fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a buffer dimension parameter from width and height values. <br /></td></tr>
+<tr class="memitem:ad34237bd30a2a96a6074e8967840d4fc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc">GX_BUFFER_DIM</a>(w,  h)&#160;&#160;&#160;(((h)&lt;&lt;16)|((w)&amp;0xFFFF))</td></tr>
+<tr class="memdesc:ad34237bd30a2a96a6074e8967840d4fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a buffer dimension parameter from width and height values.  <a href="#ad34237bd30a2a96a6074e8967840d4fc">More...</a><br /></td></tr>
 <tr class="separator:ad34237bd30a2a96a6074e8967840d4fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a19b4c4ad91299256a7c285e9ba7673b9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19b4c4ad91299256a7c285e9ba7673b9"></a>
 #define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gx_8h.html#a19b4c4ad91299256a7c285e9ba7673b9">GX_TRANSFER_FLIP_VERT</a>(x)&#160;&#160;&#160;((x)&lt;&lt;0)</td></tr>
@@ -212,7 +211,44 @@ Variables</h2></td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>GX commands. </p>
-</div><h2 class="groupheader">Enumeration Type Documentation</h2>
+</div><h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="ad34237bd30a2a96a6074e8967840d4fc"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GX_BUFFER_DIM</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">w, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">h&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;(((h)&lt;&lt;16)|((w)&amp;0xFFFF))</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Creates a buffer dimension parameter from width and height values. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">w</td><td>buffer width for GX_DisplayTransfer, linesize for GX_TextureCopy </td></tr>
+    <tr><td class="paramname">h</td><td>buffer height for GX_DisplayTransfer, gap for GX_TextureCopy </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a14">graphics/gpu/gpusprites/source/main.c</a>.</dd>
+</dl>
+</div>
+</div>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
 <a class="anchor" id="af2a0de60baddb7fc1528a62e4e555273"></a>
 <div class="memitem">
 <div class="memproto">
@@ -357,7 +393,7 @@ Variables</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a35">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a35">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a35">graphics/gpu/textured_cube/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a13">graphics/gpu/gpusprites/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
@@ -498,8 +534,7 @@ Variables</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a7">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a7">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a7">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a2346e838070d5029faf7e57a9fdf69bf"></a>
index 24974634db14e4d5a0e00c0cf17aafa033adc001..f65c4f1d7b1f0decb985da642b2ce59095b9025c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -97,154 +97,158 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> */</span></div>
 <div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#pragma once</span></div>
 <div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">/// Creates a buffer dimension parameter from width and height values.</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc">    8</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_BUFFER_DIM(w, h) (((h)&lt;&lt;16)|((w)&amp;0xFFFF))</span></div>
-<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * @brief Supported transfer pixel formats.</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * @sa GSPGPU_FramebufferFormats</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3">   14</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;{</div>
-<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3af7d586734e0807a190bf75602fea93fd">   16</a></span>&#160;    <a class="code" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3af7d586734e0807a190bf75602fea93fd">GX_TRANSFER_FMT_RGBA8</a>  = 0, <span class="comment">///&lt; 8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3accbc07083d7f644b5b162170bafe1dec">   17</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3accbc07083d7f644b5b162170bafe1dec">GX_TRANSFER_FMT_RGB8</a>   = 1, <span class="comment">///&lt; 8-bit Red + 8-bit Green + 8-bit Blue</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3a257646681fb4c1dd4b4f0efbc42a6969">   18</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3a257646681fb4c1dd4b4f0efbc42a6969">GX_TRANSFER_FMT_RGB565</a> = 2, <span class="comment">///&lt; 5-bit Red + 6-bit Green + 5-bit Blue</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3ac52c38b6270090935348440f97113aae">   19</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3ac52c38b6270090935348440f97113aae">GX_TRANSFER_FMT_RGB5A1</a> = 3, <span class="comment">///&lt; 5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3aeb91dd279d4b69a708cd1cb335981d85">   20</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3aeb91dd279d4b69a708cd1cb335981d85">GX_TRANSFER_FMT_RGBA4</a>  = 4  <span class="comment">///&lt; 4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"></span>} <a class="code" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3">GX_TRANSFER_FORMAT</a>;</div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> * @brief Anti-aliasing modes</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> *</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment"> * Please remember that the framebuffer is sideways.</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment"> * Hence if you activate 2x1 anti-aliasing the destination dimensions are w = 240*2 and h = 400</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="gx_8h.html#a248b09e90905d8c0622fdfee77880aba">   29</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;{</div>
-<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa2fe64f5849a1d5806575a9379f81dfff">   31</a></span>&#160;    <a class="code" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa2fe64f5849a1d5806575a9379f81dfff">GX_TRANSFER_SCALE_NO</a> = 0, <span class="comment">///&lt; No anti-aliasing</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa332fea39c9f9533f8ab5780a9543ba30">   32</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa332fea39c9f9533f8ab5780a9543ba30">GX_TRANSFER_SCALE_X</a>  = 1, <span class="comment">///&lt; 2x1 anti-aliasing</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa23da8dd0a0ff54432347bf36e9bf4c5f">   33</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa23da8dd0a0ff54432347bf36e9bf4c5f">GX_TRANSFER_SCALE_XY</a> = 2, <span class="comment">///&lt; 2x2 anti-aliasing</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment"></span>} <a class="code" href="gx_8h.html#a248b09e90905d8c0622fdfee77880aba">GX_TRANSFER_SCALE</a>;</div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">/// GX transfer control flags</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273">   37</a></span>&#160;<span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;{</div>
-<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd">   39</a></span>&#160;    <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd">GX_FILL_TRIGGER</a>     = 0x001, <span class="comment">///&lt; Trigger the PPF event</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273ae4dea50c92ea821ef9d147b53b5815bf">   40</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273ae4dea50c92ea821ef9d147b53b5815bf">GX_FILL_FINISHED</a>    = 0x002, <span class="comment">///&lt; Indicates if the memory fill is complete. You should not use it when requesting a transfer.</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2bc635a0bd73fdcc6aea5c25c1e2430c">   41</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2bc635a0bd73fdcc6aea5c25c1e2430c">GX_FILL_16BIT_DEPTH</a> = 0x000, <span class="comment">///&lt; The buffer has a 16 bit per pixel depth</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273aee8f4636ba155f050ccc5028f1c8a46e">   42</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273aee8f4636ba155f050ccc5028f1c8a46e">GX_FILL_24BIT_DEPTH</a> = 0x100, <span class="comment">///&lt; The buffer has a 24 bit per pixel depth</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d">   43</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d">GX_FILL_32BIT_DEPTH</a> = 0x200, <span class="comment">///&lt; The buffer has a 32 bit per pixel depth</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment"></span>} <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273">GX_FILL_CONTROL</a>;</div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">/// Creates a transfer vertical flip flag.</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="gx_8h.html#a19b4c4ad91299256a7c285e9ba7673b9">   47</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_TRANSFER_FLIP_VERT(x)  ((x)&lt;&lt;0)</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">/// Creates a transfer tiled output flag.</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="gx_8h.html#af921823b2f2e0cfcd521bea00a2b07b5">   49</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_TRANSFER_OUT_TILED(x)  ((x)&lt;&lt;1)</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">/// Creates a transfer raw copy flag.</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="gx_8h.html#a8a13b70de5fd2429358b11e384f94964">   51</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_TRANSFER_RAW_COPY(x)   ((x)&lt;&lt;3)</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">/// Creates a transfer input format flag.</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="gx_8h.html#ae325a34e9b8fb5288de35ee469dfe214">   53</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_TRANSFER_IN_FORMAT(x)  ((x)&lt;&lt;8)</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">/// Creates a transfer output format flag.</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="gx_8h.html#ab80b0d3eac6026af376128823e1ef8b6">   55</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_TRANSFER_OUT_FORMAT(x) ((x)&lt;&lt;12)</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">/// Creates a transfer scaling flag.</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="gx_8h.html#aaa2327272dfcbc724f4c1d09aa60cd45">   57</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_TRANSFER_SCALING(x)    ((x)&lt;&lt;24)</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">/// Command list flag bit 0.</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="gx_8h.html#a1a1527924fe361645067b2ce35c2237f">   60</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_CMDLIST_BIT0  BIT(0)</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">/// Flushes the command list.</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="gx_8h.html#addcc38194ba3a4bf1322b698d19936bc">   62</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_CMDLIST_FLUSH BIT(1)</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">extern</span> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* <a class="code" href="gx_8h.html#aee8fbf3aebb34fb5251c245732cccc2e">gxCmdBuf</a>; <span class="comment">///&lt; GX command buffer.</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment"></span><span class="comment"></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment"> * @brief Requests a DMA.</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment"> * @param src Source to DMA from.</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment"> * @param dst Destination to DMA to.</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment"> * @param length Length of data to transfer.</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gx_8h.html#a7020531dad937eb0d9dc0e22a557285e">GX_RequestDma</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* src, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* dst, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> length);</div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment"> * @brief Processes a GPU command list.</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment"> * @param buf0a Command list address.</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment"> * @param buf0s Command list size.</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment"> * @param flags Flags to process with.</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gx_8h.html#a2346e838070d5029faf7e57a9fdf69bf">GX_ProcessCommandList</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf0a, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf0s, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> flags);</div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment"> * @brief Fills the memory of two buffers with the given values.</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment"> * @param buf0a Start address of the first buffer.</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment"> * @param buf0v Dimensions of the first buffer.</span></div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment"> * @param buf0e End address of the first buffer.</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment"> * @param control0 Value to fill the first buffer with.</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment"> * @param buf1a Start address of the second buffer.</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment"> * @param buf1v Dimensions of the second buffer.</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment"> * @param buf1e End address of the second buffer.</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment"> * @param control1 Value to fill the second buffer with.</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gx_8h.html#aa6e39b328383930b64eaa230bc9bc6a0">GX_MemoryFill</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf0a, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf0v, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf0e, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> control0, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf1a, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf1v, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf1e, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> control1);</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment"> * @brief Initiates a display transfer.</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment"> * @note The PPF event will be signaled on completion.</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment"> * @param inadr Address of the input.</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment"> * @param indim Dimensions of the input.</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment"> * @param outadr Address of the output.</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment"> * @param outdim Dimensions of the output.</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment"> * @param flags Flags to transfer with.</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gx_8h.html#a4de1f2c27d7984b8cf5b93c8913a499b">GX_DisplayTransfer</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* inadr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> indim, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* outadr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> outdim, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> flags);</div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment"> * @brief Initiates a texture copy.</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment"> * @note The PPF event will be signaled on completion.</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment"> * @param inadr Address of the input.</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment"> * @param indim Dimensions of the input.</span></div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment"> * @param outadr Address of the output.</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment"> * @param outdim Dimensions of the output.</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment"> * @param size Size of the data to transfer.</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment"> * @param flags Flags to transfer with.</span></div>
-<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gx_8h.html#a2c1286f84675137eeeadc589654976a2">GX_TextureCopy</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* inadr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> indim, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* outadr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> outdim, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> flags);</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment"> * @brief Flushes the cache regions of three buffers.</span></div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="comment"> * @param buf0a Address of the first buffer.</span></div>
-<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment"> * @param buf0s Size of the first buffer.</span></div>
-<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment"> * @param buf1a Address of the second buffer.</span></div>
-<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment"> * @param buf1s Size of the second buffer.</span></div>
-<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment"> * @param buf2a Address of the third buffer.</span></div>
-<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment"> * @param buf2s Size of the third buffer.</span></div>
-<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gx_8h.html#ae5b03c7f32e45b00293e7150a1bc9810">GX_FlushCacheRegions</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf0a, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf0s, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf1a, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf1s, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf2a, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf2s);</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * @brief Creates a buffer dimension parameter from width and height values.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * @param w buffer width for GX_DisplayTransfer, linesize for GX_TextureCopy</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * @param h buffer height for GX_DisplayTransfer, gap for GX_TextureCopy</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc">   12</a></span>&#160;<span class="preprocessor">#define GX_BUFFER_DIM(w, h) (((h)&lt;&lt;16)|((w)&amp;0xFFFF))</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * @brief Supported transfer pixel formats.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * @sa GSPGPU_FramebufferFormats</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3">   18</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;{</div>
+<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3af7d586734e0807a190bf75602fea93fd">   20</a></span>&#160;    <a class="code" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3af7d586734e0807a190bf75602fea93fd">GX_TRANSFER_FMT_RGBA8</a>  = 0, <span class="comment">///&lt; 8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3accbc07083d7f644b5b162170bafe1dec">   21</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3accbc07083d7f644b5b162170bafe1dec">GX_TRANSFER_FMT_RGB8</a>   = 1, <span class="comment">///&lt; 8-bit Red + 8-bit Green + 8-bit Blue</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3a257646681fb4c1dd4b4f0efbc42a6969">   22</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3a257646681fb4c1dd4b4f0efbc42a6969">GX_TRANSFER_FMT_RGB565</a> = 2, <span class="comment">///&lt; 5-bit Red + 6-bit Green + 5-bit Blue</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3ac52c38b6270090935348440f97113aae">   23</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3ac52c38b6270090935348440f97113aae">GX_TRANSFER_FMT_RGB5A1</a> = 3, <span class="comment">///&lt; 5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3aeb91dd279d4b69a708cd1cb335981d85">   24</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3aeb91dd279d4b69a708cd1cb335981d85">GX_TRANSFER_FMT_RGBA4</a>  = 4  <span class="comment">///&lt; 4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"></span>} <a class="code" href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3">GX_TRANSFER_FORMAT</a>;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment"> * @brief Anti-aliasing modes</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment"> * Please remember that the framebuffer is sideways.</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"> * Hence if you activate 2x1 anti-aliasing the destination dimensions are w = 240*2 and h = 400</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="gx_8h.html#a248b09e90905d8c0622fdfee77880aba">   33</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;{</div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa2fe64f5849a1d5806575a9379f81dfff">   35</a></span>&#160;    <a class="code" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa2fe64f5849a1d5806575a9379f81dfff">GX_TRANSFER_SCALE_NO</a> = 0, <span class="comment">///&lt; No anti-aliasing</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa332fea39c9f9533f8ab5780a9543ba30">   36</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa332fea39c9f9533f8ab5780a9543ba30">GX_TRANSFER_SCALE_X</a>  = 1, <span class="comment">///&lt; 2x1 anti-aliasing</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa23da8dd0a0ff54432347bf36e9bf4c5f">   37</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa23da8dd0a0ff54432347bf36e9bf4c5f">GX_TRANSFER_SCALE_XY</a> = 2, <span class="comment">///&lt; 2x2 anti-aliasing</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment"></span>} <a class="code" href="gx_8h.html#a248b09e90905d8c0622fdfee77880aba">GX_TRANSFER_SCALE</a>;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="comment">/// GX transfer control flags</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273">   41</a></span>&#160;<span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;{</div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd">   43</a></span>&#160;    <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd">GX_FILL_TRIGGER</a>     = 0x001, <span class="comment">///&lt; Trigger the PPF event</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273ae4dea50c92ea821ef9d147b53b5815bf">   44</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273ae4dea50c92ea821ef9d147b53b5815bf">GX_FILL_FINISHED</a>    = 0x002, <span class="comment">///&lt; Indicates if the memory fill is complete. You should not use it when requesting a transfer.</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2bc635a0bd73fdcc6aea5c25c1e2430c">   45</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2bc635a0bd73fdcc6aea5c25c1e2430c">GX_FILL_16BIT_DEPTH</a> = 0x000, <span class="comment">///&lt; The buffer has a 16 bit per pixel depth</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273aee8f4636ba155f050ccc5028f1c8a46e">   46</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273aee8f4636ba155f050ccc5028f1c8a46e">GX_FILL_24BIT_DEPTH</a> = 0x100, <span class="comment">///&lt; The buffer has a 24 bit per pixel depth</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d">   47</a></span>&#160;<span class="comment"></span>    <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d">GX_FILL_32BIT_DEPTH</a> = 0x200, <span class="comment">///&lt; The buffer has a 32 bit per pixel depth</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment"></span>} <a class="code" href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273">GX_FILL_CONTROL</a>;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">/// Creates a transfer vertical flip flag.</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="gx_8h.html#a19b4c4ad91299256a7c285e9ba7673b9">   51</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_TRANSFER_FLIP_VERT(x)  ((x)&lt;&lt;0)</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">/// Creates a transfer tiled output flag.</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="gx_8h.html#af921823b2f2e0cfcd521bea00a2b07b5">   53</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_TRANSFER_OUT_TILED(x)  ((x)&lt;&lt;1)</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">/// Creates a transfer raw copy flag.</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="gx_8h.html#a8a13b70de5fd2429358b11e384f94964">   55</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_TRANSFER_RAW_COPY(x)   ((x)&lt;&lt;3)</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">/// Creates a transfer input format flag.</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="gx_8h.html#ae325a34e9b8fb5288de35ee469dfe214">   57</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_TRANSFER_IN_FORMAT(x)  ((x)&lt;&lt;8)</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">/// Creates a transfer output format flag.</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="gx_8h.html#ab80b0d3eac6026af376128823e1ef8b6">   59</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_TRANSFER_OUT_FORMAT(x) ((x)&lt;&lt;12)</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="comment">/// Creates a transfer scaling flag.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="gx_8h.html#aaa2327272dfcbc724f4c1d09aa60cd45">   61</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_TRANSFER_SCALING(x)    ((x)&lt;&lt;24)</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">/// Command list flag bit 0.</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="gx_8h.html#a1a1527924fe361645067b2ce35c2237f">   64</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_CMDLIST_BIT0  BIT(0)</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">/// Flushes the command list.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="gx_8h.html#addcc38194ba3a4bf1322b698d19936bc">   66</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define GX_CMDLIST_FLUSH BIT(1)</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="keyword">extern</span> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* <a class="code" href="gx_8h.html#aee8fbf3aebb34fb5251c245732cccc2e">gxCmdBuf</a>; <span class="comment">///&lt; GX command buffer.</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment"></span><span class="comment"></span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment"> * @brief Requests a DMA.</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment"> * @param src Source to DMA from.</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment"> * @param dst Destination to DMA to.</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment"> * @param length Length of data to transfer.</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gx_8h.html#a7020531dad937eb0d9dc0e22a557285e">GX_RequestDma</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* src, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* dst, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> length);</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment"> * @brief Processes a GPU command list.</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment"> * @param buf0a Command list address.</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment"> * @param buf0s Command list size.</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment"> * @param flags Flags to process with.</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gx_8h.html#a2346e838070d5029faf7e57a9fdf69bf">GX_ProcessCommandList</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf0a, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf0s, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> flags);</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment"> * @brief Fills the memory of two buffers with the given values.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment"> * @param buf0a Start address of the first buffer.</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment"> * @param buf0v Dimensions of the first buffer.</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment"> * @param buf0e End address of the first buffer.</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment"> * @param control0 Value to fill the first buffer with.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment"> * @param buf1a Start address of the second buffer.</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment"> * @param buf1v Dimensions of the second buffer.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment"> * @param buf1e End address of the second buffer.</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment"> * @param control1 Value to fill the second buffer with.</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gx_8h.html#aa6e39b328383930b64eaa230bc9bc6a0">GX_MemoryFill</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf0a, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf0v, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf0e, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> control0, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf1a, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf1v, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf1e, <a class="code" href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a> control1);</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment"> * @brief Initiates a display transfer.</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment"> * @note The PPF event will be signaled on completion.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment"> * @param inadr Address of the input.</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment"> * @param indim Dimensions of the input.</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment"> * @param outadr Address of the output.</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment"> * @param outdim Dimensions of the output.</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment"> * @param flags Flags to transfer with.</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gx_8h.html#a4de1f2c27d7984b8cf5b93c8913a499b">GX_DisplayTransfer</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* inadr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> indim, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* outadr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> outdim, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> flags);</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment"> * @brief Initiates a texture copy.</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment"> * @note The PPF event will be signaled on completion.</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment"> * @param inadr Address of the input.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment"> * @param indim Dimensions of the input.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment"> * @param outadr Address of the output.</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment"> * @param outdim Dimensions of the output.</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment"> * @param size Size of the data to transfer.</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment"> * @param flags Flags to transfer with.</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gx_8h.html#a2c1286f84675137eeeadc589654976a2">GX_TextureCopy</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* inadr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> indim, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* outadr, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> outdim, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> flags);</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment"> * @brief Flushes the cache regions of three buffers.</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment"> * @param buf0a Address of the first buffer.</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment"> * @param buf0s Size of the first buffer.</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment"> * @param buf1a Address of the second buffer.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment"> * @param buf1s Size of the second buffer.</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment"> * @param buf2a Address of the third buffer.</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment"> * @param buf2s Size of the third buffer.</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="gx_8h.html#ae5b03c7f32e45b00293e7150a1bc9810">GX_FlushCacheRegions</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf0a, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf0s, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf1a, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf1s, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>* buf2a, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> buf2s);</div>
 <div class="ttc" id="gx_8h_html_ae5b03c7f32e45b00293e7150a1bc9810"><div class="ttname"><a href="gx_8h.html#ae5b03c7f32e45b00293e7150a1bc9810">GX_FlushCacheRegions</a></div><div class="ttdeci">Result GX_FlushCacheRegions(u32 *buf0a, u32 buf0s, u32 *buf1a, u32 buf1s, u32 *buf2a, u32 buf2s)</div><div class="ttdoc">Flushes the cache regions of three buffers. </div></div>
 <div class="ttc" id="types_8h_html_ac830bf5a4f2cf8273f61ab99a46cf163"><div class="ttname"><a href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a></div><div class="ttdeci">s32 Result</div><div class="ttdoc">Function result. </div><div class="ttdef"><b>Definition:</b> types.h:42</div></div>
 <div class="ttc" id="types_8h_html_ace9d960e74685e2cd84b36132dbbf8aa"><div class="ttname"><a href="types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa">u16</a></div><div class="ttdeci">uint16_t u16</div><div class="ttdoc">16-bit unsigned integer </div><div class="ttdef"><b>Definition:</b> types.h:22</div></div>
-<div class="ttc" id="gx_8h_html_aca790f0cdfea04833518556b8a1682f3"><div class="ttname"><a href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3">GX_TRANSFER_FORMAT</a></div><div class="ttdeci">GX_TRANSFER_FORMAT</div><div class="ttdoc">Supported transfer pixel formats. </div><div class="ttdef"><b>Definition:</b> gx.h:14</div></div>
-<div class="ttc" id="gx_8h_html_af2a0de60baddb7fc1528a62e4e555273ae4dea50c92ea821ef9d147b53b5815bf"><div class="ttname"><a href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273ae4dea50c92ea821ef9d147b53b5815bf">GX_FILL_FINISHED</a></div><div class="ttdoc">Indicates if the memory fill is complete. You should not use it when requesting a transfer...</div><div class="ttdef"><b>Definition:</b> gx.h:40</div></div>
-<div class="ttc" id="gx_8h_html_aca790f0cdfea04833518556b8a1682f3af7d586734e0807a190bf75602fea93fd"><div class="ttname"><a href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3af7d586734e0807a190bf75602fea93fd">GX_TRANSFER_FMT_RGBA8</a></div><div class="ttdoc">8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha </div><div class="ttdef"><b>Definition:</b> gx.h:16</div></div>
+<div class="ttc" id="gx_8h_html_aca790f0cdfea04833518556b8a1682f3"><div class="ttname"><a href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3">GX_TRANSFER_FORMAT</a></div><div class="ttdeci">GX_TRANSFER_FORMAT</div><div class="ttdoc">Supported transfer pixel formats. </div><div class="ttdef"><b>Definition:</b> gx.h:18</div></div>
+<div class="ttc" id="gx_8h_html_af2a0de60baddb7fc1528a62e4e555273ae4dea50c92ea821ef9d147b53b5815bf"><div class="ttname"><a href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273ae4dea50c92ea821ef9d147b53b5815bf">GX_FILL_FINISHED</a></div><div class="ttdoc">Indicates if the memory fill is complete. You should not use it when requesting a transfer...</div><div class="ttdef"><b>Definition:</b> gx.h:44</div></div>
+<div class="ttc" id="gx_8h_html_aca790f0cdfea04833518556b8a1682f3af7d586734e0807a190bf75602fea93fd"><div class="ttname"><a href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3af7d586734e0807a190bf75602fea93fd">GX_TRANSFER_FMT_RGBA8</a></div><div class="ttdoc">8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha </div><div class="ttdef"><b>Definition:</b> gx.h:20</div></div>
 <div class="ttc" id="gx_8h_html_a4de1f2c27d7984b8cf5b93c8913a499b"><div class="ttname"><a href="gx_8h.html#a4de1f2c27d7984b8cf5b93c8913a499b">GX_DisplayTransfer</a></div><div class="ttdeci">Result GX_DisplayTransfer(u32 *inadr, u32 indim, u32 *outadr, u32 outdim, u32 flags)</div><div class="ttdoc">Initiates a display transfer. </div></div>
 <div class="ttc" id="gx_8h_html_aa6e39b328383930b64eaa230bc9bc6a0"><div class="ttname"><a href="gx_8h.html#aa6e39b328383930b64eaa230bc9bc6a0">GX_MemoryFill</a></div><div class="ttdeci">Result GX_MemoryFill(u32 *buf0a, u32 buf0v, u32 *buf0e, u16 control0, u32 *buf1a, u32 buf1v, u32 *buf1e, u16 control1)</div><div class="ttdoc">Fills the memory of two buffers with the given values. </div></div>
-<div class="ttc" id="gx_8h_html_af2a0de60baddb7fc1528a62e4e555273"><div class="ttname"><a href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273">GX_FILL_CONTROL</a></div><div class="ttdeci">GX_FILL_CONTROL</div><div class="ttdoc">GX transfer control flags. </div><div class="ttdef"><b>Definition:</b> gx.h:37</div></div>
-<div class="ttc" id="gx_8h_html_aca790f0cdfea04833518556b8a1682f3aeb91dd279d4b69a708cd1cb335981d85"><div class="ttname"><a href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3aeb91dd279d4b69a708cd1cb335981d85">GX_TRANSFER_FMT_RGBA4</a></div><div class="ttdoc">4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha </div><div class="ttdef"><b>Definition:</b> gx.h:20</div></div>
+<div class="ttc" id="gx_8h_html_af2a0de60baddb7fc1528a62e4e555273"><div class="ttname"><a href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273">GX_FILL_CONTROL</a></div><div class="ttdeci">GX_FILL_CONTROL</div><div class="ttdoc">GX transfer control flags. </div><div class="ttdef"><b>Definition:</b> gx.h:41</div></div>
+<div class="ttc" id="gx_8h_html_aca790f0cdfea04833518556b8a1682f3aeb91dd279d4b69a708cd1cb335981d85"><div class="ttname"><a href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3aeb91dd279d4b69a708cd1cb335981d85">GX_TRANSFER_FMT_RGBA4</a></div><div class="ttdoc">4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha </div><div class="ttdef"><b>Definition:</b> gx.h:24</div></div>
 <div class="ttc" id="types_8h_html_a92c50087ca0e64fa93fc59402c55f8ca"><div class="ttname"><a href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a></div><div class="ttdeci">uint8_t u8</div><div class="ttdoc">would be nice if newlib had this already </div><div class="ttdef"><b>Definition:</b> types.h:21</div></div>
-<div class="ttc" id="gx_8h_html_a248b09e90905d8c0622fdfee77880abaa2fe64f5849a1d5806575a9379f81dfff"><div class="ttname"><a href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa2fe64f5849a1d5806575a9379f81dfff">GX_TRANSFER_SCALE_NO</a></div><div class="ttdoc">No anti-aliasing. </div><div class="ttdef"><b>Definition:</b> gx.h:31</div></div>
+<div class="ttc" id="gx_8h_html_a248b09e90905d8c0622fdfee77880abaa2fe64f5849a1d5806575a9379f81dfff"><div class="ttname"><a href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa2fe64f5849a1d5806575a9379f81dfff">GX_TRANSFER_SCALE_NO</a></div><div class="ttdoc">No anti-aliasing. </div><div class="ttdef"><b>Definition:</b> gx.h:35</div></div>
 <div class="ttc" id="gx_8h_html_a7020531dad937eb0d9dc0e22a557285e"><div class="ttname"><a href="gx_8h.html#a7020531dad937eb0d9dc0e22a557285e">GX_RequestDma</a></div><div class="ttdeci">Result GX_RequestDma(u32 *src, u32 *dst, u32 length)</div><div class="ttdoc">Requests a DMA. </div></div>
 <div class="ttc" id="gx_8h_html_a2346e838070d5029faf7e57a9fdf69bf"><div class="ttname"><a href="gx_8h.html#a2346e838070d5029faf7e57a9fdf69bf">GX_ProcessCommandList</a></div><div class="ttdeci">Result GX_ProcessCommandList(u32 *buf0a, u32 buf0s, u8 flags)</div><div class="ttdoc">Processes a GPU command list. </div></div>
-<div class="ttc" id="gx_8h_html_aca790f0cdfea04833518556b8a1682f3a257646681fb4c1dd4b4f0efbc42a6969"><div class="ttname"><a href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3a257646681fb4c1dd4b4f0efbc42a6969">GX_TRANSFER_FMT_RGB565</a></div><div class="ttdoc">5-bit Red + 6-bit Green + 5-bit Blue </div><div class="ttdef"><b>Definition:</b> gx.h:18</div></div>
+<div class="ttc" id="gx_8h_html_aca790f0cdfea04833518556b8a1682f3a257646681fb4c1dd4b4f0efbc42a6969"><div class="ttname"><a href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3a257646681fb4c1dd4b4f0efbc42a6969">GX_TRANSFER_FMT_RGB565</a></div><div class="ttdoc">5-bit Red + 6-bit Green + 5-bit Blue </div><div class="ttdef"><b>Definition:</b> gx.h:22</div></div>
 <div class="ttc" id="types_8h_html_afaa62991928fb9fb18ff0db62a040aba"><div class="ttname"><a href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a></div><div class="ttdeci">uint32_t u32</div><div class="ttdoc">32-bit unsigned integer </div><div class="ttdef"><b>Definition:</b> types.h:23</div></div>
-<div class="ttc" id="gx_8h_html_af2a0de60baddb7fc1528a62e4e555273aee8f4636ba155f050ccc5028f1c8a46e"><div class="ttname"><a href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273aee8f4636ba155f050ccc5028f1c8a46e">GX_FILL_24BIT_DEPTH</a></div><div class="ttdoc">The buffer has a 24 bit per pixel depth. </div><div class="ttdef"><b>Definition:</b> gx.h:42</div></div>
+<div class="ttc" id="gx_8h_html_af2a0de60baddb7fc1528a62e4e555273aee8f4636ba155f050ccc5028f1c8a46e"><div class="ttname"><a href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273aee8f4636ba155f050ccc5028f1c8a46e">GX_FILL_24BIT_DEPTH</a></div><div class="ttdoc">The buffer has a 24 bit per pixel depth. </div><div class="ttdef"><b>Definition:</b> gx.h:46</div></div>
 <div class="ttc" id="gx_8h_html_aee8fbf3aebb34fb5251c245732cccc2e"><div class="ttname"><a href="gx_8h.html#aee8fbf3aebb34fb5251c245732cccc2e">gxCmdBuf</a></div><div class="ttdeci">u32 * gxCmdBuf</div><div class="ttdoc">GX command buffer. </div></div>
-<div class="ttc" id="gx_8h_html_aca790f0cdfea04833518556b8a1682f3accbc07083d7f644b5b162170bafe1dec"><div class="ttname"><a href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3accbc07083d7f644b5b162170bafe1dec">GX_TRANSFER_FMT_RGB8</a></div><div class="ttdoc">8-bit Red + 8-bit Green + 8-bit Blue </div><div class="ttdef"><b>Definition:</b> gx.h:17</div></div>
-<div class="ttc" id="gx_8h_html_af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d"><div class="ttname"><a href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d">GX_FILL_32BIT_DEPTH</a></div><div class="ttdoc">The buffer has a 32 bit per pixel depth. </div><div class="ttdef"><b>Definition:</b> gx.h:43</div></div>
-<div class="ttc" id="gx_8h_html_af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd"><div class="ttname"><a href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd">GX_FILL_TRIGGER</a></div><div class="ttdoc">Trigger the PPF event. </div><div class="ttdef"><b>Definition:</b> gx.h:39</div></div>
-<div class="ttc" id="gx_8h_html_a248b09e90905d8c0622fdfee77880abaa332fea39c9f9533f8ab5780a9543ba30"><div class="ttname"><a href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa332fea39c9f9533f8ab5780a9543ba30">GX_TRANSFER_SCALE_X</a></div><div class="ttdoc">2x1 anti-aliasing </div><div class="ttdef"><b>Definition:</b> gx.h:32</div></div>
-<div class="ttc" id="gx_8h_html_a248b09e90905d8c0622fdfee77880abaa23da8dd0a0ff54432347bf36e9bf4c5f"><div class="ttname"><a href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa23da8dd0a0ff54432347bf36e9bf4c5f">GX_TRANSFER_SCALE_XY</a></div><div class="ttdoc">2x2 anti-aliasing </div><div class="ttdef"><b>Definition:</b> gx.h:33</div></div>
-<div class="ttc" id="gx_8h_html_aca790f0cdfea04833518556b8a1682f3ac52c38b6270090935348440f97113aae"><div class="ttname"><a href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3ac52c38b6270090935348440f97113aae">GX_TRANSFER_FMT_RGB5A1</a></div><div class="ttdoc">5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha </div><div class="ttdef"><b>Definition:</b> gx.h:19</div></div>
-<div class="ttc" id="gx_8h_html_a248b09e90905d8c0622fdfee77880aba"><div class="ttname"><a href="gx_8h.html#a248b09e90905d8c0622fdfee77880aba">GX_TRANSFER_SCALE</a></div><div class="ttdeci">GX_TRANSFER_SCALE</div><div class="ttdoc">Anti-aliasing modes. </div><div class="ttdef"><b>Definition:</b> gx.h:29</div></div>
+<div class="ttc" id="gx_8h_html_aca790f0cdfea04833518556b8a1682f3accbc07083d7f644b5b162170bafe1dec"><div class="ttname"><a href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3accbc07083d7f644b5b162170bafe1dec">GX_TRANSFER_FMT_RGB8</a></div><div class="ttdoc">8-bit Red + 8-bit Green + 8-bit Blue </div><div class="ttdef"><b>Definition:</b> gx.h:21</div></div>
+<div class="ttc" id="gx_8h_html_af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d"><div class="ttname"><a href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d">GX_FILL_32BIT_DEPTH</a></div><div class="ttdoc">The buffer has a 32 bit per pixel depth. </div><div class="ttdef"><b>Definition:</b> gx.h:47</div></div>
+<div class="ttc" id="gx_8h_html_af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd"><div class="ttname"><a href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd">GX_FILL_TRIGGER</a></div><div class="ttdoc">Trigger the PPF event. </div><div class="ttdef"><b>Definition:</b> gx.h:43</div></div>
+<div class="ttc" id="gx_8h_html_a248b09e90905d8c0622fdfee77880abaa332fea39c9f9533f8ab5780a9543ba30"><div class="ttname"><a href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa332fea39c9f9533f8ab5780a9543ba30">GX_TRANSFER_SCALE_X</a></div><div class="ttdoc">2x1 anti-aliasing </div><div class="ttdef"><b>Definition:</b> gx.h:36</div></div>
+<div class="ttc" id="gx_8h_html_a248b09e90905d8c0622fdfee77880abaa23da8dd0a0ff54432347bf36e9bf4c5f"><div class="ttname"><a href="gx_8h.html#a248b09e90905d8c0622fdfee77880abaa23da8dd0a0ff54432347bf36e9bf4c5f">GX_TRANSFER_SCALE_XY</a></div><div class="ttdoc">2x2 anti-aliasing </div><div class="ttdef"><b>Definition:</b> gx.h:37</div></div>
+<div class="ttc" id="gx_8h_html_aca790f0cdfea04833518556b8a1682f3ac52c38b6270090935348440f97113aae"><div class="ttname"><a href="gx_8h.html#aca790f0cdfea04833518556b8a1682f3ac52c38b6270090935348440f97113aae">GX_TRANSFER_FMT_RGB5A1</a></div><div class="ttdoc">5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha </div><div class="ttdef"><b>Definition:</b> gx.h:23</div></div>
+<div class="ttc" id="gx_8h_html_a248b09e90905d8c0622fdfee77880aba"><div class="ttname"><a href="gx_8h.html#a248b09e90905d8c0622fdfee77880aba">GX_TRANSFER_SCALE</a></div><div class="ttdeci">GX_TRANSFER_SCALE</div><div class="ttdoc">Anti-aliasing modes. </div><div class="ttdef"><b>Definition:</b> gx.h:33</div></div>
 <div class="ttc" id="gx_8h_html_a2c1286f84675137eeeadc589654976a2"><div class="ttname"><a href="gx_8h.html#a2c1286f84675137eeeadc589654976a2">GX_TextureCopy</a></div><div class="ttdeci">Result GX_TextureCopy(u32 *inadr, u32 indim, u32 *outadr, u32 outdim, u32 size, u32 flags)</div><div class="ttdoc">Initiates a texture copy. </div></div>
-<div class="ttc" id="gx_8h_html_af2a0de60baddb7fc1528a62e4e555273a2bc635a0bd73fdcc6aea5c25c1e2430c"><div class="ttname"><a href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2bc635a0bd73fdcc6aea5c25c1e2430c">GX_FILL_16BIT_DEPTH</a></div><div class="ttdoc">The buffer has a 16 bit per pixel depth. </div><div class="ttdef"><b>Definition:</b> gx.h:41</div></div>
+<div class="ttc" id="gx_8h_html_af2a0de60baddb7fc1528a62e4e555273a2bc635a0bd73fdcc6aea5c25c1e2430c"><div class="ttname"><a href="gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2bc635a0bd73fdcc6aea5c25c1e2430c">GX_FILL_16BIT_DEPTH</a></div><div class="ttdoc">The buffer has a 16 bit per pixel depth. </div><div class="ttdef"><b>Definition:</b> gx.h:45</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
index ddd1b3cb6c68dbf801d2e74533e242fe9fafdfa8..36e31e4ec36571bcab1383f11538f1dacdaa6fe1 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 747e3a1b62f5f7d8c6742e70a70b1fe5a464ea01..e11b86c9366e1a2bb438142cdb78f82127d96745 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 139de1fbf6ff5280afa0c82382591dfc012fc01a..88926165f9e4d8af4f322210ad627c0dbd45d935 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -521,7 +521,7 @@ Variables</h2></td></tr>
 
 <p>Gets keys that were just pressed. </p>
 <p>Individual keys can be checked by ORing them with this value. </p><dl class="section return"><dt>Returns</dt><dd>Keys down. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a3">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a11">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a7">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a9">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a71">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a70">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a81">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a8">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a5">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a5">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a8">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a19">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a5">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a5">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a7">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a22">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a9">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a11">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a11">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a5">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a3">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a11">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a7">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a9">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a29">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a25">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a33">graphics/gpu/gpusprites/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#a22">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a24">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a28">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a8">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a5">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a5">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a8">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a19">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a5">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a5">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a7">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a22">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a9">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a11">threads/event/source/main.c</a>, <a class="el" href="threads_2thread-basic_2source_2main_8c-example.html#a11">threads/thread-basic/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a5">time/rtc/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
index d7ccb3452461af24bfb8e4873154b145dd4a9e39..4996bd1d34c3ef1744e6f9e0638dd5727401bf20 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 2826fb7af1d590690e384c4e477c088628dbada4..9f489ec18277de415d896060ee75be5e5dd9a29c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 15c11c3b318864b8724e3754c152521624af9561..98879c452d80ecb558cb79cc0cd91cc12219cf08 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 644e191faba7000bc66dd55f6a8b0eb0bc72c258..bc6d88b0e47b8460078450bb3f1b9fb83815f35a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index d7e75692096373f5da0d169cfbdfc159954ef3ee..9178112c9bc128d4d061d7dc0c9de01c0d6974e3 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 52ba3f81bd09bf1a9239fdb6baef208c19003a5a..4e22ff55adb5e4214220215f0fd0147d912eb571 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -87,6 +87,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <p>libctru is just a library and needs a toolchain to function. devkitARM (created by <a href="http://devkitpro.org">devkitPro</a>) is the officially supported ARM cross compiling toolchain, which provides the framework necessary to supply a usable POSIX-like environment, with working C and C++ standard libraries; as well as the tools required to compile homebrew in the 3DSX format, and assemble GPU shaders. The use of other ARM toolchains is severely discouraged.</p>
 <p>The most recent version of devkitARM (r45 at the time of writing) is always recommended. The installers/setup scripts supplied by devkitPro install a prebuilt copy of the latest stable version of libctru, which is recommended for general use. Please note that devkitPro has a policy of keeping legacy code to a minimum, so a library upgrade may result in older code failing to compile or behave properly. Developers are encouraged to keep their code working with the latest versions of the tools and libraries.</p>
 <p>You may find instructions on how to install devkitARM on <a href="http://devkitpro.org/wiki/Getting_Started">the devkitPro Wiki</a>.</p>
+<h1>Documentation</h1>
+<p>The documentation is automatically built upon release and can be found at the following url: <a href="http://smealum.github.io/ctrulib">http://smealum.github.io/ctrulib</a></p>
 <h1>License</h1>
 <p>This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.</p>
 <p>Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:</p>
index 1053a8ebd540143ffa71be9cc60d0437083ea4e2..4c225fdc2eb4143cd1887c14712b62c817ff0ac4 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 8abf2f99357ec9b0a4fd4e24ffcc85d132402204..b47d724b42048638dbe9771fe73874a134306337 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index df8d2832b93a2253ab150928e9faf12c5516eb70..aaffb67da9a9ebecc3cb518caa63d9bf53bc6417 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index b21212abf678a40f65e6429120d849569282e6d1..338254201764cf5f0b42e7df1416d800e09f8499 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 0ff59f39b72f2eb7e487feba460108e5f1e1c8f0..3fe87a69ce364a72695103d67db4183de2f3b99f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 47e13ff9e33800272693734eb53af4ab0cc3e4d7..2f7fa65aeeb0b4ad5bcbe13b0e427e502a7c8902 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 170f145be3751f6e480100ac02fe0f17684202a4..36a2e6e91c45ef52a83e8fe4516412eadd8c4e6f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index cecfb8f73298b15e0dc982ada6b0022713ec8de0..4ee6157a09d7c9869895e552485d2661c235e8ac 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index ada02ed699d9ef0770b5bafe5618bf1bcb52846f..03aac37e05363eeec94789b0d67c8637f4d75d77 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 6b7a2516ea7caf701f66e171aac318603a085ccf..cfbbba881f175096d6a08e3c082c24e5e96def60 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 8ec1b1c572cdf97238ab2d475d2355281ce3fc19..3b79bf26fe2deb7b4aa2889ecba6639f834f899a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 001e72feb6e54947f95f275530a129778968dd47..8ff8542ffa64135b75f8519c17b67467444fef4a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -142,7 +142,7 @@ Functions</h2></td></tr>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The allocated buffer. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a7">audio/mic/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a2">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a2">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a2">graphics/gpu/textured_cube/source/main.c</a>, and <a class="el" href="mvd_2source_2main_8c-example.html#a19">mvd/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a7">audio/mic/source/main.c</a>, <a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a9">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a10">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a10">graphics/gpu/gpusprites/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a9">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a9">graphics/gpu/textured_cube/source/main.c</a>, and <a class="el" href="mvd_2source_2main_8c-example.html#a19">mvd/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
@@ -167,7 +167,7 @@ Functions</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a30">audio/mic/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a5">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a5">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a5">graphics/gpu/textured_cube/source/main.c</a>, and <a class="el" href="mvd_2source_2main_8c-example.html#a24">mvd/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a30">audio/mic/source/main.c</a>, <a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a17">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a15">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a18">graphics/gpu/gpusprites/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a14">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a18">graphics/gpu/textured_cube/source/main.c</a>, and <a class="el" href="mvd_2source_2main_8c-example.html#a24">mvd/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
index 97fec6a2ef6748c6b845016e7580313a8d12c36d..342d5e6e98ebeeab8f94190f30dd0b03d70f9df0 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 82682c89c184c2b426b0e1739e17bc6b37f5485d..923170fdbdf1efde2a323ef647523a95429ff74b 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 21696efa5e2993804cd27748d701981715f31004..654ef6292bcfccfc550f0a0a5d9aa8d759f7e091 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 9458412800f62c4a5729cd2ba0605132f7d12aeb..689f6b84df3a42858b71ed90899ad98b0671784c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -81,7 +81,33 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="title">Changelog </div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><h2>Version 1.0.0</h2>
+<div class="textblock"><h2>Version 1.1.0</h2>
+<ul>
+<li>Additions:<ul>
+<li>GSPGPU/GX code was revised and enhanced:<ul>
+<li>Screens can be buffer-swapped independently using the new gfxConfigScreen function.</li>
+<li>Added gspSetEventCallback for running event code directly on the GSP thread.</li>
+<li>Added gspWaitForAnyEvent for waiting for any GSP event.</li>
+<li>Added gfxIs3D for retrieving 3D-enable status.</li>
+</ul>
+</li>
+<li>Added AM_InstallFirm.</li>
+<li>Added __sync_get_arbiter.</li>
+<li>Added support for usleep.</li>
+</ul>
+</li>
+<li>Changes:<ul>
+<li>NDSP thread priority has been increasing, therefore mitigating potential sound issues due to high CPU usage on the main thread.</li>
+<li>RomFS initialization no longer makes romfs:/ the default device.</li>
+</ul>
+</li>
+<li>Bug fixes:<ul>
+<li>Fixed the timeout parameter in svcArbitrateAddress.</li>
+<li>Fixed svcSetTimer.</li>
+</ul>
+</li>
+</ul>
+<h2>Version 1.0.0</h2>
 <ul>
 <li>New features:<ul>
 <li>libctru documentation is now available at <a href="http://smealum.github.io/ctrulib/">http://smealum.github.io/ctrulib/</a></li>
index 92d78c600a8c96dae174e3941d3b4de1906a1412..a91178800a074b1509abc9bd825f98f69885571e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 441610d86f91e90c9d1871e199139c8c266c7e6f..77c1b533e26f9289f7652070616086d3190cab74 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 7edec7b997a09f8025c7eba0ea0c2e944312d6ba..66fed3e5f624f5328c1553946a959a217167f5b4 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 7f18d8c5bc5e611bac2e080ffe17b038e8b45dbe..98a1e44eb2a28e496c7bdeab91d17f07dfdb6220 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index bdb302bf515accc0d2d6ef1c3ab80d97b3a4d321..c28163b29f5cb4e8772a07c3ed8f520b6cfaacb1 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 835d106af668f6beaa5cd63e3a2a6f641362f171..64ec4a615a9e28e96c1df8d44694caaef0b23f4e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4b8589490b4e840651c32c30b010bc4848d196a3..68b2d62b86cf28caaaca22db619abbb76861fb2a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 380990d411e3e444c24ed76e18fd6732bfe4b71e..4963365611ede99a6443f250850868ce82d7d0e0 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 6bed31faa0e75f599fce180d88921408ce98e6d7..615a83d3ea15ebb44f215c293ee027de344d25cc 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 7317dcdd59518f97815fc4ee22007a7d69fc5c87..4d2f4c2dc81c1ffb7fd79bc5dc0f5b23fea6f0b5 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 93984ba4b4b6e08fbd3744b3e45aadcf667425ea..03ab3c112aaa996c5eab2b0c38812f7eb977b5ee 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 08937c30598a0324ff0b28d5dde00df2af4538be..47132d9b33629728911143522c1fbb27dcc7ae3c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index f665e4bba7d9378c4eb7a6c0c6fdc474ed932e55..36a6b4081f89b7917f9cab70d91937c9244c9538 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -266,8 +266,7 @@ Functions</h2></td></tr>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The corresponding physical address. It is sometimes required by services or when using the GPU command buffer. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a12">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a12">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a12">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a3b62a51a9c8f111843c1fd3ef0756026"></a>
@@ -294,7 +293,8 @@ Functions</h2></td></tr>
 
 <p>Gets the state of the 3D slider. </p>
 <dl class="section return"><dt>Returns</dt><dd>The state of the 3D slider (0.0~1.0) </dd></dl>
-
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a31">graphics/gpu/fragment_light/source/main.c</a>.</dd>
+</dl>
 </div>
 </div>
 <a class="anchor" id="a383e9cab6b8d56a0e419fc830fe4c4e2"></a>
index 253bf5c86832586afbe8a5808e7ca223874d0be6..5e64c86c0bdcde07e00ef5e4737c301b9de1cc90 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index ac3be62a1745f0ddca2c9c121aa9dc69893b4f65..d3d66ad5ca0654bd3e55477352d2a9c6c1285f8e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index b6946757526d0885cf1aa505e7863530daecadbe..97f677ba6c7669b38ab0838d3ce570199b8e232c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index c8fb18de100b5b099d785c6435fcf0c8ffff4aae..0b2c99e2892116f1475472286430260e7c2bc3cd 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 3bdcca72eb29101afe796d3dfcded7db02812242..b6261d90a6265adb3ca6dddbb96274d9c474f75e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index ced1541a59b77df5bb243bc64ce0dbbcab4ca5a4..ccc8789457d50a961b2687c0238d4c9bcc0ad94c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index bf722639a6f625528371d30e220697d3fc71868c..5c6a72d1fe86c2a39a61807b1cfd4be685a5bcd2 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index d35218d03216485baef15668d137fcc5a05077f4..c54254637862ca98a997d38be2ea7ef3ac3f7a00 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 0710ede74c463e8f4f9bab1b6e9d58f9d7d0565a..63cfb374af714721ba7b48bf471b57ac19186657 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index d6969e6ed03805b77da1573fc1dcd30e4398a73d..a9eb4d20cc3ef6ed9f478f2830ab9e63a4820997 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index d2bf3f2d78fd437676692ae8a837061f4e08cfdc..2af139c480aa46725712989c8bb55ab4d0eea20a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index cc6c7959c0f0be6f7d8c4ba96a65346b81ccf782..6ccf8abbc80cd444ea778ae70cc89ef14fb7933c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 2c99fc7940132b1c4150c1bd22abd4d35569e3bd..144ae4a28287634e30ed2f71da1d0217953d7f42 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index f0487fca0c82426dba7f9ab4d4c60fc445b25d2b..02f64afdeaf93ffcfaf840443681082638f7c7e2 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 74a43e88cd14cd802049c9184a1e39decbc17730..5e430878d51fdeff0f35faf57d63c59eace3663a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 6bbc8daffac9d2dd348a27729855dbeb08a200b3..8a5510f651f082e2d550d650c9c3fb8ac54ed20f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index ed1a693375107c2e0ed2442fe9f07bd089924df4..762c67192bd72b47fcc29b062693fe87a8da1235 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 1958f0a2dba58a8023646b25b3b71f5e327e9ad2..947e08128b7d353ca2d70098bb79c13f6ebe9665 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 3ab25d979fcbb2f6d832fc54babc905898748ca6..b810cf9647b59f82227da9897a6408d27f9f81a7 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index a0185a2bda11a497b46d21ba23463e05f73409da..bcba288d260bc7272355e67ef7181e6faaeec75f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 1e1cb898074ab2f91f9ed4d1fbad4d55310e7f64..b08360169cd0a887b9f8f748faa939b0100ed009 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4307af98ce9f47e00b67476847aa9f5978508552..777f96bb9f7dcd0c6aecc514948dfc360821a33e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 11f101bef4038b7f65adcda029f425c1ec949359..55a071e4db7d1329712e57c9f1f6e6d6a2257397 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index fb8ecf929653c37a6793f460fc8878d3e63a8428..f3dce9829fbccf03e1e5508dd061314891caa365 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 408ed12899e1fef570601888d89152e674e248b9..cd6c04d47bb1a35e70515bb61bb9720b567c4aff 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 2f3dfd05ec75d37e46733c245379e01aa71f4e90..15c479efb085780e1e7979089e4b2072edaa6bf2 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 106be169d7c11b2d87923fee5d15a85adacce601..7917dc7fd56b220b6837dda14f48c6ab7a89892a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -302,7 +302,7 @@ Functions</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a54">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a53">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a53">graphics/gpu/textured_cube/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a6">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a7">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a7">graphics/gpu/gpusprites/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#a6">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a6">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a6">graphics/gpu/textured_cube/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
@@ -446,7 +446,7 @@ Functions</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a64">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a63">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a74">graphics/gpu/textured_cube/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a18">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a16">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a24">graphics/gpu/gpusprites/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#a13">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a15">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a19">graphics/gpu/textured_cube/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
@@ -471,7 +471,7 @@ Functions</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a50">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a50">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a50">graphics/gpu/textured_cube/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a3">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a3">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a4">graphics/gpu/gpusprites/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#a3">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a3">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a3">graphics/gpu/textured_cube/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
@@ -514,7 +514,7 @@ Functions</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a53">graphics/gpu/geoshader/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a6">graphics/gpu/geoshader/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
@@ -620,7 +620,7 @@ Functions</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a51">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a51">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a51">graphics/gpu/textured_cube/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a4">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a4">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a5">graphics/gpu/gpusprites/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#a4">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a4">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a4">graphics/gpu/textured_cube/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
@@ -645,8 +645,7 @@ Functions</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a56">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a55">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a55">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 </div><!-- contents -->
index 88bf97b55e8553fcebe8b4da25e45846cfd6e194..eaa63bd1b7399376d01ef0b7f1e636479201cfb8 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 6d4696026ceb8601075aab3c9dfdd28a99978d38..2d48f4d6eaadc3f01202c12e3cf1dca9d8adc975 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -291,7 +291,7 @@ Functions</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a65">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a64">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a75">graphics/gpu/textured_cube/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a19">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a17">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a25">graphics/gpu/gpusprites/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#a14">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a16">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a20">graphics/gpu/textured_cube/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
@@ -328,7 +328,7 @@ Functions</h2></td></tr>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The parsed shader binary. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a49">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a49">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a49">graphics/gpu/textured_cube/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#a2">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a2">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#a3">graphics/gpu/gpusprites/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#a2">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a2">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a2">graphics/gpu/textured_cube/source/main.c</a>.</dd>
 </dl>
 </div>
 </div>
index 44e4e372709ca44fc1099df4625735c8e424b645..a7567c765277d20d772b035b0dae3f9fcc9cf2f6 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 0d9d71fec6e77e88c2d47c1760f20c59a8b09b3f..6deb778939dcea961c8f18b144a2a7e5eb3ec837 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4e421112731920e7ee2bdb10d230e626f7ceb082..c5f2367bc4fa432a52e993e154332ccd1462460c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index a2a4a986351f3ae30e2cd136ebde0470774972c7..122d7a6a5e41f36d8c7d83f3b38dcb1669c217cb 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 8b13d525449b0db0f6e519949e5cd7bb99e0e050..dd383ba7d171457ba0a2992810dcdf2b2ce624e1 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 39f96e0584bad212430bd5c7d046afef1c4dd4fb..9472796d4e5df6c49024ba2b751280c6747b7a38 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 505ce61741722b2145a43d0db7674c67629725d4..a55dacc426721c121e3db6424d403f6eb74716d2 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 682905171c3c703c77b38000b50964118514a2f0..a04d532f38eaa9a6d448bd65ff2785c2410528a2 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 1e0f803791c39fd79b82f808a5f499465f039f92..4fd69467f622fc60b872dd0a7bea8a0e7e1e76b6 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 620eef5941d8c04597c30e480f82c86e878b2ffb..2d0352a4cd1751b276cc831b350a968d8d146f6e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index ffe7e0c711e92dad342782eaaa64db1ace3131ee..5f057543b3107dd97215a58b22aa09fe21c7ce48 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 680de28a3645599a70252e647da9d6f3856380f6..12bf9536935d63142cadc03f3628eacc628d10fc 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index eac50af125ebb8f4a376632438b2c85ab27028d7..fb097d42409a1eade4d485c98f45e1170209cbef 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index c15aa8b336ea811a6efdecbd4747247961311188..a7da4ed816b43997d15f0384bd61dd2feaa04eea 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 606319ca8f2278330945bc2e6d48bfaf6e5207a3..0c8f6f2a56dd1ea86e0287227e743b3ea28a8bf6 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index bdec33bbc6b2cc874835a694d9356d6322623369..832148ce4d5fb4ad6778a52999ab652db5596608 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 3a50a6b45207db776f168627e6673bb8f5d88ef1..e3365970dff6a577c6bea23ac4324be1af922646 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -113,7 +113,7 @@ Data Fields</h2></td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>DVLB data. </p>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#_a47">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#_a47">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#_a47">graphics/gpu/textured_cube/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#_a0">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#_a0">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#_a1">graphics/gpu/gpusprites/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#_a0">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#_a0">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#_a0">graphics/gpu/textured_cube/source/main.c</a>.</dd>
 </dl></div><hr/>The documentation for this struct was generated from the following file:<ul>
 <li>include/3ds/gpu/<a class="el" href="shbin_8h_source.html">shbin.h</a></li>
 </ul>
index d6066089e489536cab1d9802e02e6468a965cfbd..109d8db2a1019384a3f644e2dd76adaa6c843dbf 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 37d6ea1780723438f7fdf3909b9ff1dfcbccf4ab..4250dccb6f4a895fa2062df7f9127a22b3717f38 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index cf4d28e1067e1def230ff2124f7f300903e1f2fe..6c7960aa51302c01428e131c3419ddf13efa702d 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 72cc1a82e7d0769783077cbb144ce0c2ff48e619..65bbbceaf96a6b46f18dbd8adc738a990b40e7a8 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 7555cea11c659ba247b7c6ff3893b1e9f9988c09..a909a006579bf3dd6eec8ab208df2024c6d59e0b 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index e207bc0960fedd37b635a6136b3bcb9e1ba53293..45162cdb61ccab2e3ca18a7a8ecf733dfe99cfc9 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 49ff174a2e729ca249e81c7832b9bd1179d7f71f..58096776184c7ac38db8d5255f5f00d1f7471f9f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 3158b0d70ca65176c0abcf3bc6fad67ef40a9375..ec84d6f26cac3563fa2b3e0159760a6a482cf03b 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 475e719673a1964bcd5069d0f25967a6c98e6657..23dfeb344ac8977db861549bd8a74264a1da237c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 6853cea974b16c5b774114f32928ce74238b9e80..e89de287f15049c2e6577650460dd19ec5bb7198 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 79ecf10b4c1181e98f1a07f39ddb44a3ddc4fdc9..0d79ba92071d8bfce07acde70be4d6e06a16a768 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index f59e773d9a7911445320fd4a84f4ef2056dd3c2f..23c665528f38e313c4143416bc745b0bfbabc86e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 6736e385db3d813d86cebc14724958716a41960f..930830d1d73c00e74d5ef571579660f99a62aa39 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 6e9f1e3348f872caba641b235e28e3ac4d65f11a..9826bff49d87ad506e50f08361e2a814f43bfd58 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 8c2e338c76955db97f33b4c682187149dd3cde94..b84da68f1300db7c327401a5f124109eabe31feb 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 8ad3bac4966d8e757bcfb2a3f522de052855082a..467408abff5df6e17628094491a9cc5acd37c019 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 6265c7ca34ad690e0170a85ec2cb0d3ab226ae1c..76fd084bd249a3d36587e070f00d485f5426e249 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 13b159a782c7d4f3f2e36a6f3b83e73596224fed..587571124b0a280610e7c75ce4602a63a3575eb7 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 08956d4bc2ed43bd6bf475cd4ea27394fc658c02..76809e6ac5ded541296b5c92ab3fc2e86b9b5bc0 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 5d314348e2b9d8cbbeaca7e15c6b208e6fbc3c46..2179a589f9294b5373ebcd2841c0255ad0944031 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 98cc4926178c38ed69736033cc0c383eafd2e08b..cce4e4e9d9d66030d22d9b8c6395a401f5dce7da 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 72c28c389c91fc1dda6e1fde03f7e606de1b1572..128a491217f1a1c18985fab5e0eb7428ab03b3c2 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 85a31a6c27dee862e48fe28ff97ac0b318967c39..67860ab3e3e8456a2d3537ad9b7dce10e7376f41 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index e866b2466f2c59dfd6b19a59a4237b611474769c..e8e31938dfb96c285498dee92821c3921fd98f24 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4c5109c7c6d0a3b6c545b06fb30c37094a3e18f6..6cc4fa4e2467ecde1c2fa865a84f0703ea363b71 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index fa11a70dd2d3530ad14dc3f424240589f79d7a09..202ee9f27b0251f6898c88af149c6ae3641ff561 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 53727de41da749c34b6e81d8e3eb73758a5fbf29..2034437f1a2d8edab9dab1a2aca88748053098fb 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 94ca16825f2ef31f4257183caf0c70c8a194ea29..ddfeeae038d765a7347369805ccdb1c5094d5921 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 5ec5abe41723de741c90c71c4b5723823ae2ca3f..c5212fea50441b30df2e3008797393b00d1ae0c8 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index eb9a5b3bb56cade51bcfab5af6145e0b571ebec3..79dd39f289015b1c4fc2a623e809192c69befc19 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index a00e12c8180adba0805eea40481e9d7a77b5e53e..19fd485dee86c2fef8b4fd837e4027980f413317 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index f6d59064c8fe82026ca1edfbd1e86e999f126abf..3e3e30bc8123bb6db9c201fd503609f145b143f3 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 96f4eafd6a30379fb22cdcf81e66e42aaa38fc29..fa57639988d107a1b4b7d4a1e53323ad4039457f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 1d6c6b4dd51669d8516013722e0e0e25a9198578..0b06f0682d509858a166b9872a29bc105c996c51 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index bf19f482cc938a7ee082905de4477d5e6b85659f..fef074ad510476797d75ab6d12130714bb28edf9 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 7946b824e6072a342662ed6836b70daf5f3f13ae..a26eb8b25b37bd24ef4a861a578bcff936e9776f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 0fd379cc24c1462315efa566ba426dbf326ad2ad..1bef722554523e57b49f7d2636229242be7fcdf0 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 0eed8c9e0a25e9d5660b85d9542eb79370b3ad68..12154a3a9d36423e041be905cdf1a88aff90d3e3 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 133dfbc5196325de016f831f9eeeadd534f0bfb9..a3fae97aba74bd934bf3150e7d1552d96c7d3d2c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 2e4171e5432efbdf95b00318aa649646cab68680..7772fc3ff1fc48e3b52ffac26470419e655e05cd 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 6e60e94248a37e575bc5dc0c6eb60fd4150d90ac..b3ec405a2911bbbb221e962018b878ea214b303c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 352ad03944aa67e1671d8d69fbb3523d862fb4b5..715b55cf0734eefd1d847c2585fa8d8e55906f2d 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4fecfebc72a507991f30b0f00a63c021f2a605e1..b6908375910d7cc06368de9f2c93efd3ef12406e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index a8d7b1bb2797a95de3bb2aa7ef00aa0d4b22f0cd..703707ab5082199a5b68e57cc14122803f98cce9 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 3f67ba4df746c8532c94dc9e3ba8932779f7de10..f8099e0506263c432ac72a714f498807ed127c0d 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index de75b894decc2826939d6aab6222e5044aa8c28d..fcd18d31d401b48a6a0dae5c1820f2a7ba4c216c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 009f14c7ebe18f0acd5be74daaef346605cafd0b..0a52209eaffd3de4335a153acb9f5e768fcdfce8 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 11e72fd0636d7f6894f8dfac9114025ccb06b64e..a7ed03921fdcf17470106bc3942ea39a8f8ab9fe 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 32447d9634dea9e2acdc0bbe800f0372dc309a6b..cfb0f956acc823a6ef98a3ecedbc55d3e51e6f0b 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index cfebd69e4acc72eac037c7d223f6c058a57db9af..5337a2fccb00a9f32da70081c369cb401ce913e2 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 3cd0ea0130094835726e48765f5b5f05adfb21d1..8aefb7ad60701c5e77a0b32fa3025684fdc9938a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index a4f7729f8f5e1ce6e2de708460995d2b5d1c0eea..ae81f8aa3fc3cba44ff79413e049dd8a308fe315 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index f7851fc9d4b0aa59a679de3d617cb9b327798f57..af4ed4d588c9709cc82ba3db9a2e2f6e62102621 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 04f5c6a598b8db8a65c8512065559a4c68337170..30fd86982b7c1e2c347fa77b27d497f99ce92f17 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index aab71770c7253f6f3debc2ed250958dbf274374d..6f4c6ca1727ae4257623ccf535a445728174a968 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index df2f44f5b1d849e498ffbc44a0fa0dedfd1ad6a4..924892aa8127679197350bf06e2ed4eb588691ac 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -121,7 +121,7 @@ Data Fields</h2></td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>Describes an instance of a full shader program. </p>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#_a48">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#_a48">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#_a48">graphics/gpu/textured_cube/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2fragment_light_2source_2main_8c-example.html#_a1">graphics/gpu/fragment_light/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#_a1">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2gpusprites_2source_2main_8c-example.html#_a2">graphics/gpu/gpusprites/source/main.c</a>, <a class="el" href="graphics_2gpu_2immediate_2source_2main_8c-example.html#_a1">graphics/gpu/immediate/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#_a1">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#_a1">graphics/gpu/textured_cube/source/main.c</a>.</dd>
 </dl></div><hr/>The documentation for this struct was generated from the following file:<ul>
 <li>include/3ds/gpu/<a class="el" href="shaderProgram_8h_source.html">shaderProgram.h</a></li>
 </ul>
index fb756ae56d4debf84f6b412841c35c0076cb4829..1e9e3ab65e76528cdfc8de2edc87f0f7c433edec 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 04f8421e906792d15df5f849de27514f0885b2aa..2da70d57a6df1a6bf85abe98c8213496d7dd0fc0 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 0a4a0d716d77b0b53bfd5229e1d09c0283b8aa87..e9e736c407f3797a5866d3d1e1b24203ca54f841 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index dfb0584c73b285804cf7a66bcd6182902a3f134a..585361d8c562d9899a7749e2b0f28154f6f7e5d0 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index c37ab26974204be0d290e3a76377e746d99cca4d..9bd457f8dc8eb0c844da8f9b4f71350cdc45265f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 2adfeb4a19762dba246a9f64bd37a51d0613fb2e..b165e952da090f8a9236f17bedc6089412cacd84 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 41dfb68c6d9d4dbd4e9cac8e48b088b7b85f50b1..ad39293eaf99c483f868370ac9422c1d9a571981 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 48df88497675db61b4827c7581875096ec421568..af910e63fe711f246aa77839c8037636372483fc 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -152,6 +152,9 @@ static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hre
 <tr class="memitem:ae5b6bc8b7ae74b57efbb0707c1d6cea9"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#ae5b6bc8b7ae74b57efbb0707c1d6cea9">__strex</a> (<a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> *addr, <a class="el" href="types_8h.html#ae9b1af5c037e57a98884758875d3a7c4">s32</a> val)</td></tr>
 <tr class="memdesc:ae5b6bc8b7ae74b57efbb0707c1d6cea9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a strex operation.  <a href="#ae5b6bc8b7ae74b57efbb0707c1d6cea9">More...</a><br /></td></tr>
 <tr class="separator:ae5b6bc8b7ae74b57efbb0707c1d6cea9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abfc0f49f74fdd98c039a670ecacd23de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#abfc0f49f74fdd98c039a670ecacd23de">__sync_get_arbiter</a> (void)</td></tr>
+<tr class="memdesc:abfc0f49f74fdd98c039a670ecacd23de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the synchronization subsystem's address arbiter handle.  <a href="#abfc0f49f74fdd98c039a670ecacd23de">More...</a><br /></td></tr>
+<tr class="separator:abfc0f49f74fdd98c039a670ecacd23de"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a81f625fde46405c1d539b1581d54fb05"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="synchronization_8h.html#a81f625fde46405c1d539b1581d54fb05">LightLock_Init</a> (<a class="el" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a> *lock)</td></tr>
 <tr class="memdesc:a81f625fde46405c1d539b1581d54fb05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a light lock.  <a href="#a81f625fde46405c1d539b1581d54fb05">More...</a><br /></td></tr>
 <tr class="separator:a81f625fde46405c1d539b1581d54fb05"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -255,6 +258,25 @@ static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hre
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Whether the operation was successful. </dd></dl>
 
+</div>
+</div>
+<a class="anchor" id="abfc0f49f74fdd98c039a670ecacd23de"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> __sync_get_arbiter </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Retrieves the synchronization subsystem's address arbiter handle. </p>
+<dl class="section return"><dt>Returns</dt><dd>The synchronization subsystem's address arbiter handle. </dd></dl>
+
 </div>
 </div>
 <a class="anchor" id="a81f625fde46405c1d539b1581d54fb05"></a>
index bc9651c8a15090db9bb4c80d99e576817d5c74b9..6898efb279acbffcb1eba37b1028a1beaafc808b 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -153,55 +153,62 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="synchronization_8h.html#a5bc74ad985f95799e927cc50a4ebd9c3">   60</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define AtomicSwap(ptr, value) __atomic_exchange_n((u32*)(ptr), (value), __ATOMIC_SEQ_CST)</span></div>
 <div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment"></span></div>
 <div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment"> * @brief Initializes a light lock.</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment"> * @param lock Pointer to the lock.</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment"> * @brief Retrieves the synchronization subsystem&#39;s address arbiter handle.</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment"> * @return The synchronization subsystem&#39;s address arbiter handle.</span></div>
 <div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a81f625fde46405c1d539b1581d54fb05">LightLock_Init</a>(<a class="code" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a>* lock);</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> <a class="code" href="synchronization_8h.html#abfc0f49f74fdd98c039a670ecacd23de">__sync_get_arbiter</a>(<span class="keywordtype">void</span>);</div>
 <div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment"></span></div>
 <div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment"> * @brief Locks a light lock.</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment"> * @brief Initializes a light lock.</span></div>
 <div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment"> * @param lock Pointer to the lock.</span></div>
 <div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#ae75aac6e4bfe30037c8a9de916a6ddb8">LightLock_Lock</a>(<a class="code" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a>* lock);</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a81f625fde46405c1d539b1581d54fb05">LightLock_Init</a>(<a class="code" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a>* lock);</div>
 <div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment"></span></div>
 <div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment"> * @brief Attempts to lock a light lock.</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment"> * @brief Locks a light lock.</span></div>
 <div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment"> * @param lock Pointer to the lock.</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment"> * @return Zero on success, non-zero on failure.</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keywordtype">int</span> <a class="code" href="synchronization_8h.html#a1a1d677c021a8487d567f832dea9d9db">LightLock_TryLock</a>(<a class="code" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a>* lock);</div>
-<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment"> * @brief Unlocks a light lock.</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment"> * @param lock Pointer to the lock.</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#ae75aac6e4bfe30037c8a9de916a6ddb8">LightLock_Lock</a>(<a class="code" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a>* lock);</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment"> * @brief Attempts to lock a light lock.</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment"> * @param lock Pointer to the lock.</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment"> * @return Zero on success, non-zero on failure.</span></div>
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a82283ae772ec2eac3a193b1431a681af">LightLock_Unlock</a>(<a class="code" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a>* lock);</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keywordtype">int</span> <a class="code" href="synchronization_8h.html#a1a1d677c021a8487d567f832dea9d9db">LightLock_TryLock</a>(<a class="code" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a>* lock);</div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment"></span></div>
 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment"> * @brief Initializes a recursive lock.</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment"> * @brief Unlocks a light lock.</span></div>
 <div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment"> * @param lock Pointer to the lock.</span></div>
 <div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a1bbbe87bf212a32850ac9f0b6aa73408">RecursiveLock_Init</a>(<a class="code" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a>* lock);</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a82283ae772ec2eac3a193b1431a681af">LightLock_Unlock</a>(<a class="code" href="synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e">LightLock</a>* lock);</div>
 <div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment"></span></div>
 <div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment"> * @brief Locks a recursive lock.</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment"> * @brief Initializes a recursive lock.</span></div>
 <div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment"> * @param lock Pointer to the lock.</span></div>
 <div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#afea61e6ff137d96934bb145d44095ccb">RecursiveLock_Lock</a>(<a class="code" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a>* lock);</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a1bbbe87bf212a32850ac9f0b6aa73408">RecursiveLock_Init</a>(<a class="code" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a>* lock);</div>
 <div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment"></span></div>
 <div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment"> * @brief Attempts to lock a recursive lock.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment"> * @brief Locks a recursive lock.</span></div>
 <div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment"> * @param lock Pointer to the lock.</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment"> * @return Zero on success, non-zero on failure.</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="keywordtype">int</span> <a class="code" href="synchronization_8h.html#a8808924fdee80220f83b6992bc5e104d">RecursiveLock_TryLock</a>(<a class="code" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a>* lock);</div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment"></span></div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">/**</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment"> * @brief Unlocks a recursive lock.</span></div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment"> * @param lock Pointer to the lock.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#afea61e6ff137d96934bb145d44095ccb">RecursiveLock_Lock</a>(<a class="code" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a>* lock);</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment"> * @brief Attempts to lock a recursive lock.</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment"> * @param lock Pointer to the lock.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment"> * @return Zero on success, non-zero on failure.</span></div>
 <div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a529b21c4a974abeea24b1dcceb75cf62">RecursiveLock_Unlock</a>(<a class="code" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a>* lock);</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keywordtype">int</span> <a class="code" href="synchronization_8h.html#a8808924fdee80220f83b6992bc5e104d">RecursiveLock_TryLock</a>(<a class="code" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a>* lock);</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="comment">/**</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment"> * @brief Unlocks a recursive lock.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment"> * @param lock Pointer to the lock.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keywordtype">void</span> <a class="code" href="synchronization_8h.html#a529b21c4a974abeea24b1dcceb75cf62">RecursiveLock_Unlock</a>(<a class="code" href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a>* lock);</div>
 <div class="ttc" id="synchronization_8h_html_a81f625fde46405c1d539b1581d54fb05"><div class="ttname"><a href="synchronization_8h.html#a81f625fde46405c1d539b1581d54fb05">LightLock_Init</a></div><div class="ttdeci">void LightLock_Init(LightLock *lock)</div><div class="ttdoc">Initializes a light lock. </div></div>
+<div class="ttc" id="types_8h_html_ab6d744c6b5de129f12937e482dc674fb"><div class="ttname"><a href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a></div><div class="ttdeci">u32 Handle</div><div class="ttdoc">Resource handle. </div><div class="ttdef"><b>Definition:</b> types.h:41</div></div>
 <div class="ttc" id="synchronization_8h_html_ae161b0db2ef331125217c64729e18179"><div class="ttname"><a href="synchronization_8h.html#ae161b0db2ef331125217c64729e18179">RecursiveLock</a></div><div class="ttdeci">_LOCK_RECURSIVE_T RecursiveLock</div><div class="ttdoc">A recursive lock. </div><div class="ttdef"><b>Definition:</b> synchronization.h:12</div></div>
 <div class="ttc" id="synchronization_8h_html_a1bbbe87bf212a32850ac9f0b6aa73408"><div class="ttname"><a href="synchronization_8h.html#a1bbbe87bf212a32850ac9f0b6aa73408">RecursiveLock_Init</a></div><div class="ttdeci">void RecursiveLock_Init(RecursiveLock *lock)</div><div class="ttdoc">Initializes a recursive lock. </div></div>
 <div class="ttc" id="synchronization_8h_html_a4f5f4fd74aae52a2310fb2c6a5983e4d"><div class="ttname"><a href="synchronization_8h.html#a4f5f4fd74aae52a2310fb2c6a5983e4d">__dsb</a></div><div class="ttdeci">static void __dsb(void)</div><div class="ttdoc">Performs a Data Synchronization Barrier operation. </div><div class="ttdef"><b>Definition:</b> synchronization.h:15</div></div>
@@ -215,6 +222,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
 <div class="ttc" id="synchronization_8h_html_a1a1d677c021a8487d567f832dea9d9db"><div class="ttname"><a href="synchronization_8h.html#a1a1d677c021a8487d567f832dea9d9db">LightLock_TryLock</a></div><div class="ttdeci">int LightLock_TryLock(LightLock *lock)</div><div class="ttdoc">Attempts to lock a light lock. </div></div>
 <div class="ttc" id="synchronization_8h_html_afea61e6ff137d96934bb145d44095ccb"><div class="ttname"><a href="synchronization_8h.html#afea61e6ff137d96934bb145d44095ccb">RecursiveLock_Lock</a></div><div class="ttdeci">void RecursiveLock_Lock(RecursiveLock *lock)</div><div class="ttdoc">Locks a recursive lock. </div></div>
 <div class="ttc" id="synchronization_8h_html_a8808924fdee80220f83b6992bc5e104d"><div class="ttname"><a href="synchronization_8h.html#a8808924fdee80220f83b6992bc5e104d">RecursiveLock_TryLock</a></div><div class="ttdeci">int RecursiveLock_TryLock(RecursiveLock *lock)</div><div class="ttdoc">Attempts to lock a recursive lock. </div></div>
+<div class="ttc" id="synchronization_8h_html_abfc0f49f74fdd98c039a670ecacd23de"><div class="ttname"><a href="synchronization_8h.html#abfc0f49f74fdd98c039a670ecacd23de">__sync_get_arbiter</a></div><div class="ttdeci">Handle __sync_get_arbiter(void)</div><div class="ttdoc">Retrieves the synchronization subsystem&#39;s address arbiter handle. </div></div>
 <div class="ttc" id="synchronization_8h_html_a82283ae772ec2eac3a193b1431a681af"><div class="ttname"><a href="synchronization_8h.html#a82283ae772ec2eac3a193b1431a681af">LightLock_Unlock</a></div><div class="ttdeci">void LightLock_Unlock(LightLock *lock)</div><div class="ttdoc">Unlocks a light lock. </div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
index 0d3cd724ea18abff566392fd86bede742624c003..1eb846921c2807b3f7b5bc33b19f3e9bd86612a9 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 597ee7927e176ac60af5c954448153af0cbab8a4..7b858a52c31b32990746a715a8b2f285f0c22e8e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index c87899f9959743c00b44fbdb7e37a651305247b1..8b97f383f8bca064f4e67ede5ebc93ecdbb29bf4 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index c9eaaf4d2c5167e61afeba9b1a3bd8d1dc58446a..d186b119c814367cac2befddd4bbe37f06308388 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index c2de3ff85e4da0cc02cc3b9518bac278ef4de121..86cfb3696d5db3b6d9b702032190cc2d2791451f 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 9a7e390c3f9b0d97a2404dc5a755d0401533f7b0..2e4a93f3dbb409f13d2645673afceae59b434db2 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 242e7765d7255b8db9cde91b4348081af0da491c..99d6125419dbca8f90bda48def0501678a60c09e 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 7adfcba55c0e7d81a64628f29d1cbf079c4965c9..0125d9f4bd50a054926a04579ec3802f77107933 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 57ae86d846796947d628614b5af903b84674763e..5b4631e8d5d87bba559a9c55d6b8ea88d5f769eb 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 4cbe66c90dc283740d960f9429d5e410808d8c96..1a3f8d80b52c3d97f16eedf8d7142392447d213c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 8f23e99d64ff7774f7220d4f2f28860954c5f274..4dc07069d73ae5f7d8bbe75c09e5e22c2903416a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index f72e358c85ac2172b8b1d6ca696746237f328b48..d31668798e94f2ebba2f68069bccb6289912ebd1 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index 7a617de8532b30fff0b8f55a09e72439b9042412..bffa49c6e2dc087e3b42c040c2a402ee7322cbca 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,7 @@ Functions</h2></td></tr>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>The allocated buffer. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a1">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a1">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a1">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a867318cde93cdd997588d6dcbfc584e1"></a>
@@ -167,8 +166,7 @@ Functions</h2></td></tr>
   </table>
   </dd>
 </dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a6">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a6">graphics/gpu/simple_tri/source/main.c</a>, and <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a6">graphics/gpu/textured_cube/source/main.c</a>.</dd>
-</dl>
+
 </div>
 </div>
 <a class="anchor" id="a0d6d17e0944fd2303b7bb6c8da5ecef6"></a>
index 09988cd7b3cd3bd7f7dfdc7843b11210a6133859..07e77bfe07ed87e2e50d31767dcde98119ff0d5a 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index d6e0a6f705fd8339fe787cf871e417c29637f6a4..02c41a13112303aca87a7f8077e918c2bd7e31a9 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>
index b12f963a9a8ae89c3f7fa1a202d0f638aaf862df..e7afe5e1fffaf6b1566d2fb10f73bbdda0ec6a6c 100644 (file)
@@ -24,7 +24,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">libctru
-   &#160;<span id="projectnumber">v1.0.0</span>
+   &#160;<span id="projectnumber">v1.1.0</span>
    </div>
   </td>
  </tr>