entry->descriptorType = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT;
entry->offset = offsetof(struct zink_context, di.fbfetch);
entry->stride = sizeof(VkDescriptorImageInfo);
- if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_LAZY)
- printf("ZINK: USING LAZY DESCRIPTORS\n");
}
struct zink_descriptor_layout_key *layout_key;
if (!zink_descriptor_util_push_layouts_get(ctx, ctx->dd->push_dsl, ctx->dd->push_layout_keys))
void
zink_screen_init_descriptor_funcs(struct zink_screen *screen, bool fallback)
{
- if (screen->info.have_KHR_descriptor_update_template &&
- !fallback &&
+ if (!fallback &&
zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_LAZY) {
#define LAZY(FUNC) screen->FUNC = zink_##FUNC##_lazy
LAZY(descriptor_program_init);
screen->desc_set_id[ZINK_DESCRIPTOR_TYPE_IMAGE] = 4;
screen->desc_set_id[ZINK_DESCRIPTOR_BINDLESS] = 5;
}
- if (descriptor_mode == ZINK_DESCRIPTOR_MODE_AUTO) {
- descriptor_mode = ZINK_DESCRIPTOR_MODE_CACHED;
+ if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_AUTO) {
+ if (screen->info.have_KHR_descriptor_update_template)
+ zink_descriptor_mode = ZINK_DESCRIPTOR_MODE_LAZY;
+ else
+ zink_descriptor_mode = ZINK_DESCRIPTOR_MODE_CACHED;
}
if (screen->info.have_EXT_calibrated_timestamps && !check_have_device_time(screen))