Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WiP] Add portable pipeline cache blob format support #90

Closed
wants to merge 1 commit into from

Conversation

kuhar
Copy link
Contributor

@kuhar kuhar commented Jan 26, 2021

Introduce a new private pipeline binary cache header field blobFormat
with two possible values:

  1. Strict -- uses the existing pipeline cache blob validation. This is
    the default format.
  2. Portable -- creates system-configuration-independent cache blobs that
    can be created offline. This is enabled using a new panel setting
    EnablePortablePipelineCacheFormat, so that the ICD only accepts
    the specified

Make the cache-creator tool produce cache blobs in the Portable format.

@kuhar kuhar marked this pull request as draft January 26, 2021 05:28
Copy link
Contributor

@s-perron s-perron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

icd/api/pipeline_binary_cache.cpp Outdated Show resolved Hide resolved
Introduce a new private pipeline binary cache header field `blobFormat`
with two possible values:
1.  Strict -- uses the existing pipeline cache blob validation. This is
    the default format.
2.  Portable -- creates system-configuration-independent cache blobs that
    can be created offline. This is enabled using a new panel setting
    `EnablePortablePipelineCacheFormat`, so that the ICD only accepts
    the specified

Make the cache-creator tool produce cache blobs in the Portable format.
@kuhar
Copy link
Contributor Author

kuhar commented Jan 26, 2021

V1: Fix comments.

@amdvlk-admin
Copy link
Collaborator

Test summary for commit 6e8953c

Driver commits used in build
  • CWPACK: amd-master 7387247eb9889ddcabbc1053b9c2052e253b088e
  • METROHASH: amd-master 3c566dd9cda44ca7fd97659e0b53ac953f9037d2
  • LLPC: dev 14c7db3f384f41c85cc544a2fcc8b08893544aa7
  • PAL: dev 1e61f9ab6eb2041c73d7e7bd8f2021fa05a4bdd8
  • SPVGEN: dev 7c1cf34dd7eb4d3a6e6652c26292eef1bfcbcaf0
  • LLVM-PROJECT: amd-gfx-gpuopen-dev 6937c957ab0a7a60870d1eb9acc47900e1619712
CTS tests (Failed: 336/224701)
  • Built with version 1.2.2.2
  • Rhel 8.2, Gfx10
    • Passed: 26763/56156 (47.7%)
    • Failed: 84/56156 (0.1%)

      Failures:

      FAILURE: dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail
      Stack trace: Crash
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_storage_large
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_storage_small
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_uniform_large
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_uniform_small
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_view_storage_r8g8b8a8_unorm
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_view_uniform_r8g8b8a8_unorm
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.command_pool
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.command_pool_transient
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.compute_pipeline
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_pool
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_pool_free_descriptor_set
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_set_layout_empty
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_set_layout_single
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.device
      Stack trace: Crash
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.device_group
      Stack trace: Crash
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.device_memory_small
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.event
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.fence
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.fence_signaled
      Stack trace: Fail
      ...
      

    • Skipped: 29309/56156 (52.2%)
    Ubuntu 18.04, Gfx9
    • Passed: 26763/56156 (47.7%)
    • Failed: 84/56156 (0.1%)

      Failures:

      FAILURE: dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail
      Stack trace: Crash
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_storage_large
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_storage_small
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_uniform_large
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_uniform_small
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_view_storage_r8g8b8a8_unorm
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_view_uniform_r8g8b8a8_unorm
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.command_pool
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.command_pool_transient
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.compute_pipeline
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_pool
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_pool_free_descriptor_set
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_set_layout_empty
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_set_layout_single
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.device
      Stack trace: Crash
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.device_group
      Stack trace: Crash
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.device_memory_small
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.event
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.fence
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.fence_signaled
      Stack trace: Fail
      ...
      

    • Skipped: 29309/56156 (52.2%)
    Ubuntu 20.04, Gfx8
    • Passed: 25352/56233 (45.1%)
    • Failed: 84/56233 (0.1%)

      Failures:

      FAILURE: dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail
      Stack trace: Crash
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_storage_large
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_storage_small
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_uniform_large
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_uniform_small
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_view_storage_r8g8b8a8_unorm
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_view_uniform_r8g8b8a8_unorm
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.command_pool
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.command_pool_transient
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.compute_pipeline
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_pool
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_pool_free_descriptor_set
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_set_layout_empty
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_set_layout_single
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.device
      Stack trace: Crash
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.device_group
      Stack trace: Crash
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.device_memory_small
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.event
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.fence
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.fence_signaled
      Stack trace: Fail
      ...
      

    • Skipped: 30797/56233 (54.8%)
    Ubuntu 20.04, Gfx103
    • Passed: 26778/56156 (47.7%)
    • Failed: 84/56156 (0.1%)

      Failures:

      FAILURE: dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail
      Stack trace: Crash
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_storage_large
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_storage_small
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_uniform_large
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_uniform_small
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_view_storage_r8g8b8a8_unorm
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.buffer_view_uniform_r8g8b8a8_unorm
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.command_pool
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.command_pool_transient
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.compute_pipeline
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_pool
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_pool_free_descriptor_set
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_set_layout_empty
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.descriptor_set_layout_single
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.device
      Stack trace: Crash
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.device_group
      Stack trace: Crash
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.device_memory_small
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.event
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.fence
      Stack trace: Fail
      
      FAILURE: dEQP-VK.api.object_management.alloc_callback_fail.fence_signaled
      Stack trace: Fail
      ...
      

    • Skipped: 29294/56156 (52.2%)

@JaxLinAMD
Copy link
Contributor

retest this please

1 similar comment
@JaxLinAMD
Copy link
Contributor

retest this please

@kuhar
Copy link
Contributor Author

kuhar commented Mar 16, 2021

This is superseded by the UUID changes in 0c029b1.

@kuhar kuhar closed this Mar 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants