aux/trace: add a bunch of methods for lavapipe
with all of these, lavapipe can now be traced Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9958>
This commit is contained in:
parent
c1270d4845
commit
539c7ca508
|
@ -837,6 +837,23 @@ trace_context_set_polygon_stipple(struct pipe_context *_pipe,
|
|||
trace_dump_call_end();
|
||||
}
|
||||
|
||||
static void
|
||||
trace_context_set_min_samples(struct pipe_context *_pipe,
|
||||
unsigned min_samples)
|
||||
{
|
||||
struct trace_context *tr_ctx = trace_context(_pipe);
|
||||
struct pipe_context *pipe = tr_ctx->pipe;
|
||||
|
||||
trace_dump_call_begin("pipe_context", "set_min_samples");
|
||||
|
||||
trace_dump_arg(ptr, pipe);
|
||||
trace_dump_arg(uint, min_samples);
|
||||
|
||||
pipe->set_min_samples(pipe, min_samples);
|
||||
|
||||
trace_dump_call_end();
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
trace_context_set_scissor_states(struct pipe_context *_pipe,
|
||||
|
@ -2018,6 +2035,7 @@ trace_context_create(struct trace_screen *tr_scr,
|
|||
TR_CTX_INIT(set_framebuffer_state);
|
||||
TR_CTX_INIT(set_inlinable_constants);
|
||||
TR_CTX_INIT(set_polygon_stipple);
|
||||
TR_CTX_INIT(set_min_samples);
|
||||
TR_CTX_INIT(set_scissor_states);
|
||||
TR_CTX_INIT(set_viewport_states);
|
||||
TR_CTX_INIT(set_sampler_views);
|
||||
|
|
|
@ -350,6 +350,134 @@ trace_screen_get_device_uuid(struct pipe_screen *_screen, char *uuid)
|
|||
* texture
|
||||
*/
|
||||
|
||||
static void *
|
||||
trace_screen_map_memory(struct pipe_screen *_screen,
|
||||
struct pipe_memory_allocation *pmem)
|
||||
{
|
||||
struct trace_screen *tr_scr = trace_screen(_screen);
|
||||
struct pipe_screen *screen = tr_scr->screen;
|
||||
void *result;
|
||||
|
||||
trace_dump_call_begin("pipe_screen", "map_memory");
|
||||
|
||||
trace_dump_arg(ptr, screen);
|
||||
trace_dump_arg(ptr, pmem);
|
||||
|
||||
result = screen->map_memory(screen, pmem);
|
||||
|
||||
trace_dump_ret(ptr, result);
|
||||
|
||||
trace_dump_call_end();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static void
|
||||
trace_screen_unmap_memory(struct pipe_screen *_screen,
|
||||
struct pipe_memory_allocation *pmem)
|
||||
{
|
||||
struct trace_screen *tr_scr = trace_screen(_screen);
|
||||
struct pipe_screen *screen = tr_scr->screen;
|
||||
|
||||
trace_dump_call_begin("pipe_screen", "unmap_memory");
|
||||
|
||||
trace_dump_arg(ptr, screen);
|
||||
trace_dump_arg(ptr, pmem);
|
||||
|
||||
screen->unmap_memory(screen, pmem);
|
||||
|
||||
|
||||
trace_dump_call_end();
|
||||
}
|
||||
|
||||
static struct pipe_memory_allocation *
|
||||
trace_screen_allocate_memory(struct pipe_screen *_screen,
|
||||
uint64_t size)
|
||||
{
|
||||
struct trace_screen *tr_scr = trace_screen(_screen);
|
||||
struct pipe_screen *screen = tr_scr->screen;
|
||||
struct pipe_memory_allocation *result;
|
||||
|
||||
trace_dump_call_begin("pipe_screen", "allocate_memory");
|
||||
|
||||
trace_dump_arg(ptr, screen);
|
||||
trace_dump_arg(uint, size);
|
||||
|
||||
result = screen->allocate_memory(screen, size);
|
||||
|
||||
trace_dump_ret(ptr, result);
|
||||
|
||||
trace_dump_call_end();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static void
|
||||
trace_screen_free_memory(struct pipe_screen *_screen,
|
||||
struct pipe_memory_allocation *pmem)
|
||||
{
|
||||
struct trace_screen *tr_scr = trace_screen(_screen);
|
||||
struct pipe_screen *screen = tr_scr->screen;
|
||||
|
||||
trace_dump_call_begin("pipe_screen", "free_memory");
|
||||
|
||||
trace_dump_arg(ptr, screen);
|
||||
trace_dump_arg(ptr, pmem);
|
||||
|
||||
screen->free_memory(screen, pmem);
|
||||
|
||||
|
||||
trace_dump_call_end();
|
||||
}
|
||||
|
||||
static void
|
||||
trace_screen_resource_bind_backing(struct pipe_screen *_screen,
|
||||
struct pipe_resource *resource,
|
||||
struct pipe_memory_allocation *pmem,
|
||||
uint64_t offset)
|
||||
{
|
||||
struct trace_screen *tr_scr = trace_screen(_screen);
|
||||
struct pipe_screen *screen = tr_scr->screen;
|
||||
|
||||
trace_dump_call_begin("pipe_screen", "resource_bind_backing");
|
||||
|
||||
trace_dump_arg(ptr, screen);
|
||||
trace_dump_arg(ptr, resource);
|
||||
trace_dump_arg(ptr, pmem);
|
||||
trace_dump_arg(uint, offset);
|
||||
|
||||
screen->resource_bind_backing(screen, resource, pmem, offset);
|
||||
|
||||
trace_dump_call_end();
|
||||
}
|
||||
|
||||
static struct pipe_resource *
|
||||
trace_screen_resource_create_unbacked(struct pipe_screen *_screen,
|
||||
const struct pipe_resource *templat,
|
||||
uint64_t *size_required)
|
||||
{
|
||||
struct trace_screen *tr_scr = trace_screen(_screen);
|
||||
struct pipe_screen *screen = tr_scr->screen;
|
||||
struct pipe_resource *result;
|
||||
|
||||
trace_dump_call_begin("pipe_screen", "resource_create_unbacked");
|
||||
|
||||
trace_dump_arg(ptr, screen);
|
||||
trace_dump_arg(resource_template, templat);
|
||||
|
||||
result = screen->resource_create_unbacked(screen, templat, size_required);
|
||||
|
||||
trace_dump_ret_begin();
|
||||
trace_dump_uint(*size_required);
|
||||
trace_dump_ret_end();
|
||||
trace_dump_ret(ptr, result);
|
||||
|
||||
trace_dump_call_end();
|
||||
|
||||
if (result)
|
||||
result->screen = _screen;
|
||||
return result;
|
||||
}
|
||||
|
||||
static struct pipe_resource *
|
||||
trace_screen_resource_create(struct pipe_screen *_screen,
|
||||
|
@ -746,7 +874,13 @@ trace_screen_create(struct pipe_screen *screen)
|
|||
assert(screen->context_create);
|
||||
tr_scr->base.context_create = trace_screen_context_create;
|
||||
tr_scr->base.resource_create = trace_screen_resource_create;
|
||||
tr_scr->base.resource_create_unbacked = trace_screen_resource_create_unbacked;
|
||||
tr_scr->base.resource_bind_backing = trace_screen_resource_bind_backing;
|
||||
tr_scr->base.resource_from_handle = trace_screen_resource_from_handle;
|
||||
tr_scr->base.allocate_memory = trace_screen_allocate_memory;
|
||||
tr_scr->base.free_memory = trace_screen_free_memory;
|
||||
tr_scr->base.map_memory = trace_screen_map_memory;
|
||||
tr_scr->base.unmap_memory = trace_screen_unmap_memory;
|
||||
SCR_INIT(check_resource_capability);
|
||||
tr_scr->base.resource_get_handle = trace_screen_resource_get_handle;
|
||||
SCR_INIT(resource_get_param);
|
||||
|
|
Loading…
Reference in New Issue