Skip to content

Fix IMPACT UI rendering, pixel transfers, and PS/2 key repeat - #196

Merged
techomancer merged 8 commits into
techomancer:mainfrom
iblowmymind:feature/impact-fixes2
Oct 9, 2026
Merged

techomancer merged 8 commits into
techomancer:mainfrom
iblowmymind:feature/impact-fixes2

Conversation

@iblowmymind

@iblowmymind iblowmymind commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

IRIX graphics applications exposed several missing IMPACT pixel-transfer, bitmap, and indexed-color behaviors: black or red interfaces, transparent menu highlights, malformed icons and brush images, cursor trails, and corrupted canvas or menu restores. This PR implements those paths and honors the PS/2 keyboard mode commands that let X manage repeat for held application controls.

The changes are split into eight commits, one fix per commit:

  • Preserve RGBA component order in GE framebuffer readback.
  • Handle general bitmap row batches and bitmap moves used by StudioTools 13.
  • Honor PS/2 set-3 global and per-key repeat/break modes, preserve them in snapshots, and suppress repeated host make events when the guest disables hardware repeat.
  • Treat native X CI12 pixels as color indices in both the RSS interpreter and JIT.
  • Preserve full X overlay indices so Maya popup highlights remain opaque.
  • Apply FIFO image-pixel formatting and discard transport padding between rows.
  • Restore image dimensions when packed transport rows differ from the destination rectangle, fixing Amazon icons and StudioPaint brush/cursor transfers.
  • Distinguish RGBA and ABGR framebuffer readback modes, fixing channel-swapped restores in Dynamation and StudioPaint.

Validation:

  • Release IMPACT tests: 134 passed, with 2 benchmark tests ignored. PS/2 tests: 8 passed.
  • Clean release CLI build and git diff --check passed.
  • Live testing in IRIX on a disposable disk clone with RSS JIT enabled: Marquee license dialog and main UI; StudioTools 13 text and icons; Maya 6.5 menu, Save As dialog, and workspace-picker highlights; Amazon icons and brush strokes; StudioPaint cursor movement, brush strokes, and Space-held panning; Dynamation icons and menu redraw/restoration; and Vizpaint2D painting.
  • Wavefront Model's graphical editor renders a newly created cube in wireframe and flat shading with a gray viewport and visible viewport controls. Preview's editor and playback were also checked; the reported cyan viewport was not reproduced in the tested build.
  • Guest X event checks confirm normal text repeat still works, while repeated host makes produce a single press/release when X disables repeat. StudioPaint's held Space control was also exercised through the emulator's PS/2 input path.

@Samueltgg12

Copy link
Copy Markdown

@techomancer looks good, can be cleanly merged without a problem.

@techomancer
techomancer merged commit 3c18fa9 into techomancer:main Oct 9, 2026
1 check passed
@iblowmymind
iblowmymind deleted the feature/impact-fixes2 branch October 9, 2026 06:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants