Home | History | Annotate | Download | only in r600

Lines Matching refs:rctx

51 	struct r600_context *rctx = (struct r600_context *)ctx;
53 r600_suspend_nontimer_queries(rctx);
55 util_blitter_save_vertex_buffers(rctx->blitter,
56 util_last_bit(rctx->vertex_buffer_state.enabled_mask),
57 rctx->vertex_buffer_state.vb);
58 util_blitter_save_vertex_elements(rctx->blitter, rctx->vertex_elements);
59 util_blitter_save_vertex_shader(rctx->blitter, rctx->vs_shader);
60 util_blitter_save_so_targets(rctx->blitter, rctx->num_so_targets,
61 (struct pipe_stream_output_target**)rctx->so_targets);
62 util_blitter_save_rasterizer(rctx->blitter, rctx->states[R600_PIPE_STATE_RASTERIZER]);
65 if (rctx->states[R600_PIPE_STATE_VIEWPORT]) {
66 util_blitter_save_viewport(rctx->blitter, &rctx->viewport);
68 util_blitter_save_fragment_shader(rctx->blitter, rctx->ps_shader);
69 util_blitter_save_blend(rctx->blitter, rctx->states[R600_PIPE_STATE_BLEND]);
70 util_blitter_save_depth_stencil_alpha(rctx->blitter, rctx->states[R600_PIPE_STATE_DSA]);
71 if (rctx->states[R600_PIPE_STATE_STENCIL_REF]) {
72 util_blitter_save_stencil_ref(rctx->blitter, &rctx->stencil_ref);
74 util_blitter_save_sample_mask(rctx->blitter, rctx->sample_mask.sample_mask);
78 util_blitter_save_framebuffer(rctx->blitter, &rctx->framebuffer);
82 rctx->blitter, rctx->ps_samplers.n_samplers,
83 (void**)rctx->ps_samplers.samplers);
86 rctx->blitter, util_last_bit(rctx->ps_samplers.views.enabled_mask),
87 (struct pipe_sampler_view**)rctx->ps_samplers.views.views);
90 if ((op & R600_DISABLE_RENDER_COND) && rctx->current_render_cond) {
91 rctx->saved_render_cond = rctx->current_render_cond;
92 rctx->saved_render_cond_mode = rctx->current_render_cond_mode;
93 rctx->context.render_condition(&rctx->context, NULL, 0);
100 struct r600_context *rctx = (struct r600_context *)ctx;
101 if (rctx->saved_render_cond) {
102 rctx->context.render_condition(&rctx->context,
103 rctx->saved_render_cond,
104 rctx->saved_render_cond_mode);
105 rctx->saved_render_cond = NULL;
107 r600_resume_nontimer_queries(rctx);
137 struct r600_context *rctx = (struct r600_context *)ctx;
153 if (rctx->chip_class == R600 && max_sample > 0) {
158 if (rctx->family == CHIP_RV610 || rctx->family == CHIP_RV630 ||
159 rctx->family == CHIP_RV620 || rctx->family == CHIP_RV635)
165 rctx->db_misc_state.flush_depthstencil_through_cb = true;
166 rctx->db_misc_state.copy_depth = util_format_has_depth(desc);
167 rctx->db_misc_state.copy_stencil = util_format_has_stencil(desc);
168 rctx->db_misc_state.copy_sample = first_sample;
169 r600_atom_dirty(rctx, &rctx->db_misc_state.atom);
185 if (sample != rctx->db_misc_state.copy_sample) {
186 rctx->db_misc_state.copy_sample = sample;
187 r600_atom_dirty(rctx, &rctx->db_misc_state.atom);
207 util_blitter_custom_depth_stencil(rctx->blitter, zsurf, cbsurf, 1 << sample,
208 rctx->custom_dsa_flush, depth);
226 rctx->db_misc_state.flush_depthstencil_through_cb = false;
227 r600_atom_dirty(rctx, &rctx->db_misc_state.atom);
230 void r600_decompress_depth_textures(struct r600_context *rctx,
248 r600_blit_decompress_depth(&rctx->context, tex, NULL,
260 struct r600_context *rctx = (struct r600_context *)ctx;
263 assert(rctx->chip_class != CAYMAN);
288 util_blitter_custom_color(rctx->blitter, cbsurf,
289 rctx->custom_blend_decompress);
303 void r600_decompress_color_textures(struct r600_context *rctx,
311 assert(rctx->chip_class != CAYMAN);
312 if (rctx->chip_class == CAYMAN) {
328 r600_blit_decompress_color(&rctx->context, tex,
337 struct r600_context *rctx = (struct r600_context *)ctx;
353 if (rctx->chip_class != CAYMAN && rsrc->fmask_size && rsrc->cmask_size) {
376 util_blitter_copy_texture_view(rctx->blitter, dst_view, ~0, info->dst.x0,
412 struct r600_context *rctx = (struct r600_context *)ctx;
417 rctx->chip_class == CAYMAN ? ~0 : ((1ull << MAX2(1, info->src.res->nr_samples)) - 1);
423 util_blitter_custom_resolve_color(rctx->blitter,
426 sample_mask, rctx->custom_blend_resolve);
448 util_blitter_custom_resolve_color(rctx->blitter,
451 sample_mask, rctx->custom_blend_resolve);
461 util_blitter_copy_texture(rctx->blitter, info->dst.res, info->dst.level,
503 struct r600_context *rctx = (struct r600_context *)ctx;
504 struct pipe_framebuffer_state *fb = &rctx->framebuffer;
507 util_blitter_clear(rctx->blitter, fb->width, fb->height,
519 struct r600_context *rctx = (struct r600_context *)ctx;
522 util_blitter_clear_render_target(rctx->blitter, dst, color,
535 struct r600_context *rctx = (struct r600_context *)ctx;
538 util_blitter_clear_depth_stencil(rctx->blitter, dst, clear_flags, depth, stencil,
547 struct r600_context *rctx = (struct r600_context*)ctx;
549 if (rctx->screen->has_streamout &&
553 util_blitter_copy_buffer(rctx->blitter, dst, dstx, src, src_box->x, src_box->width);
675 struct r600_context *rctx = (struct r600_context *)ctx;
704 if (rctx->chip_class != CAYMAN && rsrc->fmask_size && rsrc->cmask_size) {
728 } else if (!util_blitter_is_copy_supported(rctx->blitter, dst, src,
769 if (rctx->chip_class == CAYMAN) {
771 util_blitter_copy_texture(rctx->blitter, dst, dst_level, ~0, dstx, dsty, dstz,
777 util_blitter_copy_texture(rctx->blitter, dst, dst_level, 1 << i, dstx, dsty, dstz,
790 void r600_init_blit_functions(struct r600_context *rctx)
792 rctx->context.clear = r600_clear;
793 rctx->context.clear_render_target = r600_clear_render_target;
794 rctx->context.clear_depth_stencil = r600_clear_depth_stencil;
795 rctx->context.resource_copy_region = r600_resource_copy_region;
796 rctx->context.resource_resolve = r600_resource_resolve;