Lines Matching refs:ctx

80 fd_blitter_pipe_begin(struct fd_context *ctx, bool render_cond) assert_dt
82 util_blitter_save_vertex_buffer_slot(ctx->blitter, ctx->vtx.vertexbuf.vb);
83 util_blitter_save_vertex_elements(ctx->blitter, ctx->vtx.vtx);
84 util_blitter_save_vertex_shader(ctx->blitter, ctx->prog.vs);
85 util_blitter_save_tessctrl_shader(ctx->blitter, ctx->prog.hs);
86 util_blitter_save_tesseval_shader(ctx->blitter, ctx->prog.ds);
87 util_blitter_save_geometry_shader(ctx->blitter, ctx->prog.gs);
88 util_blitter_save_so_targets(ctx->blitter, ctx->streamout.num_targets,
89 ctx->streamout.targets);
90 util_blitter_save_rasterizer(ctx->blitter, ctx->rasterizer);
91 util_blitter_save_viewport(ctx->blitter, &ctx->viewport);
92 util_blitter_save_scissor(ctx->blitter, &ctx->scissor);
93 util_blitter_save_fragment_shader(ctx->blitter, ctx->prog.fs);
94 util_blitter_save_blend(ctx->blitter, ctx->blend);
95 util_blitter_save_depth_stencil_alpha(ctx->blitter, ctx->zsa);
96 util_blitter_save_stencil_ref(ctx->blitter, &ctx->stencil_ref);
97 util_blitter_save_sample_mask(ctx->blitter, ctx->sample_mask, ctx->min_samples);
98 util_blitter_save_framebuffer(ctx->blitter, &ctx->framebuffer);
100 ctx->blitter, ctx->tex[PIPE_SHADER_FRAGMENT].num_samplers,
101 (void **)ctx->tex[PIPE_SHADER_FRAGMENT].samplers);
103 ctx->blitter, ctx->tex[PIPE_SHADER_FRAGMENT].num_textures,
104 ctx->tex[PIPE_SHADER_FRAGMENT].textures);
106 util_blitter_save_render_condition(ctx->blitter, ctx->cond_query,
107 ctx->cond_cond, ctx->cond_mode);
109 if (ctx->batch)
110 fd_batch_update_queries(ctx->batch);
114 fd_blitter_pipe_end(struct fd_context *ctx) assert_dt
119 fd_blitter_blit(struct fd_context *ctx, const struct pipe_blit_info *info)
121 struct pipe_context *pctx = &ctx->base;
124 struct pipe_context *pipe = &ctx->base;
143 if (ctx->validate_format) {
144 ctx->validate_format(ctx, fd_resource(dst), info->dst.format);
145 ctx->validate_format(ctx, fd_resource(src), info->src.format);
153 fd_blitter_pipe_begin(ctx, info->render_condition_enable);
167 ctx->blitter, dst_view, &info->dst.box, src_view, &info->src.box,
174 fd_blitter_pipe_end(ctx);
180 fd_bc_flush_writer(ctx, fd_resource(info->dst.resource));
192 struct fd_context *ctx = fd_context(pctx);
193 struct pipe_framebuffer_state *pfb = &ctx->batch->framebuffer;
194 struct blitter_context *blitter = ctx->blitter;
199 fd_blitter_pipe_begin(ctx, false);
202 ctx->blitter, ctx->constbuf[PIPE_SHADER_FRAGMENT].cb);
217 if (!ctx->clear_rs_state[rs_idx]) {
227 ctx->clear_rs_state[rs_idx] = pctx->create_rasterizer_state(pctx, &tmpl);
229 pctx->bind_rasterizer_state(pctx, ctx->clear_rs_state[rs_idx]);
237 pctx->bind_vertex_elements_state(pctx, ctx->solid_vbuf_state.vtx);
239 &ctx->solid_vbuf_state.vertexbuf.vb[0]);
243 pctx->bind_vs_state(pctx, ctx->solid_layered_prog.vs);
245 pctx->bind_vs_state(pctx, ctx->solid_prog.vs);
247 pctx->bind_fs_state(pctx, ctx->solid_prog.fs);
269 assert(util_framebuffer_state_equal(pfb, &ctx->framebuffer));
279 fd_blitter_pipe_end(ctx);
289 struct fd_context *ctx = fd_context(pctx);
295 if (ctx->blit && ctx->blit(ctx, &info))
303 if (!util_blitter_is_blit_supported(ctx->blitter, &info)) {
310 return fd_blitter_blit(ctx, &info);
317 fd_blitter_pipe_copy_region(struct fd_context *ctx, struct pipe_resource *dst,
327 if (!util_blitter_is_copy_supported(ctx->blitter, dst, src))
331 struct pipe_context *pctx = &ctx->base;
336 fd_blitter_pipe_begin(ctx, false);
337 util_blitter_copy_texture(ctx->blitter, dst, dst_level, dstx, dsty, dstz,
339 fd_blitter_pipe_end(ctx);
354 struct fd_context *ctx = fd_context(pctx);
362 perf_debug_ctx(ctx, "copy_region falls back to sw for {%"PRSC_FMT"} to {%"PRSC_FMT"}",
367 if (ctx->blit) {
390 if (ctx->blit(ctx, &info))
395 if (fd_blitter_pipe_copy_region(ctx, dst, dst_level, dstx, dsty, dstz, src,