{
  "schema": 1,
  "generated_utc": "20261010T102147Z",
  "app": {
    "package": "com.faux.vktest",
    "version": "1.1",
    "commit": "fa9f44677d6a",
    "checks": 66,
    "harness": 2
  },
  "device": {
    "manufacturer": "AYN",
    "model": "Odin2 Portal",
    "soc": "QCS8550",
    "soc_maker": "QTI",
    "android": "13",
    "sdk": 33,
    "build": "qti\/kalama\/kalama:13\/TKQ1.231222.001\/eng.Odin2P.20260319.182423:user\/release-keys",
    "cpu": {
      "cores": 8,
      "abi": "arm64-v8a",
      "hardware": "qcom",
      "clusters": [
        {
          "cores": 3,
          "max_khz": 2016000
        },
        {
          "cores": 4,
          "max_khz": 2803200
        },
        {
          "cores": 1,
          "max_khz": 3187200
        }
      ]
    },
    "ram_mb": 11265
  },
  "driver": {
    "device_name": "PurpleVK-public Adreno (TM) 740 (git-62ac221a33)\/unknown",
    "vendor_id": 20803,
    "device_id": 1124403713,
    "api_version": "1.4.359",
    "driver_version": 109060195,
    "instance_version": "1.3.0",
    "driver_id": 18,
    "name": "PurpleVK public driver",
    "info": "PurpleVK 26.3.0-devel (git-62ac221a33)",
    "conformance_version": "1.4.0.0",
    "driver_uuid": "3cd1bfe768e8d74f88b04d04bce83ded",
    "device_uuid": "75828a188d3208366f0e4425597d3122",
    "pipeline_cache_uuid": "def6d7815d3a533e606b1c0e6e802619",
    "kind": "custom",
    "selection": "turnip_mrpurple_T30-toasted",
    "loaded_via": "adrenotools",
    "library_sha256": "1d80dfa019659b008e4669311db5b1e4a02af59ff1d5458a98e2f5fe18ed013b"
  },
  "extensions": [
    "VK_KHR_incremental_present",
    "VK_EXT_hdr_metadata",
    "VK_GOOGLE_display_timing",
    "VK_KHR_8bit_storage",
    "VK_KHR_16bit_storage",
    "VK_KHR_acceleration_structure",
    "VK_KHR_bind_memory2",
    "VK_KHR_buffer_device_address",
    "VK_KHR_copy_commands2",
    "VK_KHR_create_renderpass2",
    "VK_KHR_dedicated_allocation",
    "VK_KHR_deferred_host_operations",
    "VK_KHR_depth_stencil_resolve",
    "VK_KHR_descriptor_update_template",
    "VK_KHR_device_group",
    "VK_KHR_draw_indirect_count",
    "VK_KHR_driver_properties",
    "VK_KHR_dynamic_rendering",
    "VK_KHR_dynamic_rendering_local_read",
    "VK_KHR_external_fence",
    "VK_KHR_external_fence_fd",
    "VK_KHR_external_memory",
    "VK_KHR_external_memory_fd",
    "VK_KHR_external_semaphore",
    "VK_KHR_external_semaphore_fd",
    "VK_KHR_format_feature_flags2",
    "VK_KHR_fragment_shading_rate",
    "VK_KHR_get_memory_requirements2",
    "VK_KHR_global_priority",
    "VK_KHR_image_format_list",
    "VK_KHR_imageless_framebuffer",
    "VK_KHR_index_type_uint8",
    "VK_KHR_line_rasterization",
    "VK_KHR_load_store_op_none",
    "VK_KHR_maintenance1",
    "VK_KHR_maintenance2",
    "VK_KHR_maintenance3",
    "VK_KHR_maintenance4",
    "VK_KHR_maintenance5",
    "VK_KHR_maintenance6",
    "VK_KHR_map_memory2",
    "VK_KHR_multiview",
    "VK_KHR_pipeline_executable_properties",
    "VK_KHR_pipeline_library",
    "VK_KHR_push_descriptor",
    "VK_KHR_ray_query",
    "VK_KHR_ray_tracing_maintenance1",
    "VK_KHR_relaxed_block_layout",
    "VK_KHR_sampler_mirror_clamp_to_edge",
    "VK_KHR_sampler_ycbcr_conversion",
    "VK_KHR_separate_depth_stencil_layouts",
    "VK_KHR_shader_atomic_int64",
    "VK_KHR_shader_clock",
    "VK_KHR_shader_draw_parameters",
    "VK_KHR_shader_expect_assume",
    "VK_KHR_shader_float16_int8",
    "VK_KHR_shader_float_controls",
    "VK_KHR_shader_float_controls2",
    "VK_KHR_shader_integer_dot_product",
    "VK_KHR_shader_non_semantic_info",
    "VK_KHR_shader_subgroup_extended_types",
    "VK_KHR_shader_subgroup_rotate",
    "VK_KHR_shader_subgroup_uniform_control_flow",
    "VK_KHR_shader_terminate_invocation",
    "VK_KHR_spirv_1_4",
    "VK_KHR_storage_buffer_storage_class",
    "VK_KHR_synchronization2",
    "VK_KHR_timeline_semaphore",
    "VK_KHR_uniform_buffer_standard_layout",
    "VK_KHR_variable_pointers",
    "VK_KHR_vertex_attribute_divisor",
    "VK_KHR_vulkan_memory_model",
    "VK_KHR_workgroup_memory_explicit_layout",
    "VK_KHR_zero_initialize_workgroup_memory",
    "VK_EXT_4444_formats",
    "VK_EXT_attachment_feedback_loop_dynamic_state",
    "VK_EXT_attachment_feedback_loop_layout",
    "VK_EXT_border_color_swizzle",
    "VK_EXT_color_write_enable",
    "VK_EXT_conditional_rendering",
    "VK_EXT_conservative_rasterization",
    "VK_EXT_custom_border_color",
    "VK_EXT_custom_resolve",
    "VK_EXT_debug_marker",
    "VK_EXT_depth_clamp_control",
    "VK_EXT_depth_clamp_zero_one",
    "VK_EXT_depth_clip_control",
    "VK_EXT_depth_clip_enable",
    "VK_EXT_descriptor_buffer",
    "VK_EXT_descriptor_indexing",
    "VK_EXT_device_address_binding_report",
    "VK_EXT_device_memory_report",
    "VK_EXT_dynamic_rendering_unused_attachments",
    "VK_EXT_extended_dynamic_state",
    "VK_EXT_extended_dynamic_state2",
    "VK_EXT_extended_dynamic_state3",
    "VK_EXT_external_memory_dma_buf",
    "VK_EXT_filter_cubic",
    "VK_EXT_fragment_density_map",
    "VK_EXT_fragment_density_map_offset",
    "VK_EXT_global_priority",
    "VK_EXT_global_priority_query",
    "VK_EXT_graphics_pipeline_library",
    "VK_EXT_host_image_copy",
    "VK_EXT_host_query_reset",
    "VK_EXT_image_2d_view_of_3d",
    "VK_EXT_image_compression_control",
    "VK_EXT_image_drm_format_modifier",
    "VK_EXT_image_robustness",
    "VK_EXT_image_view_min_lod",
    "VK_EXT_index_type_uint8",
    "VK_EXT_inline_uniform_block",
    "VK_EXT_legacy_dithering",
    "VK_EXT_legacy_vertex_attributes",
    "VK_EXT_line_rasterization",
    "VK_EXT_load_store_op_none",
    "VK_EXT_map_memory_placed",
    "VK_EXT_memory_budget",
    "VK_EXT_multi_draw",
    "VK_EXT_multisampled_render_to_single_sampled",
    "VK_EXT_mutable_descriptor_type",
    "VK_EXT_nested_command_buffer",
    "VK_EXT_non_seamless_cube_map",
    "VK_EXT_pipeline_creation_cache_control",
    "VK_EXT_pipeline_creation_feedback",
    "VK_EXT_primitive_restart_index",
    "VK_EXT_primitive_topology_list_restart",
    "VK_EXT_primitives_generated_query",
    "VK_EXT_private_data",
    "VK_EXT_provoking_vertex",
    "VK_EXT_queue_family_foreign",
    "VK_EXT_rasterization_order_attachment_access",
    "VK_EXT_robustness2",
    "VK_EXT_sample_locations",
    "VK_EXT_sampler_filter_minmax",
    "VK_EXT_scalar_block_layout",
    "VK_EXT_separate_stencil_usage",
    "VK_EXT_shader_atomic_float",
    "VK_EXT_shader_demote_to_helper_invocation",
    "VK_EXT_shader_image_atomic_int64",
    "VK_EXT_shader_module_identifier",
    "VK_EXT_shader_replicated_composites",
    "VK_EXT_shader_stencil_export",
    "VK_EXT_shader_uniform_buffer_unsized_array",
    "VK_EXT_shader_viewport_index_layer",
    "VK_EXT_subgroup_size_control",
    "VK_EXT_texel_buffer_alignment",
    "VK_EXT_texture_compression_astc_hdr",
    "VK_EXT_tooling_info",
    "VK_EXT_transform_feedback",
    "VK_EXT_vertex_attribute_divisor",
    "VK_EXT_vertex_input_dynamic_state",
    "VK_EXT_zero_initialize_device_memory",
    "VK_AMD_buffer_marker",
    "VK_ANDROID_external_memory_android_hardware_buffer",
    "VK_KHR_swapchain",
    "VK_ARM_rasterization_order_attachment_access",
    "VK_GOOGLE_decorate_string",
    "VK_GOOGLE_hlsl_functionality1",
    "VK_IMG_filter_cubic",
    "VK_NV_compute_shader_derivatives",
    "VK_QCOM_fragment_density_map_offset",
    "VK_QCOM_image_processing",
    "VK_QCOM_multiview_per_view_render_areas",
    "VK_QCOM_multiview_per_view_viewports",
    "VK_QCOM_render_pass_shader_resolve",
    "VK_VALVE_fragment_density_map_layered",
    "VK_VALVE_mutable_descriptor_type"
  ],
  "features": {
    "VkPhysicalDeviceFeatures": {
      "core_version": "1.0",
      "bits": {
        "robustBufferAccess": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "fullDrawIndexUint32": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "imageCubeArray": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "independentBlend": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "geometryShader": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "stage.geometry_point_to_quad",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "the quad the geometry shader made from one point",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "the half it does not cover",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VkPhysicalDeviceFeatures",
              "bit": "geometryShader"
            }
          ]
        },
        "tessellationShader": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "stage.tessellation_mirror",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "patches mirrored onto the left half",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "the half the vertex buffer named",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VkPhysicalDeviceFeatures",
              "bit": "tessellationShader"
            }
          ]
        },
        "sampleRateShading": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "dualSrcBlend": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "logicOp": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "multiDrawIndirect": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "core.multi_draw_indirect_instances",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "top left, firstInstance 1",
                  "x": 16,
                  "y": 16,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "top right, firstInstance 2",
                  "x": 48,
                  "y": 16,
                  "want": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "bottom left, firstInstance 3",
                  "x": 16,
                  "y": 48,
                  "want": [
                    255,
                    255,
                    255,
                    255
                  ],
                  "got": [
                    255,
                    255,
                    255,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "bottom right, firstInstance 1",
                  "x": 48,
                  "y": 48,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VkPhysicalDeviceFeatures",
              "bit": "multiDrawIndirect"
            }
          ]
        },
        "drawIndirectFirstInstance": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "core.indirect_first_instance",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "left half, firstInstance 3: the fourth colour",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "right half, firstInstance 1: the second colour",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VkPhysicalDeviceFeatures",
              "bit": "drawIndirectFirstInstance"
            }
          ]
        },
        "depthClamp": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "depthBiasClamp": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "fillModeNonSolid": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "depthBounds": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "wideLines": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "largePoints": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "alphaToOne": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "multiViewport": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "limit.viewports",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "viewports and scissors in one pipeline (the driver's stated limit)",
                  "got": 16,
                  "ok": true
                },
                {
                  "what": "bytes changed in memory next to the driver's allocations",
                  "got": 0,
                  "ok": true
                },
                {
                  "what": "drawn half",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "cleared half",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VkPhysicalDeviceFeatures",
              "bit": "multiViewport"
            }
          ]
        },
        "samplerAnisotropy": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "textureCompressionETC2": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "claim.texture_compression_etc2",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "ETC2_R8G8B8_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ETC2_R8G8B8_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ETC2_R8G8B8A1_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ETC2_R8G8B8A1_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ETC2_R8G8B8A8_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ETC2_R8G8B8A8_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "EAC_R11_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "EAC_R11_SNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "EAC_R11G11_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "EAC_R11G11_SNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VkPhysicalDeviceFeatures",
              "bit": "textureCompressionETC2"
            }
          ]
        },
        "textureCompressionASTC_LDR": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "claim.texture_compression_astc_ldr",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "ASTC_4x4_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_4x4_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_5x4_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_5x4_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_5x5_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_5x5_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_6x5_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_6x5_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_6x6_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_6x6_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_8x5_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_8x5_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_8x6_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_8x6_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_8x8_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_8x8_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_10x5_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_10x5_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_10x6_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_10x6_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_10x8_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_10x8_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_10x10_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_10x10_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_12x10_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_12x10_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_12x12_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "ASTC_12x12_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VkPhysicalDeviceFeatures",
              "bit": "textureCompressionASTC_LDR"
            }
          ]
        },
        "textureCompressionBC": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "claim.texture_compression_bc",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "BC1_RGB_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC1_RGB_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC1_RGBA_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC1_RGBA_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC2_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC2_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC3_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC3_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC4_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC4_SNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC5_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC5_SNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC6H_UFLOAT_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC6H_SFLOAT_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC7_UNORM_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "BC7_SRGB_BLOCK: sampled, blit source, linear filter in optimalTilingFeatures",
                  "want": [
                    1,
                    1,
                    1
                  ],
                  "got": [
                    1,
                    1,
                    1
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VkPhysicalDeviceFeatures",
              "bit": "textureCompressionBC"
            },
            {
              "id": "bc.bc1_decode",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "a sampled 2D image of this format can be created",
                  "want": [
                    1
                  ],
                  "got": [
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "column 0: endpoint 0",
                  "x": 16,
                  "y": 32,
                  "want": [
                    255,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    255,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "column 3: endpoint 1",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "column 1: two thirds of endpoint 0",
                  "x": 16,
                  "y": 32,
                  "want": [
                    170,
                    0,
                    85,
                    255
                  ],
                  "got": [
                    169,
                    0,
                    86,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "column 2: one third of endpoint 0",
                  "x": 48,
                  "y": 32,
                  "want": [
                    85,
                    0,
                    170,
                    255
                  ],
                  "got": [
                    86,
                    0,
                    169,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VkPhysicalDeviceFeatures",
              "bit": "textureCompressionBC"
            },
            {
              "id": "bc.bc3_decode",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "a sampled 2D image of this format can be created",
                  "want": [
                    1
                  ],
                  "got": [
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "column 0: endpoint 0",
                  "x": 16,
                  "y": 32,
                  "want": [
                    255,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    255,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "column 3: endpoint 1",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    255,
                    0
                  ],
                  "got": [
                    0,
                    0,
                    255,
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "column 1: two thirds of endpoint 0",
                  "x": 16,
                  "y": 32,
                  "want": [
                    170,
                    0,
                    85,
                    219
                  ],
                  "got": [
                    169,
                    0,
                    86,
                    219
                  ],
                  "ok": true
                },
                {
                  "what": "column 2: one third of endpoint 0",
                  "x": 48,
                  "y": 32,
                  "want": [
                    85,
                    0,
                    170,
                    182
                  ],
                  "got": [
                    86,
                    0,
                    169,
                    181
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VkPhysicalDeviceFeatures",
              "bit": "textureCompressionBC"
            }
          ]
        },
        "occlusionQueryPrecise": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "core.query_copy_same_command_buffer",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "rounds of 40 with a wrong sample count",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "samples counted for the left half (a wrong round's value, when there was one)",
                  "want": [
                    2048
                  ],
                  "got": [
                    2048
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VkPhysicalDeviceFeatures",
              "bit": "occlusionQueryPrecise"
            }
          ]
        },
        "pipelineStatisticsQuery": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "vertexPipelineStoresAndAtomics": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "fragmentStoresAndAtomics": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderTessellationAndGeometryPointSize": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderImageGatherExtended": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderStorageImageExtendedFormats": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderStorageImageMultisample": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "shaderStorageImageReadWithoutFormat": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderStorageImageWriteWithoutFormat": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderUniformBufferArrayDynamicIndexing": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderSampledImageArrayDynamicIndexing": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderStorageBufferArrayDynamicIndexing": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderStorageImageArrayDynamicIndexing": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderClipDistance": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderCullDistance": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderFloat64": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "shaderInt64": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderInt16": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderResourceResidency": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "shaderResourceMinLod": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "sparseBinding": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "sparseResidencyBuffer": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "sparseResidencyImage2D": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "sparseResidencyImage3D": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "sparseResidency2Samples": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "sparseResidency4Samples": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "sparseResidency8Samples": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "sparseResidency16Samples": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "sparseResidencyAliased": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "variableMultisampleRate": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "inheritedQueries": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        }
      },
      "verdict": "pass",
      "untested_bits": 38
    },
    "VK_EXT_extended_dynamic_state": {
      "extension_listed": true,
      "bits": {
        "extendedDynamicState": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "eds1.cull_mode",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "cull back keeps a front face",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "cull front removes a front face",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state",
              "bit": "extendedDynamicState"
            },
            {
              "id": "eds1.front_face",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "clockwise quad is front under CLOCKWISE",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "clockwise quad is back under COUNTER_CLOCKWISE",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state",
              "bit": "extendedDynamicState"
            },
            {
              "id": "eds1.primitive_topology",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "strip fills the lower right of its half",
                  "x": 28,
                  "y": 56,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "list leaves the lower right of its half empty",
                  "x": 60,
                  "y": 56,
                  "want": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "list still draws its first triangle",
                  "x": 36,
                  "y": 8,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state",
              "bit": "extendedDynamicState"
            },
            {
              "id": "eds1.scissor_with_count",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "inside the scissor",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "outside the scissor",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state",
              "bit": "extendedDynamicState"
            },
            {
              "id": "eds1.depth_test_enable",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "depth test on: near wins",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "depth test off: last draw wins",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state",
              "bit": "extendedDynamicState"
            },
            {
              "id": "eds1.depth_write_enable",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "depth write on: far quad rejected",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "depth write off: far quad accepted",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state",
              "bit": "extendedDynamicState"
            },
            {
              "id": "eds1.depth_compare_op",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "LESS: near wins",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "ALWAYS: last draw wins",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state",
              "bit": "extendedDynamicState"
            },
            {
              "id": "eds1.vertex_stride",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "24 byte stride skips the fillers",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "12 byte stride reads consecutive vertices",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state",
              "bit": "extendedDynamicState"
            }
          ]
        }
      },
      "verdict": "pass",
      "untested_bits": 0
    },
    "VK_EXT_extended_dynamic_state2": {
      "extension_listed": true,
      "bits": {
        "extendedDynamicState2": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "eds2.rasterizer_discard_enable",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "discard off: drawn",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "discard on: nothing reaches the image",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state2",
              "bit": "extendedDynamicState2"
            },
            {
              "id": "eds2.depth_bias_enable",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "bias on: second draw passes LESS",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "bias off: second draw fails LESS",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state2",
              "bit": "extendedDynamicState2"
            },
            {
              "id": "eds2.primitive_restart_enable",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "restart on: first triangle drawn",
                  "x": 9,
                  "y": 9,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "restart on: strip is cut at 0xFFFF",
                  "x": 48,
                  "y": 22,
                  "want": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "restart off: 0xFFFF is an ordinary vertex",
                  "x": 48,
                  "y": 22,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state2",
              "bit": "extendedDynamicState2"
            }
          ]
        },
        "extendedDynamicState2LogicOp": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "eds2.logic_op",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "COPY writes the source",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "INVERT writes ~destination",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    255,
                    0
                  ],
                  "got": [
                    0,
                    255,
                    255,
                    0
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state2",
              "bit": "extendedDynamicState2LogicOp"
            }
          ]
        },
        "extendedDynamicState2PatchControlPoints": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        }
      },
      "verdict": "pass",
      "untested_bits": 1
    },
    "VK_EXT_extended_dynamic_state3": {
      "extension_listed": true,
      "bits": {
        "extendedDynamicState3TessellationDomainOrigin": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "extendedDynamicState3DepthClampEnable": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "eds3.depth_clamp_enable",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "clamp on: geometry past the far plane is kept",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "clamp off: geometry past the far plane is clipped",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state3",
              "bit": "extendedDynamicState3DepthClampEnable"
            }
          ]
        },
        "extendedDynamicState3PolygonMode": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "eds3.polygon_mode",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "FILL covers the interior",
                  "x": 24,
                  "y": 48,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "LINE leaves the interior empty",
                  "x": 56,
                  "y": 48,
                  "want": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state3",
              "bit": "extendedDynamicState3PolygonMode"
            }
          ]
        },
        "extendedDynamicState3RasterizationSamples": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "extendedDynamicState3SampleMask": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "extendedDynamicState3AlphaToCoverageEnable": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "extendedDynamicState3AlphaToOneEnable": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "extendedDynamicState3LogicOpEnable": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "eds3.logic_op_enable",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "logic op on: CLEAR writes zero to every channel",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    0,
                    0
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "logic op off: source written",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state3",
              "bit": "extendedDynamicState3LogicOpEnable"
            }
          ]
        },
        "extendedDynamicState3ColorBlendEnable": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "eds3.color_blend_enable",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "blend on: destination kept",
                  "x": 16,
                  "y": 32,
                  "want": [
                    255,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    255,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "blend off: source written",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state3",
              "bit": "extendedDynamicState3ColorBlendEnable"
            }
          ]
        },
        "extendedDynamicState3ColorBlendEquation": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "eds3.color_blend_equation",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "ONE + ONE: red plus green",
                  "x": 16,
                  "y": 32,
                  "want": [
                    255,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    255,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "ZERO + ONE: destination kept",
                  "x": 48,
                  "y": 32,
                  "want": [
                    255,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    255,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state3",
              "bit": "extendedDynamicState3ColorBlendEquation"
            }
          ]
        },
        "extendedDynamicState3ColorWriteMask": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "eds3.color_write_mask",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "mask R: only red written",
                  "x": 16,
                  "y": 32,
                  "want": [
                    255,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    255,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "mask GB: red not written",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    255,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    255,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_extended_dynamic_state3",
              "bit": "extendedDynamicState3ColorWriteMask"
            }
          ]
        },
        "extendedDynamicState3RasterizationStream": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "extendedDynamicState3ConservativeRasterizationMode": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "extendedDynamicState3ExtraPrimitiveOverestimationSize": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "extendedDynamicState3DepthClipEnable": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "extendedDynamicState3SampleLocationsEnable": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "extendedDynamicState3ColorBlendAdvanced": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "extendedDynamicState3ProvokingVertexMode": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "extendedDynamicState3LineRasterizationMode": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "extendedDynamicState3LineStippleEnable": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "extendedDynamicState3DepthClipNegativeOneToOne": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        },
        "extendedDynamicState3ViewportWScalingEnable": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "extendedDynamicState3ViewportSwizzle": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "extendedDynamicState3CoverageToColorEnable": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "extendedDynamicState3CoverageToColorLocation": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "extendedDynamicState3CoverageModulationMode": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "extendedDynamicState3CoverageModulationTableEnable": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "extendedDynamicState3CoverageModulationTable": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "extendedDynamicState3CoverageReductionMode": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "extendedDynamicState3RepresentativeFragmentTestEnable": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "extendedDynamicState3ShadingRateImageEnable": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        }
      },
      "verdict": "pass",
      "untested_bits": 13
    },
    "VK_EXT_vertex_input_dynamic_state": {
      "extension_listed": true,
      "bits": {
        "vertexInputDynamicState": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "vids.attribute_offset",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "offset 0 selects the left quad",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "offset 12 selects the right quad",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_vertex_input_dynamic_state",
              "bit": "vertexInputDynamicState"
            }
          ]
        }
      },
      "verdict": "pass",
      "untested_bits": 0
    },
    "VK_EXT_custom_border_color": {
      "extension_listed": true,
      "bits": {
        "customBorderColors": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "border.custom_color",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "outside the texture: the custom border colour",
                  "x": 16,
                  "y": 32,
                  "want": [
                    64,
                    128,
                    191,
                    255
                  ],
                  "got": [
                    64,
                    128,
                    191,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "inside the texture: the texel",
                  "x": 48,
                  "y": 32,
                  "want": [
                    255,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    255,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_custom_border_color",
              "bit": "customBorderColors"
            }
          ]
        },
        "customBorderColorWithoutFormat": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        }
      },
      "verdict": "pass",
      "untested_bits": 1
    },
    "VK_EXT_border_color_swizzle": {
      "extension_listed": true,
      "bits": {
        "borderColorSwizzle": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "border.swizzle",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "border colour with red and blue swapped",
                  "x": 16,
                  "y": 32,
                  "want": [
                    191,
                    128,
                    64,
                    255
                  ],
                  "got": [
                    191,
                    128,
                    64,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "red texel with red and blue swapped",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_border_color_swizzle",
              "bit": "borderColorSwizzle"
            }
          ]
        },
        "borderColorSwizzleFromImage": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        }
      },
      "verdict": "pass",
      "untested_bits": 1
    },
    "VK_EXT_depth_clip_control": {
      "extension_listed": true,
      "bits": {
        "depthClipControl": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "depth.clip_control",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "negativeOneToOne: z = -0.5 is inside the volume",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "default volume: z = -0.5 is clipped",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_depth_clip_control",
              "bit": "depthClipControl"
            }
          ]
        }
      },
      "verdict": "pass",
      "untested_bits": 0
    },
    "VK_EXT_depth_bias_control": {
      "extension_listed": false,
      "bits": {
        "depthBiasControl": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "leastRepresentableValueForceUnormRepresentation": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        },
        "floatRepresentation": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": [
            {
              "id": "depth.bias_float",
              "advertised": false,
              "extension_listed": false,
              "evidence": [],
              "verdict": "unsupported",
              "feature": "VK_EXT_depth_bias_control",
              "bit": "floatRepresentation"
            }
          ]
        },
        "depthBiasExact": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        }
      },
      "verdict": "unsupported",
      "untested_bits": 0
    },
    "VK_EXT_transform_feedback": {
      "extension_listed": true,
      "bits": {
        "transformFeedback": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "xfb.capture",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "captured vertex 0",
                  "want": [
                    1,
                    10,
                    100,
                    0.5
                  ],
                  "got": [
                    1,
                    10,
                    100,
                    0.5
                  ],
                  "ok": true
                },
                {
                  "what": "captured vertex 1",
                  "want": [
                    2,
                    20,
                    200,
                    0.5
                  ],
                  "got": [
                    2,
                    20,
                    200,
                    0.5
                  ],
                  "ok": true
                },
                {
                  "what": "captured vertex 2",
                  "want": [
                    3,
                    30,
                    300,
                    0.5
                  ],
                  "got": [
                    3,
                    30,
                    300,
                    0.5
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_transform_feedback",
              "bit": "transformFeedback"
            },
            {
              "id": "xfb.geometry_shader_capture",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "captured point 0",
                  "want": [
                    1,
                    10,
                    100,
                    0.5,
                    1.25,
                    1.5,
                    1.75,
                    2,
                    -1,
                    4,
                    64,
                    1
                  ],
                  "got": [
                    1,
                    10,
                    100,
                    0.5,
                    1.25,
                    1.5,
                    1.75,
                    2,
                    -1,
                    4,
                    64,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "captured point 1",
                  "want": [
                    2,
                    20,
                    200,
                    0.5,
                    2.25,
                    2.5,
                    2.75,
                    2,
                    -2,
                    8,
                    64,
                    1
                  ],
                  "got": [
                    2,
                    20,
                    200,
                    0.5,
                    2.25,
                    2.5,
                    2.75,
                    2,
                    -2,
                    8,
                    64,
                    1
                  ],
                  "ok": true
                },
                {
                  "what": "captured point 2",
                  "want": [
                    3,
                    30,
                    300,
                    0.5,
                    3.25,
                    3.5,
                    3.75,
                    2,
                    -3,
                    12,
                    64,
                    1
                  ],
                  "got": [
                    3,
                    30,
                    300,
                    0.5,
                    3.25,
                    3.5,
                    3.75,
                    2,
                    -3,
                    12,
                    64,
                    1
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_transform_feedback",
              "bit": "transformFeedback"
            }
          ]
        },
        "geometryStreams": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        }
      },
      "verdict": "pass",
      "untested_bits": 1
    },
    "VK_EXT_color_write_enable": {
      "extension_listed": true,
      "bits": {
        "colorWriteEnable": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "cwe.color_write_enable",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "left half, drawn with writes off: still the clear colour",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "right half, drawn with writes on",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_color_write_enable",
              "bit": "colorWriteEnable"
            }
          ]
        }
      },
      "verdict": "pass",
      "untested_bits": 0
    },
    "VK_EXT_inline_uniform_block": {
      "extension_listed": true,
      "bits": {
        "inlineUniformBlock": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "iub.inline_uniform_block",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "left half: the element the offset update wrote",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "right half: the second inline block",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "got": [
                    0,
                    0,
                    255,
                    255
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_inline_uniform_block",
              "bit": "inlineUniformBlock"
            }
          ]
        },
        "descriptorBindingInlineUniformBlockUpdateAfterBind": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        }
      },
      "verdict": "pass",
      "untested_bits": 1
    },
    "VK_KHR_timeline_semaphore": {
      "extension_listed": true,
      "bits": {
        "timelineSemaphore": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "timeline.semaphore",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "counter after creation with initial value 5",
                  "want": [
                    5
                  ],
                  "got": [
                    5
                  ],
                  "ok": true
                },
                {
                  "what": "counter after a host signal to 9",
                  "want": [
                    9
                  ],
                  "got": [
                    9
                  ],
                  "ok": true
                },
                {
                  "what": "wait for 9 with no timeout: VK_SUCCESS (0)",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "wait for 10 for one millisecond: VK_TIMEOUT (2)",
                  "want": [
                    2
                  ],
                  "got": [
                    2
                  ],
                  "ok": true
                },
                {
                  "what": "wait for 12 after a queue signal, five seconds: VK_SUCCESS (0)",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "counter after the queue signal",
                  "want": [
                    12
                  ],
                  "got": [
                    12
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_KHR_timeline_semaphore",
              "bit": "timelineSemaphore"
            }
          ]
        }
      },
      "verdict": "pass",
      "untested_bits": 0
    },
    "VK_KHR_shader_atomic_int64": {
      "extension_listed": true,
      "bits": {
        "shaderBufferInt64Atomics": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "atomic.int64_buffer",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "sum after 4096 atomic adds of 0x100000001, low 32 bits",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "sum after 4096 atomic adds of 0x100000001, high 32 bits",
                  "want": [
                    4097
                  ],
                  "got": [
                    4097
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_KHR_shader_atomic_int64",
              "bit": "shaderBufferInt64Atomics"
            }
          ]
        },
        "shaderSharedInt64Atomics": {
          "advertised": false,
          "verdict": "unsupported",
          "checks": []
        }
      },
      "verdict": "pass",
      "untested_bits": 0
    },
    "VK_EXT_robustness2": {
      "extension_listed": true,
      "bits": {
        "robustBufferAccess2": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "robust.buffer_access2",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "element 0, inside the bound range: the stored value",
                  "x": 16,
                  "y": 32,
                  "want": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "got": [
                    0,
                    255,
                    0,
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "element 32, past the bound range: zero",
                  "x": 48,
                  "y": 32,
                  "want": [
                    0,
                    0,
                    0,
                    0
                  ],
                  "got": [
                    0,
                    0,
                    0,
                    0
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_robustness2",
              "bit": "robustBufferAccess2"
            },
            {
              "id": "robust.storage_buffer_access2",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "read of word 3, inside the bound range: the stored value",
                  "want": [
                    286331153
                  ],
                  "got": [
                    286331153
                  ],
                  "ok": true
                },
                {
                  "what": "read of word 128, past the bound range: zero",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "write to word 4, inside the bound range: lands",
                  "want": [
                    2004318071
                  ],
                  "got": [
                    2004318071
                  ],
                  "ok": true
                },
                {
                  "what": "write to word 129, past the bound range: dropped",
                  "want": [
                    3735928559
                  ],
                  "got": [
                    3735928559
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_robustness2",
              "bit": "robustBufferAccess2"
            }
          ]
        },
        "robustImageAccess2": {
          "advertised": true,
          "verdict": "pass",
          "checks": [
            {
              "id": "robust.image_access2",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "texelFetch (1, 2), inside: the stored value, r",
                  "want": [
                    255
                  ],
                  "got": [
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (1, 2), inside: the stored value, g",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (1, 2), inside: the stored value, b",
                  "want": [
                    255
                  ],
                  "got": [
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (1, 2), inside: the stored value, a",
                  "want": [
                    255
                  ],
                  "got": [
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (4, 1), one past the right edge: zero, r",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (4, 1), one past the right edge: zero, g",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (4, 1), one past the right edge: zero, b",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (4, 1), one past the right edge: zero, a",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (-1, 1), one before the left edge: zero, r",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (-1, 1), one before the left edge: zero, g",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (-1, 1), one before the left edge: zero, b",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (-1, 1), one before the left edge: zero, a",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (1, 4), one past the bottom edge: zero, r",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (1, 4), one past the bottom edge: zero, g",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (1, 4), one past the bottom edge: zero, b",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch (1, 4), one past the bottom edge: zero, a",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch at mip level 3 of a one-level texture: zero, r",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch at mip level 3 of a one-level texture: zero, g",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch at mip level 3 of a one-level texture: zero, b",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "texelFetch at mip level 3 of a one-level texture: zero, a",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "imageLoad (2, 3), inside: the stored value",
                  "want": [
                    7
                  ],
                  "got": [
                    7
                  ],
                  "ok": true
                },
                {
                  "what": "imageLoad (8, 2), one past the right edge: zero",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "imageLoad (-1, 2), one before the left edge: zero",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "imageLoad (2, 8), one past the bottom edge: zero",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "imageStore (5, 5), inside: lands",
                  "want": [
                    9
                  ],
                  "got": [
                    9
                  ],
                  "ok": true
                },
                {
                  "what": "three imageStores one step outside the image: no other texel changed",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_robustness2",
              "bit": "robustImageAccess2"
            },
            {
              "id": "robust.image_access2_kinds",
              "advertised": true,
              "extension_listed": true,
              "evidence": [
                {
                  "what": "one-channel texture, texelFetch (1, 1), inside: the stored value, r",
                  "want": [
                    255
                  ],
                  "got": [
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "one-channel texture, texelFetch (1, 1), inside: the stored value, g",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "one-channel texture, texelFetch (1, 1), inside: the stored value, b",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "one-channel texture, texelFetch (1, 1), inside: the stored value, a",
                  "want": [
                    255
                  ],
                  "got": [
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "one-channel texture, texelFetch (4, 1), outside: zero, r",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "one-channel texture, texelFetch (4, 1), outside: zero, g",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "one-channel texture, texelFetch (4, 1), outside: zero, b",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "array texture, texelFetch layer 1 of 2, inside: the stored value, r",
                  "want": [
                    255
                  ],
                  "got": [
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "array texture, texelFetch layer 1 of 2, inside: the stored value, g",
                  "want": [
                    255
                  ],
                  "got": [
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "array texture, texelFetch layer 1 of 2, inside: the stored value, b",
                  "want": [
                    255
                  ],
                  "got": [
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "array texture, texelFetch layer 1 of 2, inside: the stored value, a",
                  "want": [
                    255
                  ],
                  "got": [
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "array texture, texelFetch layer 2 of 2, outside: zero, r",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "array texture, texelFetch layer 2 of 2, outside: zero, g",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "array texture, texelFetch layer 2 of 2, outside: zero, b",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "array texture, texelFetch layer 2 of 2, outside: zero, a",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "3D texture, texelFetch slice 1 of 2, inside: the stored value, r",
                  "want": [
                    255
                  ],
                  "got": [
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "3D texture, texelFetch slice 1 of 2, inside: the stored value, g",
                  "want": [
                    255
                  ],
                  "got": [
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "3D texture, texelFetch slice 1 of 2, inside: the stored value, b",
                  "want": [
                    255
                  ],
                  "got": [
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "3D texture, texelFetch slice 1 of 2, inside: the stored value, a",
                  "want": [
                    255
                  ],
                  "got": [
                    255
                  ],
                  "ok": true
                },
                {
                  "what": "3D texture, texelFetch slice 2 of 2, outside: zero, r",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "3D texture, texelFetch slice 2 of 2, outside: zero, g",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "3D texture, texelFetch slice 2 of 2, outside: zero, b",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "3D texture, texelFetch slice 2 of 2, outside: zero, a",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "uniform texel buffer, texelFetch index 3, inside the view: the stored value",
                  "want": [
                    286331153
                  ],
                  "got": [
                    286331153
                  ],
                  "ok": true
                },
                {
                  "what": "storage texel buffer, imageLoad index 3, inside the view: the stored value",
                  "want": [
                    286331153
                  ],
                  "got": [
                    286331153
                  ],
                  "ok": true
                },
                {
                  "what": "storage texel buffer, imageStore index 5, inside the view: lands",
                  "want": [
                    9
                  ],
                  "got": [
                    9
                  ],
                  "ok": true
                },
                {
                  "what": "uniform texel buffer, texelFetch index 16, past the view: zero",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "storage texel buffer, imageLoad index 16, past the view: zero",
                  "want": [
                    0
                  ],
                  "got": [
                    0
                  ],
                  "ok": true
                },
                {
                  "what": "storage texel buffer, imageStore index 17, past the view: dropped",
                  "want": [
                    3735928559
                  ],
                  "got": [
                    3735928559
                  ],
                  "ok": true
                }
              ],
              "verdict": "pass",
              "feature": "VK_EXT_robustness2",
              "bit": "robustImageAccess2"
            }
          ]
        },
        "nullDescriptor": {
          "advertised": true,
          "verdict": "untested",
          "checks": []
        }
      },
      "verdict": "pass",
      "untested_bits": 1
    }
  },
  "valid": true,
  "harness": [
    {
      "id": "harness.baseline_draw",
      "evidence": [
        {
          "what": "drawn half",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    }
  ],
  "core": [
    {
      "id": "core.readback_same_command_buffer",
      "evidence": [
        {
          "what": "drawn half",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "push.max_combined_image_samplers",
      "evidence": [
        {
          "what": "combined image samplers pushed in one set (the driver's stated limit)",
          "got": 32,
          "ok": true
        },
        {
          "what": "bytes changed in memory next to the driver's allocations",
          "got": 0,
          "ok": true
        },
        {
          "what": "drawn half: the pushed texture",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "core.resubmit_command_buffer",
      "evidence": [
        {
          "what": "first submit: drawn half",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "second submit of the same command buffer: drawn half",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "second submit of the same command buffer: cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "core.compute_udiv",
      "evidence": [
        {
          "what": "703787787 \/ 47721859",
          "want": [
            14
          ],
          "got": [
            31
          ],
          "ok": false
        },
        {
          "what": "703787787 % 47721859",
          "want": [
            35681761
          ],
          "got": [
            3519377454
          ],
          "ok": false
        },
        {
          "what": "4294967295 \/ 2147483649",
          "want": [
            1
          ],
          "got": [
            1
          ],
          "ok": true
        },
        {
          "what": "4294967295 % 2147483649",
          "want": [
            2147483646
          ],
          "got": [
            2147483646
          ],
          "ok": true
        },
        {
          "what": "4294967295 \/ 3",
          "want": [
            1431655765
          ],
          "got": [
            1431655765
          ],
          "ok": true
        },
        {
          "what": "4294967295 % 3",
          "want": [
            0
          ],
          "got": [
            0
          ],
          "ok": true
        },
        {
          "what": "4000000000 \/ 3",
          "want": [
            1333333333
          ],
          "got": [
            1333333333
          ],
          "ok": true
        },
        {
          "what": "4000000000 % 3",
          "want": [
            1
          ],
          "got": [
            1
          ],
          "ok": true
        },
        {
          "what": "2147483648 \/ 65537",
          "want": [
            32767
          ],
          "got": [
            32767
          ],
          "ok": true
        },
        {
          "what": "2147483648 % 65537",
          "want": [
            32769
          ],
          "got": [
            32769
          ],
          "ok": true
        },
        {
          "what": "2147483647 \/ 46341",
          "want": [
            46340
          ],
          "got": [
            46340
          ],
          "ok": true
        },
        {
          "what": "2147483647 % 46341",
          "want": [
            41707
          ],
          "got": [
            41707
          ],
          "ok": true
        },
        {
          "what": "1000000007 \/ 31607",
          "want": [
            31638
          ],
          "got": [
            31638
          ],
          "ok": true
        },
        {
          "what": "1000000007 % 31607",
          "want": [
            17741
          ],
          "got": [
            17741
          ],
          "ok": true
        },
        {
          "what": "16777217 \/ 4097",
          "want": [
            4095
          ],
          "got": [
            4095
          ],
          "ok": true
        },
        {
          "what": "16777217 % 4097",
          "want": [
            2
          ],
          "got": [
            2
          ],
          "ok": true
        },
        {
          "what": "16777216 \/ 4096",
          "want": [
            4096
          ],
          "got": [
            4096
          ],
          "ok": true
        },
        {
          "what": "16777216 % 4096",
          "want": [
            0
          ],
          "got": [
            0
          ],
          "ok": true
        },
        {
          "what": "4294967295 \/ 4294967295",
          "want": [
            1
          ],
          "got": [
            1
          ],
          "ok": true
        },
        {
          "what": "4294967295 % 4294967295",
          "want": [
            0
          ],
          "got": [
            0
          ],
          "ok": true
        },
        {
          "what": "3000000000 \/ 1500000001",
          "want": [
            1
          ],
          "got": [
            1
          ],
          "ok": true
        },
        {
          "what": "3000000000 % 1500000001",
          "want": [
            1499999999
          ],
          "got": [
            1499999999
          ],
          "ok": true
        },
        {
          "what": "123456789 \/ 10007",
          "want": [
            12337
          ],
          "got": [
            12337
          ],
          "ok": true
        },
        {
          "what": "123456789 % 10007",
          "want": [
            430
          ],
          "got": [
            430
          ],
          "ok": true
        },
        {
          "what": "4294967294 \/ 2",
          "want": [
            2147483647
          ],
          "got": [
            2147483647
          ],
          "ok": true
        },
        {
          "what": "4294967294 % 2",
          "want": [
            0
          ],
          "got": [
            0
          ],
          "ok": true
        },
        {
          "what": "65536 \/ 65537",
          "want": [
            0
          ],
          "got": [
            0
          ],
          "ok": true
        },
        {
          "what": "65536 % 65537",
          "want": [
            65536
          ],
          "got": [
            65536
          ],
          "ok": true
        },
        {
          "what": "99999999 \/ 4294967295",
          "want": [
            0
          ],
          "got": [
            0
          ],
          "ok": true
        },
        {
          "what": "99999999 % 4294967295",
          "want": [
            99999999
          ],
          "got": [
            99999999
          ],
          "ok": true
        },
        {
          "what": "1 \/ 1",
          "want": [
            1
          ],
          "got": [
            1
          ],
          "ok": true
        },
        {
          "what": "1 % 1",
          "want": [
            0
          ],
          "got": [
            0
          ],
          "ok": true
        }
      ],
      "verdict": "fail"
    },
    {
      "id": "core.texel_fetch_beside_ubo",
      "evidence": [
        {
          "what": "left half: texel (1, 0)",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "right half: texel (0, 1)",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            255,
            255
          ],
          "got": [
            0,
            0,
            255,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "push.max_uniform_buffers",
      "evidence": [
        {
          "what": "uniform buffers pushed in one set (the driver's stated limit)",
          "got": 32,
          "ok": true
        },
        {
          "what": "bytes changed in memory next to the driver's allocations",
          "got": 0,
          "ok": true
        },
        {
          "what": "drawn half: element 5 of the pushed buffer",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "limit.uniform_buffer_range",
      "evidence": [
        {
          "what": "bytes in one uniform buffer binding (the driver's stated limit)",
          "got": 65536,
          "ok": true
        },
        {
          "what": "bytes changed in memory next to the driver's allocations",
          "got": 0,
          "ok": true
        },
        {
          "what": "drawn half: element 127 of the block",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "limit.dynamic_uniform_buffers",
      "evidence": [
        {
          "what": "dynamic uniform buffers in one set, bound with as many offsets (the driver's stated limit)",
          "got": 16,
          "ok": true
        },
        {
          "what": "bytes changed in memory next to the driver's allocations",
          "got": 0,
          "ok": true
        },
        {
          "what": "drawn half: the block the dynamic offset selects",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "stress.multi_draw_indirect_large",
      "evidence": [
        {
          "what": "draws in one vkCmdDrawIndirect call (capped by this check, below the stated limit)",
          "got": 16384,
          "ok": true
        },
        {
          "what": "drawn half",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "stress.compute_after_render",
      "evidence": [
        {
          "what": "wrong answers in 3200 divisions over 200 rounds",
          "want": [
            0
          ],
          "got": [
            0
          ],
          "ok": true
        },
        {
          "what": "the last render pass: drawn half",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "stress.submit_memory",
      "evidence": [
        {
          "what": "KiB of memory gained over 4000 submits (limit 16384)",
          "got": 528,
          "ok": true
        },
        {
          "what": "the last submit: drawn half",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "core.copy_wide_row_length",
      "evidence": [
        {
          "what": "first copied row (the last green row)",
          "x": 16,
          "y": 0,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "second copied row, 4,210,688 bytes later (the first black row)",
          "x": 16,
          "y": 1,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            127,
            127,
            127,
            127
          ],
          "ok": false
        }
      ],
      "verdict": "fail"
    },
    {
      "id": "core.mediump_mul_extended",
      "evidence": [
        {
          "what": "low half of 255 * 3",
          "want": [
            765
          ],
          "got": [
            765
          ],
          "ok": true
        },
        {
          "what": "low half of 242 * 19",
          "want": [
            4598
          ],
          "got": [
            4598
          ],
          "ok": true
        },
        {
          "what": "low half of 229 * 35",
          "want": [
            8015
          ],
          "got": [
            8015
          ],
          "ok": true
        },
        {
          "what": "low half of 216 * 51",
          "want": [
            11016
          ],
          "got": [
            11016
          ],
          "ok": true
        },
        {
          "what": "low half of 203 * 67",
          "want": [
            13601
          ],
          "got": [
            13601
          ],
          "ok": true
        },
        {
          "what": "low half of 190 * 83",
          "want": [
            15770
          ],
          "got": [
            15770
          ],
          "ok": true
        },
        {
          "what": "low half of 177 * 99",
          "want": [
            17523
          ],
          "got": [
            17523
          ],
          "ok": true
        },
        {
          "what": "low half of 164 * 115",
          "want": [
            18860
          ],
          "got": [
            18860
          ],
          "ok": true
        },
        {
          "what": "low half of 151 * 131",
          "want": [
            19781
          ],
          "got": [
            19781
          ],
          "ok": true
        },
        {
          "what": "low half of 138 * 147",
          "want": [
            20286
          ],
          "got": [
            20286
          ],
          "ok": true
        },
        {
          "what": "low half of 125 * 163",
          "want": [
            20375
          ],
          "got": [
            20375
          ],
          "ok": true
        },
        {
          "what": "low half of 112 * 179",
          "want": [
            20048
          ],
          "got": [
            20048
          ],
          "ok": true
        },
        {
          "what": "low half of 99 * 195",
          "want": [
            19305
          ],
          "got": [
            19305
          ],
          "ok": true
        },
        {
          "what": "low half of 86 * 211",
          "want": [
            18146
          ],
          "got": [
            18146
          ],
          "ok": true
        },
        {
          "what": "low half of 73 * 227",
          "want": [
            16571
          ],
          "got": [
            16571
          ],
          "ok": true
        },
        {
          "what": "low half of 60 * 243",
          "want": [
            14580
          ],
          "got": [
            14580
          ],
          "ok": true
        },
        {
          "what": "high half of the first product",
          "want": [
            0
          ],
          "got": [
            0
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "core.msaa_resolve",
      "evidence": [
        {
          "what": "resolved image: drawn half",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "resolved image: cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "limit.color_attachments",
      "evidence": [
        {
          "what": "colour attachments in one render pass (the driver's stated limit)",
          "got": 8,
          "ok": true
        },
        {
          "what": "bytes changed in memory next to the driver's allocations",
          "got": 0,
          "ok": true
        },
        {
          "what": "first attachment: drawn half",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "first attachment: cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "limit.vertex_input",
      "evidence": [
        {
          "what": "vertex buffer bindings in one pipeline, bound in one call (the driver's stated limit)",
          "got": 32,
          "ok": true
        },
        {
          "what": "vertex attributes in one pipeline (the driver's stated limit)",
          "got": 32,
          "ok": true
        },
        {
          "what": "bytes changed in memory next to the driver's allocations",
          "got": 0,
          "ok": true
        },
        {
          "what": "drawn half",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "limit.push_constants_size",
      "evidence": [
        {
          "what": "push constant bytes pushed in one call (the driver's stated limit)",
          "got": 256,
          "ok": true
        },
        {
          "what": "bytes changed in memory next to the driver's allocations",
          "got": 0,
          "ok": true
        },
        {
          "what": "drawn half: the colour in the first 16 bytes",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "limit.per_stage_samplers",
      "evidence": [
        {
          "what": "combined image samplers in one descriptor set, bound and drawn with (capped by this check, below the stated limit)",
          "got": 4096,
          "ok": true
        },
        {
          "what": "bytes changed in memory next to the driver's allocations",
          "got": 0,
          "ok": true
        },
        {
          "what": "drawn half: the texture in element 0",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "limit.bound_descriptor_sets",
      "evidence": [
        {
          "what": "descriptor sets bound in one call (the driver's stated limit)",
          "got": 7,
          "ok": true
        },
        {
          "what": "bytes changed in memory next to the driver's allocations",
          "got": 0,
          "ok": true
        },
        {
          "what": "drawn half: the texture in set 0",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "stress.pipeline_cache_threads",
      "evidence": [
        {
          "what": "every vkCreateGraphicsPipelines call returned VK_SUCCESS",
          "got": 0,
          "ok": true
        },
        {
          "what": "pipelines asked for in 8 seconds, at least one from each thread",
          "got": 1024,
          "ok": true
        },
        {
          "what": "pipelines built, the same number",
          "got": 1024,
          "ok": true
        },
        {
          "what": "every save made while compiling returned VK_SUCCESS or VK_INCOMPLETE",
          "got": 0,
          "ok": true
        },
        {
          "what": "saves made while compiling",
          "got": 82,
          "ok": true
        },
        {
          "what": "bytes a save reported beyond the buffer size it was given",
          "got": 0,
          "ok": true
        },
        {
          "what": "bytes a save wrote past the end of the buffer it was given",
          "got": 0,
          "ok": true
        },
        {
          "what": "final save size in bytes holds a header",
          "got": 2406437,
          "ok": true
        },
        {
          "what": "header names this device",
          "got": 32,
          "ok": true
        },
        {
          "what": "drawn half, after every pipeline drew it",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    },
    {
      "id": "stress.pipeline_threads_no_cache",
      "evidence": [
        {
          "what": "every vkCreateGraphicsPipelines call returned VK_SUCCESS",
          "got": 0,
          "ok": true
        },
        {
          "what": "pipelines asked for in 8 seconds, at least one from each thread",
          "got": 1024,
          "ok": true
        },
        {
          "what": "pipelines built, the same number",
          "got": 1024,
          "ok": true
        },
        {
          "what": "drawn half, after every pipeline drew it",
          "x": 16,
          "y": 32,
          "want": [
            0,
            255,
            0,
            255
          ],
          "got": [
            0,
            255,
            0,
            255
          ],
          "ok": true
        },
        {
          "what": "cleared half",
          "x": 48,
          "y": 32,
          "want": [
            0,
            0,
            0,
            255
          ],
          "got": [
            0,
            0,
            0,
            255
          ],
          "ok": true
        }
      ],
      "verdict": "pass"
    }
  ],
  "vulkan": {
    "device_type": 1,
    "limits": {
      "maxImageDimension1D": 16384,
      "maxImageDimension2D": 16384,
      "maxImageDimension3D": 2048,
      "maxImageDimensionCube": 16384,
      "maxImageArrayLayers": 2048,
      "maxTexelBufferElements": 134217728,
      "maxUniformBufferRange": 65536,
      "maxStorageBufferRange": 134217728,
      "maxPushConstantsSize": 256,
      "maxMemoryAllocationCount": 4294967295,
      "maxSamplerAllocationCount": 65536,
      "bufferImageGranularity": 64,
      "sparseAddressSpaceSize": 274877906944,
      "maxBoundDescriptorSets": 7,
      "maxPerStageDescriptorSamplers": 16777216,
      "maxPerStageDescriptorUniformBuffers": 16777216,
      "maxPerStageDescriptorStorageBuffers": 16777216,
      "maxPerStageDescriptorSampledImages": 16777216,
      "maxPerStageDescriptorStorageImages": 16777216,
      "maxPerStageDescriptorInputAttachments": 8,
      "maxPerStageResources": 16777216,
      "maxDescriptorSetSamplers": 16777216,
      "maxDescriptorSetUniformBuffers": 16777216,
      "maxDescriptorSetUniformBuffersDynamic": 16,
      "maxDescriptorSetStorageBuffers": 16777216,
      "maxDescriptorSetStorageBuffersDynamic": 8,
      "maxDescriptorSetSampledImages": 16777216,
      "maxDescriptorSetStorageImages": 16777216,
      "maxDescriptorSetInputAttachments": 8,
      "maxVertexInputAttributes": 32,
      "maxVertexInputBindings": 32,
      "maxVertexInputAttributeOffset": 4095,
      "maxVertexInputBindingStride": 2048,
      "maxVertexOutputComponents": 128,
      "maxTessellationGenerationLevel": 64,
      "maxTessellationPatchSize": 32,
      "maxTessellationControlPerVertexInputComponents": 128,
      "maxTessellationControlPerVertexOutputComponents": 128,
      "maxTessellationControlPerPatchOutputComponents": 120,
      "maxTessellationControlTotalOutputComponents": 4096,
      "maxTessellationEvaluationInputComponents": 128,
      "maxTessellationEvaluationOutputComponents": 128,
      "maxGeometryShaderInvocations": 32,
      "maxGeometryInputComponents": 64,
      "maxGeometryOutputComponents": 128,
      "maxGeometryOutputVertices": 256,
      "maxGeometryTotalOutputComponents": 1024,
      "maxFragmentInputComponents": 128,
      "maxFragmentOutputAttachments": 8,
      "maxFragmentDualSrcAttachments": 1,
      "maxFragmentCombinedOutputResources": 33554440,
      "maxComputeSharedMemorySize": 65536,
      "maxComputeWorkGroupCount": [
        65535,
        65535,
        65535
      ],
      "maxComputeWorkGroupInvocations": 2048,
      "maxComputeWorkGroupSize": [
        1024,
        1024,
        1024
      ],
      "subPixelPrecisionBits": 8,
      "subTexelPrecisionBits": 8,
      "mipmapPrecisionBits": 8,
      "maxDrawIndexedIndexValue": 4294967295,
      "maxDrawIndirectCount": 4294967295,
      "maxSamplerLodBias": 15.9960938,
      "maxSamplerAnisotropy": 16,
      "maxViewports": 16,
      "maxViewportDimensions": [
        16384,
        16384
      ],
      "viewportBoundsRange": [
        -32768,
        32767
      ],
      "viewportSubPixelBits": 8,
      "minMemoryMapAlignment": 4096,
      "minTexelBufferOffsetAlignment": 64,
      "minUniformBufferOffsetAlignment": 64,
      "minStorageBufferOffsetAlignment": 4,
      "minTexelOffset": -16,
      "maxTexelOffset": 15,
      "minTexelGatherOffset": -32,
      "maxTexelGatherOffset": 31,
      "minInterpolationOffset": -0.5,
      "maxInterpolationOffset": 0.4375,
      "subPixelInterpolationOffsetBits": 4,
      "maxFramebufferWidth": 16384,
      "maxFramebufferHeight": 16384,
      "maxFramebufferLayers": 1024,
      "framebufferColorSampleCounts": 7,
      "framebufferDepthSampleCounts": 7,
      "framebufferStencilSampleCounts": 7,
      "framebufferNoAttachmentsSampleCounts": 7,
      "maxColorAttachments": 8,
      "sampledImageColorSampleCounts": 7,
      "sampledImageIntegerSampleCounts": 7,
      "sampledImageDepthSampleCounts": 7,
      "sampledImageStencilSampleCounts": 7,
      "storageImageSampleCounts": 1,
      "maxSampleMaskWords": 1,
      "timestampComputeAndGraphics": 1,
      "timestampPeriod": 33.1125832,
      "maxClipDistances": 8,
      "maxCullDistances": 8,
      "maxCombinedClipAndCullDistances": 8,
      "discreteQueuePriorities": 2,
      "pointSizeRange": [
        1,
        4092
      ],
      "lineWidthRange": [
        1,
        127.5
      ],
      "pointSizeGranularity": 0.0625,
      "lineWidthGranularity": 0.5,
      "strictLines": 1,
      "standardSampleLocations": 1,
      "optimalBufferCopyOffsetAlignment": 128,
      "optimalBufferCopyRowPitchAlignment": 128,
      "nonCoherentAtomSize": 64
    },
    "sparse": {
      "residencyStandard2DBlockShape": 1,
      "residencyStandard2DMultisampleBlockShape": 1,
      "residencyStandard3DBlockShape": 0,
      "residencyAlignedMipSize": 0,
      "residencyNonResidentStrict": 1
    },
    "features_1_1": {
      "storageBuffer16BitAccess": 1,
      "uniformAndStorageBuffer16BitAccess": 0,
      "storagePushConstant16": 0,
      "storageInputOutput16": 0,
      "multiview": 1,
      "multiviewGeometryShader": 1,
      "multiviewTessellationShader": 0,
      "variablePointersStorageBuffer": 1,
      "variablePointers": 1,
      "protectedMemory": 0,
      "samplerYcbcrConversion": 1,
      "shaderDrawParameters": 1
    },
    "features_1_2": {
      "samplerMirrorClampToEdge": 1,
      "drawIndirectCount": 1,
      "storageBuffer8BitAccess": 1,
      "uniformAndStorageBuffer8BitAccess": 0,
      "storagePushConstant8": 0,
      "shaderBufferInt64Atomics": 1,
      "shaderSharedInt64Atomics": 0,
      "shaderFloat16": 1,
      "shaderInt8": 1,
      "descriptorIndexing": 1,
      "shaderInputAttachmentArrayDynamicIndexing": 0,
      "shaderUniformTexelBufferArrayDynamicIndexing": 1,
      "shaderStorageTexelBufferArrayDynamicIndexing": 1,
      "shaderUniformBufferArrayNonUniformIndexing": 1,
      "shaderSampledImageArrayNonUniformIndexing": 1,
      "shaderStorageBufferArrayNonUniformIndexing": 1,
      "shaderStorageImageArrayNonUniformIndexing": 1,
      "shaderInputAttachmentArrayNonUniformIndexing": 0,
      "shaderUniformTexelBufferArrayNonUniformIndexing": 1,
      "shaderStorageTexelBufferArrayNonUniformIndexing": 1,
      "descriptorBindingUniformBufferUpdateAfterBind": 1,
      "descriptorBindingSampledImageUpdateAfterBind": 1,
      "descriptorBindingStorageImageUpdateAfterBind": 1,
      "descriptorBindingStorageBufferUpdateAfterBind": 1,
      "descriptorBindingUniformTexelBufferUpdateAfterBind": 1,
      "descriptorBindingStorageTexelBufferUpdateAfterBind": 1,
      "descriptorBindingUpdateUnusedWhilePending": 1,
      "descriptorBindingPartiallyBound": 1,
      "descriptorBindingVariableDescriptorCount": 1,
      "runtimeDescriptorArray": 1,
      "samplerFilterMinmax": 1,
      "scalarBlockLayout": 1,
      "imagelessFramebuffer": 1,
      "uniformBufferStandardLayout": 1,
      "shaderSubgroupExtendedTypes": 1,
      "separateDepthStencilLayouts": 1,
      "hostQueryReset": 1,
      "timelineSemaphore": 1,
      "bufferDeviceAddress": 1,
      "bufferDeviceAddressCaptureReplay": 1,
      "bufferDeviceAddressMultiDevice": 0,
      "vulkanMemoryModel": 1,
      "vulkanMemoryModelDeviceScope": 1,
      "vulkanMemoryModelAvailabilityVisibilityChains": 1,
      "shaderOutputViewportIndex": 1,
      "shaderOutputLayer": 1,
      "subgroupBroadcastDynamicId": 1
    },
    "features_1_3": {
      "robustImageAccess": 1,
      "inlineUniformBlock": 1,
      "descriptorBindingInlineUniformBlockUpdateAfterBind": 1,
      "pipelineCreationCacheControl": 1,
      "privateData": 1,
      "shaderDemoteToHelperInvocation": 1,
      "shaderTerminateInvocation": 1,
      "subgroupSizeControl": 1,
      "computeFullSubgroups": 1,
      "synchronization2": 1,
      "textureCompressionASTC_HDR": 1,
      "shaderZeroInitializeWorkgroupMemory": 1,
      "dynamicRendering": 1,
      "shaderIntegerDotProduct": 1,
      "maintenance4": 1
    },
    "features_1_4": {
      "globalPriorityQuery": 1,
      "shaderSubgroupRotate": 1,
      "shaderSubgroupRotateClustered": 1,
      "shaderFloatControls2": 1,
      "shaderExpectAssume": 1,
      "rectangularLines": 1,
      "bresenhamLines": 1,
      "smoothLines": 0,
      "stippledRectangularLines": 0,
      "stippledBresenhamLines": 0,
      "stippledSmoothLines": 0,
      "vertexAttributeInstanceRateDivisor": 1,
      "vertexAttributeInstanceRateZeroDivisor": 1,
      "indexTypeUint8": 1,
      "dynamicRenderingLocalRead": 1,
      "maintenance5": 1,
      "maintenance6": 1,
      "pipelineProtectedAccess": 0,
      "pipelineRobustness": 1,
      "hostImageCopy": 1,
      "pushDescriptor": 1
    },
    "memory_heaps": [
      {
        "size": 8858370048,
        "flags": 1
      }
    ],
    "memory_types": [
      {
        "heap": 0,
        "flags": 7
      },
      {
        "heap": 0,
        "flags": 15
      },
      {
        "heap": 0,
        "flags": 11
      },
      {
        "heap": 0,
        "flags": 17
      }
    ],
    "queue_families": [
      {
        "flags": 15,
        "count": 1,
        "timestamp_bits": 48,
        "min_transfer": [
          1,
          1,
          1
        ]
      },
      {
        "flags": 8,
        "count": 1,
        "timestamp_bits": 48,
        "min_transfer": [
          1,
          1,
          1
        ]
      }
    ],
    "formats": {
      "2": [
        130433,
        130433,
        8
      ],
      "3": [
        130433,
        130433,
        8
      ],
      "4": [
        130433,
        130433,
        8
      ],
      "5": [
        130433,
        130433,
        8
      ],
      "6": [
        130433,
        130433,
        8
      ],
      "7": [
        130433,
        130433,
        8
      ],
      "8": [
        130433,
        130433,
        8
      ],
      "9": [
        130435,
        130435,
        49240
      ],
      "10": [
        130435,
        130435,
        49240
      ],
      "11": [
        0,
        0,
        49216
      ],
      "12": [
        0,
        0,
        49216
      ],
      "13": [
        117891,
        1073859715,
        49240
      ],
      "14": [
        117891,
        117891,
        49240
      ],
      "15": [
        130435,
        130435,
        49176
      ],
      "16": [
        130435,
        130435,
        536920152
      ],
      "17": [
        130435,
        130435,
        536920152
      ],
      "18": [
        0,
        0,
        49216
      ],
      "19": [
        0,
        0,
        49216
      ],
      "20": [
        117891,
        117891,
        49240
      ],
      "21": [
        117891,
        117891,
        49240
      ],
      "22": [
        130435,
        130435,
        49176
      ],
      "23": [
        0,
        0,
        72
      ],
      "24": [
        0,
        0,
        72
      ],
      "25": [
        0,
        0,
        64
      ],
      "26": [
        0,
        0,
        64
      ],
      "27": [
        0,
        0,
        72
      ],
      "28": [
        0,
        0,
        72
      ],
      "30": [
        0,
        0,
        72
      ],
      "31": [
        0,
        0,
        72
      ],
      "34": [
        0,
        0,
        72
      ],
      "35": [
        0,
        0,
        72
      ],
      "37": [
        130435,
        130435,
        536920152
      ],
      "38": [
        130435,
        130435,
        536920152
      ],
      "39": [
        0,
        0,
        49216
      ],
      "40": [
        0,
        0,
        49216
      ],
      "41": [
        117891,
        117891,
        49240
      ],
      "42": [
        117891,
        117891,
        49240
      ],
      "43": [
        130435,
        130435,
        49176
      ],
      "44": [
        130435,
        130435,
        49240
      ],
      "45": [
        130435,
        130435,
        49240
      ],
      "46": [
        0,
        0,
        49216
      ],
      "47": [
        0,
        0,
        49216
      ],
      "48": [
        117891,
        117891,
        49240
      ],
      "49": [
        117891,
        117891,
        49240
      ],
      "50": [
        130435,
        130435,
        49176
      ],
      "51": [
        130435,
        130435,
        49240
      ],
      "52": [
        130435,
        130435,
        49240
      ],
      "53": [
        0,
        0,
        49216
      ],
      "54": [
        0,
        0,
        49216
      ],
      "55": [
        117891,
        117891,
        49240
      ],
      "56": [
        117891,
        117891,
        49240
      ],
      "57": [
        130435,
        130435,
        49176
      ],
      "58": [
        130435,
        130435,
        49240
      ],
      "59": [
        0,
        0,
        49216
      ],
      "60": [
        0,
        0,
        49216
      ],
      "61": [
        0,
        0,
        49216
      ],
      "62": [
        117891,
        117891,
        49240
      ],
      "63": [
        0,
        0,
        49216
      ],
      "64": [
        130435,
        130435,
        536920152
      ],
      "65": [
        0,
        0,
        49216
      ],
      "66": [
        0,
        0,
        49216
      ],
      "67": [
        0,
        0,
        49216
      ],
      "68": [
        117891,
        117891,
        49240
      ],
      "69": [
        0,
        0,
        49216
      ],
      "70": [
        130435,
        130435,
        49240
      ],
      "71": [
        130435,
        130435,
        49240
      ],
      "72": [
        0,
        0,
        49216
      ],
      "73": [
        0,
        0,
        49216
      ],
      "74": [
        117891,
        117891,
        49240
      ],
      "75": [
        117891,
        117891,
        49240
      ],
      "76": [
        130435,
        130435,
        49240
      ],
      "77": [
        130435,
        130435,
        536920152
      ],
      "78": [
        130435,
        130435,
        536920152
      ],
      "79": [
        0,
        0,
        49216
      ],
      "80": [
        0,
        0,
        49216
      ],
      "81": [
        117891,
        117891,
        49240
      ],
      "82": [
        117891,
        117891,
        49240
      ],
      "83": [
        16907651,
        16907651,
        536920152
      ],
      "84": [
        0,
        0,
        72
      ],
      "85": [
        0,
        0,
        72
      ],
      "86": [
        0,
        0,
        64
      ],
      "87": [
        0,
        0,
        64
      ],
      "88": [
        0,
        0,
        72
      ],
      "89": [
        0,
        0,
        72
      ],
      "90": [
        0,
        0,
        536870984
      ],
      "91": [
        130435,
        130435,
        536920152
      ],
      "92": [
        130435,
        130435,
        536920152
      ],
      "93": [
        0,
        0,
        49216
      ],
      "94": [
        0,
        0,
        49216
      ],
      "95": [
        117891,
        117891,
        49240
      ],
      "96": [
        117891,
        117891,
        49240
      ],
      "97": [
        130435,
        130435,
        536920152
      ],
      "98": [
        117895,
        117895,
        49272
      ],
      "99": [
        117895,
        117895,
        49272
      ],
      "100": [
        130439,
        130439,
        49272
      ],
      "101": [
        117891,
        117891,
        49240
      ],
      "102": [
        117891,
        117891,
        49240
      ],
      "103": [
        16907651,
        16907651,
        536920152
      ],
      "104": [
        0,
        0,
        72
      ],
      "105": [
        0,
        0,
        72
      ],
      "106": [
        0,
        0,
        536870984
      ],
      "107": [
        117891,
        117891,
        49240
      ],
      "108": [
        117891,
        117891,
        49240
      ],
      "109": [
        130435,
        130435,
        536920152
      ],
      "110": [
        49158,
        49158,
        49200
      ],
      "111": [
        49158,
        49158,
        49200
      ],
      "122": [
        130435,
        130435,
        49240
      ],
      "123": [
        130435,
        130435,
        49176
      ],
      "124": [
        130433,
        130945,
        0
      ],
      "125": [
        130433,
        130945,
        0
      ],
      "126": [
        130433,
        130945,
        0
      ],
      "127": [
        117889,
        118401,
        0
      ],
      "129": [
        130433,
        130945,
        0
      ],
      "130": [
        0,
        130945,
        0
      ],
      "131": [
        128001,
        128001,
        49160
      ],
      "132": [
        128001,
        128001,
        49160
      ],
      "133": [
        128001,
        128001,
        49160
      ],
      "134": [
        128001,
        128001,
        49160
      ],
      "135": [
        128001,
        128001,
        49160
      ],
      "136": [
        128001,
        128001,
        49160
      ],
      "137": [
        128001,
        128001,
        49160
      ],
      "138": [
        128001,
        128001,
        49160
      ],
      "139": [
        128001,
        128001,
        49160
      ],
      "140": [
        128001,
        128001,
        49160
      ],
      "141": [
        128001,
        128001,
        49160
      ],
      "142": [
        128001,
        128001,
        49160
      ],
      "143": [
        128001,
        128001,
        49160
      ],
      "144": [
        128001,
        128001,
        49160
      ],
      "145": [
        128001,
        128001,
        49160
      ],
      "146": [
        128001,
        128001,
        49160
      ],
      "147": [
        128001,
        128001,
        49160
      ],
      "148": [
        128001,
        128001,
        49160
      ],
      "149": [
        128001,
        128001,
        49160
      ],
      "150": [
        128001,
        128001,
        49160
      ],
      "151": [
        128001,
        128001,
        49160
      ],
      "152": [
        128001,
        128001,
        49160
      ],
      "153": [
        128001,
        128001,
        49160
      ],
      "154": [
        128001,
        128001,
        49160
      ],
      "155": [
        128001,
        128001,
        49160
      ],
      "156": [
        128001,
        128001,
        49160
      ],
      "157": [
        128001,
        128001,
        49160
      ],
      "158": [
        128001,
        128001,
        49160
      ],
      "159": [
        128001,
        128001,
        49160
      ],
      "160": [
        128001,
        128001,
        49160
      ],
      "161": [
        128001,
        128001,
        49160
      ],
      "162": [
        128001,
        128001,
        49160
      ],
      "163": [
        128001,
        128001,
        49160
      ],
      "164": [
        128001,
        128001,
        49160
      ],
      "165": [
        128001,
        128001,
        49160
      ],
      "166": [
        128001,
        128001,
        49160
      ],
      "167": [
        128001,
        128001,
        49160
      ],
      "168": [
        128001,
        128001,
        49160
      ],
      "169": [
        128001,
        128001,
        49160
      ],
      "170": [
        128001,
        128001,
        49160
      ],
      "171": [
        128001,
        128001,
        49160
      ],
      "172": [
        128001,
        128001,
        49160
      ],
      "173": [
        128001,
        128001,
        49160
      ],
      "174": [
        128001,
        128001,
        49160
      ],
      "175": [
        128001,
        128001,
        49160
      ],
      "176": [
        128001,
        128001,
        49160
      ],
      "177": [
        128001,
        128001,
        49160
      ],
      "178": [
        128001,
        128001,
        49160
      ],
      "179": [
        128001,
        128001,
        49160
      ],
      "180": [
        128001,
        128001,
        49160
      ],
      "181": [
        128001,
        128001,
        49160
      ],
      "182": [
        128001,
        128001,
        49160
      ],
      "183": [
        128001,
        128001,
        49160
      ],
      "184": [
        128001,
        128001,
        49160
      ],
      "1000156000": [
        258049,
        0,
        0
      ],
      "1000156001": [
        258049,
        0,
        0
      ],
      "1000156002": [
        9433089,
        9433089,
        0
      ],
      "1000156003": [
        9433089,
        9433089,
        0
      ],
      "1000340000": [
        130433,
        130433,
        8
      ],
      "1000340001": [
        130433,
        130433,
        8
      ],
      "1000066000": [
        128001,
        128001,
        49160
      ],
      "1000066001": [
        128001,
        128001,
        49160
      ],
      "1000066002": [
        128001,
        128001,
        49160
      ],
      "1000066003": [
        128001,
        128001,
        49160
      ],
      "1000066004": [
        128001,
        128001,
        49160
      ],
      "1000066005": [
        128001,
        128001,
        49160
      ],
      "1000066006": [
        128001,
        128001,
        49160
      ],
      "1000066007": [
        128001,
        128001,
        49160
      ],
      "1000066008": [
        128001,
        128001,
        49160
      ],
      "1000066009": [
        128001,
        128001,
        49160
      ],
      "1000066010": [
        128001,
        128001,
        49160
      ],
      "1000066011": [
        128001,
        128001,
        49160
      ],
      "1000066012": [
        128001,
        128001,
        49160
      ],
      "1000066013": [
        128001,
        128001,
        49160
      ],
      "1000470000": [
        130433,
        130433,
        8
      ],
      "1000470001": [
        130435,
        130435,
        49176
      ]
    }
  }
}