New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[AArch64] Vertex loader and things #2041
[AArch64] Vertex loader and things #2041
Conversation
Benchmarks? How am I to make sure this is worth merging without benchmarks?! |
Don't know about the actual ARM stuff but yay! Small nit: |
else | ||
{ | ||
MOVI2R(scratch2_reg, 0xFFFF); | ||
CMP(scratch1_reg, scratch2_reg); |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
This lets me see _assert_msg_ alerts on Android when passing dumb arguments to my AArch64 emitter.
Since I've added the msg handler. I found all these asserts that were backwards. So they were asserting on the correct arguments.
We were poisoning 4x more data and overrunning our buffers. We don't want to do this.
These will be used with the vertex loader JIT recompiler.
This reduces some dumb state shuffling when calling the emitted vertex loaders.
fb7a993
to
b76bf6d
Compare
Shows a noticeable reduction in time spent in the vertex loader.
These use the Vector x Element FMUL instruction to improve speeds slightly. Should give ~3cycle improvement per quantized loadstore done.
b76bf6d
to
2ebe57e
Compare
In nearly all direct loadstore cases we can use unscaled loadstores. Still have a fallback in case we hit a situation that we /can't/ do a unscaled loadstore.
955f3ad
to
ed008c3
Compare
[AArch64] Vertex loader and things
@Sonicadvance1 I think for the progress report, an ingame benchmark would also be nice... |
No description provided.