mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 08:58:02 +02:00
auxiliary: add functions to describe gallium objects
This commit is contained in:
parent
63d010115c
commit
d46f91af68
4 changed files with 55 additions and 0 deletions
|
|
@ -92,6 +92,7 @@ C_SOURCES = \
|
|||
translate/translate.c \
|
||||
translate/translate_cache.c \
|
||||
util/u_debug.c \
|
||||
util/u_debug_describe.c \
|
||||
util/u_debug_symbol.c \
|
||||
util/u_debug_stack.c \
|
||||
util/u_dump_defines.c \
|
||||
|
|
|
|||
|
|
@ -146,6 +146,7 @@ source = [
|
|||
'util/u_caps.c',
|
||||
'util/u_cpu_detect.c',
|
||||
'util/u_debug.c',
|
||||
'util/u_debug_describe.c',
|
||||
'util/u_debug_memory.c',
|
||||
'util/u_debug_stack.c',
|
||||
'util/u_debug_symbol.c',
|
||||
|
|
|
|||
43
src/gallium/auxiliary/util/u_debug_describe.c
Normal file
43
src/gallium/auxiliary/util/u_debug_describe.c
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
#include <pipe/p_state.h>
|
||||
#include <util/u_format.h>
|
||||
#include <util/u_debug_describe.h>
|
||||
#include <util/u_string.h>
|
||||
|
||||
void
|
||||
debug_describe_reference(char* buf, const struct pipe_reference*ptr)
|
||||
{
|
||||
strcpy(buf, "pipe_object");
|
||||
}
|
||||
|
||||
void
|
||||
debug_describe_resource(char* buf, const struct pipe_resource *ptr)
|
||||
{
|
||||
if(ptr->target == PIPE_BUFFER)
|
||||
util_sprintf(buf, "pipe_buffer<%u>", util_format_get_stride(ptr->format, ptr->width0));
|
||||
else if(ptr->target == PIPE_TEXTURE_1D)
|
||||
util_sprintf(buf, "pipe_texture1d<%u,%s,%u>", ptr->width0, util_format_short_name(ptr->format), ptr->last_level);
|
||||
else if(ptr->target == PIPE_TEXTURE_2D)
|
||||
util_sprintf(buf, "pipe_texture2d<%u,%u,%s,%u>", ptr->width0, ptr->height0, util_format_short_name(ptr->format), ptr->last_level);
|
||||
else if(ptr->target == PIPE_TEXTURE_CUBE)
|
||||
util_sprintf(buf, "pipe_texture_cube<%u,%u,%s,%u>", ptr->width0, ptr->height0, util_format_short_name(ptr->format), ptr->last_level);
|
||||
else if(ptr->target == PIPE_TEXTURE_3D)
|
||||
util_sprintf(buf, "pipe_texture3d<%u,%u,%u,%s,%u>", ptr->width0, ptr->height0, ptr->depth0, util_format_short_name(ptr->format), ptr->last_level);
|
||||
else
|
||||
util_sprintf(buf, "pipe_martian_resource<%u>", ptr->target);
|
||||
}
|
||||
|
||||
void
|
||||
debug_describe_surface(char* buf, const struct pipe_surface *ptr)
|
||||
{
|
||||
char res[128];
|
||||
debug_describe_resource(res, ptr->texture);
|
||||
util_sprintf(buf, "pipe_surface<%s,%u,%u,%u>", res, ptr->face, ptr->level, ptr->zslice);
|
||||
}
|
||||
|
||||
void
|
||||
debug_describe_sampler_view(char* buf, const struct pipe_sampler_view *ptr)
|
||||
{
|
||||
char res[128];
|
||||
debug_describe_resource(res, ptr->texture);
|
||||
util_sprintf(buf, "pipe_sampler_view<%s,%s>", res, util_format_short_name(ptr->format));
|
||||
}
|
||||
10
src/gallium/auxiliary/util/u_debug_describe.h
Normal file
10
src/gallium/auxiliary/util/u_debug_describe.h
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#ifndef U_DEBUG_DESCRIBE_H_
|
||||
#define U_DEBUG_DESCRIBE_H_
|
||||
|
||||
/* a 256-byte buffer is necessary and sufficient */
|
||||
void debug_describe_reference(char* buf, const struct pipe_reference*ptr);
|
||||
void debug_describe_resource(char* buf, const struct pipe_resource *ptr);
|
||||
void debug_describe_surface(char* buf, const struct pipe_surface *ptr);
|
||||
void debug_describe_sampler_view(char* buf, const struct pipe_sampler_view *ptr);
|
||||
|
||||
#endif /* U_DEBUG_DESCRIBE_H_ */
|
||||
Loading…
Add table
Reference in a new issue