diff options
| author | Mark Young <marky@lunarg.com> | 2026-02-26 16:02:28 -0500 |
|---|---|---|
| committer | Mark Young <marky@lunarg.com> | 2026-02-27 15:06:51 -0500 |
| commit | 7f423e2b242c154e6ace85c804c65462a7d41870 (patch) | |
| tree | 15b0174aa4fa0925579b8b2f3e54bad50d233608 /scripts | |
| parent | 6a9d187173f2ec4773da1e7e9cae587f6390d817 (diff) | |
| download | usermoji-7f423e2b242c154e6ace85c804c65462a7d41870.tar.xz | |
mockicd: Update Pipeline Binary entrypoints
The pipeline binary entrypoints needed some more work to better
simulate an implmentation in our test framework.
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/generators/mock_icd_generator.py | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/scripts/generators/mock_icd_generator.py b/scripts/generators/mock_icd_generator.py index c78253ce..b1d81c42 100644 --- a/scripts/generators/mock_icd_generator.py +++ b/scripts/generators/mock_icd_generator.py @@ -1191,8 +1191,39 @@ CUSTOM_C_INTERCEPTS = { ''', 'vkCreatePipelineBinariesKHR': ''' unique_lock_t lock(global_lock); - for (uint32_t i = 0; i < pBinaries->pipelineBinaryCount; ++i) { - pBinaries->pPipelineBinaries[i] = (VkPipelineBinaryKHR)global_unique_handle++; + if (pBinaries->pPipelineBinaries != nullptr) + { + for (uint32_t i = 0; i < pBinaries->pipelineBinaryCount; ++i) { + pBinaries->pPipelineBinaries[i] = (VkPipelineBinaryKHR)global_unique_handle++; + } + } + else + { + // In this case, we need to return a return count, let's set it to 3 + pBinaries->pipelineBinaryCount = 3; + } + return VK_SUCCESS; +''', +'vkGetPipelineKeyKHR': ''' + if (pPipelineKey != nullptr) + { + pPipelineKey->keySize = 16; + std::memset(pPipelineKey->key, 0x12, pPipelineKey->keySize); + } + return VK_SUCCESS; +''', +'vkGetPipelineBinaryDataKHR': ''' + static uint32_t fake_size = 64; + if (pPipelineBinaryDataSize != nullptr) + { + if (pPipelineBinaryData == nullptr) + { + *pPipelineBinaryDataSize = fake_size; + } + else + { + std::memset(pPipelineBinaryData, 0xABCD, fake_size); + } } return VK_SUCCESS; ''' @@ -1291,7 +1322,10 @@ class MockICDOutputGenerator(BaseGenerator): 'vkEnumerateInstanceExtensionProperties', 'vkEnumerateDeviceLayerProperties', 'vkEnumerateDeviceExtensionProperties', + 'vkGetPipelineKeyKHR', + 'vkGetPipelineBinaryDataKHR', ] + current_protect = None for name, cmd in self.vk.commands.items(): if cmd.protect != current_protect: |
