Lines Matching refs:screen
97 struct zink_screen *screen = zink_screen(pctx->screen);
99 if (util_queue_is_initialized(&screen->flush_queue))
100 util_queue_finish(&screen->flush_queue);
101 if (ctx->batch.state && !screen->device_lost) {
102 VkResult result = VKSCR(QueueWaitIdle)(screen->queue);
112 screen->descriptor_program_deinit(ctx, pg);
118 screen->descriptor_program_deinit(ctx, pg);
132 zink_buffer_view_reference(screen, &ctx->dummy_bufferview, NULL);
139 zink_batch_state_destroy(screen, ctx->batch.state);
145 zink_batch_state_destroy(screen, bs);
150 zink_batch_state_destroy(screen, *bs);
163 zink_destroy_framebuffer(screen, he->data);
166 zink_destroy_render_pass(screen, he->data);
179 screen->descriptors_deinit(ctx);
184 p_atomic_dec(&screen->base.num_contexts);
192 if (!zink_screen(ctx->base.screen)->device_lost || ctx->is_device_lost)
236 p_atomic_inc(&zink_screen(pctx->screen)->robust_ctx_count);
238 p_atomic_dec(&zink_screen(pctx->screen)->robust_ctx_count);
250 util_set_thread_affinity(zink_screen(ctx->base.screen)->flush_queue.threads[0],
335 struct zink_screen *screen = zink_screen(pctx->screen);
342 if (screen->info.have_EXT_non_seamless_cube_map && !state->seamless_cube_map)
389 -screen->info.props.limits.maxSamplerLodBias,
390 screen->info.props.limits.maxSamplerLodBias);
407 if (!screen->info.border_color_feats.customBorderColorWithoutFormat &&
408 screen->info.driver_props.driverID != VK_DRIVER_ID_MESA_TURNIP) {
412 if (screen->info.have_EXT_custom_border_color &&
413 (screen->info.border_color_feats.customBorderColorWithoutFormat || state->border_color_format)) {
414 if (!screen->info.have_EXT_border_color_swizzle) {
419 if (!is_integer && !screen->have_D24_UNORM_S8_UINT) {
435 cbci.format = screen->info.border_color_feats.customBorderColorWithoutFormat ? VK_FORMAT_UNDEFINED : zink_get_format(screen, state->border_color_format);
440 UNUSED uint32_t check = p_atomic_inc_return(&screen->cur_custom_border_color_samplers);
441 assert(check <= screen->info.border_color_props.maxCustomBorderColorSamplers);
457 VkResult result = VKSCR(CreateSampler)(screen->dev, &sci, NULL, &sampler->sampler);
465 result = VKSCR(CreateSampler)(screen->dev, &sci, NULL, &sampler->sampler_clamped);
468 VKSCR(DestroySampler)(screen->dev, sampler->sampler, NULL);
476 if (!screen->info.have_EXT_non_seamless_cube_map)
544 struct zink_screen *screen = zink_screen(ctx->base.screen);
545 bool have_null_descriptors = screen->info.rb2_feats.nullDescriptor;
552 assert(ctx->di.ubos[shader][slot].range <= screen->info.props.limits.maxUniformBufferRange);
570 struct zink_screen *screen = zink_screen(ctx->base.screen);
571 bool have_null_descriptors = screen->info.rb2_feats.nullDescriptor;
589 struct zink_screen *screen = zink_screen(ctx->base.screen);
590 bool have_null_descriptors = screen->info.rb2_feats.nullDescriptor;
603 if (!screen->have_D24_UNORM_S8_UINT &&
611 screen->context_invalidate_descriptor_state(ctx, shader, ZINK_DESCRIPTOR_TYPE_SAMPLER_VIEW, slot, 1);
638 struct zink_screen *screen = zink_screen(ctx->base.screen);
639 bool have_null_descriptors = screen->info.rb2_feats.nullDescriptor;
694 struct zink_screen *screen = zink_screen(pctx->screen);
700 zink_screen(pctx->screen)->context_invalidate_descriptor_state(ctx, shader, ZINK_DESCRIPTOR_TYPE_SAMPLER_VIEW, start_slot, 1);
707 if (state->sampler_clamped && !screen->have_D24_UNORM_S8_UINT) {
715 if (screen->info.have_EXT_non_seamless_cube_map)
726 screen->context_invalidate_descriptor_state(ctx, shader, ZINK_DESCRIPTOR_TYPE_SAMPLER_VIEW, start_slot + i, 1);
734 if (!screen->info.have_EXT_non_seamless_cube_map)
754 p_atomic_dec(&zink_screen(pctx->screen)->cur_custom_border_color_samplers);
781 struct zink_screen *screen = zink_screen(ctx->base.screen);
788 if (screen->format_props[format].bufferFeatures & VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT)
792 bvci.format = zink_get_format(screen, format);
803 uint64_t clamp = blocksize * screen->info.props.limits.maxTexelBufferElements;
813 struct zink_screen *screen = zink_screen(ctx->base.screen);
824 VkResult result = VKSCR(CreateBufferView)(screen->dev, bvci, NULL, &view);
831 VKSCR(DestroyBufferView)(screen->dev, view, NULL);
888 struct zink_screen *screen = zink_screen(pctx->screen);
918 ivci = create_ivci(screen, res, &templ, state->target);
960 if (!screen->info.have_EXT_non_seamless_cube_map && viewtype_is_cube(&sampler_view->image_view->ivci)) {
978 zink_destroy_buffer_view(struct zink_screen *screen, struct zink_buffer_view *buffer_view)
992 VKSCR(DestroyBufferView)(screen->dev, buffer_view->buffer_view, NULL);
1003 zink_buffer_view_reference(zink_screen(pctx->screen), &view->buffer_view, NULL);
1005 zink_surface_reference(zink_screen(pctx->screen), &view->image_view, NULL);
1006 zink_surface_reference(zink_screen(pctx->screen), &view->cube_array, NULL);
1019 assert(zink_screen(ctx->screen)->info.props.limits.standardSampleLocations);
1126 const bool have_input_state = zink_screen(pctx->screen)->info.have_EXT_vertex_input_dynamic_state;
1127 const bool need_state_change = !zink_screen(pctx->screen)->info.have_EXT_extended_dynamic_state &&
1292 struct zink_screen *screen = zink_screen(pctx->screen);
1295 screen->info.props.limits.minUniformBufferOffsetAlignment,
1353 zink_screen(pctx->screen)->context_invalidate_descriptor_state(ctx, shader, ZINK_DESCRIPTOR_TYPE_UBO, index, 1);
1450 zink_screen(pctx->screen)->context_invalidate_descriptor_state(ctx, p_stage, ZINK_DESCRIPTOR_TYPE_SSBO, start_slot, count);
1461 zink_screen(ctx->base.screen)->context_invalidate_descriptor_state(ctx, PIPE_SHADER_COMPUTE, ZINK_DESCRIPTOR_TYPE_SAMPLER_VIEW, slot, 1);
1469 zink_screen(ctx->base.screen)->context_invalidate_descriptor_state(ctx, i, ZINK_DESCRIPTOR_TYPE_SAMPLER_VIEW, slot, 1);
1525 zink_buffer_view_reference(zink_screen(ctx->base.screen), &image_view->buffer_view, NULL);
1532 zink_surface_reference(zink_screen(ctx->base.screen), &image_view->surface, NULL);
1566 struct zink_screen *screen = zink_screen(ctx->base.screen);
1580 if (!screen->info.have_EXT_image_2d_view_of_3d ||
1581 !screen->info.view2d_feats.image2DViewOf3D) {
1597 VkImageViewCreateInfo ivci = create_ivci(screen, res, &tmpl, target);
1683 zink_screen(pctx->screen)->context_invalidate_descriptor_state(ctx, p_stage, ZINK_DESCRIPTOR_TYPE_IMAGE, start_slot, count);
1759 zink_buffer_view_reference(zink_screen(ctx->base.screen), &b->buffer_view, NULL);
1813 struct zink_screen *screen = zink_screen(pctx->screen);
1814 screen->context_invalidate_descriptor_state(ctx, shader_type, ZINK_DESCRIPTOR_TYPE_SAMPLER_VIEW, start_slot, num_views);
1815 if (!screen->info.have_EXT_non_seamless_cube_map)
1839 zink_buffer_view_reference(zink_screen(pctx->screen), &bd->ds.bufferview, sv->buffer_view);
1841 zink_surface_reference(zink_screen(pctx->screen), &bd->ds.surface, sv->image_view);
1867 zink_buffer_view_reference(zink_screen(pctx->screen), &ds->bufferview, NULL);
1871 zink_surface_reference(zink_screen(pctx->screen), &ds->surface, NULL);
1890 zink_buffer_view_reference(zink_screen(ctx->base.screen), &ds->bufferview, NULL);
1897 if (likely(zink_screen(ctx->base.screen)->info.rb2_feats.nullDescriptor)) {
2014 zink_buffer_view_reference(zink_screen(pctx->screen), &ds->bufferview, NULL);
2018 zink_surface_reference(zink_screen(pctx->screen), &ds->surface, NULL);
2123 if (zink_screen(ctx->base.screen)->info.dynamic_state2_feats.extendedDynamicState2PatchControlPoints)
2141 ctx->di.fbfetch.imageView = zink_screen(ctx->base.screen)->info.rb2_feats.nullDescriptor ?
2144 zink_screen(ctx->base.screen)->context_invalidate_descriptor_state(ctx, PIPE_SHADER_FRAGMENT, ZINK_DESCRIPTOR_TYPE_UBO, 0, 1);
2163 zink_screen(ctx->base.screen)->context_invalidate_descriptor_state(ctx, PIPE_SHADER_FRAGMENT, ZINK_DESCRIPTOR_TYPE_UBO, 0, 1);
2177 VkExtent2D grid_size = zink_screen(ctx->base.screen)->maxSampleLocationGridSize[idx];
2386 if (!zink_screen(ctx->base.screen)->info.have_KHR_dynamic_rendering || ctx->transient_attachments || ctx->fbfetch_outputs)
2516 struct zink_screen *screen = zink_screen(ctx->base.screen);
2522 loc->sampleLocationGridSize = screen->maxSampleLocationGridSize[idx];
2543 if (zink_screen(ctx->base.screen)->threaded)
2667 struct zink_screen *screen = zink_screen(ctx->base.screen);
2668 if (!screen->driver_workarounds.color_write_missing) {
2671 const unsigned max_att = MIN2(PIPE_MAX_COLOR_BUFS, screen->info.props.limits.maxColorAttachments);
2674 if (screen->info.have_EXT_extended_dynamic_state && ctx->dsa_state)
2681 struct zink_screen *screen = zink_screen(ctx->base.screen);
2683 zink_screen_timeline_wait(screen, ctx->last_fence->batch_id, PIPE_TIMEOUT_INFINITE);
2707 if (zink_screen(ctx->base.screen)->info.have_EXT_transform_feedback && ctx->num_so_targets)
2721 if (zink_screen(ctx->base.screen)->info.dynamic_state2_feats.extendedDynamicState2PatchControlPoints)
2795 if (zink_screen(ctx->base.screen)->driver_workarounds.color_write_missing) {
2885 if (!zink_screen(ctx->base.screen)->info.have_KHR_swapchain_mutable_format &&
2918 ctx->depth_bias_scale_factor = zink_screen(ctx->base.screen)->driver_workarounds.z16_unscaled_bias;
2924 ctx->depth_bias_scale_factor = zink_screen(ctx->base.screen)->driver_workarounds.z24_unscaled_bias;
3260 imb.dstQueueFamilyIndex = zink_screen(ctx->base.screen)->gfx_queue;
3399 struct zink_screen *screen = zink_screen(ctx->base.screen);
3454 screen->base.fence_reference(&screen->base, pfence, NULL);
3503 if (!zink_screen_timeline_wait(zink_screen(ctx->base.screen), batch_id, UINT64_MAX))
3515 if (zink_screen_check_last_finished(zink_screen(ctx->base.screen), batch_id))
3518 bool success = zink_screen_timeline_wait(zink_screen(ctx->base.screen), batch_id, 0);
3543 if (zink_screen(ctx->base.screen)->info.have_KHR_synchronization2) {
3694 t->counter_buffer = pipe_buffer_create(pctx->screen, PIPE_BIND_STREAM_OUTPUT | PIPE_BIND_CUSTOM, PIPE_USAGE_DEFAULT, 4);
3814 zink_screen(ctx->base.screen)->context_invalidate_descriptor_state(ctx, shader, ZINK_DESCRIPTOR_TYPE_UBO, slot, 1);
3828 zink_screen(ctx->base.screen)->context_invalidate_descriptor_state(ctx, shader, ZINK_DESCRIPTOR_TYPE_SSBO, slot, 1);
3843 zink_buffer_view_reference(zink_screen(ctx->base.screen), &sampler_view->buffer_view, NULL);
3846 zink_screen(ctx->base.screen)->context_invalidate_descriptor_state(ctx, shader, ZINK_DESCRIPTOR_TYPE_SAMPLER_VIEW, slot, 1);
3862 zink_buffer_view_reference(zink_screen(ctx->base.screen), &image_view->buffer_view, NULL);
3872 zink_screen(ctx->base.screen)->context_invalidate_descriptor_state(ctx, shader, ZINK_DESCRIPTOR_TYPE_IMAGE, slot, 1);
4226 struct zink_screen *screen = zink_screen(pctx->screen);
4233 bool ret = zink_bo_commit(screen, res, level, box, commit, &sem);
4258 zink_screen(ctx->base.screen)->context_invalidate_descriptor_state(ctx, i, ZINK_DESCRIPTOR_TYPE_SAMPLER_VIEW, j, 1);
4267 zink_screen(ctx->base.screen)->context_invalidate_descriptor_state(ctx, i, ZINK_DESCRIPTOR_TYPE_IMAGE, j, 1);
4334 zink_screen(ctx->base.screen)->context_invalidate_descriptor_state(ctx, i, ZINK_DESCRIPTOR_TYPE_SAMPLER_VIEW, j, 1);
4344 zink_surface_reference(zink_screen(ctx->base.screen), &image_view->surface, NULL);
4346 zink_screen(ctx->base.screen)->context_invalidate_descriptor_state(ctx, i, ZINK_DESCRIPTOR_TYPE_IMAGE, j, 1);
4362 struct zink_screen *screen = zink_screen(pctx->screen);
4367 util_idalloc_mt_free(&screen->buffer_ids, delete_buffer_id);
4373 zink_resource_object_reference(screen, &d->obj, s->obj);
4377 ctx->buffer_rebind_counter = p_atomic_inc_return(&screen->buffer_rebind_counter);
4383 struct zink_screen *screen = zink_screen(pscreen);
4390 return !zink_resource_usage_check_completion(screen, res, check_usage);
4397 struct zink_screen *screen = zink_screen(pctx->screen);
4414 screen->vk.CmdInsertDebugUtilsLabelEXT(batch->state->cmdbuf, &label);
4421 struct zink_screen *screen = zink_screen(pscreen);
4431 ctx->gfx_pipeline_state.uses_dynamic_stride = screen->info.have_EXT_extended_dynamic_state ||
4432 screen->info.have_EXT_vertex_input_dynamic_state;
4437 zink_init_draw_functions(ctx, screen);
4440 ctx->base.screen = pscreen;
4518 ctx->gfx_pipeline_state.have_EXT_extended_dynamic_state = screen->info.have_EXT_extended_dynamic_state;
4519 ctx->gfx_pipeline_state.have_EXT_extended_dynamic_state2 = screen->info.have_EXT_extended_dynamic_state2;
4520 ctx->gfx_pipeline_state.extendedDynamicState2PatchControlPoints = screen->info.dynamic_state2_feats.extendedDynamicState2PatchControlPoints;
4522 slab_create_child(&ctx->transfer_pool, &screen->transfer_pool);
4523 slab_create_child(&ctx->transfer_pool_unsync, &screen->transfer_pool);
4562 ctx->dummy_vertex_buffer = pipe_buffer_create(&screen->base,
4566 ctx->dummy_xfb_buffer = pipe_buffer_create(&screen->base,
4571 if (!(screen->info.props.limits.framebufferDepthSampleCounts & BITFIELD_BIT(i)))
4585 if (!screen->descriptors_init(ctx)) {
4586 zink_screen_init_descriptor_funcs(screen, true);
4587 if (!screen->descriptors_init(ctx))
4622 /* need to update these based on screen config for null descriptors */
4630 if (!screen->info.rb2_feats.nullDescriptor)
4634 p_atomic_inc(&screen->base.num_contexts);
4643 if (screen->info.dynamic_state2_feats.extendedDynamicState2PatchControlPoints)
4650 struct threaded_context *tc = (struct threaded_context*)threaded_context_create(&ctx->base, &screen->transfer_pool,
4677 struct zink_screen *screen = zink_screen(ctx->base.screen);
4679 if (screen->threaded)