Skip to content

Commit

Permalink
Update documentation for branch developing
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions committed Oct 5, 2023
1 parent 11c8804 commit ffbc8d4
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 57 deletions.
4 changes: 2 additions & 2 deletions developing/footer.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
function writeHeader() {
document.write('Version 1.1.5-dev89');
document.write('Version 1.1.5-dev90');
};

function writeFooter() {
document.write('Generated on Wed Oct 4 2023 11:05:06 for Arm-2D 1.1.5-dev89+gc115634. Copyright © 2022-2023 Arm Limited (or its affiliates). All rights reserved.');
document.write('Generated on Thu Oct 5 2023 15:54:56 for Arm-2D 1.1.5-dev90+g69bcbf1. Copyright © 2022-2023 Arm Limited (or its affiliates). All rights reserved.');
};
56 changes: 2 additions & 54 deletions developing/md_getting_started_as_a_professional_user.html
Original file line number Diff line number Diff line change
Expand Up @@ -139,63 +139,11 @@
<li><em><b>arm_2d_helium.c</b></em> is used to override some default software algorithm implementations across the library.</li>
</ul>
</li>
<li>Supports for hardware accelerators (both from Arm and 3rd-parties) should be added in the same manner in the future.<ul>
<li><p class="startli">Override the target low level IO defined with <code>def_low_lv_io()</code> macro that originally defined in <code>arm_2d_op_table.c</code> to add your own version of algorithms and hardware accelerations. For example, if you want to add alpha-blending support for RGB565 using your 2D hardware accelerator, you should do the following steps:</p><ol type="1">
<li><p class="startli">In one of your own C source code, override the definition of <code>__ARM_2D_IO_COPY_WITH_OPACITY_RGB565</code></p>
<p class="startli">```c //! PLEASE add following three lines in your hardware adapter source code #define <b>ARM_2D_IMPL</b> #include "arm_2d.h" #include "__arm_2d_impl.h"</p>
<p class="startli">...</p>
<p class="startli">__OVERRIDE_WEAK def_low_lv_io(__ARM_2D_IO_COPY_WITH_OPACITY_RGB565, __arm_2d_rgb565_sw_tile_copy_with_opacity, __arm_2d_rgb565_my_hw_tile_copy_with_opacity); ```</p>
</li>
<li>Copy the function body of <code>__arm_2d_rgb565_sw_tile_copy_with_opacity()</code> to your source code as a template of the <em><b>hardware adaptor</b></em> and rename it as <code>__arm_2d_rgb565_my_hw_tile_copy_with_opacity()</code></li>
<li>Modify <em><b>__arm_2d_rgb565_my_hw_tile_copy_with_opacity</b></em> to use your own hardware accelerator.</li>
<li>Based on the arguments passed to the function and the capability of your 2D accelerator, you can:<ul>
<li>return <code>ARM_2D_ERR_NOT_SUPPORT</code> if the hardware isn't capable to do what is requested.</li>
<li>return <code>arm_fsm_rt_cpl</code> if the task is done immediately and no need to wait.</li>
<li>return <code>arm_fsm_rt_async</code> if the task is done asynchronously and later report to arm-2d by calling function <code>__arm_2d_notify_sub_task_cpl()</code>.</li>
</ul>
</li>
</ol>
<p class="startli"><em><b>NOTE</b></em>: The Arm-2D pipeline will keep issuing tasks to your <em><b>hardware adaptor</b></em>, please quickly check whether the hardware is capable of doing the work or not, and then add the task (an <code>__arm_2d_sub_task_t</code> object) to a list in <em><b>First-In-First-Out</b></em> manner if your hardware adaptor decides to keep it. After that, your hardware accelerator can fetch tasks one by one. <br />
</p>
</li>
</ul>
</li>
<li>For the way of adding supports for hardware accelerations. Please click to <a class="el" href="md_how_to_accelerate_arm_2d.html">here</a> for details. </li>
</ul>
</li>
</ul>
<div class="fragment"><div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span>__arm_2d_sub_task_t __arm_2d_sub_task_t;</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"><span class="keyword">typedef</span> <a class="code hl_enumeration" href="group__gKernel.html#ga373f79d09c0d15653ca46ea08e0377fc" title="finite-state-machine status return (Compatible with arm_status, minimal integer: int8_t)">arm_fsm_rt_t</a> __arm_2d_io_func_t(__arm_2d_sub_task_t *ptTask);</div>
<div class="line"> </div>
<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_typedef" href="group__gKernel.html#ga5794a4d595906803e2c82088b3e29464" title="an incomplete defintion which is only used for defining pointers">__arm_2d_low_level_io_t</a> {</div>
<div class="line"> __arm_2d_io_func_t *SW;</div>
<div class="line"> __arm_2d_io_func_t *HW;</div>
<div class="line">} <a class="code hl_typedef" href="group__gKernel.html#ga5794a4d595906803e2c82088b3e29464" title="an incomplete defintion which is only used for defining pointers">__arm_2d_low_level_io_t</a>;</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="comment"> * Low Level IO Interfaces *</span></div>
<div class="line"><span class="comment"> *----------------------------------------------------------------------------*/</span></div>
<div class="line">__WEAK</div>
<div class="line">def_low_lv_io(__ARM_2D_IO_COPY_C8BIT, __arm_2d_c8bit_sw_tile_copy);</div>
<div class="line">__WEAK</div>
<div class="line">def_low_lv_io(__ARM_2D_IO_COPY_RGB16, __arm_2d_rgb16_sw_tile_copy);</div>
<div class="line">__WEAK</div>
<div class="line">def_low_lv_io(__ARM_2D_IO_COPY_RGB32, __arm_2d_rgb32_sw_tile_copy);</div>
<div class="line"> </div>
<div class="line">...</div>
<div class="line"> </div>
<div class="line">__WEAK</div>
<div class="line">def_low_lv_io(__ARM_2D_IO_FILL_ONLY_C8BIT, __arm_2d_c8bit_sw_tile_fill_only);</div>
<div class="line">__WEAK</div>
<div class="line">def_low_lv_io(__ARM_2D_IO_FILL_ONLY_RGB16, __arm_2d_rgb16_sw_tile_fill_only);</div>
<div class="line">__WEAK</div>
<div class="line">def_low_lv_io(__ARM_2D_IO_FILL_ONLY_RGB32, __arm_2d_rgb32_sw_tile_fill_only);</div>
<div class="line"> </div>
<div class="line">...</div>
</div><!-- fragment --> </div></div><!-- contents -->
</div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- start footer part -->
Expand Down
2 changes: 1 addition & 1 deletion version.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//--- list of versions ---
const versions = {
"developing": "1.1.5-dev89",
"developing": "1.1.5-dev90",
"main": "1.1.5-dev44",
"latest": "1.1.4",
"v1.1.3": "1.1.3",
Expand Down

0 comments on commit ffbc8d4

Please sign in to comment.