Lines Matching refs:surf
92 struct etna_surface *surf = CALLOC_STRUCT(etna_surface);
94 if (!surf)
100 surf->base.context = pctx;
102 pipe_reference_init(&surf->base.reference, 1);
103 pipe_resource_reference(&surf->base.texture, &rsc->base);
104 pipe_resource_reference(&surf->prsc, prsc);
121 surf->base.format = templat->format;
122 surf->base.width = rsc->levels[level].width;
123 surf->base.height = rsc->levels[level].height;
124 surf->base.writable = templat->writable; /* what is this for anyway */
125 surf->base.u = templat->u;
127 surf->level = &rsc->levels[level]; /* Keep pointer to actual level to set
130 surf->surf = rsc->levels [level]; /* Make copy of level to narrow down
134 surf->surf.offset += layer * surf->surf.layer_stride;
140 surf->reloc[pipe].bo = rsc->bo;
141 surf->reloc[pipe].offset = surf->surf.offset;
142 surf->reloc[pipe].flags = 0;
150 surf->reloc[1].offset = surf->surf.offset + lev->stride * lev->padded_height / 2;
152 if (surf->surf.ts_size) {
153 unsigned int layer_offset = layer * surf->surf.ts_layer_stride;
154 assert(layer_offset < surf->surf.ts_size);
156 surf->surf.ts_offset += layer_offset;
157 surf->surf.ts_size -= layer_offset;
158 surf->surf.ts_valid = false;
160 surf->ts_reloc.bo = rsc->ts_bo;
161 surf->ts_reloc.offset = surf->surf.ts_offset;
162 surf->ts_reloc.flags = 0;
168 struct etna_bo *ts_bo = etna_resource(surf->base.texture)->ts_bo;
169 etna_compile_rs_state(ctx, &surf->clear_command, &(struct rs_state) {
173 .dest_offset = surf->surf.ts_offset,
178 .height = align(surf->surf.ts_size / 0x40, 4),
186 etna_rs_gen_clear_surface(ctx, surf, surf->level->clear_value);
189 return &surf->base;