Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions detect.c
Original file line number Diff line number Diff line change
Expand Up @@ -377,4 +377,12 @@ void initbits(int fam) {
bits.vce0 = (1U << 7);
}
}

// RDNA (GFX10+): VGT replaced by Geometry Engine at bit 21,
// Event Engine and Sequencer Instruction Cache bits undefined.
if (fam >= NAVI10) {
bits.ee = 0;
bits.vgt = (1U << 21);
bits.sh = 0;
}
}
8 changes: 5 additions & 3 deletions dump.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,15 +108,17 @@ void dumpdata(const unsigned int ticks, const char file[], const unsigned int li
float sclk_ghz = results->sclk * k / 1000.0f;

fprintf(f, "gpu %.2f%%, ", gui);
fprintf(f, "ee %.2f%%, ", ee);
fprintf(f, "vgt %.2f%%, ", vgt);
if (bits.ee)
fprintf(f, "ee %.2f%%, ", ee);
fprintf(f, "%s %.2f%%, ", bits.ee ? "vgt" : "ge", vgt);
fprintf(f, "ta %.2f%%, ", ta);

if (bits.tc)
fprintf(f, "tc %.2f%%, ", tc);

fprintf(f, "sx %.2f%%, ", sx);
fprintf(f, "sh %.2f%%, ", sh);
if (bits.sh)
fprintf(f, "sh %.2f%%, ", sh);
fprintf(f, "spi %.2f%%, ", spi);

if (bits.smx)
Expand Down
21 changes: 14 additions & 7 deletions ui.c
Original file line number Diff line number Diff line change
Expand Up @@ -175,15 +175,20 @@ void present(const unsigned int ticks, const char card[], unsigned int color,

unsigned int start = 4;

percentage(start, w, ee);
printright(start++, hw, _("Event Engine %6.2f%%"), ee);
if (bits.ee) {
percentage(start, w, ee);
printright(start++, hw, _("Event Engine %6.2f%%"), ee);

// Enough height?
if (h > bigh) start++;
// Enough height?
if (h > bigh) start++;
}

if (color) attron(COLOR_PAIR(2));
percentage(start, w, vgt);
printright(start++, hw, _("Vertex Grouper + Tesselator %6.2f%%"), vgt);
if (bits.ee)
printright(start++, hw, _("Vertex Grouper + Tesselator %6.2f%%"), vgt);
else
printright(start++, hw, _("Geometry Engine %6.2f%%"), vgt);
if (color) attroff(COLOR_PAIR(2));

// Enough height?
Expand All @@ -207,8 +212,10 @@ void present(const unsigned int ticks, const char card[], unsigned int color,
percentage(start, w, sx);
printright(start++, hw, _("Shader Export %6.2f%%"), sx);

percentage(start, w, sh);
printright(start++, hw, _("Sequencer Instruction Cache %6.2f%%"), sh);
if (bits.sh) {
percentage(start, w, sh);
printright(start++, hw, _("Sequencer Instruction Cache %6.2f%%"), sh);
}

percentage(start, w, spi);
printright(start++, hw, _("Shader Interpolator %6.2f%%"), spi);
Expand Down