skmp / reicast-emulator

Reicast was a multiplatform Sega Dreamcast emulator
https://reicast.emudev.org
Other
1.1k stars 345 forks source link

Priorities for automated testing #1560

Open davidgfnet opened 5 years ago

davidgfnet commented 5 years ago

As per discussion we need to have some sort of list of the platforms we care about and how much love each one will get. So far we agreed that:

Some Tier 1 (or whatever you wanna call them) platforms would include:

Some other platforms that are "less important":

Platforms where reicast is more like a PoC and doesn't run reliably due to performance.

Tier1 platforms should have proper and consistent testing. For Windows we would like to support msvc and mingw and that's easier with tests and regression testing (using CI). Android testing is harder, I filed a separate bug: https://github.com/reicast/reicast-emulator/issues/1559

For Tier2 platforms we could have tests (ie emscripten) or simple wiki/doc procedure on how to test and what to test. Might sound silly but consistent boring testing works great. For Tier3 the aim is to not support them officially but not discourage support where it makes sense. As said perhaps for some platforms we could partner with projects that support such platforms (via retroarch or alike).

skmp commented 5 years ago

Tier one for linux += armv7, aarch64.

skmp commented 5 years ago

Looks good to me. @flyinghead @MrPsyMan @dmiller423 comments?

Ravenslofty commented 5 years ago

So, I have one major question: why continue with x86-32? The last desktop 32-bit only cores were Core 1 between '06-'07, and the last 32-bit Atom was 2013.

I think deprecating 32-bit support would simplify the codebase, and CPUs from back then would struggle playing Reicast, I think.

dmiller423 commented 5 years ago

lol, we can't deprecate 32b, it's still used on arm and some idiots still run a 32b OS on pc even on 64b hardware. It doesn't make sense to deprecate one arch for a cleanup. Support is very minimal for pc x86 so it's not going to make much difference anyhow.

😂 @ cpu's struggling to play reicast : we started development on pentium3, core* is a dream in comparison.

Regarding the rest, i'm not sure I understand the purpose of this?

Yes we have uwp, nsw, ps4 added to build but not working for testing purposes.

The main codebase has been pc and arm, all testing should be done there until results are up on other platforms to at least working alpha state... This answer questions?

dmiller423 commented 5 years ago
skmp commented 5 years ago

Also arm has much better performance in 32-bit mode up to and including A-53, as @inolen and @flyinghead are finding out :3

dmiller423 commented 5 years ago

Tech. for our emulator up until recently x86(32b) was the best way to go for rec on pc as well.

dmiller423 commented 5 years ago

and if you want to build w.o mingw64 it's probably still your best bet on pc 👎

skmp commented 5 years ago

@dmiller423 @davidgfnet is setting up automated testing infra for us, and he wants to know our priorities and scope

davidgfnet commented 5 years ago

Added more stuff to the wercker flow (see wercker.yml). Any FEAT/TARGET we care about should be there, otherwise it can break. Next step is fixing no-threads and no-rend which are both useful and use the no-rend target to test reicast on wercker using some KOS examples, and perhaps some demos. Once we have a better softrend (or perhaps with the current one) we can run some games for a couple mins and push shots to S3 or something for CI debugging. It's a bit manual in the sense that the user might have to look at a couple of png files on a PR but it's better than breaking 10 platforms on every PR :)

skmp commented 4 years ago

@einsteinx2 @stjordanis assigned ya as you are the most active in this area. We prolly need to break down this to sub-tickets or follow ups