Skip to content
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

Merged
merged 12 commits into from Feb 17, 2015

Conversation

Sonicadvance1
Copy link
Contributor

No description provided.

@JMC47
Copy link
Contributor

JMC47 commented Feb 13, 2015

Benchmarks? How am I to make sure this is worth merging without benchmarks?!

@Sonicadvance1
Copy link
Contributor Author

@Tilka
Copy link
Member

Tilka commented Feb 13, 2015

Don't know about the actual ARM stuff but yay! Small nit: s/2013/2015/.

else
{
MOVI2R(scratch2_reg, 0xFFFF);
CMP(scratch1_reg, scratch2_reg);

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

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.
@Sonicadvance1 Sonicadvance1 force-pushed the AArch64_vertex_loader branch 2 times, most recently from fb7a993 to b76bf6d Compare February 13, 2015 18:17
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.
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.
Sonicadvance1 added a commit that referenced this pull request Feb 17, 2015
@Sonicadvance1 Sonicadvance1 merged commit 3aa6052 into dolphin-emu:master Feb 17, 2015
@Sonicadvance1 Sonicadvance1 deleted the AArch64_vertex_loader branch February 17, 2015 06:51
@degasus
Copy link
Member

degasus commented Feb 17, 2015

@Sonicadvance1 I think for the progress report, an ingame benchmark would also be nice...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
5 participants