Read First!

The below wiki article is based on user submitted content.
Please verify all hyperlinks and terminal commands below!

See a mistake? Want to contribute? Edit this article on Github

Issue Labels

We issue several kinds of issue labels in GitHub’s issue tracker to help organize issue. This page contains descriptions of each labels. If you’re a developer and add a new label, please try to remember to document it here.

"A-" labels ("Area")

Broadly identify the area or module of the code this issue is related to.

  • A-audio: Audio output, DSP or CSND emulation.
  • A-build-system: Our CMake build system or build automation on Travis CI or Appveyor.
  • A-cpu: CPU emulation, either the interpreter (Dyncom) or JIT recompiler (Dynarmic).
  • A-filesystem: Emulation of the FS service and code which is used to implement it. (Savefiles, SD access, etc.)
  • A-frontend: The SDL or Qt frontends. (Any code in citra or citra-qt.)
  • A-graphics: The issue affects graphical output of the emulator (glitches, missing objects, ..).
  • A-kernel: Core 3DS kernel HLE. Includes all syscall handling, kernel objects, scheduler, etc. Does not include HLE services.

"E-" labels ("Effort")

Attempt to gauge the difficulty or effert needed to fix or implement an issue. Useful for beginners looking for tasks to do. In any case it’s recommended that contributors join the IRC channel and talk with a developer first before starting non-trivial work.

  • E-easy: Easy tasks that shouldn’t require critical design work or deep knowledge of the 3DS internals.
  • E-intermediate: Tasks requiring more effort which should probably have input from existing contributors.
  • E-hard: Requires major design work or very good knowledge of the 3DS system.

"F-" labels ("Feature")

Once an issue has been identified to be caused by a specific piece of code / feature in Citra it will be tagged with these. We usually call each feature by how it’s named on the Citra side, however, some features map exactly to 3DS or unimplemented features.

  • F-audio:csnd: This issue is due to the unimplemented csnd service
  • F-audio:dsp-hle: This issue is in the HLE implementation of the DSP firmware
  • F-audio:pipe3: This issue is due to an unimplemented DSP pipe
  • F-cpu:interpreter: The CPU interpreter is affected exclusively
  • F-cpu:jit: The CPU JIT is affected exclusively
  • F-gpu:depth: Emulated depthbuffer is wrong or depth comparisons fail
  • F-gpu:gl-renderer: The OpenGL renderer is affected exclusively
  • F-gpu:gs: Geometry Shaders of the 3DS GPU
  • F-gpu:proctex: Texture unit 3 (Produceral textures) of the 3DS GPU
  • F-gpu:scissor: GPU Scissor testing
  • F-gpu:shader-jit: The Shader JIT is affected exclusively
  • F-gpu:shadow-2d: 2D Texture Shadow feature of the 3DS GPU
  • F-gpu:shadow-cube: Cubemap Shadow feature of the 3DS GPU
  • F-gpu:sw-rasterizer: The software renderer is affected exclusively
  • F-gpu:tex-fwd: This problem is related to our texture-forwarding (or upscaled rendering)
  • F-gpu:texture-cube: Cubemapping feature of the 3DS GPU

"pr:" labels

Used exclusively to tag pull requests. Not used very often.

  • pr:abandoned: PR hasn’t had any activity from the author in a while.
  • pr:conflicted: PR has conflicts with master and needs a rebase.
  • pr:needs-review: PR needs review from a maintainer. (Either because it hasn’t been looked at or because it has been updated since the last review.)
  • pr:needs-work: PR has been reviewed and changes have been requested.
  • pr:reviewed: PR has been reviewed by a maintainer but additional reviews are welcome.

"T-" labels ("Type")

TODO

Misc. labels

  • canary-merge: PR will be auto-merged with Citra Canary on every build.