for (unsigned k = 0; k < zs->bindings[ZINK_DESCRIPTOR_TYPE_SAMPLER_VIEW][i].size; k++) {
struct zink_sampler_view *sampler_view = zink_sampler_view(ctx->sampler_views[shader][idx + k]);
if (!sampler_view) {
- hash = XXH32(&screen->null_descriptor_hashes.sampler_view, sizeof(uint32_t), hash);
+ hash = XXH32(&screen->null_descriptor_hashes.image_view, sizeof(uint32_t), hash);
continue;
}
uint32_t sv_hash = get_sampler_view_hash(sampler_view);
static void
pre_hash_descriptor_states(struct zink_screen *screen)
{
- VkDescriptorImageInfo null_info = {};
- screen->null_descriptor_hashes.sampler_view = _mesa_hash_data(&null_info, sizeof(VkDescriptorImageInfo));
+ VkImageViewCreateInfo null_info = {.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO};
+ VkBufferViewCreateInfo null_binfo = {.sType = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO};
+ screen->null_descriptor_hashes.image_view = _mesa_hash_data(&null_info, sizeof(VkImageViewCreateInfo));
+ screen->null_descriptor_hashes.buffer_view = _mesa_hash_data(&null_binfo, sizeof(VkBufferViewCreateInfo));
}
static struct zink_screen *