Lines Matching refs:screen
92 get_shader_module_for_stage(struct zink_context *ctx, struct zink_screen *screen,
109 if (zs->can_inline && (screen->is_cpu || prog->inlined_variant_count[pstage] < ZINK_MAX_INLINED_VARIANTS))
134 mod = zink_shader_tcs_compile(screen, zs, patch_vertices);
136 mod = zink_shader_compile(screen, zs, prog->nir[stage], key);
172 zink_destroy_shader_module(struct zink_screen *screen, struct zink_shader_module *zm)
174 VKSCR(DestroyShaderModule)(screen->dev, zm->shader, NULL);
179 destroy_shader_cache(struct zink_screen *screen, struct list_head *sc)
184 zink_destroy_shader_module(screen, zm);
190 struct zink_screen *screen,
200 struct zink_shader_module *zm = get_shader_module_for_stage(ctx, screen, prog->shaders[pstage], prog, state);
285 update_gfx_shader_modules(ctx, zink_screen(ctx->base.screen), prog, ctx->dirty_shader_stages & prog->stages_present, &ctx->gfx_pipeline_state);
291 struct zink_screen *screen = zink_screen(ctx->base.screen);
300 if (screen->is_cpu || comp->inlined_variant_count < ZINK_MAX_INLINED_VARIANTS)
326 mod = zink_shader_compile(screen, zs, comp->shader->nir, key);
364 zink_pipeline_layout_create(struct zink_screen *screen, struct zink_program *pg, uint32_t *compat)
392 VkResult result = VKSCR(CreatePipelineLayout)(screen->dev, &plci, NULL, &layout);
434 struct zink_screen *screen = zink_screen(ctx->base.screen);
455 zink_shader_tcs_create(screen, stages[PIPE_SHADER_VERTEX], vertices_per_patch);
471 if (screen->info.have_EXT_extended_dynamic_state &&
489 if (!screen->descriptor_program_init(ctx, &prog->base))
492 zink_screen_get_pipeline_cache(screen, &prog->base);
546 struct zink_screen *screen = zink_screen(ctx->base.screen);
557 comp->module->shader = zink_shader_compile(screen, shader, shader->nir, NULL);
569 if (!screen->descriptor_program_init(ctx, &comp->base))
572 zink_screen_get_pipeline_cache(screen, &comp->base);
686 struct zink_screen *screen = zink_screen(ctx->base.screen);
689 VKSCR(DestroyPipelineLayout)(screen->dev, prog->base.layout, NULL);
696 destroy_shader_cache(screen, &prog->shader_cache[i][0][0]);
697 destroy_shader_cache(screen, &prog->shader_cache[i][0][1]);
698 destroy_shader_cache(screen, &prog->shader_cache[i][1][0]);
699 destroy_shader_cache(screen, &prog->shader_cache[i][1][1]);
704 if (screen->info.have_EXT_extended_dynamic_state) {
719 VKSCR(DestroyPipeline)(screen->dev, pc_entry->pipeline, NULL);
724 VKSCR(DestroyPipelineCache)(screen->dev, prog->base.pipeline_cache, NULL);
725 screen->descriptor_program_deinit(ctx, &prog->base);
734 struct zink_screen *screen = zink_screen(ctx->base.screen);
737 VKSCR(DestroyPipelineLayout)(screen->dev, comp->base.layout, NULL);
741 destroy_shader_cache(screen, &comp->shader_cache[0]);
742 destroy_shader_cache(screen, &comp->shader_cache[1]);
747 VKSCR(DestroyPipeline)(screen->dev, pc_entry->pipeline, NULL);
751 VKSCR(DestroyShaderModule)(screen->dev, comp->module->shader, NULL);
754 VKSCR(DestroyPipelineCache)(screen->dev, comp->base.pipeline_cache, NULL);
755 screen->descriptor_program_deinit(ctx, &comp->base);
812 struct zink_screen *screen = zink_screen(ctx->base.screen);
813 const bool have_EXT_vertex_input_dynamic_state = screen->info.have_EXT_vertex_input_dynamic_state;
814 const bool have_EXT_extended_dynamic_state = screen->info.have_EXT_extended_dynamic_state;
818 const unsigned idx = get_pipeline_idx(screen->info.have_EXT_extended_dynamic_state, mode, vkmode);
864 VkPipeline pipeline = zink_create_gfx_pipeline(screen, prog, state,
870 zink_screen_update_pipeline_cache(screen, &prog->base);
889 zink_get_compute_pipeline(struct zink_screen *screen,
908 VkPipeline pipeline = zink_create_compute_pipeline(screen, comp, state);
1005 struct zink_screen *screen = zink_screen(ctx->base.screen);
1009 ctx->vp_state.num_viewports = MIN2(screen->info.props.limits.maxViewports, PIPE_MAX_VIEWPORTS);
1016 if (!screen->info.have_EXT_extended_dynamic_state) {
1150 nir = zink_tgsi_to_nir(pctx->screen, shader->prog);
1154 return zink_shader_create(zink_screen(pctx->screen), nir, NULL);
1175 nir = zink_tgsi_to_nir(pctx->screen, shader->tokens);
1179 return zink_shader_create(zink_screen(pctx->screen), nir, &shader->stream_output);
1185 struct zink_screen *screen = zink_screen(pctx->screen);
1186 util_shader_reference(pctx, &screen->shaders, &cso, NULL);
1193 struct zink_screen *screen = zink_screen(pctx->screen);
1194 return util_live_shader_cache_get(pctx, &screen->shaders, shader, &cache_hit);
1233 if (!zink_screen(ctx->base.screen)->info.have_EXT_extended_dynamic_state2)