aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorMark Young <marky@lunarg.com>2026-02-26 16:02:28 -0500
committerMark Young <marky@lunarg.com>2026-02-27 15:06:51 -0500
commit7f423e2b242c154e6ace85c804c65462a7d41870 (patch)
tree15b0174aa4fa0925579b8b2f3e54bad50d233608 /scripts
parent6a9d187173f2ec4773da1e7e9cae587f6390d817 (diff)
downloadusermoji-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.py38
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: