Lines Matching refs:pipe
35 #include "pipe/p_context.h"
36 #include "pipe/p_defines.h"
38 #include "pipe/p_shader_tokens.h"
39 #include "pipe/p_state.h"
163 struct blitter_context *util_blitter_create(struct pipe_context *pipe)
177 ctx->base.pipe = pipe;
180 ctx->bind_fs_state = pipe->bind_fs_state;
181 ctx->delete_fs_state = pipe->delete_fs_state;
197 pipe->screen->get_shader_param(pipe->screen, PIPE_SHADER_GEOMETRY,
201 pipe->screen->get_shader_param(pipe->screen, PIPE_SHADER_TESS_CTRL,
205 pipe->screen->get_param(pipe->screen,
209 pipe->screen->get_param(pipe->screen,
213 pipe->screen->get_param(pipe->screen, PIPE_CAP_TEXTURE_MULTISAMPLE);
215 ctx->has_tex_lz = pipe->screen->get_param(pipe->screen,
217 ctx->has_txf = pipe->screen->get_param(pipe->screen,
219 ctx->has_sample_shading = pipe->screen->get_param(pipe->screen,
221 ctx->cube_as_2darray = pipe->screen->get_param(pipe->screen,
223 ctx->has_texrect = pipe->screen->get_param(pipe->screen, PIPE_CAP_TEXRECT);
241 ctx->blend[i][j] = pipe->create_blend_state(pipe, &blend);
248 pipe->create_depth_stencil_alpha_state(pipe, &dsa);
254 pipe->create_depth_stencil_alpha_state(pipe, &dsa);
264 pipe->create_depth_stencil_alpha_state(pipe, &dsa);
269 pipe->create_depth_stencil_alpha_state(pipe, &dsa);
277 ctx->sampler_state = pipe->create_sampler_state(pipe, &sampler_state);
280 ctx->sampler_state_rect = pipe->create_sampler_state(pipe, &sampler_state);
286 ctx->sampler_state_linear = pipe->create_sampler_state(pipe, &sampler_state);
289 ctx->sampler_state_rect_linear = pipe->create_sampler_state(pipe, &sampler_state);
307 pipe->create_rasterizer_state(pipe, &rs_state);
314 ctx->rs_discard_state = pipe->create_rasterizer_state(pipe, &rs_state);
327 ctx->velem_state = pipe->create_vertex_elements_state(pipe, 2, &velem[0]);
341 pipe->create_vertex_elements_state(pipe, 1, &velem[0]);
346 pipe->screen->get_param(pipe->screen, PIPE_CAP_VS_INSTANCEID) &&
347 pipe->screen->get_param(pipe->screen, PIPE_CAP_VS_LAYER_VIEWPORT);
382 struct pipe_context *pipe = ctx->base.pipe;
397 util_make_vertex_passthrough_shader_with_so(pipe, 1, semantic_names,
402 pipe->bind_vs_state(pipe, ctx->vs_pos_only[index]);
408 struct pipe_context *pipe = ctx->base.pipe;
415 util_make_vertex_passthrough_shader(pipe, 2, semantic_names,
424 struct pipe_context *pipe = ctx->base.pipe;
432 util_make_vertex_passthrough_shader(pipe, 1,
442 struct pipe_context *pipe = ctx->base.pipe;
445 ctx->vs_layered = util_make_layered_clear_vertex_shader(pipe);
452 struct pipe_context *pipe = ctx->base.pipe;
456 ctx->fs_empty = util_make_empty_fragment_shader(pipe);
459 ctx->bind_fs_state(pipe, ctx->fs_empty);
464 struct pipe_context *pipe = ctx->base.pipe;
469 util_make_fragment_passthrough_shader(pipe, TGSI_SEMANTIC_GENERIC,
473 ctx->bind_fs_state(pipe, ctx->fs_write_one_cbuf);
478 struct pipe_context *pipe = ctx->base.pipe;
482 ctx->fs_clear_all_cbufs = util_make_fs_clear_all_cbufs(pipe);
485 ctx->bind_fs_state(pipe, ctx->fs_clear_all_cbufs);
491 struct pipe_context *pipe = blitter->pipe;
496 pipe->delete_blend_state(pipe, ctx->blend[i][j]);
500 pipe->delete_blend_state(pipe, ctx->blend_clear[i]);
502 pipe->delete_depth_stencil_alpha_state(pipe, ctx->dsa_keep_depth_stencil);
503 pipe->delete_depth_stencil_alpha_state(pipe,
505 pipe->delete_depth_stencil_alpha_state(pipe, ctx->dsa_write_depth_stencil);
506 pipe->delete_depth_stencil_alpha_state(pipe, ctx->dsa_keep_depth_write_stencil);
510 pipe->delete_depth_stencil_alpha_state(pipe, ctx->dsa_replicate_stencil_bit[i]);
516 pipe->delete_rasterizer_state(pipe, ctx->rs_state[scissor][msaa]);
521 pipe->delete_rasterizer_state(pipe, ctx->rs_discard_state);
523 pipe->delete_vs_state(pipe, ctx->vs);
525 pipe->delete_vs_state(pipe, ctx->vs_nogeneric);
528 pipe->delete_vs_state(pipe, ctx->vs_pos_only[i]);
530 pipe->delete_vs_state(pipe, ctx->vs_layered);
531 pipe->delete_vertex_elements_state(pipe, ctx->velem_state);
534 pipe->delete_vertex_elements_state(pipe, ctx->velem_state_readbuf[i]);
542 ctx->delete_fs_state(pipe, ctx->fs_texfetch_col[type][i][inst]);
545 ctx->delete_fs_state(pipe, ctx->fs_texfetch_col_msaa[type][i]);
550 ctx->delete_fs_state(pipe, ctx->fs_texfetch_depth[i][inst]);
552 ctx->delete_fs_state(pipe, ctx->fs_texfetch_depthstencil[i][inst]);
554 ctx->delete_fs_state(pipe, ctx->fs_texfetch_stencil[i][inst]);
559 ctx->delete_fs_state(pipe, ctx->fs_texfetch_depth_msaa[i][ss]);
561 ctx->delete_fs_state(pipe, ctx->fs_texfetch_depthstencil_msaa[i][ss]);
563 ctx->delete_fs_state(pipe, ctx->fs_texfetch_stencil_msaa[i][ss]);
569 ctx->delete_fs_state(pipe, ctx->fs_resolve[i][j][f]);
575 ctx->delete_fs_state(pipe, ctx->fs_pack_color_zs[i][j]);
580 ctx->delete_fs_state(pipe, ctx->fs_empty);
582 ctx->delete_fs_state(pipe, ctx->fs_write_one_cbuf);
584 ctx->delete_fs_state(pipe, ctx->fs_clear_all_cbufs);
588 ctx->delete_fs_state(pipe, ctx->fs_stencil_blit_fallback[i]);
591 pipe->delete_sampler_state(pipe, ctx->sampler_state_rect_linear);
593 pipe->delete_sampler_state(pipe, ctx->sampler_state_rect);
594 pipe->delete_sampler_state(pipe, ctx->sampler_state_linear);
595 pipe->delete_sampler_state(pipe, ctx->sampler_state);
615 blitter->pipe->set_active_query_state(blitter->pipe, false);
626 blitter->pipe->set_active_query_state(blitter->pipe, true);
642 struct pipe_context *pipe = ctx->base.pipe;
647 pipe->set_vertex_buffers(pipe, ctx->base.vb_slot, 1, 0, true,
654 pipe->bind_vertex_elements_state(pipe, ctx->base.saved_velem_state);
659 pipe->bind_vs_state(pipe, ctx->base.saved_vs);
664 pipe->bind_gs_state(pipe, ctx->base.saved_gs);
669 pipe->bind_tcs_state(pipe, ctx->base.saved_tcs);
670 pipe->bind_tes_state(pipe, ctx->base.saved_tes);
680 pipe->set_stream_output_targets(pipe,
691 pipe->bind_rasterizer_state(pipe, ctx->base.saved_rs_state);
705 struct pipe_context *pipe = ctx->base.pipe;
708 ctx->bind_fs_state(pipe, ctx->base.saved_fs);
712 pipe->bind_depth_stencil_alpha_state(pipe, ctx->base.saved_dsa_state);
716 pipe->bind_blend_state(pipe, ctx->base.saved_blend_state);
721 pipe->set_sample_mask(pipe, ctx->base.saved_sample_mask);
725 if (ctx->base.saved_min_samples != ~0 && pipe->set_min_samples)
726 pipe->set_min_samples(pipe, ctx->base.saved_min_samples);
732 pipe->set_stencil_ref(pipe, ctx->base.saved_stencil_ref);
735 pipe->set_viewport_states(pipe, 0, 1, &ctx->base.saved_viewport);
738 pipe->set_window_rectangles(pipe,
752 struct pipe_context *pipe = ctx->base.pipe;
755 pipe->render_condition(pipe, NULL, false, 0);
762 struct pipe_context *pipe = ctx->base.pipe;
765 pipe->render_condition(pipe, ctx->base.saved_render_cond_query,
775 struct pipe_context *pipe = ctx->base.pipe;
777 pipe->set_framebuffer_state(pipe, &ctx->base.saved_fb_state);
790 struct pipe_context *pipe = ctx->base.pipe;
797 pipe->bind_sampler_states(pipe, PIPE_SHADER_FRAGMENT, 0,
801 pipe->bind_sampler_states(pipe, PIPE_SHADER_FRAGMENT, 0,
809 pipe->set_sampler_views(pipe, PIPE_SHADER_FRAGMENT, 0,
813 pipe->set_sampler_views(pipe, PIPE_SHADER_FRAGMENT, 0,
831 struct pipe_context *pipe = blitter->pipe;
833 pipe->set_constant_buffer(pipe, PIPE_SHADER_FRAGMENT, blitter->cb_slot,
870 ctx->base.pipe->set_viewport_states(ctx->base.pipe, 0, 1, &viewport);
979 struct pipe_context *pipe = ctx->base.pipe;
1034 *shader = util_make_fs_msaa_resolve_bilinear(pipe, tgsi_tex,
1039 *shader = util_make_fs_msaa_resolve(pipe, tgsi_tex,
1054 *shader = util_make_fs_blit_msaa_color(pipe, tgsi_tex, stype, dtype,
1071 *shader = util_make_fragment_tex_shader(pipe, tgsi_tex,
1088 struct pipe_context *pipe = ctx->base.pipe;
1113 *shader = util_make_fs_pack_color_zs(pipe, tgsi_tex, zs_format,
1125 struct pipe_context *pipe = ctx->base.pipe;
1139 *shader = util_make_fs_blit_msaa_depth(pipe, tgsi_tex, sample_shading);
1156 *shader = util_make_fs_blit_zs(pipe, PIPE_MASK_Z, tgsi_tex,
1170 struct pipe_context *pipe = ctx->base.pipe;
1184 *shader = util_make_fs_blit_msaa_depthstencil(pipe, tgsi_tex,
1202 *shader = util_make_fs_blit_zs(pipe, PIPE_MASK_ZS, tgsi_tex,
1216 struct pipe_context *pipe = ctx->base.pipe;
1230 *shader = util_make_fs_blit_msaa_stencil(pipe, tgsi_tex,
1248 *shader = util_make_fs_blit_zs(pipe, PIPE_MASK_S, tgsi_tex,
1266 struct pipe_context *pipe = blitter->pipe;
1267 struct pipe_screen *screen = pipe->screen;
1363 ctx->fs_empty = util_make_empty_fragment_shader(pipe);
1366 util_make_fragment_passthrough_shader(pipe, TGSI_SEMANTIC_GENERIC,
1369 ctx->fs_clear_all_cbufs = util_make_fs_clear_all_cbufs(pipe);
1377 struct pipe_context *pipe = ctx->base.pipe;
1380 pipe->set_window_rectangles(pipe, false, 0, NULL);
1382 pipe->bind_rasterizer_state(pipe, ctx->rs_state[scissor][msaa]);
1385 pipe->bind_gs_state(pipe, NULL);
1387 pipe->bind_tcs_state(pipe, NULL);
1388 pipe->bind_tes_state(pipe, NULL);
1391 pipe->set_stream_output_targets(pipe, 0, NULL, NULL);
1400 struct pipe_context *pipe = ctx->base.pipe;
1407 u_upload_data(pipe->stream_uploader, 0, sizeof(ctx->vertices), 4, ctx->vertices,
1411 u_upload_unmap(pipe->stream_uploader);
1413 pipe->set_vertex_buffers(pipe, ctx->base.vb_slot, 1, 0, false, &vb);
1414 pipe->bind_vertex_elements_state(pipe, vertex_elements_cso);
1415 pipe->bind_vs_state(pipe, get_vs(&ctx->base));
1423 util_draw_elements_instanced(pipe, indices, 1, 0,
1427 util_draw_arrays_instanced(pipe, PIPE_PRIM_TRIANGLE_FAN, 0, 4,
1477 struct pipe_context *pipe = ctx->base.pipe;
1505 ctx->blend_clear[index] = pipe->create_blend_state(pipe, &blend);
1516 struct pipe_context *pipe = ctx->base.pipe;
1525 pipe->bind_blend_state(pipe, custom_blend);
1527 pipe->bind_blend_state(pipe, get_clear_blend_state(ctx, clear_buffers));
1531 pipe->bind_depth_stencil_alpha_state(pipe, custom_dsa);
1533 pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_write_depth_stencil);
1535 pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_write_depth_keep_stencil);
1537 pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_keep_depth_write_stencil);
1539 pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_keep_depth_stencil);
1542 pipe->set_sample_mask(pipe, ~0);
1543 if (pipe->set_min_samples)
1544 pipe->set_min_samples(pipe, 1);
1558 struct pipe_context *pipe = ctx->base.pipe;
1567 pipe->set_stencil_ref(pipe, sr);
1577 pipe->set_constant_buffer(pipe, PIPE_SHADER_FRAGMENT, blitter->cb_slot,
1646 util_blitter_get_next_surface_layer(struct pipe_context *pipe,
1657 return pipe->create_surface(pipe, surf->texture, &dst_templ);
1697 struct pipe_screen *screen = ctx->base.pipe->screen;
1781 struct pipe_context *pipe = ctx->base.pipe;
1794 dst_view = pipe->create_surface(pipe, dst, &dst_templ);
1798 src_view = pipe->create_sampler_view(pipe, src, &src_templ);
1860 struct pipe_context *pipe = ctx->base.pipe;
1885 pipe->set_framebuffer_state(pipe, &fb_state);
1888 pipe->set_sample_mask(pipe, dst_sample ? BITFIELD_BIT(dst_sample - 1) : ~0);
1889 if (pipe->set_min_samples)
1890 pipe->set_min_samples(pipe, sample_shading ? dst_samples : 1);
1939 pipe->set_framebuffer_state(pipe, &fb_state);
1948 pipe->set_sample_mask(pipe, ~0);
1949 if (pipe->set_min_samples)
1950 pipe->set_min_samples(pipe, max_sample);
1961 if (pipe->set_min_samples)
1962 pipe->set_min_samples(pipe, 1);
1965 pipe->set_sample_mask(pipe, 1 << i);
1979 pipe->set_sample_mask(pipe, dst_sample ? BITFIELD_BIT(dst_sample - 1) : ~0);
1980 if (pipe->set_min_samples)
1981 pipe->set_min_samples(pipe, 1);
1997 dst = util_blitter_get_next_surface_layer(ctx->base.pipe, dst);
2018 struct pipe_context *pipe = ctx->base.pipe;
2098 pipe->bind_blend_state(pipe, ctx->blend[0][0]);
2099 pipe->bind_depth_stencil_alpha_state(pipe,
2103 ctx->bind_fs_state(pipe,
2107 ctx->bind_fs_state(pipe,
2112 pipe->bind_blend_state(pipe, ctx->blend[0][0]);
2113 pipe->bind_depth_stencil_alpha_state(pipe,
2119 ctx->bind_fs_state(pipe,
2123 ctx->bind_fs_state(pipe,
2128 pipe->bind_blend_state(pipe, ctx->blend[0][0]);
2129 pipe->bind_depth_stencil_alpha_state(pipe,
2133 ctx->bind_fs_state(pipe,
2139 pipe->bind_blend_state(pipe, ctx->blend[colormask][alpha_blend]);
2140 pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_keep_depth_stencil);
2146 ctx->bind_fs_state(pipe,
2150 ctx->bind_fs_state(pipe,
2186 views[1] = pipe->create_sampler_view(pipe, src->texture, &templ);
2189 pipe->set_sampler_views(pipe, PIPE_SHADER_FRAGMENT, 0, 2, 0, false, views);
2190 pipe->bind_sampler_states(pipe, PIPE_SHADER_FRAGMENT, 0, 2, samplers);
2202 view = pipe->create_sampler_view(pipe, src->texture, &templ);
2205 pipe->set_sampler_views(pipe, PIPE_SHADER_FRAGMENT, 0, 1, 0, false, &view);
2206 pipe->bind_sampler_states(pipe, PIPE_SHADER_FRAGMENT,
2212 pipe->set_sampler_views(pipe, PIPE_SHADER_FRAGMENT, 0, 1, 0, false, &src);
2213 pipe->bind_sampler_states(pipe, PIPE_SHADER_FRAGMENT,
2218 pipe->set_scissor_states(pipe, 0, 1, scissor);
2232 pipe->set_scissor_states(pipe, 0, 1, &ctx->base.saved_scissor);
2245 struct pipe_context *pipe = ctx->base.pipe;
2253 dst_view = pipe->create_surface(pipe, dst, &dst_templ);
2258 src_view = pipe->create_sampler_view(pipe, src, &src_templ);
2279 struct pipe_context *pipe = ctx->base.pipe;
2309 pipe->bind_blend_state(pipe, ctx->blend[0][0]);
2310 pipe->bind_depth_stencil_alpha_state(pipe,
2312 ctx->bind_fs_state(pipe,
2315 pipe->bind_blend_state(pipe, ctx->blend[PIPE_MASK_RGBA][0]);
2316 pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_keep_depth_stencil);
2317 ctx->bind_fs_state(pipe,
2327 pipe->bind_sampler_states(pipe, PIPE_SHADER_FRAGMENT,
2354 dst_view = pipe->create_surface(pipe, tex, &dst_templ);
2359 src_view = pipe->create_sampler_view(pipe, tex, &src_templ);
2361 pipe->set_sampler_views(pipe, PIPE_SHADER_FRAGMENT, 0, 1, 0, false, &src_view);
2386 struct pipe_context *pipe = ctx->base.pipe;
2403 pipe->bind_blend_state(pipe, ctx->blend[PIPE_MASK_RGBA][0]);
2404 pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_keep_depth_stencil);
2413 pipe->set_framebuffer_state(pipe, &fb_state);
2414 pipe->set_sample_mask(pipe, ~0);
2415 if (pipe->set_min_samples)
2416 pipe->set_min_samples(pipe, 1);
2455 struct pipe_context *pipe = ctx->base.pipe;
2472 pipe->bind_blend_state(pipe, ctx->blend[0][0]);
2475 pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_write_depth_stencil);
2476 pipe->set_stencil_ref(pipe, sr);
2479 pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_write_depth_keep_stencil);
2483 pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_keep_depth_write_stencil);
2484 pipe->set_stencil_ref(pipe, sr);
2488 pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_keep_depth_stencil);
2498 pipe->set_framebuffer_state(pipe, &fb_state);
2499 pipe->set_sample_mask(pipe, ~0);
2500 if (pipe->set_min_samples)
2501 pipe->set_min_samples(pipe, 1);
2534 struct pipe_context *pipe = ctx->base.pipe;
2549 pipe->bind_blend_state(pipe, cbsurf ? ctx->blend[PIPE_MASK_RGBA][0] :
2551 pipe->bind_depth_stencil_alpha_state(pipe, dsa_stage);
2569 pipe->set_framebuffer_state(pipe, &fb_state);
2570 pipe->set_sample_mask(pipe, sample_mask);
2571 if (pipe->set_min_samples)
2572 pipe->set_min_samples(pipe, 1);
2595 struct pipe_context *pipe = ctx->base.pipe;
2621 u_upload_data(pipe->stream_uploader, 0, num_channels*4, 4, clear_value,
2632 pipe->set_vertex_buffers(pipe, ctx->base.vb_slot, 1, 0, false, &vb);
2633 pipe->bind_vertex_elements_state(pipe,
2637 pipe->bind_gs_state(pipe, NULL);
2639 pipe->bind_tcs_state(pipe, NULL);
2640 pipe->bind_tes_state(pipe, NULL);
2642 pipe->bind_rasterizer_state(pipe, ctx->rs_discard_state);
2644 so_target = pipe->create_stream_output_target(pipe, dst, offset, size);
2645 pipe->set_stream_output_targets(pipe, 1, &so_target, offsets);
2647 util_draw_arrays(pipe, PIPE_PRIM_POINTS, 0, size / 4);
2669 struct pipe_context *pipe = ctx->base.pipe;
2679 pipe->bind_blend_state(pipe, custom_blend);
2680 pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_keep_depth_stencil);
2682 pipe->set_sample_mask(pipe, sample_mask);
2683 if (pipe->set_min_samples)
2684 pipe->set_min_samples(pipe, 1);
2692 dstsurf = pipe->create_surface(pipe, dst, &surf_tmpl);
2698 srcsurf = pipe->create_surface(pipe, src, &surf_tmpl);
2707 pipe->set_framebuffer_state(pipe, &fb_state);
2730 struct pipe_context *pipe = ctx->base.pipe;
2745 pipe->bind_blend_state(pipe, custom_blend ? custom_blend
2747 pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_keep_depth_stencil);
2756 pipe->set_framebuffer_state(pipe, &fb_state);
2757 pipe->set_sample_mask(pipe, ~0);
2758 if (pipe->set_min_samples)
2759 pipe->set_min_samples(pipe, 1);
2793 struct pipe_context *pipe = ctx->base.pipe;
2810 pipe->bind_blend_state(pipe, ctx->blend[PIPE_MASK_RGBA][0]);
2811 pipe->bind_depth_stencil_alpha_state(pipe, ctx->dsa_keep_depth_stencil);
2812 pipe->bind_fs_state(pipe, custom_fs);
2819 pipe->set_framebuffer_state(pipe, &fb_state);
2820 pipe->set_sample_mask(pipe, ~0);
2821 if (pipe->set_min_samples)
2822 pipe->set_min_samples(pipe, 1);
2843 util_make_fs_stencil_blit(ctx->base.pipe, msaa_src);
2865 ctx->base.pipe->create_depth_stencil_alpha_state(ctx->base.pipe, &dsa);
2885 struct pipe_context *pipe = ctx->base.pipe;
2897 dst_view = pipe->create_surface(pipe, dst, &dst_templ);
2903 src_view = pipe->create_sampler_view(pipe, src, &src_templ);
2906 pipe->bind_blend_state(pipe, ctx->blend[PIPE_MASK_RGBA][0]);
2907 pipe->bind_fs_state(pipe,
2915 pipe->set_framebuffer_state(pipe, &fb_state);
2916 pipe->set_sample_mask(pipe, ~0);
2917 if (pipe->set_min_samples)
2918 pipe->set_min_samples(pipe, 1);
2925 pipe->clear_depth_stencil(pipe, dst_view, PIPE_CLEAR_STENCIL, 0.0, 0,
2931 pipe->set_scissor_states(pipe, 0, 1, scissor);
2933 pipe->clear_depth_stencil(pipe, dst_view, PIPE_CLEAR_STENCIL, 0.0, 0,
2939 pipe->set_sampler_views(pipe, PIPE_SHADER_FRAGMENT, 0, 1, 0, false, &src_view);
2940 pipe->bind_sampler_states(pipe, PIPE_SHADER_FRAGMENT, 0, 1, &ctx->sampler_state);
2947 pipe->set_stencil_ref(pipe, sr);
2962 pipe->set_constant_buffer(pipe, PIPE_SHADER_FRAGMENT, blitter->cb_slot,
2965 pipe->bind_depth_stencil_alpha_state(pipe,
2979 pipe->set_scissor_states(pipe, 0, 1, &ctx->base.saved_scissor);