SaschaWillems / vulkan.gpuinfo.org

Front-End and Back-End for the Vulkan Hardware Database
https://vulkan.gpuinfo.org
GNU Affero General Public License v3.0
23 stars 4 forks source link

`VkPhysicalDeviceHostImageCopyPropertiesEXT` output is broken. #82

Open christophe-lunarg opened 7 months ago

christophe-lunarg commented 7 months ago

Using a NVIDIA 2060 with Vulkan API 1.3.263 report and lastest schema https://schema.khronos.org/vulkan/ with https://www.jsonschemavalidator.net/, I noticed that the output VkPhysicalDeviceHostImageCopyPropertiesEXT is incorrect:

Message:
Property 'copyDstLayoutCount' has not been defined and the schema does not allow additional properties.
Schema path:
https://schema.khronos.org/vulkan/profiles-0.8.1-269.json#/definitions/VkPhysicalDeviceHostImageCopyPropertiesEXT/additionalProperties
Message:
Property 'copySrcLayoutCount' has not been defined and the schema does not allow additional properties.
Schema path:
https://schema.khronos.org/vulkan/profiles-0.8.1-269.json#/definitions/VkPhysicalDeviceHostImageCopyPropertiesEXT/additionalProperties
Message:
Property 'pCopyDstLayouts' has not been defined and the schema does not allow additional properties.
Schema path:
https://schema.khronos.org/vulkan/profiles-0.8.1-269.json#/definitions/VkPhysicalDeviceHostImageCopyPropertiesEXT/additionalProperties
Message:
Property 'pCopySrcLayouts' has not been defined and the schema does not allow additional properties.
Schema path:
https://schema.khronos.org/vulkan/profiles-0.8.1-269.json#/definitions/VkPhysicalDeviceHostImageCopyPropertiesEXT/additionalProperties

The file is written as follow:

                "VkPhysicalDeviceHostImageCopyPropertiesEXT": {
                    "copyDstLayoutCount": 10,
                    "copySrcLayoutCount": 10,
                    "identicalMemoryTypeRequirements": true,
                    "optimalTilingLayoutUUID": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                    ],
                    "pCopyDstLayouts": [
                        "VK_IMAGE_LAYOUT_GENERAL",
                        "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL",
                        "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL",
                        "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL",
                        "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL",
                        "VK_IMAGE_LAYOUT_PREINITIALIZED",
                        1000314000,
                        1000314001,
                        1000001002,
                        1000111000
                    ],
                    "pCopySrcLayouts": [
                        "VK_IMAGE_LAYOUT_GENERAL",
                        "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL",
                        "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL",
                        "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL",
                        "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL",
                        "VK_IMAGE_LAYOUT_PREINITIALIZED",
                        1000314000,
                        1000314001,
                        1000001002,
                        1000111000
                    ]
                },

but it should be:

                "VkPhysicalDeviceHostImageCopyPropertiesEXT": {
                    "copyDstLayoutCount": 10,
                    "copySrcLayoutCount": 10,
                    "identicalMemoryTypeRequirements": true,
                    "optimalTilingLayoutUUID": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                    ],
                    "pCopyDstLayouts": [ 
                        {
                            "VK_IMAGE_LAYOUT_GENERAL",
                            "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL",
                            "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL",
                            "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL",
                            "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL",
                            "VK_IMAGE_LAYOUT_PREINITIALIZED",
                            1000314000,
                            1000314001,
                            1000001002,
                            1000111000
                        },
                        { etc x10
                        }
                    ],
                    "pCopySrcLayouts": [
                        {
                            "VK_IMAGE_LAYOUT_GENERAL",
                            "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL",
                            "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL",
                            "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL",
                            "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL",
                            "VK_IMAGE_LAYOUT_PREINITIALIZED",
                            1000314000,
                            1000314001,
                            1000001002,
                            1000111000
                        },
                        { etc x10
                        }
                    ]
                },

This said, we explicitly ignore this extension because it's weird so it's disabled in the Vulkan Profiles solution as the moment. I am investigating to at least make the Vulkan Profiles schema work as show above.

SaschaWillems commented 5 months ago

Any update on enabling the extension in the profiles? Otherwise I need to add an explicit exclusion.