Skip to content

Commit

Permalink
Added Debug logs
Browse files Browse the repository at this point in the history
Change-Id: Ie48186a54a76e8b258cb14c60b3f2ba53be46597
  • Loading branch information
disantkumar committed May 31, 2024
1 parent affd358 commit f5511b8
Show file tree
Hide file tree
Showing 29 changed files with 109 additions and 5 deletions.
1 change: 1 addition & 0 deletions src/egl/drivers/dri2/egl_dri2.c
Original file line number Diff line number Diff line change
Expand Up @@ -2900,6 +2900,7 @@ dri2_create_drm_image_mesa(_EGLDisplay *disp, const EGLint *attr_list)

_eglInitImage(&dri2_img->base, disp);

log_info("dri2_create_drm_image_mesa::dri2_dpy->image->createImage\n");
dri2_img->dri_image =
dri2_dpy->image->createImage(dri2_dpy->dri_screen_render_gpu, attrs.Width,
attrs.Height, format, dri_use, dri2_img);
Expand Down
1 change: 1 addition & 0 deletions src/egl/drivers/dri2/platform_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ static __DRIimage *
device_alloc_image(struct dri2_egl_display *dri2_dpy,
struct dri2_egl_surface *dri2_surf)
{
log_info("device_alloc_image::dri2_dpy->image->createImage\n");
return dri2_dpy->image->createImage(
dri2_dpy->dri_screen_render_gpu, dri2_surf->base.Width,
dri2_surf->base.Height, dri2_surf->visual, 0, NULL);
Expand Down
1 change: 1 addition & 0 deletions src/egl/drivers/dri2/platform_drm.c
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,7 @@ get_back_bo(struct dri2_egl_surface *dri2_surf)
unsigned flags = surf->base.v0.flags;
if (dri2_surf->base.ProtectedContent)
flags |= GBM_BO_USE_PROTECTED;
printf(">>>>> mesa::get_back_bo\n");
dri2_surf->back->bo =
gbm_bo_create(&dri2_dpy->gbm_dri->base, surf->base.v0.width,
surf->base.v0.height, surf->base.v0.format, flags);
Expand Down
1 change: 1 addition & 0 deletions src/egl/drivers/dri2/platform_surfaceless.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ static __DRIimage *
surfaceless_alloc_image(struct dri2_egl_display *dri2_dpy,
struct dri2_egl_surface *dri2_surf)
{
log_info("surfaceless_alloc_image::dri2_dpy->image->createImage\n");
return dri2_dpy->image->createImage(
dri2_dpy->dri_screen_render_gpu, dri2_surf->base.Width,
dri2_surf->base.Height, dri2_surf->visual, 0, NULL);
Expand Down
4 changes: 4 additions & 0 deletions src/egl/drivers/dri2/platform_wayland.c
Original file line number Diff line number Diff line change
Expand Up @@ -933,6 +933,7 @@ create_dri_image_from_dmabuf_feedback(struct dri2_egl_surface *dri2_surf,
if (tranche->flags & ZWP_LINUX_DMABUF_FEEDBACK_V1_TRANCHE_FLAGS_SCANOUT)
flags |= __DRI_IMAGE_USE_SCANOUT;

log_info("create_dri_image_from_dmabuf_feedback::loader_dri_create_image\n");
dri2_surf->back->dri_image = loader_dri_create_image(
dri2_dpy->dri_screen_render_gpu, dri2_dpy->image,
dri2_surf->base.Width, dri2_surf->base.Height, pipe_format,
Expand Down Expand Up @@ -969,6 +970,7 @@ create_dri_image(struct dri2_egl_surface *dri2_surf,
/* If our DRIImage implementation does not support createImageWithModifiers,
* then fall back to the old createImage, and hope it allocates an image
* which is acceptable to the winsys. */
log_info("create_dri_image::loader_dri_create_image\n");
dri2_surf->back->dri_image = loader_dri_create_image(
dri2_dpy->dri_screen_render_gpu, dri2_dpy->image, dri2_surf->base.Width,
dri2_surf->base.Height, pipe_format,
Expand Down Expand Up @@ -1052,6 +1054,7 @@ get_back_bo(struct dri2_egl_surface *dri2_surf)
__DRIimage *linear_copy_display_gpu_image = NULL;

if (dri2_dpy->dri_screen_display_gpu) {
log_info("get_back_bo::dri_screen_display_gpu::loader_dri_create_image\n");
linear_copy_display_gpu_image = loader_dri_create_image(
dri2_dpy->dri_screen_display_gpu, dri2_dpy->image,
dri2_surf->base.Width, dri2_surf->base.Height,
Expand Down Expand Up @@ -1137,6 +1140,7 @@ get_back_bo(struct dri2_egl_surface *dri2_surf)
}

if (!dri2_surf->back->linear_copy) {
log_info("get_back_bo::!dri2_surf->back->linear_copy::loader_dri_create_image\n");
dri2_surf->back->linear_copy = loader_dri_create_image(
dri2_dpy->dri_screen_render_gpu, dri2_dpy->image,
dri2_surf->base.Width, dri2_surf->base.Height,
Expand Down
4 changes: 4 additions & 0 deletions src/gallium/auxiliary/target-helpers/drm_helper.h
Original file line number Diff line number Diff line change
Expand Up @@ -268,14 +268,18 @@ pipe_virtio_gpu_create_screen(int fd, const struct pipe_screen_config *config)
{
struct pipe_screen *screen = NULL;

log_info("pipe_virtio_gpu_create_screen\n");
/* Try native guest driver(s) first, and then fallback to virgl: */
#ifdef GALLIUM_FREEDRENO
if (!screen)
screen = fd_drm_screen_create_renderonly(fd, NULL, config);
#endif
#ifdef GALLIUM_VIRGL
if (!screen)
{
log_info("pipe_virtio_gpu_create_screen::virgl_drm_screen_create\n");
screen = virgl_drm_screen_create(fd, config);
}
#endif
return screen ? debug_screen_wrap(screen) : NULL;
}
Expand Down
11 changes: 11 additions & 0 deletions src/gallium/auxiliary/util/u_inlines.h
Original file line number Diff line number Diff line change
Expand Up @@ -938,6 +938,17 @@ util_set_vertex_buffers(struct pipe_context *pipe,
pipe->set_vertex_buffers(pipe, num_buffers, buffers);
}

static inline void
log_format(const char* tag, const char* fn, const char* line, const char* message, va_list args)
{
printf(">>>> [%ld] %s::MESA::%s[%s] ::",(long)getpid(),tag,fn,line);
vprintf(message, args);
printf("\n");
}

#define log_info(const char* message, ...)\
{ va_list args; va_start(args, message); log_format("info",__func__,__LINE__, message, args); va_end(args); }

#ifdef __cplusplus
}
#endif
Expand Down
5 changes: 5 additions & 0 deletions src/gallium/auxiliary/vl/vl_winsys_dri3.c
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,7 @@ dri3_alloc_back_buffer(struct vl_dri3_screen *scrn)
struct pipe_resource templ, *pixmap_buffer_texture;
struct winsys_handle whandle;

log_info("dri3_alloc_back_buffer\n");
buffer = CALLOC_STRUCT(vl_dri3_buffer);
if (!buffer)
return NULL;
Expand All @@ -262,20 +263,23 @@ dri3_alloc_back_buffer(struct vl_dri3_screen *scrn)
templ.array_size = 1;

if (scrn->is_different_gpu) {
log_info("dri3_alloc_back_buffer::resource_create::is_different_gpu\n");
buffer->texture = (scrn->output_texture) ? scrn->output_texture :
scrn->base.pscreen->resource_create(scrn->base.pscreen, &templ);
if (!buffer->texture)
goto unmap_shm;

templ.bind |= PIPE_BIND_SCANOUT | PIPE_BIND_SHARED |
PIPE_BIND_LINEAR;
log_info("dri3_alloc_back_buffer::resource_create::is_different_gpu::PIPE_BIND_SCANOUT/SHARED/LINEAR\n");
buffer->linear_texture =
scrn->base.pscreen->resource_create(scrn->base.pscreen, &templ);
pixmap_buffer_texture = buffer->linear_texture;

if (!buffer->linear_texture)
goto no_linear_texture;
} else {
log_info("dri3_alloc_back_buffer::resource_create::else\n");
templ.bind |= PIPE_BIND_SCANOUT | PIPE_BIND_SHARED;
buffer->texture = (scrn->output_texture) ? scrn->output_texture :
scrn->base.pscreen->resource_create(scrn->base.pscreen, &templ);
Expand Down Expand Up @@ -311,6 +315,7 @@ dri3_alloc_back_buffer(struct vl_dri3_screen *scrn)

xshmfence_trigger(buffer->shm_fence);

log_info("dri3_alloc_back_buffer::returned\n");
return buffer;

no_linear_texture:
Expand Down
1 change: 1 addition & 0 deletions src/gallium/auxiliary/vl/vl_winsys_xlib_swrast.c
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ vl_swrast_texture_from_drawable(struct vl_screen *vscreen, void *drawable)
templat.last_level = 0;
templat.bind = (PIPE_BIND_RENDER_TARGET | PIPE_BIND_DISPLAY_TARGET);

log_info("vl_swrast_texture_from_drawable::vscreen->pscreen->resource_create\n");
scrn->drawable_texture = vscreen->pscreen->resource_create(vscreen->pscreen, &templat);
} else {
struct pipe_resource *drawable_texture = NULL;
Expand Down
8 changes: 7 additions & 1 deletion src/gallium/drivers/virgl/virgl_resource.c
Original file line number Diff line number Diff line change
Expand Up @@ -449,6 +449,7 @@ virgl_resource_realloc(struct virgl_context *vctx, struct virgl_resource *res)

int alloc_size = res->use_staging ? 1 : res->metadata.total_size;

log_info("virgl_resource_realloc::resource_create\n");
hw_res = vs->vws->resource_create(vs->vws,
templ->target,
NULL,
Expand Down Expand Up @@ -618,10 +619,12 @@ static void virgl_resource_layout(struct pipe_resource *pt,
nblocksy = util_format_get_nblocksy(pt->format, height);
if ((pt->bind & (PIPE_BIND_SCANOUT | PIPE_BIND_SHARED)) == (PIPE_BIND_SCANOUT | PIPE_BIND_SHARED)) {
/* Shared scanout buffers need to be aligned to 256 bytes */
metadata->stride[level] = ALIGN(util_format_get_stride(pt->format, width), 256);
metadata->stride[level] = ALIGN( (winsys_stride ? winsys_stride : util_format_get_stride(pt->format, width)), 256);
log_info("virgl_resource_layout::SCANOUT/SHARED::metadata->stride[level]::%d\n",metadata->stride[level]);
} else {
metadata->stride[level] = winsys_stride ? winsys_stride :
util_format_get_stride(pt->format, width);
log_info("virgl_resource_layout::metadata->stride[level]::%d\n",metadata->stride[level]);
}
metadata->layer_stride[level] = nblocksy * metadata->stride[level];
metadata->level_offset[level] = buffer_size;
Expand Down Expand Up @@ -677,6 +680,7 @@ static struct pipe_resource *virgl_resource_create_front(struct pipe_screen *scr
else
alloc_size = res->metadata.total_size;

log_info("virgl_resource_create_front::vs->vws->resource_create\n");
res->hw_res = vs->vws->resource_create(vs->vws, templ->target,
map_front_private,
templ->format, vbind,
Expand Down Expand Up @@ -732,6 +736,7 @@ static struct pipe_resource *virgl_resource_from_handle(struct pipe_screen *scre
pipe_reference_init(&res->b.reference, 1);

plane = winsys_stride = plane_offset = modifier = 0;
log_info("virgl_resource_from_handle::resource_create_from_handle\n");
res->hw_res = vs->vws->resource_create_from_handle(vs->vws, whandle,
&res->b,
&plane,
Expand All @@ -752,6 +757,7 @@ static struct pipe_resource *virgl_resource_from_handle(struct pipe_screen *scre
modifier = 0;
}

log_info("virgl_resource_from_handle::virgl_resource_layout\n");
virgl_resource_layout(&res->b, &res->metadata, plane, winsys_stride,
plane_offset, modifier);

Expand Down
1 change: 1 addition & 0 deletions src/gallium/drivers/virgl/virgl_screen.c
Original file line number Diff line number Diff line change
Expand Up @@ -1027,6 +1027,7 @@ static void virgl_query_memory_info(struct pipe_screen *screen, struct pipe_memo
.flags = 0
};

log_info("virgl_query_memory_info::screen->resource_create\n");
res = (struct virgl_resource*) screen->resource_create(screen, &templ);

virgl_encode_get_memory_info(vctx, res);
Expand Down
1 change: 1 addition & 0 deletions src/gallium/drivers/virgl/virgl_staging_mgr.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ virgl_staging_alloc_buffer(struct virgl_staging_mgr *staging, unsigned min_size)
*/
size = align(MAX2(staging->default_size, min_size), 4096);

log_info("virgl_staging_alloc_buffer::vws->resource_create\n");
staging->hw_res = vws->resource_create(vws,
PIPE_BUFFER,
NULL,
Expand Down
1 change: 1 addition & 0 deletions src/gallium/drivers/virgl/virgl_texture.c
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ static void *texture_transfer_map_resolve(struct pipe_context *ctx,

virgl_init_temp_resource_from_box(&templ, resource, &dst_box, level, 0, fmt);

log_info("texture_transfer_map_resolve::ctx->screen->resource_create\n");
resolve_tmp = ctx->screen->resource_create(ctx->screen, &templ);
if (!resolve_tmp)
return NULL;
Expand Down
13 changes: 12 additions & 1 deletion src/gallium/frontends/dri/dri2.c
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,7 @@ dri2_allocate_buffer(struct dri_screen *screen,
templ.depth0 = 1;
templ.array_size = 1;

log_info("dri2_allocate_buffer::screen->base.screen->resource_create\n");
buffer->resource =
screen->base.screen->resource_create(screen->base.screen, &templ);
if (!buffer->resource) {
Expand Down Expand Up @@ -639,6 +640,7 @@ dri2_allocate_textures(struct dri_context *ctx,
/* Allocate a new one. */
pipe_resource_reference(&drawable->msaa_textures[statt], NULL);

log_info("dri2_allocate_textures::screen->base.screen->resource_create\n");
drawable->msaa_textures[statt] =
screen->base.screen->resource_create(screen->base.screen,
&templ);
Expand Down Expand Up @@ -697,6 +699,7 @@ dri2_allocate_textures(struct dri_context *ctx,
(*zsbuf)->height0 != templ.height0) {
/* Allocate a new one. */
pipe_resource_reference(zsbuf, NULL);
log_info("dri2_allocate_textures::screen->base.screen->resource_create2\n");
*zsbuf = screen->base.screen->resource_create(screen->base.screen,
&templ);
assert(*zsbuf);
Expand Down Expand Up @@ -1251,15 +1254,20 @@ dri2_create_image_common(__DRIscreen *_screen,
templ.array_size = 1;

if (modifiers)
{
log_info("dri2_create_image_common::screen->base.screen->resource_create_with_modifiers\n");
img->texture =
screen->base.screen
->resource_create_with_modifiers(screen->base.screen,
&templ,
modifiers,
count);
else
}else
{
log_info("dri2_create_image_common::screen->base.screen->resource_create\n");
img->texture =
screen->base.screen->resource_create(screen->base.screen, &templ);
}
if (!img->texture) {
FREE(img);
return NULL;
Expand All @@ -1283,6 +1291,7 @@ dri2_create_image(__DRIscreen *_screen,
int width, int height, int format,
unsigned int use, void *loaderPrivate)
{
log_info("dri2_create_image::dri2_create_image_common\n");
return dri2_create_image_common(_screen, width, height, format, use,
NULL /* modifiers */, 0 /* count */,
loaderPrivate);
Expand All @@ -1295,6 +1304,7 @@ dri2_create_image_with_modifiers(__DRIscreen *dri_screen,
const unsigned count,
void *loaderPrivate)
{
log_info("dri2_create_image_with_modifiers::dri2_create_image_common\n");
return dri2_create_image_common(dri_screen, width, height, format,
__DRI_IMAGE_USE_SHARE, modifiers, count,
loaderPrivate);
Expand All @@ -1307,6 +1317,7 @@ dri2_create_image_with_modifiers2(__DRIscreen *dri_screen,
const unsigned count, unsigned int use,
void *loaderPrivate)
{
log_info("dri2_create_image_with_modifiers2::dri2_create_image_common\n");
return dri2_create_image_common(dri_screen, width, height, format, use,
modifiers, count, loaderPrivate);
}
Expand Down
1 change: 1 addition & 0 deletions src/gallium/frontends/dri/drisw.c
Original file line number Diff line number Diff line change
Expand Up @@ -426,6 +426,7 @@ drisw_allocate_textures(struct dri_context *stctx,
if (statts[i] == ST_ATTACHMENT_FRONT_LEFT &&
screen->base.screen->resource_create_front &&
loader->base.version >= 3) {
log_info("drisw_allocate_textures::screen->base.screen->resource_create_front\n");
drawable->textures[statts[i]] =
screen->base.screen->resource_create_front(screen->base.screen, &templ, (const void *)drawable);
} else
Expand Down
1 change: 1 addition & 0 deletions src/gallium/winsys/sw/wrapper/wrapper_sw_winsys.c
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@ wsw_dt_create(struct sw_winsys *ws,

/* XXX alignment: we can't do anything about this */

log_info("wsw_dt_create::wsw->screen->resource_create\n");
tex = wsw->screen->resource_create(wsw->screen, &templ);
if (!tex)
return NULL;
Expand Down
21 changes: 19 additions & 2 deletions src/gallium/winsys/virgl/drm/virgl_drm_winsys.c
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,7 @@ virgl_drm_winsys_resource_create_shared_scanout(struct virgl_winsys *qws,
blob_id = p_atomic_inc_return(&qdws->blob_id);
cmd[0] = VIRGL_CMD0(VIRGL_CCMD_PIPE_RESOURCE_CREATE, 0, VIRGL_PIPE_RES_CREATE_SIZE);
cmd[VIRGL_PIPE_RES_CREATE_FORMAT] = pipe_to_virgl_format(format);
//cmd[VIRGL_PIPE_RES_CREATE_FORMAT] = format;
cmd[VIRGL_PIPE_RES_CREATE_BIND] = bind;
cmd[VIRGL_PIPE_RES_CREATE_TARGET] = target;
cmd[VIRGL_PIPE_RES_CREATE_WIDTH] = width;
Expand Down Expand Up @@ -558,22 +559,34 @@ virgl_drm_winsys_resource_cache_create(struct virgl_winsys *qws,
if (target == PIPE_BUFFER && (bind & VIRGL_BIND_CUSTOM))
need_sync = true;

log_info("virgl_drm_winsys_resource_cache_create::format::%d ::bind::0x%x\n",format,bind);

if ((bind & (VIRGL_BIND_SCANOUT | VIRGL_BIND_SHARED)) == (VIRGL_BIND_SCANOUT | VIRGL_BIND_SHARED))
{
//format = 49;
log_info("virgl_drm_winsys_resource_cache_create::create_shared_scanout::format::%d ::bind::0x%x\n",format,bind);
res = virgl_drm_winsys_resource_create_shared_scanout(qws, target, format, bind,
width, height, depth,
array_size, last_level,
nr_samples, flags, size);
else if (flags & (VIRGL_RESOURCE_FLAG_MAP_PERSISTENT |
}
else
if (flags & (VIRGL_RESOURCE_FLAG_MAP_PERSISTENT |
VIRGL_RESOURCE_FLAG_MAP_COHERENT))
{
log_info("virgl_drm_winsys_resource_cache_create::blob::format::%d ::bind::0x%x\n",format,bind);
res = virgl_drm_winsys_resource_create_blob(qws, target, format, bind,
width, height, depth,
array_size, last_level,
nr_samples, flags, size);
}
else
{ log_info("virgl_drm_winsys_resource_cache_create::else::format::%d ::bind::0x%x\n",format,bind);
res = virgl_drm_winsys_resource_create(qws, target, format, bind, width,
height, depth, array_size,
last_level, nr_samples, size,
need_sync);
}
return res;
}

Expand Down Expand Up @@ -1337,7 +1350,7 @@ virgl_drm_winsys_create(int drmFD)
struct virgl_drm_winsys *qdws;
int drm_version;
int ret;

log_info("virgl_drm_winsys_create\n");
for (uint32_t i = 0; i < ARRAY_SIZE(params); i++) {
struct drm_virtgpu_getparam getparam = { 0 };
uint64_t value = 0;
Expand Down Expand Up @@ -1406,6 +1419,7 @@ virgl_drm_winsys_create(int drmFD)

qdws->base.supports_coherent = params[param_resource_blob].value &&
params[param_host_visible].value;
log_info("virgl_drm_winsys_create::return\n");
return &qdws->base;

}
Expand Down Expand Up @@ -1476,6 +1490,7 @@ virgl_drm_screen_create(int fd, const struct pipe_screen_config *config)
{
struct pipe_screen *pscreen = NULL;

log_info("virgl_drm_screen_create\n");
simple_mtx_lock(&virgl_screen_mutex);
if (!fd_tab) {
fd_tab = _mesa_hash_table_create(NULL, hash_fd, equal_fd);
Expand All @@ -1490,6 +1505,7 @@ virgl_drm_screen_create(int fd, const struct pipe_screen_config *config)
struct virgl_winsys *vws;
int dup_fd = os_dupfd_cloexec(fd);

log_info("virgl_drm_screen_create::virgl_drm_winsys_create\n");
vws = virgl_drm_winsys_create(dup_fd);
if (!vws) {
close(dup_fd);
Expand All @@ -1511,5 +1527,6 @@ virgl_drm_screen_create(int fd, const struct pipe_screen_config *config)

unlock:
simple_mtx_unlock(&virgl_screen_mutex);
log_info("virgl_drm_screen_create::return\n");
return pscreen;
}
1 change: 1 addition & 0 deletions src/gbm/backends/dri/gbm_dri.c
Original file line number Diff line number Diff line change
Expand Up @@ -981,6 +981,7 @@ gbm_dri_bo_create(struct gbm_device *gbm,
goto failed;
}

log_info("gbm_dri_bo_create::loader_dri_create_image\n");
bo->image = loader_dri_create_image(dri->screen, dri->image, width, height,
dri_format, dri_use, modifiers, count,
bo);
Expand Down
Loading

0 comments on commit f5511b8

Please sign in to comment.