xenia icon indicating copy to clipboard operation
xenia copied to clipboard

[CPU] Missing opcode implementation: vpkpx (Vector Pack Pixel)

Open Gliniak opened this issue 2 years ago • 0 comments

Validation

  • [X] I've read the FAQ.
  • [X] The Xenia build used is from the master branch (not MLBS/AlexVS/Canary/pull requests, etc.)
  • [X] This issue isn't for tech support (help with Xenia).
  • [X] If this issue occurs in a specific game, I've done analysis to locate the faulty subsystem of the emulator and a potential reason in it.
  • [X] I've checked if this issue hasn't already been reported.
  • [X] My device meets the minimum requirements: https://github.com/xenia-project/xenia/wiki/Quickstart#system-requirements
  • [X] (If building) I have read the building doc: https://github.com/xenia-project/xenia/blob/master/docs/building.md

Describe what's going wrong

https://github.com/xenia-project/game-compatibility/issues/1455 Use vpkpx on loading which lack of implementation causes it to crash. (I'm sure about it, because once I managed to mock it and it went into menu)

Gladly we have test just for confirmation case (plus we can generate more if required):

#test_vpkpx_1:
#REGISTER_IN v3 [00101820, 01283038, 00404850, 01586068]
#REGISTER_IN v4 [01707880, 00889098, 01A0A8B0, 00B8C0C8]
#vpkpx v5, v3, v4
#blr
#REGISTER_OUT v3 [00101820, 01283038, 00404850, 01586068]
#REGISTER_OUT v4 [01707880, 00889098, 01A0A8B0, 00B8C0C8]
#REGISTER_OUT v5 [086494C7, 212AAD8D, B9F04653, D2B65F19]

Available documentation on google: http://math-atlas.sourceforge.net/devel/assembly/vector_simd_pem.ppc.2005AUG23.pdf

From what I remember in case of CPUs with AVX512 there is an instruction that might help (I hope) with simple implementation, but I don't remember right now how it is called 😅

Describe what should happen

N/A

If applicable, provide a callstack here, especially for crashes

No response

If applicable, upload a logfile and link it here

No response

Gliniak avatar Jun 29 '22 06:06 Gliniak