Open christophe-lunarg opened 3 months ago
Sorry, I completely misinterpreted this. I thought it was an issue with the profiles generated from my database, but it isn't.
I generate profiles on the fly, and every time you download a profile a run a pretty involved script (almost 800 lines) that actually checks the report against the schema file. So for e.g. extensions I check if an extension reported by the device is available in the schema, and if not I skip it:
private function readExtensions() {
$this->extensions = [];
$stmnt = DB::$connection->prepare("SELECT name, specversion from deviceextensions de join extensions e on de.extensionid = e.id where reportid = :reportid");
$stmnt->execute([":reportid" => $this->reportid]);
$schema_extension_list = $this->json_schema["properties"]["capabilities"]["additionalProperties"]["properties"]["extensions"]["properties"];
while ($row = $stmnt->fetch(PDO::FETCH_ASSOC)) {
// Skip extensions that are not defined in the current schema
if (!key_exists($row['name'], $schema_extension_list)) {
continue;
}
$this->extensions[$row['name']] = intval($row['specversion']);
}
}
I do this for all information contained on the profile json, not only extensions.
Some Vulkan implementation seems to report extension that are not published in vk.xml for exemple:
VP_VULKANINFO_AMD_Radeon_RX_6700_XT_2_0_299.json
This file was generated by vulkaninfo adn validated against the profiles schema (https://schema.khronos.org/vulkan/), I am getting:
I am wondering how you deal with this, it seems a terrible practice not following the Vulkan group convension which will cause some issues with software using these reports as we can't rely on the Vulkan Header version for capabilities.
Would it be possible to mark such report as invalid on gpuinfo.org to avoid some trouble to Vulkan developers? Do you have other case of "invalid" reports? I would be curious about this.