diff options
author | Jorge Zapata <jorgeluis.zapata@gmail.com> | 2024-01-18 19:07:57 +0100 |
---|---|---|
committer | Jorge Zapata <jorgeluis.zapata@gmail.com> | 2024-03-12 10:03:58 +0100 |
commit | 4322ed4479688ac902b2a1cc078d2519a5d31139 (patch) | |
tree | fee847668828d2032eeaf7a9d5b6108993948021 | |
parent | 10f69d7c379375bd9f40bb213b033218fb74363d (diff) |
docs: Update the ROADMAP and TODO files
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/148>
-rw-r--r-- | ROADMAP | 24 | ||||
-rw-r--r-- | ROADMAP.md | 54 | ||||
-rw-r--r-- | TODO | 33 |
3 files changed, 54 insertions, 57 deletions
diff --git a/ROADMAP b/ROADMAP deleted file mode 100644 index 1df6e67..0000000 --- a/ROADMAP +++ /dev/null @@ -1,24 +0,0 @@ - -Projects: - -* Memory management for executable sections of code. - -* Parser - -* APIs to handle the following use cases: - - replacement for normal functions (schro) - - construct function at runtime (pixman) - -* Handle compilation failure - - fallback to emulation - -* Automatic testing of compiled code - -* Automatic speed measurement - -* Better MMX and SSE engine latency/throughput measurement - -* SSE write alignment - - - diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000..7f52dc7 --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,54 @@ +Versions +======== + +0.6 +--- +- [ ] Migrate to GLib? + +0.5 +--- +- [ ] Reduce the API to the minimum to run orcc and the generated code +- [ ] Remove orc-stdint.h. +- [ ] For `ORC_ENABLE_UNSTABLE_API`, create a private header and keep the symbol there +- [ ] Make the `OrcX86OpcodeIdx` to not include the accepted type of data (mem, registers, etc) +- [ ] The `OrcX86Insn` and `OrcX86Opcode` have redundant fields. The instruction should include the prefix stuff, not the opcode + +0.4.9999 +-------- +- [ ] Make all .[ch] files to include only functions that belong to that particular component +- [ ] Have all code formatted accordingly +- [ ] Have a pre-commit hook to avoid new commits with wrong format +- [ ] Avoid using any direct access to a structure from the generated code, use getters/setters instead +- [ ] Avoid using any direct access to a structure from other components, use getters/setters instead +- [ ] Put every tool under the tools folder +- [ ] Have a folder per target +- [ ] Share all program code between mmx, sse and avx +- [ ] Move target code into a target related file, not a program related file +- [ ] Properly set the first shift on x86 loops. A variable with alignment 16 on a 32 byte boundary (AVX) should start the loop at 4 shift, not 0 +- [ ] Properly align compiler variables on x86 arch, once a known alignment is know, based on iterations mark the `is_aligned`, not only for one var +- [ ] Make `orc_compiler_append_code` and therefore `ORC_ASM_CODE` keep track of the current instruction, to put the comment in the correct place +- [ ] Have an `ORC_TARGET` envvar to choose the target at runtime + +Past ideas +========== +The following items come from the previous TODO and ROADMAP files which still need to be confirmed + +- [ ] Memory management for executable sections of code. +- [ ] Parser +- [ ] APIs to handle the replacement for normal functions (schro) +- [ ] APIs to handle the construction of functions at runtime (pixman) +- [ ] Handle compilation failure to fallback to emulation +- [ ] Automatic testing of compiled code +- [ ] Automatic speed measurement +- [ ] Better MMX and SSE engine latency/throughput measurement +- [ ] SSE write alignment +- [ ] Handle SSE cache information and small n +- [ ] Contant n in NEON +- [ ] Aligned source checks +- [ ] New opcodes for sampling: video scaling, fir filtering, fir filtering with downsampling, upsampling/downsampling +- [ ] New opcodes for composite +- [ ] Float parameters +- [ ] Inline orc calls in the compiler +- [ ] Initialization functions in the compiler +- [ ] Instruction scheduler +- [ ] Improve emulation @@ -1,33 +0,0 @@ - - -sse: Handle cache information and small n - -neon: constant n - -aligned source checks - -new opcodes: - - sampling: video scaling, fir filtering, fir filtering with - downsampling, upsampling/downsampling - - composite opcodes - -float parameters - -compiler: inline orc calls - -compiler: initialization function - -instruction scheduler - -improve emulation - - - -0.5 -=== - -Remove orc-stdint.h. - -Remove lots of stuff from the public API. - - |