Lines Matching defs:nresource

157    struct agx_resource *nresource;
159 nresource = CALLOC_STRUCT(agx_resource);
160 if (!nresource)
163 nresource->base = *templ;
164 nresource->base.screen = screen;
166 nresource->modifier = agx_select_modifier(nresource);
167 nresource->mipmapped = (templ->last_level > 0);
168 nresource->internal_format = nresource->base.format;
177 if (nresource->modifier == DRM_FORMAT_MOD_APPLE_64X64_MORTON_ORDER) {
185 nresource->slices[l].line_stride = util_format_get_stride(templ->format, width);
186 if (nresource->modifier == DRM_FORMAT_MOD_LINEAR) {
187 nresource->slices[l].line_stride = ALIGN_POT(nresource->slices[l].line_stride, 64);
190 nresource->slices[l].offset = offset;
191 nresource->slices[l].size = ALIGN_POT(nresource->slices[l].line_stride * height, 0x80);
193 offset += nresource->slices[l].size;
197 nresource->array_stride = ALIGN_POT(offset, 0x4000);
198 unsigned size = nresource->array_stride * templ->array_size * templ->depth0;
200 pipe_reference_init(&nresource->base.reference, 1);
209 if (nresource->modifier == DRM_FORMAT_MOD_APPLE_64X64_MORTON_ORDER) {
214 nresource->dt = winsys->displaytarget_create(winsys,
221 &nresource->dt_stride);
223 nresource->slices[0].line_stride = nresource->dt_stride;
224 assert((nresource->dt_stride & 0xF) == 0);
226 offset = nresource->slices[0].line_stride * ALIGN_POT(templ->height0, 64);
228 if (nresource->dt == NULL) {
229 FREE(nresource);
234 nresource->bo = agx_bo_create(dev, size, AGX_MEMORY_TYPE_FRAMEBUFFER);
236 if (!nresource->bo) {
237 FREE(nresource);
241 return &nresource->base;