Function "st_readpixels" not defined. Make breakpoint pending on future shared library load? (y or [n]) Breakpoint 1 (st_readpixels) pending. Starting program: /home/guest/source/mesa-demos/build/linux-debug/demos/readpix [Thread debugging using libthread_db enabled] Breakpoint 1, st_readpixels (ctx=0x8096750, x=5, y=20, width=194, height=188, format=6408, type=5121, pack=0x80a5554, dest=0xb6941008) at state_tracker/st_cb_readpixels.c:327 327 { Continuing. Breakpoint 1, st_readpixels (ctx=0x8096750, x=5, y=20, width=194, height=188, format=6408, type=5121, pack=0x80a5554, dest=0xb6941008) at state_tracker/st_cb_readpixels.c:327 327 { 328 struct st_context *st = st_context(ctx); st_context (ctx=0x8096750, x=5, y=20, width=194, height=188, format=6408, type=5121, pack=0x80a5554, dest=0xb6941008) at state_tracker/st_context.h:200 200 return ctx->st; st_readpixels (ctx=0x8096750, x=5, y=20, width=194, height=188, format=6408, type=5121, pack=0x80a5554, dest=0xb6941008) at state_tracker/st_cb_readpixels.c:329 329 struct pipe_context *pipe = st->pipe; 331 const GLbitfield transferOps = ctx->_ImageTransferState; 336 struct gl_pixelstore_attrib clippedPacking = *pack; 339 assert(ctx->ReadBuffer->Width > 0); 342 assert((transferOps & IMAGE_CONVOLUTION_BIT) == 0); 344 st_validate_state(st); st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; 141 check_program_state( st ); check_program_state (st=0x80d5b98) at state_tracker/st_atom.c:112 112 GLcontext *ctx = st->ctx; 114 if (ctx->VertexProgram._Current != &st->vp->Base) 117 if (ctx->FragmentProgram._Current != &st->fp->Base) 120 if (ctx->GeometryProgram._Current != &st->gp->Base) st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:143 143 st_manager_validate_framebuffers(st); st_manager_validate_framebuffers (st=0x80d5b98) at state_tracker/st_manager.c:808 808 { 809 struct st_framebuffer *stdraw = st_ws_framebuffer(st->ctx->DrawBuffer); st_ws_framebuffer (st=0x80d5b98) at state_tracker/st_manager.c:65 65 return (struct st_framebuffer *) ((fb && !fb->Name) ? fb : NULL); st_manager_validate_framebuffers (st=0x80d5b98) at state_tracker/st_manager.c:810 810 struct st_framebuffer *stread = st_ws_framebuffer(st->ctx->ReadBuffer); st_ws_framebuffer (st=0x80d5b98) at state_tracker/st_manager.c:65 65 return (struct st_framebuffer *) ((fb && !fb->Name) ? fb : NULL); st_manager_validate_framebuffers (st=0x80d5b98) at state_tracker/st_manager.c:812 812 if (stdraw) 813 st_framebuffer_validate(stdraw, st); st_framebuffer_validate (stfb=0x80f8f80, st=0x80d5b98) at state_tracker/st_manager.c:144 144 { 145 struct pipe_screen *screen = st->pipe->screen; 151 if (!p_atomic_read(&stfb->revalidate)) 211 } st_manager_validate_framebuffers (st=0x80d5b98) at state_tracker/st_manager.c:814 814 if (stread && stread != stdraw) 816 } st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; 156 memset(&examined, 0, sizeof(examined)); 157 prev = *state; 160 const struct st_tracked_state *atom = atoms[i]; 165 if (!(atom->dirty.mesa || atom->dirty.st) || 166 !atom->update) { 165 if (!(atom->dirty.mesa || atom->dirty.st) || 171 if (check_state(state, &atom->dirty)) { check_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; 171 if (check_state(state, &atom->dirty)) { st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:176 176 accumulate_state(&examined, &atom->dirty); accumulate_state (st=0x80d5b98) at state_tracker/st_atom.c:94 94 a->mesa |= b->mesa; 95 a->st |= b->st; st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:183 183 assert(!check_state(&examined, &generated)); check_state (st=0x80d5b98) at state_tracker/st_atom.c:87 87 return ((a->mesa & b->mesa) || st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:196 196 memset(state, 0, sizeof(*state)); 159 for (i = 0; i < Elements(atoms); i++) { 160 const struct st_tracked_state *atom = atoms[i]; 165 if (!(atom->dirty.mesa || atom->dirty.st) || 166 !atom->update) { 165 if (!(atom->dirty.mesa || atom->dirty.st) || 171 if (check_state(state, &atom->dirty)) { check_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; 171 if (check_state(state, &atom->dirty)) { st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:176 176 accumulate_state(&examined, &atom->dirty); accumulate_state (st=0x80d5b98) at state_tracker/st_atom.c:94 94 a->mesa |= b->mesa; 95 a->st |= b->st; st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:183 183 assert(!check_state(&examined, &generated)); check_state (st=0x80d5b98) at state_tracker/st_atom.c:87 87 return ((a->mesa & b->mesa) || st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:196 196 memset(state, 0, sizeof(*state)); 159 for (i = 0; i < Elements(atoms); i++) { 160 const struct st_tracked_state *atom = atoms[i]; 165 if (!(atom->dirty.mesa || atom->dirty.st) || 166 !atom->update) { 165 if (!(atom->dirty.mesa || atom->dirty.st) || 171 if (check_state(state, &atom->dirty)) { check_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; 171 if (check_state(state, &atom->dirty)) { st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:176 176 accumulate_state(&examined, &atom->dirty); accumulate_state (st=0x80d5b98) at state_tracker/st_atom.c:94 94 a->mesa |= b->mesa; 95 a->st |= b->st; st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:183 183 assert(!check_state(&examined, &generated)); check_state (st=0x80d5b98) at state_tracker/st_atom.c:87 87 return ((a->mesa & b->mesa) || st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:196 196 memset(state, 0, sizeof(*state)); 159 for (i = 0; i < Elements(atoms); i++) { 160 const struct st_tracked_state *atom = atoms[i]; 165 if (!(atom->dirty.mesa || atom->dirty.st) || 166 !atom->update) { 165 if (!(atom->dirty.mesa || atom->dirty.st) || 171 if (check_state(state, &atom->dirty)) { check_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; 171 if (check_state(state, &atom->dirty)) { st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:176 176 accumulate_state(&examined, &atom->dirty); accumulate_state (st=0x80d5b98) at state_tracker/st_atom.c:94 94 a->mesa |= b->mesa; 95 a->st |= b->st; st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:183 183 assert(!check_state(&examined, &generated)); check_state (st=0x80d5b98) at state_tracker/st_atom.c:87 87 return ((a->mesa & b->mesa) || st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:196 196 memset(state, 0, sizeof(*state)); 159 for (i = 0; i < Elements(atoms); i++) { 160 const struct st_tracked_state *atom = atoms[i]; 165 if (!(atom->dirty.mesa || atom->dirty.st) || 166 !atom->update) { 165 if (!(atom->dirty.mesa || atom->dirty.st) || 171 if (check_state(state, &atom->dirty)) { check_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; 171 if (check_state(state, &atom->dirty)) { st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:176 176 accumulate_state(&examined, &atom->dirty); accumulate_state (st=0x80d5b98) at state_tracker/st_atom.c:94 94 a->mesa |= b->mesa; 95 a->st |= b->st; st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:183 183 assert(!check_state(&examined, &generated)); check_state (st=0x80d5b98) at state_tracker/st_atom.c:87 87 return ((a->mesa & b->mesa) || st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:196 196 memset(state, 0, sizeof(*state)); 159 for (i = 0; i < Elements(atoms); i++) { 160 const struct st_tracked_state *atom = atoms[i]; 165 if (!(atom->dirty.mesa || atom->dirty.st) || 166 !atom->update) { 165 if (!(atom->dirty.mesa || atom->dirty.st) || 171 if (check_state(state, &atom->dirty)) { check_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; 171 if (check_state(state, &atom->dirty)) { st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:176 176 accumulate_state(&examined, &atom->dirty); accumulate_state (st=0x80d5b98) at state_tracker/st_atom.c:94 94 a->mesa |= b->mesa; 95 a->st |= b->st; st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:183 183 assert(!check_state(&examined, &generated)); check_state (st=0x80d5b98) at state_tracker/st_atom.c:87 87 return ((a->mesa & b->mesa) || st_validate_state (st=0x80d5b98) at state_tracker/st_atom.c:196 196 memset(state, 0, sizeof(*state)); 159 for (i = 0; i < Elements(atoms); i++) { 160 const struct st_tracked_state *atom = atoms[i]; 165 if (!(atom->dirty.mesa || atom->dirty.st) || 166 !atom->update) { 165 if (!(atom->dirty.mesa || atom->dirty.st) || 171 if (check_state(state, &atom->dirty)) { check_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; check_state (st=0x80d5b98) at state_tracker/st_atom.c:87 87 return ((a->mesa & b->mesa) || 166 !atom->update) { accumulate_state (st=0x80d5b98) at state_tracker/st_atom.c:94 94 a->mesa |= b->mesa; 160 const struct st_tracked_state *atom = atoms[i]; check_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; check_state (st=0x80d5b98) at state_tracker/st_atom.c:87 87 return ((a->mesa & b->mesa) || 166 !atom->update) { accumulate_state (st=0x80d5b98) at state_tracker/st_atom.c:94 94 a->mesa |= b->mesa; 160 const struct st_tracked_state *atom = atoms[i]; check_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; check_state (st=0x80d5b98) at state_tracker/st_atom.c:87 87 return ((a->mesa & b->mesa) || 166 !atom->update) { accumulate_state (st=0x80d5b98) at state_tracker/st_atom.c:94 94 a->mesa |= b->mesa; 160 const struct st_tracked_state *atom = atoms[i]; check_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; check_state (st=0x80d5b98) at state_tracker/st_atom.c:87 87 return ((a->mesa & b->mesa) || 166 !atom->update) { accumulate_state (st=0x80d5b98) at state_tracker/st_atom.c:94 94 a->mesa |= b->mesa; 160 const struct st_tracked_state *atom = atoms[i]; check_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; check_state (st=0x80d5b98) at state_tracker/st_atom.c:87 87 return ((a->mesa & b->mesa) || 166 !atom->update) { accumulate_state (st=0x80d5b98) at state_tracker/st_atom.c:94 94 a->mesa |= b->mesa; 160 const struct st_tracked_state *atom = atoms[i]; check_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; check_state (st=0x80d5b98) at state_tracker/st_atom.c:87 87 return ((a->mesa & b->mesa) || 166 !atom->update) { accumulate_state (st=0x80d5b98) at state_tracker/st_atom.c:94 94 a->mesa |= b->mesa; 160 const struct st_tracked_state *atom = atoms[i]; check_state (st=0x80d5b98) at state_tracker/st_atom.c:131 131 struct st_state_flags *state = &st->dirty; check_state (st=0x80d5b98) at state_tracker/st_atom.c:87 87 return ((a->mesa & b->mesa) || st_readpixels (ctx=0x8096750, x=5, y=20, width=194, height=188, format=6408, type=5121, pack=0x80a5574, dest=0xb6941008) at state_tracker/st_cb_readpixels.c:347 347 if (!_mesa_clip_readpixels(ctx, &x, &y, &width, &height, &clippedPacking)) { _mesa_clip_readpixels (ctx=0x8096750, srcX=0xbffff0d4, srcY=0xbffff0d8, width=0xbffff0dc, height=0xbffff0e0, pack=0xbffff090) at main/image.c:5789 5789 { 5790 const GLframebuffer *buffer = ctx->ReadBuffer; 5792 if (pack->RowLength == 0) { 5797 if (*srcX < 0) { 5803 if (*srcX + *width > (GLsizei) buffer->Width) 5806 if (*width <= 0) 5810 if (*srcY < 0) { 5816 if (*srcY + *height > (GLsizei) buffer->Height) 5817 *height -= (*srcY + *height - buffer->Height); 5823 } st_readpixels (ctx=0x8096750, x=5, y=20, width=194, height=188, format=6408, type=5121, pack=, dest=0xb6941008) at state_tracker/st_cb_readpixels.c:352 352 st_flush_bitmap_cache(st); st_flush_bitmap_cache (st=0x80d5b98) at state_tracker/st_cb_bitmap.c:604 604 { 605 if (!st->bitmap.cache->empty) { 608 if (st->ctx->DrawBuffer) { 609 struct pipe_context *pipe = st->pipe; 612 assert(cache->xmin <= cache->xmax); 623 if (cache->trans) { 626 pipe_transfer_unmap(pipe, cache->trans); pipe_transfer_unmap (st=0x80d5b98) at ../../src/gallium/auxiliary/util/u_inlines.h:373 373 context->transfer_unmap( context, transfer ); nvfx_transfer_unmap (pipe=0x806ada8, ptx=0x8129940) at nvfx_transfer.c:174 174 { 175 if(ptx->resource->target != PIPE_BUFFER) 178 struct nvfx_miptree *mt = (struct nvfx_miptree *)tx->base.staging_resource; 180 if(!--tx->map_count) nvfx_transfer_unmap (pipe=0xb702f829, ptx=0x8129940) at nvfx_transfer.c:182 182 nouveau_screen_bo_unmap(pipe->screen, mt->base.bo); nouveau_screen_bo_unmap (pscreen=0x8068698, bo=0x8139578) at nouveau_screen.c:138 138 { 139 nouveau_bo_unmap(bo); nouveau_bo_unmap (bo=0x8139578) at nouveau_bo.c:456 456 if (bo->map && !nvbo->sysmem) { 465 bo->map = NULL; 466 } nouveau_screen_bo_unmap (pscreen=0x8068698, bo=0x8139578) at nouveau_screen.c:140 140 } nvfx_transfer_unmap (pipe=0xb702f829, ptx=0x8129940) at nvfx_transfer.c:183 183 ptx->data = 0; 186 } st_flush_bitmap_cache (st=0x80d5b98) at state_tracker/st_cb_bitmap.c:627 627 cache->buffer = NULL; 629 pipe->transfer_destroy(pipe, cache->trans); nvfx_transfer_destroy (pipe=0x806ada8, ptx=0x8129940) at nvfx_transfer.c:131 131 { 132 if(ptx->resource->target == PIPE_BUFFER) 145 struct nouveau_channel* chan = nvfx_context(pipe)->screen->base.channel; 146 util_staging_transfer_destroy(pipe, ptx); util_staging_transfer_destroy (pipe=0x806ada8, ptx=0x8129940) at util/u_staging.c:98 98 { 101 if (tx->staging_resource != tx->base.resource) 103 if(tx->base.usage & PIPE_TRANSFER_WRITE) { 108 for(zi = 0; zi < tx->base.box.depth; ++zi) 109 pipe->resource_copy_region(pipe, tx->base.resource, tx->base.sr, tx->base.box.x, tx->base.box.y, tx->base.box.z + zi, tx->staging_resource, srcsr, 0, 0, 0, tx->base.box.width, tx->base.box.height); nvfx_resource_copy_region (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at nvfx_surface.c:245 245 { 247 struct nv04_2d_context *ctx = nvfx_screen(pipe->screen)->eng2d; 254 if(!w || !h) 257 if(copy_threshold < 0) 260 dst_to_gpu = dstr->usage != PIPE_USAGE_DYNAMIC && dstr->usage != PIPE_USAGE_STAGING; 263 nvfx_region_init_for_subresource(&dst, dstr, subdst, dstx, dsty, dstz, TRUE); nvfx_region_init_for_subresource (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_surface.c:125 125 { 126 if(pt->target != PIPE_BUFFER) 128 struct nvfx_surface* ns = (struct nvfx_surface*)util_surfaces_peek(&((struct nvfx_miptree*)pt)->surfaces, pt, sub.face, sub.level, z); 136 rgn->bo = ((struct nvfx_resource*)pt)->bo; 137 rgn->offset = nvfx_subresource_offset(pt, sub.face, sub.level, z); nvfx_subresource_offset (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_resource.h:132 132 if(pt->target == PIPE_BUFFER) nvfx_region_init_for_subresource (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_surface.c:137 137 rgn->offset = nvfx_subresource_offset(pt, sub.face, sub.level, z); nvfx_subresource_offset (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_resource.h:138 138 unsigned offset = mt->level_offset[level]; 139 if (pt->target == PIPE_TEXTURE_CUBE) 141 else if (pt->target == PIPE_TEXTURE_3D && mt->linear_pitch) nvfx_region_init_for_subresource (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_surface.c:137 137 rgn->offset = nvfx_subresource_offset(pt, sub.face, sub.level, z); 138 rgn->pitch = nvfx_subresource_pitch(pt, sub.level); nvfx_subresource_pitch (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_resource.h:150 150 if(pt->target == PIPE_BUFFER) nvfx_region_init_for_subresource (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_surface.c:138 138 rgn->pitch = nvfx_subresource_pitch(pt, sub.level); nvfx_subresource_pitch (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_resource.h:156 156 if(mt->linear_pitch) 159 return util_format_get_stride(pt->format, u_minify(pt->width0, level)); u_minify (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_math.h:596 596 return MAX2(1, value >> levels); nvfx_subresource_pitch (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_resource.h:159 159 return util_format_get_stride(pt->format, u_minify(pt->width0, level)); util_format_get_stride (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_resource.h:159 159 return util_format_get_stride(pt->format, u_minify(pt->width0, level)); util_format_get_nblocksx (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_resource.h:159 159 return util_format_get_stride(pt->format, u_minify(pt->width0, level)); util_format_get_blockwidth (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_format.h:504 504 const struct util_format_description *desc = util_format_description(format); util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17171 17171 { 17172 if (format >= PIPE_FORMAT_COUNT) { 17176 switch (format) { 17210 return &util_format_a8_unorm_description; util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17212 17212 return &util_format_i8_unorm_description; util_format_get_blockwidth (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_format.h:506 506 assert(desc); 511 return desc->block.width; util_format_get_stride (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_format.h:555 555 return util_format_get_nblocksx(format, width) * util_format_get_blocksize(format); util_format_get_blocksize (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_format.h:555 555 return util_format_get_nblocksx(format, width) * util_format_get_blocksize(format); util_format_get_blocksizebits (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_format.h:478 478 const struct util_format_description *desc = util_format_description(format); util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17171 17171 { 17172 if (format >= PIPE_FORMAT_COUNT) { 17176 switch (format) { 17210 return &util_format_a8_unorm_description; util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17212 17212 return &util_format_i8_unorm_description; util_format_get_blocksizebits (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_format.h:480 480 assert(desc); util_format_get_stride (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_format.h:555 555 return util_format_get_nblocksx(format, width) * util_format_get_blocksize(format); util_format_get_nblocksx (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_format.h:532 532 return (x + blockwidth - 1) / blockwidth; util_format_get_stride (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_format.h:555 555 return util_format_get_nblocksx(format, width) * util_format_get_blocksize(format); util_format_get_blocksize (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_format.h:555 555 return util_format_get_nblocksx(format, width) * util_format_get_blocksize(format); util_format_get_blocksizebits (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_format.h:485 485 return desc->block.bits; util_format_get_blocksize (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_format.h:496 496 assert(bits % 8 == 0); nvfx_region_init_for_subresource (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_surface.c:138 138 rgn->pitch = nvfx_subresource_pitch(pt, sub.level); 139 rgn->x = x; 140 rgn->y = y; 141 rgn->z = 0; 143 nvfx_region_set_format(rgn, pt->format); nvfx_region_set_format (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_surface.c:143 143 nvfx_region_set_format(rgn, pt->format); util_format_get_blocksizebits (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_format.h:478 478 const struct util_format_description *desc = util_format_description(format); util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17171 17171 { 17172 if (format >= PIPE_FORMAT_COUNT) { 17176 switch (format) { 17210 return &util_format_a8_unorm_description; util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17212 17212 return &util_format_i8_unorm_description; util_format_get_blocksizebits (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_format.h:480 480 assert(desc); 485 return desc->block.bits; nvfx_region_set_format (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_surface.c:50 50 switch(bits) nvfx_region_init_for_subresource (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_surface.c:143 143 nvfx_region_set_format(rgn, pt->format); nvfx_region_set_format (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_surface.c:53 53 rgn->bpps = 0; nvfx_region_init_for_subresource (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_surface.c:144 144 if(!(pt->flags & NVFX_RESOURCE_FLAG_LINEAR)) 145 nvfx_region_fixup_swizzled(rgn, z, u_minify(pt->width0, sub.level), u_minify(pt->height0, sub.level), u_minify(pt->depth0, sub.level)); u_minify (rgn=0xbffe6ed8, pt=0x812a108, sub=..., x=0, y=0, z=0, for_write=true) at ../../../../src/gallium/auxiliary/util/u_math.h:596 596 return MAX2(1, value >> levels); nvfx_region_init_for_subresource (rgn=0xbffe6ed8, pt=, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_surface.c:145 145 nvfx_region_fixup_swizzled(rgn, z, u_minify(pt->width0, sub.level), u_minify(pt->height0, sub.level), u_minify(pt->depth0, sub.level)); nvfx_region_fixup_swizzled (rgn=0xbffe6ed8, pt=, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_surface.c:80 80 if((depth <= 1) && (height <= 1 || width <= 2)) nvfx_region_fixup_swizzled (rgn=0xbffe6ed8, pt=, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_surface.c:89 89 rgn->pitch = 0; 90 rgn->z = zslice; 91 rgn->w = width; 92 rgn->h = height; 93 rgn->d = depth; nvfx_region_init_for_subresource (rgn=0xbffe6ed8, pt=0x200, sub=..., x=0, y=0, z=0, for_write=true) at nvfx_surface.c:146 146 } nvfx_resource_copy_region (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at nvfx_surface.c:264 264 nvfx_region_init_for_subresource(&src, srcr, subsrc, srcx, srcy, srcz, FALSE); nvfx_region_init_for_subresource (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at nvfx_surface.c:125 125 { 126 if(pt->target != PIPE_BUFFER) 128 struct nvfx_surface* ns = (struct nvfx_surface*)util_surfaces_peek(&((struct nvfx_miptree*)pt)->surfaces, pt, sub.face, sub.level, z); 136 rgn->bo = ((struct nvfx_resource*)pt)->bo; 137 rgn->offset = nvfx_subresource_offset(pt, sub.face, sub.level, z); nvfx_subresource_offset (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at nvfx_resource.h:132 132 if(pt->target == PIPE_BUFFER) nvfx_region_init_for_subresource (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at nvfx_surface.c:137 137 rgn->offset = nvfx_subresource_offset(pt, sub.face, sub.level, z); nvfx_subresource_offset (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at nvfx_resource.h:138 138 unsigned offset = mt->level_offset[level]; 139 if (pt->target == PIPE_TEXTURE_CUBE) 141 else if (pt->target == PIPE_TEXTURE_3D && mt->linear_pitch) nvfx_region_init_for_subresource (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at nvfx_surface.c:137 137 rgn->offset = nvfx_subresource_offset(pt, sub.face, sub.level, z); 138 rgn->pitch = nvfx_subresource_pitch(pt, sub.level); nvfx_subresource_pitch (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at nvfx_resource.h:150 150 if(pt->target == PIPE_BUFFER) nvfx_region_init_for_subresource (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at nvfx_surface.c:138 138 rgn->pitch = nvfx_subresource_pitch(pt, sub.level); nvfx_subresource_pitch (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at nvfx_resource.h:156 156 if(mt->linear_pitch) nvfx_region_init_for_subresource (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at nvfx_surface.c:138 138 rgn->pitch = nvfx_subresource_pitch(pt, sub.level); 139 rgn->x = x; 140 rgn->y = y; 141 rgn->z = 0; 143 nvfx_region_set_format(rgn, pt->format); nvfx_region_set_format (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at nvfx_surface.c:143 143 nvfx_region_set_format(rgn, pt->format); util_format_get_blocksizebits (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at ../../../../src/gallium/auxiliary/util/u_format.h:478 478 const struct util_format_description *desc = util_format_description(format); util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17171 17171 { 17172 if (format >= PIPE_FORMAT_COUNT) { 17176 switch (format) { 17210 return &util_format_a8_unorm_description; util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17212 17212 return &util_format_i8_unorm_description; util_format_get_blocksizebits (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at ../../../../src/gallium/auxiliary/util/u_format.h:480 480 assert(desc); 485 return desc->block.bits; nvfx_region_set_format (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at nvfx_surface.c:50 50 switch(bits) nvfx_region_init_for_subresource (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at nvfx_surface.c:143 143 nvfx_region_set_format(rgn, pt->format); nvfx_region_set_format (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at nvfx_surface.c:53 53 rgn->bpps = 0; nvfx_region_init_for_subresource (rgn=0xbffe6eb0, pt=0x812a4c8, sub=..., x=0, y=0, z=0, for_write=false) at nvfx_surface.c:144 144 if(!(pt->flags & NVFX_RESOURCE_FLAG_LINEAR)) 146 } nvfx_resource_copy_region (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at nvfx_surface.c:265 265 w = util_format_get_stride(dstr->format, w) >> dst.bpps; util_format_get_stride (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at nvfx_surface.c:265 265 w = util_format_get_stride(dstr->format, w) >> dst.bpps; util_format_get_nblocksx (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at nvfx_surface.c:265 265 w = util_format_get_stride(dstr->format, w) >> dst.bpps; util_format_get_blockwidth (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:504 504 const struct util_format_description *desc = util_format_description(format); util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17171 17171 { 17172 if (format >= PIPE_FORMAT_COUNT) { 17176 switch (format) { 17210 return &util_format_a8_unorm_description; util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17212 17212 return &util_format_i8_unorm_description; util_format_get_blockwidth (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:506 506 assert(desc); 511 return desc->block.width; util_format_get_stride (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:555 555 return util_format_get_nblocksx(format, width) * util_format_get_blocksize(format); util_format_get_blocksize (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:555 555 return util_format_get_nblocksx(format, width) * util_format_get_blocksize(format); util_format_get_blocksizebits (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:478 478 const struct util_format_description *desc = util_format_description(format); util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17171 17171 { 17172 if (format >= PIPE_FORMAT_COUNT) { 17176 switch (format) { 17210 return &util_format_a8_unorm_description; util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17212 17212 return &util_format_i8_unorm_description; util_format_get_blocksizebits (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:480 480 assert(desc); util_format_get_stride (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:555 555 return util_format_get_nblocksx(format, width) * util_format_get_blocksize(format); util_format_get_nblocksx (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:532 532 return (x + blockwidth - 1) / blockwidth; util_format_get_stride (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:555 555 return util_format_get_nblocksx(format, width) * util_format_get_blocksize(format); util_format_get_blocksize (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:555 555 return util_format_get_nblocksx(format, width) * util_format_get_blocksize(format); util_format_get_blocksizebits (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:485 485 return desc->block.bits; util_format_get_blocksize (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:496 496 assert(bits % 8 == 0); nvfx_resource_copy_region (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at nvfx_surface.c:266 266 h = util_format_get_nblocksy(dstr->format, h); util_format_get_nblocksy (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at nvfx_surface.c:266 266 h = util_format_get_nblocksy(dstr->format, h); util_format_get_blockheight (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:517 517 const struct util_format_description *desc = util_format_description(format); util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17171 17171 { 17172 if (format >= PIPE_FORMAT_COUNT) { 17176 switch (format) { 17210 return &util_format_a8_unorm_description; util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17212 17212 return &util_format_i8_unorm_description; util_format_get_blockheight (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:519 519 assert(desc); 524 return desc->block.height; util_format_get_nblocksy (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at ../../../../src/gallium/auxiliary/util/u_format.h:540 540 return (y + blockheight - 1) / blockheight; nvfx_resource_copy_region (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at nvfx_surface.c:268 268 small = (w * h <= copy_threshold); 269 if((!dst_to_gpu || !src_on_gpu) && small) 274 dstr->target == PIPE_BUFFER ? -1 : nv04_scaled_image_format(dstr->format), nv04_scaled_image_format (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at nvfx_surface.c:172 172 switch(util_format_get_blocksize(format)) { util_format_get_blocksize (format=PIPE_FORMAT_I8_UNORM) at ../../../../src/gallium/auxiliary/util/u_format.h:493 493 { 494 uint bits = util_format_get_blocksizebits(format); util_format_get_blocksizebits (format=PIPE_FORMAT_I8_UNORM) at ../../../../src/gallium/auxiliary/util/u_format.h:478 478 const struct util_format_description *desc = util_format_description(format); util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17171 17171 { 17172 if (format >= PIPE_FORMAT_COUNT) { 17176 switch (format) { 17210 return &util_format_a8_unorm_description; util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17212 17212 return &util_format_i8_unorm_description; util_format_get_blocksizebits (format=) at ../../../../src/gallium/auxiliary/util/u_format.h:480 480 assert(desc); 485 return desc->block.bits; util_format_get_blocksize (format=) at ../../../../src/gallium/auxiliary/util/u_format.h:496 496 assert(bits % 8 == 0); 499 } nv04_scaled_image_format (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at nvfx_surface.c:181 181 if(format == PIPE_FORMAT_B8G8R8X8_UNORM) nvfx_resource_copy_region (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at nvfx_surface.c:273 273 dstr->target == PIPE_BUFFER ? -1 : nvfx_surface_format(dstr->format), nvfx_surface_format (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at nvfx_surface.c:153 153 switch(util_format_get_blocksize(format)) { util_format_get_blocksize (format=PIPE_FORMAT_I8_UNORM) at ../../../../src/gallium/auxiliary/util/u_format.h:493 493 { 494 uint bits = util_format_get_blocksizebits(format); util_format_get_blocksizebits (format=PIPE_FORMAT_I8_UNORM) at ../../../../src/gallium/auxiliary/util/u_format.h:478 478 const struct util_format_description *desc = util_format_description(format); util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17171 17171 { 17172 if (format >= PIPE_FORMAT_COUNT) { 17176 switch (format) { 17210 return &util_format_a8_unorm_description; util_format_description (format=PIPE_FORMAT_I8_UNORM) at util/u_format_table.c:17212 17212 return &util_format_i8_unorm_description; util_format_get_blocksizebits (format=) at ../../../../src/gallium/auxiliary/util/u_format.h:480 480 assert(desc); 485 return desc->block.bits; util_format_get_blocksize (format=) at ../../../../src/gallium/auxiliary/util/u_format.h:496 496 assert(bits % 8 == 0); 499 } nvfx_surface_format (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at nvfx_surface.c:490 490 } nvfx_resource_copy_region (pipe=0x806ada8, dstr=0x812a108, subdst=..., dstx=0, dsty=0, dstz=0, srcr=0x812a4c8, subsrc=..., srcx=0, srcy=0, srcz=0, w=512, h=32) at nvfx_surface.c:272 272 ret = nv04_region_copy_2d(ctx, &dst, &src, w, h, nv04_region_copy_2d (ctx=0x8068c30, dst=0xbffe6ed8, src=0xbffe6eb0, w=512, h=32, cs2d_format=1, sifm_format=8, dst_to_gpu=1, src_on_gpu=1) at nv04_2d.c:1005 1005 { 1006 assert(src->bpps == dst->bpps); 1020 if(!dst->pitch == !src->pitch 1041 if((!dst_to_gpu && !src_on_gpu) 1042 || (!dst->pitch && dst->d > 1) 1041 if((!dst_to_gpu && !src_on_gpu) nv04_region_copy_2d (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x20, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:1042 1042 || (!dst->pitch && dst->d > 1) nv04_region_copy_2d (ctx=0x8068c30, dst=0xbffe6ed8, src=0xbffe6eb0, w=512, h=32, cs2d_format=1, sifm_format=8, dst_to_gpu=1, src_on_gpu=1) at nv04_2d.c:1050 1050 else if(!src->pitch) 1060 if (!dst->pitch) 1062 if(cs2d_format < 0 || sifm_format < 0 || !dst_to_gpu) 1071 assert(!nv04_region_align(dst, w, h, 6)); nv04_region_align (ctx=0x8068c30, dst=0xbffe6ed8, src=0xbffe6eb0, w=512, h=32, cs2d_format=1, sifm_format=8, dst_to_gpu=1, src_on_gpu=1) at nv04_2d.c:456 456 if(rgn->offset & ((1 << shift) - 1)) nv04_region_copy_2d (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x20, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:1071 1071 assert(!nv04_region_align(dst, w, h, 6)); 1073 nv04_region_copy_swizzle(ctx, dst, src, w, h, cs2d_format, sifm_format); nv04_region_copy_swizzle (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x20, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:732 732 struct nouveau_channel *chan = ctx->swzsurf->channel; 734 struct nouveau_grobj *sifm = ctx->sifm; 739 unsigned sx = dst->x >> max_shift; 745 if(dst->w < cw) 747 if(dst->h < ch) 749 chunk_size = cw * ch << dst->bpps; 760 nv04_region_assert(dst, w, h); nv04_region_assert (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x20, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:246 246 unsigned end = rgn->offset + nv04_region_end(rgn, w, h); nv04_region_end (rgn=0xbffe6ed8, w=512, h=32) at nv04_2d.c:217 217 { 218 if(rgn->pitch) 221 return (nv04_swizzle_bits(rgn->x + w - 1, rgn->y + h - 1, rgn->z, rgn->w, rgn->h, rgn->d) + 1) << rgn->bpps; nv04_swizzle_bits (rgn=0xbffe6ed8, w=512, h=32) at nv04_2d.c:163 163 if(d <= 1) nv04_region_end (rgn=0xbffe6ed8, w=512, h=135238752) at nv04_2d.c:221 221 return (nv04_swizzle_bits(rgn->x + w - 1, rgn->y + h - 1, rgn->z, rgn->w, rgn->h, rgn->d) + 1) << rgn->bpps; nv04_swizzle_bits (rgn=0xbffe6ed8, w=512, h=135238752) at nv04_2d.c:221 221 return (nv04_swizzle_bits(rgn->x + w - 1, rgn->y + h - 1, rgn->z, rgn->w, rgn->h, rgn->d) + 1) << rgn->bpps; nv04_swizzle_bits_2d (rgn=0xbffe6ed8, w=512, h=135238752) at nv04_2d.c:149 149 if(h <= 1) 153 unsigned s = MIN2(w, h); 154 unsigned m = s - 1; 155 return (((x | y) & ~m) * s) | nv04_swizzle_bits_square(x & m, y & m); nv04_swizzle_bits_square (rgn=0xbffe6ed8, w=31, h=135238752) at nv04_2d.c:142 142 return v | u; nv04_swizzle_bits_2d (rgn=0xbffe6ed8, w=31, h=135238752) at nv04_2d.c:155 155 return (((x | y) & ~m) * s) | nv04_swizzle_bits_square(x & m, y & m); nv04_region_end (rgn=0xbffe6ed8, w=512, h=32) at nv04_2d.c:221 221 return (nv04_swizzle_bits(rgn->x + w - 1, rgn->y + h - 1, rgn->z, rgn->w, rgn->h, rgn->d) + 1) << rgn->bpps; 222 } nv04_region_assert (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x20, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:248 248 assert(rgn->offset <= (int)rgn->bo->size); 249 assert(end <= rgn->bo->size); 251 if(!rgn->pitch) { 252 assert(util_is_pot(rgn->w)); 253 assert(util_is_pot(rgn->h)); nv04_region_copy_swizzle (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x20, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:761 761 nv04_region_assert(src, w, h); nv04_region_assert (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x20, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:246 246 unsigned end = rgn->offset + nv04_region_end(rgn, w, h); nv04_region_end (rgn=0xbffe6eb0, w=512, h=32) at nv04_2d.c:217 217 { 218 if(rgn->pitch) 219 return rgn->pitch * (rgn->y + h - 1) + ((rgn->x + w) << rgn->bpps); 222 } nv04_region_assert (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x20, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:248 248 assert(rgn->offset <= (int)rgn->bo->size); 249 assert(end <= rgn->bo->size); 251 if(!rgn->pitch) { nv04_region_copy_swizzle (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:739 739 unsigned sx = dst->x >> max_shift; 740 unsigned sy = dst->y >> max_shift; 741 unsigned ex = (dst->x + w - 1) >> max_shift; 742 unsigned ey = (dst->y + h - 1) >> max_shift; 743 unsigned chunks = (ex - sx + 1) * (ey - sy + 1); 763 MARK_RING (chan, 8 + chunks * 17, 2 + chunks * 2); MARK_RING (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:55 55 return nouveau_pushbuf_marker_emit(chan, dwords, relocs); nouveau_pushbuf_marker_emit (chan=0x806cee8, wait_dwords=25, wait_relocs=4) at nouveau_pushbuf.c:288 288 if (AVAIL_RING(chan) < wait_dwords) AVAIL_RING (chan=0x806cee8, wait_dwords=25, wait_relocs=4) at nouveau_pushbuf.h:88 88 return chan->end - chan->cur; nouveau_pushbuf_marker_emit (chan=0x806cee8, wait_dwords=25, wait_relocs=4) at nouveau_pushbuf.c:288 288 if (AVAIL_RING(chan) < wait_dwords) 286 struct nouveau_pushbuf_priv *nvpb = &nouveau_channel(chan)->pb; 294 nvpb->marker = chan->cur; 295 nvpb->marker_offset = nvpb->current_offset; 296 nvpb->marker_push = nvpb->nr_push; 297 nvpb->marker_relocs = nvpb->nr_relocs; 299 } nv04_region_copy_swizzle (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:765 765 BEGIN_RING(chan, swzsurf, NV04_SWIZZLED_SURFACE_DMA_IMAGE, 1); BEGIN_RING (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:102 102 if (gr->bound == NOUVEAU_GROBJ_UNBOUND) 104 chan->subc[gr->subc].sequence = chan->subc_sequence++; 106 WAIT_RING(chan, size + 1); WAIT_RING (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:94 94 if (chan->cur + size > chan->end) BEGIN_RING (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:107 107 OUT_RING(chan, (gr->subc << 13) | (size << 18) | mthd); OUT_RING (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:67 67 *(chan->cur++) = (data); nv04_region_copy_swizzle (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:766 766 OUT_RELOCo(chan, dst->bo, OUT_RELOCo (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:172 172 return OUT_RELOC(chan, bo, 0, flags | NOUVEAU_BO_OR, OUT_RELOC (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:146 146 return nouveau_pushbuf_emit_reloc(chan, chan->cur++, bo, nouveau_pushbuf_emit_reloc (chan=0x806cee8, ptr=0xb693b694, bo=0x80ea680, data=0, data2=0, flags=265, vor=3203334657, tor=3203334658) at nouveau_pushbuf.c:335 335 ret = nouveau_reloc_emit(chan, nvpb->buffer[nvpb->current], nouveau_reloc_emit (chan=0x806cee8, reloc_bo=0x8068828, reloc_offset=1684, reloc_ptr=0xb693b694, bo=0x80ea680, data=0, data2=0, flags=265, vor=3203334657, tor=3203334658) at nouveau_reloc.c:60 60 struct nouveau_pushbuf_priv *nvpb = &nouveau_channel(chan)->pb; 71 if (nvbo->user && (flags & NOUVEAU_BO_WR)) { 79 if (!(nvbo->flags & (NOUVEAU_BO_GART | NOUVEAU_BO_VRAM))) 82 rpbbo = nouveau_bo_emit_buffer(chan, reloc_bo); nouveau_bo_emit_buffer (chan=0x806cee8, bo=0x8068828) at nouveau_bo.c:501 501 if (nvbo->pending) 541 } nouveau_reloc_emit (chan=0x806cee8, reloc_bo=0x8068828, reloc_offset=1684, reloc_ptr=0xb693b694, bo=0x80ea680, data=0, data2=0, flags=265, vor=3203334657, tor=3203334658) at nouveau_reloc.c:83 83 if (!rpbbo) 85 nouveau_bo(reloc_bo)->pending_refcnt++; 87 pbbo = nouveau_bo_emit_buffer(chan, bo); nouveau_bo_emit_buffer (chan=0x806cee8, bo=0x80ea680) at nouveau_bo.c:501 501 if (nvbo->pending) 498 struct nouveau_bo *ref = NULL; 504 if (!nvbo->handle) { 524 if (nvpb->nr_buffers >= NOUVEAU_GEM_MAX_BUFFERS) 526 pbbo = nvpb->buffers + nvpb->nr_buffers++; 527 nvbo->pending = pbbo; 528 nvbo->pending_channel = chan; 529 nvbo->pending_refcnt = 0; 531 nouveau_bo_ref(bo, &ref); nouveau_bo_ref (ref=0x80ea680, pbo=0xbffe6c8c) at nouveau_bo.c:345 345 if (!pbo) 348 if (ref) 349 nouveau_bo(ref)->refcount++; 351 if (*pbo) 354 *pbo = ref; 356 } nouveau_bo_emit_buffer (chan=0x806cee8, bo=0x80ea680) at nouveau_bo.c:532 532 pbbo->user_priv = (uint64_t)(unsigned long)ref; 533 pbbo->handle = nvbo->handle; 534 pbbo->valid_domains = NOUVEAU_GEM_DOMAIN_VRAM | NOUVEAU_GEM_DOMAIN_GART; 535 pbbo->read_domains = 0; 536 pbbo->write_domains = 0; 537 pbbo->presumed.domain = nvbo->domain; 538 pbbo->presumed.offset = nvbo->offset; 539 pbbo->presumed.valid = 1; 540 return pbbo; 541 } nouveau_reloc_emit (chan=0x806cee8, reloc_bo=0x8068828, reloc_offset=1684, reloc_ptr=0xb693b694, bo=0x80ea680, data=0, data2=0, flags=265, vor=3203334657, tor=3203334658) at nouveau_reloc.c:88 88 if (!pbbo) { 92 nouveau_bo(bo)->pending_refcnt++; 94 if (flags & NOUVEAU_BO_VRAM) 96 if (flags & NOUVEAU_BO_GART) 99 if (!(pbbo->valid_domains & domains)) { 103 pbbo->valid_domains &= domains; 105 assert(flags & NOUVEAU_BO_RDWR); 106 if (flags & NOUVEAU_BO_RD) { 109 if (flags & NOUVEAU_BO_WR) { 110 pbbo->write_domains |= domains; 111 nvbo->write_marker = 1; 114 r = nvpb->relocs + nvpb->nr_relocs++; 115 r->reloc_bo_index = rpbbo - nvpb->buffers; 116 r->reloc_bo_offset = reloc_offset; 117 r->bo_index = pbbo - nvpb->buffers; 118 r->flags = 0; 119 if (flags & NOUVEAU_BO_LOW) 121 if (flags & NOUVEAU_BO_HIGH) 123 if (flags & NOUVEAU_BO_OR) 124 r->flags |= NOUVEAU_GEM_RELOC_OR; 125 r->data = data; 126 r->vor = vor; 127 r->tor = tor; 129 if (reloc_ptr) { 130 if (flags & NOUVEAU_BO_DUMMY) 133 *reloc_ptr = nouveau_reloc_calc(pbbo, r); nouveau_reloc_calc (chan=0x806cee8, reloc_bo=0x8068828, reloc_offset=1684, reloc_ptr=0xb693b694, bo=0x80ea680, data=0, data2=0, flags=265, vor=3203334657, tor=3203334658) at nouveau_reloc.c:36 36 if (r->flags & NOUVEAU_GEM_RELOC_LOW) 39 if (r->flags & NOUVEAU_GEM_RELOC_HIGH) 44 if (r->flags & NOUVEAU_GEM_RELOC_OR) { 45 if (pbbo->presumed.domain & NOUVEAU_GEM_DOMAIN_VRAM) 46 push |= r->vor; nouveau_reloc_emit (chan=0x806cee8, reloc_bo=0x8068828, reloc_offset=1684, reloc_ptr=0xb693b694, bo=0x80ea680, data=3203334657, data2=0, flags=265, vor=3203334657, tor=3203334658) at nouveau_reloc.c:133 133 *reloc_ptr = nouveau_reloc_calc(pbbo, r); 137 } nouveau_pushbuf_emit_reloc (chan=0x806cee8, ptr=0xb693b694, bo=0x80ea680, data=0, data2=0, flags=265, vor=3203334657, tor=3203334658) at nouveau_pushbuf.c:342 342 } nv04_region_copy_swizzle (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:769 769 BEGIN_RING(chan, swzsurf, NV04_SWIZZLED_SURFACE_FORMAT, 1); BEGIN_RING (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:102 102 if (gr->bound == NOUVEAU_GROBJ_UNBOUND) 104 chan->subc[gr->subc].sequence = chan->subc_sequence++; 106 WAIT_RING(chan, size + 1); WAIT_RING (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:94 94 if (chan->cur + size > chan->end) BEGIN_RING (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:107 107 OUT_RING(chan, (gr->subc << 13) | (size << 18) | mthd); OUT_RING (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:67 67 *(chan->cur++) = (data); nv04_region_copy_swizzle (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:771 771 log2i(cw) << NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_SHIFT | log2i (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:85 85 if (i & 0xffff0000) { nv04_region_copy_swizzle (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:771 771 log2i(cw) << NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_SHIFT | log2i (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:89 89 if (i & 0x0000ff00) { 90 i >>= 8; 93 if (i & 0x000000f0) { 97 if (i & 0x0000000c) { 101 if (i & 0x00000002) { 102 r += 1; 772 log2i(ch) << NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_V_SHIFT); log2i (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:89 89 if (i & 0x0000ff00) { log2i (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:93 93 if (i & 0x000000f0) { 94 i >>= 4; 95 r += 4; 97 if (i & 0x0000000c) { 101 if (i & 0x00000002) { 102 r += 1; nv04_region_copy_swizzle (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:770 770 OUT_RING (chan, cs2d_format | OUT_RING (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:67 67 *(chan->cur++) = (data); nv04_region_copy_swizzle (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:774 774 BEGIN_RING(chan, sifm, NV03_SCALED_IMAGE_FROM_MEMORY_DMA_IMAGE, 1); BEGIN_RING (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:102 102 if (gr->bound == NOUVEAU_GROBJ_UNBOUND) 104 chan->subc[gr->subc].sequence = chan->subc_sequence++; 106 WAIT_RING(chan, size + 1); WAIT_RING (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:94 94 if (chan->cur + size > chan->end) BEGIN_RING (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:107 107 OUT_RING(chan, (gr->subc << 13) | (size << 18) | mthd); OUT_RING (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:67 67 *(chan->cur++) = (data); nv04_region_copy_swizzle (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at nv04_2d.c:775 775 OUT_RELOCo(chan, src->bo, OUT_RELOCo (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:172 172 return OUT_RELOC(chan, bo, 0, flags | NOUVEAU_BO_OR, OUT_RELOC (ctx=0xa4f92301, dst=0xbffe6ed8, src=0x8139578, w=-1214251008, h=0, cs2d_format=0, sifm_format=1, dst_to_gpu=155, src_on_gpu=-1214467312) at /usr/X11R7/include/nouveau/nouveau_pushbuf.h:146 146 return nouveau_pushbuf_emit_reloc(chan, chan->cur++, bo, nouveau_pushbuf_emit_reloc (chan=0x806cee8, ptr=0xb693b6a4, bo=0x8139578, data=0, data2=0, flags=263, vor=3203334657, tor=3203334658) at nouveau_pushbuf.c:335 335 ret = nouveau_reloc_emit(chan, nvpb->buffer[nvpb->current], nouveau_reloc_emit (chan=0x806cee8, reloc_bo=0x8068828, reloc_offset=1700, reloc_ptr=0xb693b6a4, bo=0x8139578, data=0, data2=0, flags=263, vor=3203334657, tor=3203334658) at nouveau_reloc.c:60 60 struct nouveau_pushbuf_priv *nvpb = &nouveau_channel(chan)->pb; 71 if (nvbo->user && (flags & NOUVEAU_BO_WR)) { 79 if (!(nvbo->flags & (NOUVEAU_BO_GART | NOUVEAU_BO_VRAM))) 80 nvbo->flags |= (flags & (NOUVEAU_BO_GART | NOUVEAU_BO_VRAM)); 82 rpbbo = nouveau_bo_emit_buffer(chan, reloc_bo); nouveau_bo_emit_buffer (chan=0x806cee8, bo=0x8068828) at nouveau_bo.c:501 501 if (nvbo->pending) 541 } nouveau_reloc_emit (chan=0x806cee8, reloc_bo=0x8068828, reloc_offset=1700, reloc_ptr=0xb693b6a4, bo=0x8139578, data=0, data2=0, flags=263, vor=3203334657, tor=3203334658) at nouveau_reloc.c:83 83 if (!rpbbo) 85 nouveau_bo(reloc_bo)->pending_refcnt++; 87 pbbo = nouveau_bo_emit_buffer(chan, bo); nouveau_bo_emit_buffer (chan=0x806cee8, bo=0x8139578) at nouveau_bo.c:501 501 if (nvbo->pending) 498 struct nouveau_bo *ref = NULL; 504 if (!nvbo->handle) { 505 ret = nouveau_bo_kalloc(nvbo, chan); nouveau_bo_kalloc (nvbo=0x8139578, chan=0x806cee8) at nouveau_bo.c:114 114 struct nouveau_device_priv *nvdev = nouveau_device(nvbo->base.device); 119 if (nvbo->handle) 122 req.channel_hint = chan ? chan->id : 0; 123 req.align = nvbo->align; 126 info->size = nvbo->size; 127 info->domain = 0; 129 if (nvbo->flags & NOUVEAU_BO_VRAM) 130 info->domain |= NOUVEAU_GEM_DOMAIN_VRAM; 131 if (nvbo->flags & NOUVEAU_BO_GART) 132 info->domain |= NOUVEAU_GEM_DOMAIN_GART; 138 if (nvbo->flags & NOUVEAU_BO_MAP) 139 info->domain |= NOUVEAU_GEM_DOMAIN_MAPPABLE; 141 info->tile_mode = nvbo->base.tile_mode; 142 info->tile_flags = nvbo->base.tile_flags; 144 ret = drmCommandWriteRead(nvdev->fd, DRM_NOUVEAU_GEM_NEW, drmCommandWriteRead (fd=7, drmCommandIndex=64, data=0xbffe6c30, size=48) at xf86drm.c:2447 2447 if (drmIoctl(fd, request, data)) drmIoctl (fd=7, request=3224396928, arg=0xbffe6c30) at xf86drm.c:184 184 ret = ioctl(fd, request, arg); 185 } while (ret == -1 && (errno == EINTR || errno == EAGAIN)); 187 } drmCommandWriteRead (fd=7, drmCommandIndex=64, data=0xbffe6c30, size=48) at xf86drm.c:2450 2450 } nouveau_bo_kalloc (nvbo=0x8139578, chan=) at nouveau_bo.c:146 146 if (ret) 149 nouveau_bo_info(nvbo, &req.info); nouveau_bo_info (nvbo=0x8139578, chan=) at nouveau_bo.c:49 49 nvbo->handle = nvbo->base.handle = arg->handle; 50 nvbo->domain = arg->domain; 51 nvbo->size = arg->size; 52 nvbo->offset = arg->offset; 53 nvbo->map_handle = arg->map_handle; 54 nvbo->base.tile_mode = arg->tile_mode; 55 nvbo->base.tile_flags = arg->tile_flags; nouveau_bo_kalloc (nvbo=0x8139578, chan=) at nouveau_bo.c:151 151 } nouveau_bo_emit_buffer (chan=0x806cee8, bo=0x8139578) at nouveau_bo.c:506 506 if (ret) 509 if (nvbo->sysmem) { 512 nvbo->sysmem = NULL; 513 ret = nouveau_bo_map(bo, NOUVEAU_BO_WR); nouveau_bo_map (bo=0x8139578, flags=8) at nouveau_bo.c:448 448 return nouveau_bo_map_range(bo, 0, bo->size, flags); nouveau_bo_map_range (bo=0x8139578, delta=0, size=16384, flags=8) at nouveau_bo.c:403 403 if (!nvbo || bo->map) 406 if (!nouveau_bo_allocated(nvbo)) { nouveau_bo_allocated (bo=0x8139578, delta=0, size=16384, flags=8) at nouveau_bo.c:62 62 if (nvbo->sysmem || nvbo->handle) 423 ret = nouveau_bo_kmap(nvbo); nouveau_bo_kmap (bo=0x8139578, delta=0, size=16384, flags=8) at nouveau_bo.c:156 156 struct nouveau_device_priv *nvdev = nouveau_device(nvbo->base.device); 158 if (nvbo->map) nouveau_bo_map_range (bo=0x8139578, delta=0, size=16384, flags=8) at nouveau_bo.c:423 423 ret = nouveau_bo_kmap(nvbo); nouveau_bo_kmap (bo=0x8139578, delta=0, size=16384, flags=8) at nouveau_bo.c:161 161 if (!nvbo->map_handle) 164 nvbo->map = mmap(0, nvbo->size, PROT_READ | PROT_WRITE, 166 if (nvbo->map == MAP_FAILED) { nouveau_bo_map_range (bo=0x8139578, delta=0, size=16384, flags=8) at nouveau_bo.c:427 427 if (!(flags & NOUVEAU_BO_NOSYNC)) { 428 ret = nouveau_bo_wait(bo, (flags & NOUVEAU_BO_WR), nouveau_bo_wait (bo=0x8139578, cpu_write=8, no_wait=0, no_block=0) at nouveau_bo.c:361 361 struct nouveau_device_priv *nvdev = nouveau_device(bo->device); 366 if (!nvbo->global_handle && !nvbo->write_marker && !cpu_write) 369 if (nvbo->pending && 375 req.handle = nvbo->handle; 378 req.flags |= NOUVEAU_GEM_CPU_PREP_WRITE; 379 if (no_wait) 381 if (no_block) 385 ret = drmCommandWrite(nvdev->fd, DRM_NOUVEAU_GEM_CPU_PREP, drmCommandWrite (fd=7, drmCommandIndex=66, data=0xbffe6bd8, size=8) at xf86drm.c:2418 2418 if (drmIoctl(fd, request, data)) { drmIoctl (fd=7, request=1074291842, arg=0xbffe6bd8) at xf86drm.c:184 184 ret = ioctl(fd, request, arg); 185 } while (ret == -1 && (errno == EINTR || errno == EAGAIN)); 187 } drmCommandWrite (fd=7, drmCommandIndex=66, data=0xbffe6bd8, size=8) at xf86drm.c:2422 2422 } nouveau_bo_wait (bo=0x8139578, cpu_write=, no_wait=0, no_block=0) at nouveau_bo.c:387 387 } while (ret == -EAGAIN); 388 if (ret) 392 nvbo->write_marker = 0; 394 } nouveau_bo_map_range (bo=0x8139578, delta=0, size=16384, flags=8) at nouveau_bo.c:430 430 if (ret) 434 bo->map = (char *)nvbo->map + delta; 438 } nouveau_bo_map (bo=0x8139578, flags=8) at nouveau_bo.c:449 449 } nouveau_bo_emit_buffer (chan=0x806cee8, bo=0x8139578) at nouveau_bo.c:514 514 if (ret) 516 nvbo->sysmem = sysmem_tmp; 518 memcpy(bo->map, nvbo->sysmem, nvbo->base.size); 519 nouveau_bo_ufree(nvbo); nouveau_bo_ufree (chan=0x806cee8, bo=0x8139578) at nouveau_bo.c:85 85 if (nvbo->sysmem) {