mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 00:00:11 +01:00
gallium: add interface for driver queries like performance counters, etc.
The pipe query interface is reused. The list of available queries can be obtained using pipe_screen::get_driver_query_info. Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
parent
9cec5edea7
commit
8ddcd715b7
3 changed files with 24 additions and 1 deletions
|
|
@ -517,7 +517,7 @@ util_query_clear_result(union pipe_query_result *result, unsigned type)
|
|||
memset(&result->pipeline_statistics, 0, sizeof(result->pipeline_statistics));
|
||||
break;
|
||||
default:
|
||||
assert(0);
|
||||
memset(result, 0, sizeof(*result));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -397,6 +397,10 @@ enum pipe_flush_flags {
|
|||
#define PIPE_QUERY_PIPELINE_STATISTICS 10
|
||||
#define PIPE_QUERY_TYPES 11
|
||||
|
||||
/* start of driver queries,
|
||||
* see pipe_screen::get_driver_query_info */
|
||||
#define PIPE_QUERY_DRIVER_SPECIFIC 256
|
||||
|
||||
|
||||
/**
|
||||
* Conditional rendering modes
|
||||
|
|
@ -649,6 +653,14 @@ union pipe_color_union
|
|||
unsigned int ui[4];
|
||||
};
|
||||
|
||||
struct pipe_driver_query_info
|
||||
{
|
||||
const char *name;
|
||||
unsigned query_type; /* PIPE_QUERY_DRIVER_SPECIFIC + i */
|
||||
uint64_t max_value; /* max value that can be returned */
|
||||
boolean uses_byte_units; /* whether the result is in bytes */
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -206,6 +206,17 @@ struct pipe_screen {
|
|||
struct pipe_fence_handle *fence,
|
||||
uint64_t timeout );
|
||||
|
||||
/**
|
||||
* Returns a driver-specific query.
|
||||
*
|
||||
* If \p info is NULL, the number of available queries is returned.
|
||||
* Otherwise, the driver query at the specified \p index is returned
|
||||
* in \p info. The function returns non-zero on success.
|
||||
*/
|
||||
int (*get_driver_query_info)(struct pipe_screen *screen,
|
||||
unsigned index,
|
||||
struct pipe_driver_query_info *info);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue