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

Parse IMGTEC's GL_VERSION string format #6006

Merged

Conversation

JonnyH
Copy link
Contributor

@JonnyH JonnyH commented Sep 2, 2017

ImgTec's driver uses a major.minor@changeID versioning system

This is packed into a double so "1.9@4850625" becomes "109.4850625"

The next release brnach is expected to be 1.10, hence the need for 2
digits for the branch minor.

The changeID should be unique for each build, but is shared over all
branches, so only makes sense to compare withing a branch.

It's likely branch 'major' versions will be used for major hardware
revisions, and the drivers for both maintained in parallel. Thus it
may not make sense to compare versions between different major
verisons - if/when this happens we can hook up a DriverDetails::Family
as needed.

// Ends up as "109.4850625" - "1.9" being the branch, "4850625" being the build's change ID
// The change ID only makes sense to compare within a branch
driver = DriverDetails::DRIVER_QUALCOMM;
double glVersion;

This comment was marked as off-topic.

driver = DriverDetails::DRIVER_QUALCOMM;
double glVersion;
int major, minor, change;
double changeScale = 10000000;

This comment was marked as off-topic.

}
else
{
version += (double)change / changeScale;

This comment was marked as off-topic.

@JonnyH JonnyH force-pushed the WIP/parse-imgtec-gl_version-string branch from 8130135 to 8cdb5e0 Compare September 2, 2017 21:01
driver = DriverDetails::DRIVER_QUALCOMM;
double gl_version;
int major, minor, change;
constexpr double changeScale = 10000000;

This comment was marked as off-topic.

@JonnyH JonnyH force-pushed the WIP/parse-imgtec-gl_version-string branch from 8cdb5e0 to 06effe9 Compare September 2, 2017 21:03
ImgTec's driver uses a major.minor@changeID versioning system

This is packed into a double so "1.9@4850625" becomes "109.4850625"

The next release brnach is expected to be 1.10, hence the need for 2
digits for the branch minor.

The changeID should be unique for each build, but is shared over all
branches, so only makes sense to compare withing a branch.

It's likely branch 'major' versions will be used for major hardware
revisions, and the drivers for both maintained in parallel. Thus it
may not make sense to compare versions between different major
verisons - if/when this happens we can hook up a DriverDetails::Family
as needed.
Now we correctly parse ImgTec's GL_VERSION string we can actually use
the BugInfo's version stuff correctly here
@JonnyH JonnyH force-pushed the WIP/parse-imgtec-gl_version-string branch from 06effe9 to 658a4a6 Compare September 2, 2017 21:06
@degasus
Copy link
Member

degasus commented Sep 2, 2017

LGTM

@lioncash lioncash merged commit 657195f into dolphin-emu:master Sep 2, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants