• Home
  • Raw
  • Download

Lines Matching +full:sanitizers +full:- +full:linux

3 ACO (short for *AMD compiler*) is a back-end compiler for AMD GCN / RDNA GPUs, based on the NIR com…
10 1. We'd like to give gamers a fluid, stutter-free experience, so we prioritize compilation speed.
29 * logical CFG - directly translated from NIR and shows the intended control flow of the program.
30 * linear CFG - created according to Whole-Function Vectorization by Ralf Karrenberg and Sebastian H…
57 This pass does dominator-tree value numbering.
61 …ined into more complex instructions (like the different versions of multiply-add as well as neg, a…
73 #### Live-Variable Analysis
75 A live-variable analysis is used to calculate the register need of the shader.
81 …hen needed. It is based on the paper "Register Spilling and Live-Range Splitting for SSA-Form Prog…
85-complete problem where basically all known heuristics suffer from unpredictable change in registe…
89 …ys better to have a few more moves than to sacrifice a wave. The RA does SSA-reconstruction on the…
110 #### Emit program - Assembler
112 …that will be sent to the hardware for execution. ACO's assembler is straight-forward because all i…
162 For example, ES is per-vertex, but GS is per-primitive.
171 ##### GFX6-8:
178 | GFX6-8 HW stages: | LS | HS | ES | GS | VS | PS | ACO terminology |
179 | -----------------------:|:----|:----|:----|:----|:-------|:---|:----------------|
192 | -----------------------:|:----------|:----------|:-------|:---|:----------------|
204 | -----------------------:|:----------|:-------------------|:---|:----------------|
219 | -----------------------:|:------|:------|:---|:----------------|
225 GFX6-10:
229 | GFX6-10 HW stage | CS | ACO terminology |
230 | -----------------------:|:-----|:----------------|
238 * `nocache` - you always want to use this when debugging, otherwise you risk using a broken shader …
239 * `shaders` - makes ACO print the IR after register allocation, as well as the disassembled shader …
240 * `metashaders` - does the same thing as `shaders` but for built-in RADV shaders.
241 * `preoptir` - makes ACO print the final NIR shader before instruction selection, as well as the AC…
242 * `nongg` - disables NGG support
246 * `validateir` - Validate the ACO IR between compilation stages. By default, enabled in debug build…
247 * `validatera` - Perform a RA (register allocation) validation.
248 * `perfwarn` - Warn when sub-optimal instructions are found.
249 * `force-waitcnt` - Forces ACO to emit a wait state after each instruction when there is something …
250 * `novn` - Disables the ACO value numbering stage.
251 * `noopt` - Disables the ACO optimizer.
252 * `nosched` - Disables the ACO scheduler.
254 Note that you need to **combine these options into a comma-separated list**, for example: `RADV_DEB…
260 ### Using GCC sanitizers
262 GCC has several sanitizers which can help figure out hard to diagnose issues. To use these, you nee…
263 the `-Dbsanitize` flag to `meson` when building mesa. For example `-Dbsanitize=undefined` will add …
268 Several Linux distributions use "hardened" builds meaning several special compiler flags are added …
272 Most notable are the glibc++ debug flags, which you can use by adding the `-D_GLIBCXX_ASSERTIONS=1`…
273 `-D_GLIBCXX_DEBUG=1` flags.
275 To see the full list of downstream compiler flags, you can use eg. `rpm --eval "%optflags"`
283 …* Use renderdoc when examining shaders. This is deterministic while real games often use multi-thr…