Lines Matching full:framebuffer
88 * Inferred framebuffer and blender state.
99 uint32_t cb_target_mask = sctx->framebuffer.colorbuf_enabled_4bit;
127 for (i = 0; i < sctx->framebuffer.state.nr_cbufs; i++) {
129 (struct r600_surface*)sctx->framebuffer.state.cbufs[i];
714 * inferred state between framebuffer and rasterizer
720 if (!rs || !rs->uses_poly_offset || !sctx->framebuffer.state.zsbuf) {
728 switch (sctx->framebuffer.state.zsbuf->texture->format) {
911 sctx->framebuffer.nr_samples > 1)
1160 S_028004_SAMPLE_RATE(sctx->framebuffer.log_samples) |
1167 S_028004_SAMPLE_RATE(sctx->framebuffer.log_samples));
1182 S_028010_DECOMPRESS_Z_ON_FLUSH(sctx->framebuffer.nr_samples >= 4));
1939 * framebuffer handling
2354 bool old_any_dst_linear = sctx->framebuffer.any_dst_linear;
2355 unsigned old_nr_samples = sctx->framebuffer.nr_samples;
2358 for (i = 0; i < sctx->framebuffer.state.nr_cbufs; i++) {
2359 if (!sctx->framebuffer.state.cbufs[i])
2362 rtex = (struct r600_texture*)sctx->framebuffer.state.cbufs[i]->texture;
2367 /* Only flush TC when changing the framebuffer state, because
2369 * the framebuffer.
2382 sctx->framebuffer.dirty_cbufs |=
2383 (1 << MAX2(sctx->framebuffer.state.nr_cbufs, state->nr_cbufs)) - 1;
2384 sctx->framebuffer.dirty_zsbuf |= sctx->framebuffer.state.zsbuf != state->zsbuf;
2386 si_dec_framebuffer_counters(&sctx->framebuffer.state);
2387 util_copy_framebuffer_state(&sctx->framebuffer.state, state);
2389 sctx->framebuffer.colorbuf_enabled_4bit = 0;
2390 sctx->framebuffer.spi_shader_col_format = 0;
2391 sctx->framebuffer.spi_shader_col_format_alpha = 0;
2392 sctx->framebuffer.spi_shader_col_format_blend = 0;
2393 sctx->framebuffer.spi_shader_col_format_blend_alpha = 0;
2394 sctx->framebuffer.color_is_int8 = 0;
2395 sctx->framebuffer.color_is_int10 = 0;
2397 sctx->framebuffer.compressed_cb_mask = 0;
2398 sctx->framebuffer.nr_samples = util_framebuffer_get_num_samples(state);
2399 sctx->framebuffer.log_samples = util_logbase2(sctx->framebuffer.nr_samples);
2400 sctx->framebuffer.any_dst_linear = false;
2413 sctx->framebuffer.colorbuf_enabled_4bit |= 0xf << (i * 4);
2414 sctx->framebuffer.spi_shader_col_format |=
2416 sctx->framebuffer.spi_shader_col_format_alpha |=
2418 sctx->framebuffer.spi_shader_col_format_blend |=
2420 sctx->framebuffer.spi_shader_col_format_blend_alpha |=
2424 sctx->framebuffer.color_is_int8 |= 1 << i;
2426 sctx->framebuffer.color_is_int10 |= 1 << i;
2429 sctx->framebuffer.compressed_cb_mask |= 1 << i;
2433 sctx->framebuffer.any_dst_linear = true;
2441 sctx->framebuffer.compressed_cb_mask |= 1 << i;
2458 si_mark_atom_dirty(sctx, &sctx->framebuffer.atom);
2460 if (sctx->framebuffer.any_dst_linear != old_any_dst_linear)
2463 if (sctx->framebuffer.nr_samples != old_nr_samples) {
2468 switch (sctx->framebuffer.nr_samples) {
2486 sctx->framebuffer.nr_samples);
2489 constbuf.buffer_size = sctx->framebuffer.nr_samples * 2 * 4;
2502 struct pipe_framebuffer_state *state = &sctx->framebuffer.state;
2515 if (!(sctx->framebuffer.dirty_cbufs & (1 << i)))
2606 if (sctx->framebuffer.dirty_cbufs & (1 << i))
2610 if (state->zsbuf && sctx->framebuffer.dirty_zsbuf) {
2646 } else if (sctx->framebuffer.dirty_zsbuf) {
2652 /* Framebuffer dimensions. */
2657 sctx->framebuffer.dirty_cbufs = 0;
2658 sctx->framebuffer.dirty_zsbuf = false;
2665 unsigned nr_samples = sctx->framebuffer.nr_samples;
2695 if (sctx->framebuffer.nr_samples > 1 && rs && !rs->multisample_enable)
2708 bool dst_is_linear = sctx->framebuffer.any_dst_linear;
2721 cayman_emit_msaa_config(cs, sctx->framebuffer.nr_samples,
2737 if (sctx->framebuffer.nr_samples > 1)
3321 assert(mask == 0xffff || sctx->framebuffer.nr_samples > 1 ||
3613 si_init_atom(sctx, &sctx->framebuffer.atom, &sctx->atoms.s.framebuffer, si_emit_framebuffer_state);