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

Wrong AMD driver info detected #10109

Closed
LunaMoo opened this issue Nov 13, 2017 · 9 comments
Closed

Wrong AMD driver info detected #10109

LunaMoo opened this issue Nov 13, 2017 · 9 comments

Comments

@LunaMoo
Copy link
Collaborator

LunaMoo commented Nov 13, 2017

Basically all backends reports same driver version:
vulkan wrong driver version shows up

Which from what I can see is my OpenCL driver version:
open cl

Wouldn't really care about the info itself much, but I was hoping the "fix" for #10065 could get limited to older Vulkan drivers as this problematic feature works fine for me and probably would for all other people with gpu's that still get driver updates in 2017.

@unknownbrackets
Copy link
Collaborator

On Windows, this comes from GetVideoCardDriverVersion(). The code definitely looks like it could be suspect - maybe multiple rows of information are returned.

-[Unknown]

@LunaMoo
Copy link
Collaborator Author

LunaMoo commented Nov 13, 2017

In other backends driver version is always same, but other info travels around so maybe:
ogl version
d3d11 version
d3d9 version

@unknownbrackets
Copy link
Collaborator

Can you paste what this logs?

master...unknownbrackets:driver-ver

Maybe there are multiple "video controllers" (this is my suspicion) and the first one happens to be OpenCL....

-[Unknown]

@LunaMoo
Copy link
Collaborator Author

LunaMoo commented Nov 13, 2017

Here:

38:23:638 main.cpp:207 I[SYSTEM]: Device: ASUS R7 265 Series v23.20.788.0 from 20171102000000.000000-000 @60hz
38:23:638 main.cpp:208 I[SYSTEM]: Caption: ASUS R7 265 Series, processor: AMD Radeon Graphics Processor (0x6819)
38:23:638 main.cpp:209 I[SYSTEM]: RAM: -2147483648, RAM type: 2, drivers: aticfx64.dll,aticfx64.dll,aticfx64.dll,aticfx32,aticfx32,aticfx32,atiumd64.dll,atidxx64.dll,atidxx64.dll,atiumdag,atidxx32,atidxx32,atiumdva,atiumd6a.cap,atitmm64.dll

@unknownbrackets
Copy link
Collaborator

unknownbrackets commented Nov 13, 2017

Hmm, maybe at least the driver date is correct? Mine looks correct. I guess we need to see a system with old drivers, though... I wonder if it's the release date or simply the file modification time, which would be worthless.

-[Unknown]

@LunaMoo
Copy link
Collaborator Author

LunaMoo commented Nov 13, 2017

For Vulkan at least I think this https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkGetPhysicalDeviceProperties.html could maybe be used instead? Edit: And yeah driver date seems fine. 2017.11.02 was latest driver.

@unknownbrackets
Copy link
Collaborator

unknownbrackets commented Nov 13, 2017

Yeah - we call it in VulkanContext - what type of driverVersion does it have? You're right, that's probably the best thing to use for detecting driver bugs, at least.

vulkan_->GetPhysicalDeviceProperties().driverVersion

I imagine on a multi-GPU system we're listing the wrong version entirely, heh...

-[Unknown]

@unknownbrackets
Copy link
Collaborator

Realized we're already showing the version, d'oh.

Looks like the broken one was 00404001 from December 2016, before the bug was fixed. Maybe we can just take 00407000 as the minimum version (probably even 00406000 works, though.)

-[Unknown]

@LunaMoo
Copy link
Collaborator Author

LunaMoo commented Nov 13, 2017

Nice:). BTW Vulkan Hardware Capability Viewer software uses a simple:

	static const std::string versionToString(uint32_t version)
	{
		std::stringstream ss;
		ss << (version >> 22) << "." << ((version >> 12) & 0x3ff) << "." << (version & 0xfff);
		return ss.str();
	}

to get a nice text number from that version id which matches what AMD software shows up: "1.7.0" so yeah to me that part just looked like a random number, but is in fact driver version.

They also have some special code for Nvidia apparently more complex versioning ~ here

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

No branches or pull requests

2 participants