Lines Matching refs:fmask
261 /* FMASK is allocated pretty much like an ordinary texture.
263 struct radeon_surface fmask = rtex->surface;
271 fmask.bpe = 4;
272 fmask.nsamples = 2;
275 fmask.bpe = 8;
276 fmask.nsamples = 4;
279 fmask.bpe = 16;
280 fmask.nsamples = 4;
283 R600_ERR("Invalid sample count for FMASK allocation.\n");
289 fmask.bpe *= 2;
293 fmask.bankh = nr_samples <= 4 ? 4 : 1;
296 if (rscreen->ws->surface_init(rscreen->ws, &fmask)) {
297 R600_ERR("Got error in surface_init while allocating FMASK.\n");
300 assert(fmask.level[0].mode == RADEON_SURF_MODE_2D);
302 out->bank_height = fmask.bankh;
303 out->alignment = MAX2(256, fmask.bo_alignment);
304 out->size = (fmask.bo_size + 7) / 8;
310 struct r600_fmask_info fmask;
313 rtex->resource.b.b.nr_samples, &fmask);
315 /* Reserve space for FMASK while converting bits back to bytes. */
316 rtex->fmask_bank_height = fmask.bank_height;
317 rtex->fmask_offset = align(rtex->size, fmask.alignment);
318 rtex->fmask_size = fmask.size;
321 printf("FMASK width=%u, height=%i, bits=%u, size=%u\n",
322 fmask.npix_x, fmask.npix_y, fmask.bpe * fmask.nsamples, rtex->fmask_size);