mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-02 10:08:08 +02:00
gallium: Add u_default_set_debug_callback
Drivers that don't use compile queues can use a common implementation. Drivers that do can tail call into the common implementation. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Reviewed-by: Emma Anholt <emma@anholt.net> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18351>
This commit is contained in:
parent
8318f73384
commit
c4b3dee8f3
3 changed files with 56 additions and 0 deletions
|
|
@ -230,6 +230,7 @@ files_libgallium = files(
|
|||
'util/u_cache.h',
|
||||
'util/u_compute.c',
|
||||
'util/u_compute.h',
|
||||
'util/u_debug_cb.h',
|
||||
'util/u_debug_flush.c',
|
||||
'util/u_debug_flush.h',
|
||||
'util/u_debug_image.c',
|
||||
|
|
|
|||
48
src/gallium/auxiliary/util/u_debug_cb.h
Normal file
48
src/gallium/auxiliary/util/u_debug_cb.h
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* Copyright (C) 2022 Collabora, Ltd.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
* license, and/or sell copies of the Software, and to permit persons to whom
|
||||
* the Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the next
|
||||
* paragraph) shall be included in all copies or substantial portions of the
|
||||
* Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
|
||||
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
* USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef U_DEBUG_H
|
||||
#define U_DEBUG_H
|
||||
|
||||
#include "util/u_debug.h"
|
||||
#include "pipe/p_context.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
static inline void
|
||||
u_default_set_debug_callback(struct pipe_context *ctx,
|
||||
const struct util_debug_callback *cb)
|
||||
{
|
||||
if (cb)
|
||||
ctx->debug = *cb;
|
||||
else
|
||||
memset(&ctx->debug, 0, sizeof(ctx->debug));
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* U_LOG_H */
|
||||
|
|
@ -32,6 +32,7 @@
|
|||
#include "p_format.h"
|
||||
#include "p_video_enums.h"
|
||||
#include "p_defines.h"
|
||||
#include "util/u_debug.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
@ -104,6 +105,12 @@ struct pipe_context {
|
|||
struct u_upload_mgr *stream_uploader; /* everything but shader constants */
|
||||
struct u_upload_mgr *const_uploader; /* shader constants only */
|
||||
|
||||
/**
|
||||
* Debug callback set by u_default_set_debug_callback. Frontends should use
|
||||
* set_debug_callback in case drivers need to flush compiler queues.
|
||||
*/
|
||||
struct util_debug_callback debug;
|
||||
|
||||
void (*destroy)( struct pipe_context * );
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue