Mesa (main): llvmpipe: replace uses of simple_list.h with list.h
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Apr 22 17:20:45 UTC 2022
Module: Mesa
Branch: main
Commit: 928f02195e7818a6db5bd688b31ea51dab4dff91
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=928f02195e7818a6db5bd688b31ea51dab4dff91
Author: Dylan Baker <dylan.c.baker at intel.com>
Date: Wed Mar 16 13:10:46 2022 -0700
llvmpipe: replace uses of simple_list.h with list.h
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15418>
---
src/gallium/auxiliary/gallivm/lp_bld_init.c | 1 -
src/gallium/drivers/llvmpipe/lp_context.c | 8 +++---
src/gallium/drivers/llvmpipe/lp_scene.c | 1 -
src/gallium/drivers/llvmpipe/lp_state_cs.c | 29 +++++++++-----------
src/gallium/drivers/llvmpipe/lp_state_cs.h | 2 +-
src/gallium/drivers/llvmpipe/lp_state_fs.c | 31 +++++++++-------------
src/gallium/drivers/llvmpipe/lp_state_fs.h | 3 ++-
.../drivers/llvmpipe/lp_state_fs_linear_llvm.c | 1 -
src/gallium/drivers/llvmpipe/lp_state_setup.c | 23 +++++++---------
src/gallium/drivers/llvmpipe/lp_state_setup.h | 2 +-
src/gallium/drivers/llvmpipe/lp_texture.c | 15 +++++------
src/gallium/drivers/llvmpipe/lp_texture.h | 16 ++++++-----
12 files changed, 59 insertions(+), 73 deletions(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
index 19b079b1275..10aa312d472 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
@@ -31,7 +31,6 @@
#include "util/u_cpu_detect.h"
#include "util/u_debug.h"
#include "util/u_memory.h"
-#include "util/simple_list.h"
#include "util/os_time.h"
#include "lp_bld.h"
#include "lp_bld_debug.h"
diff --git a/src/gallium/drivers/llvmpipe/lp_context.c b/src/gallium/drivers/llvmpipe/lp_context.c
index 8f494e8332e..82e5c742055 100644
--- a/src/gallium/drivers/llvmpipe/lp_context.c
+++ b/src/gallium/drivers/llvmpipe/lp_context.c
@@ -36,7 +36,7 @@
#include "util/u_inlines.h"
#include "util/u_math.h"
#include "util/u_memory.h"
-#include "util/simple_list.h"
+#include "util/list.h"
#include "util/u_upload_mgr.h"
#include "lp_clear.h"
#include "lp_context.h"
@@ -199,11 +199,11 @@ llvmpipe_create_context(struct pipe_screen *screen, void *priv,
memset(llvmpipe, 0, sizeof *llvmpipe);
- make_empty_list(&llvmpipe->fs_variants_list);
+ list_inithead(&llvmpipe->fs_variants_list.list);
- make_empty_list(&llvmpipe->setup_variants_list);
+ list_inithead(&llvmpipe->setup_variants_list.list);
- make_empty_list(&llvmpipe->cs_variants_list);
+ list_inithead(&llvmpipe->cs_variants_list.list);
llvmpipe->pipe.screen = screen;
llvmpipe->pipe.priv = priv;
diff --git a/src/gallium/drivers/llvmpipe/lp_scene.c b/src/gallium/drivers/llvmpipe/lp_scene.c
index dd89b8546da..b102a2a4518 100644
--- a/src/gallium/drivers/llvmpipe/lp_scene.c
+++ b/src/gallium/drivers/llvmpipe/lp_scene.c
@@ -29,7 +29,6 @@
#include "util/u_math.h"
#include "util/u_memory.h"
#include "util/u_inlines.h"
-#include "util/simple_list.h"
#include "util/format/u_format.h"
#include "lp_scene.h"
#include "lp_fence.h"
diff --git a/src/gallium/drivers/llvmpipe/lp_state_cs.c b/src/gallium/drivers/llvmpipe/lp_state_cs.c
index 21fecc39b34..230004d799f 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_cs.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_cs.c
@@ -23,7 +23,6 @@
*
**************************************************************************/
#include "util/u_memory.h"
-#include "util/simple_list.h"
#include "util/os_time.h"
#include "util/u_dump.h"
#include "util/u_string.h"
@@ -515,7 +514,7 @@ llvmpipe_create_compute_state(struct pipe_context *pipe,
nir_tgsi_scan_shader(shader->base.ir.nir, &shader->info.base, false);
}
- make_empty_list(&shader->variants);
+ list_inithead(&shader->variants.list);
nr_samplers = shader->info.base.file_max[TGSI_FILE_SAMPLER] + 1;
nr_sampler_views = shader->info.base.file_max[TGSI_FILE_SAMPLER_VIEW] + 1;
@@ -558,11 +557,11 @@ llvmpipe_remove_cs_shader_variant(struct llvmpipe_context *lp,
gallivm_destroy(variant->gallivm);
/* remove from shader's list */
- remove_from_list(&variant->list_item_local);
+ list_del(&variant->list_item_local.list);
variant->shader->variants_cached--;
/* remove from context's list */
- remove_from_list(&variant->list_item_global);
+ list_del(&variant->list_item_global.list);
lp->nr_cs_variants--;
lp->nr_cs_instrs -= variant->nr_instrs;
@@ -575,7 +574,7 @@ llvmpipe_delete_compute_state(struct pipe_context *pipe,
{
struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
struct lp_compute_shader *shader = cs;
- struct lp_cs_variant_list_item *li;
+ struct lp_cs_variant_list_item *li, *next;
if (llvmpipe->cs == cs)
llvmpipe->cs = NULL;
@@ -584,11 +583,8 @@ llvmpipe_delete_compute_state(struct pipe_context *pipe,
FREE(shader->global_buffers);
/* Delete all the variants */
- li = first_elem(&shader->variants);
- while(!at_end(&shader->variants, li)) {
- struct lp_cs_variant_list_item *next = next_elem(li);
+ LIST_FOR_EACH_ENTRY_SAFE(li, next, &shader->variants.list, list) {
llvmpipe_remove_cs_shader_variant(llvmpipe, li->base);
- li = next;
}
if (shader->base.ir.nir)
ralloc_free(shader->base.ir.nir);
@@ -843,20 +839,18 @@ llvmpipe_update_cs(struct llvmpipe_context *lp)
key = make_variant_key(lp, shader, store);
/* Search the variants for one which matches the key */
- li = first_elem(&shader->variants);
- while(!at_end(&shader->variants, li)) {
+ LIST_FOR_EACH_ENTRY(li, &shader->variants.list, list) {
if(memcmp(&li->base->key, key, shader->variant_key_size) == 0) {
variant = li->base;
break;
}
- li = next_elem(li);
}
if (variant) {
/* Move this variant to the head of the list to implement LRU
* deletion of shader's when we have too many.
*/
- move_to_head(&lp->cs_variants_list, &variant->list_item_global);
+ list_move_to(&variant->list_item_global.list, &lp->cs_variants_list.list);
}
else {
/* variant not found, create it now */
@@ -894,10 +888,11 @@ llvmpipe_update_cs(struct llvmpipe_context *lp)
for (i = 0; i < variants_to_cull || lp->nr_cs_instrs >= LP_MAX_SHADER_INSTRUCTIONS; i++) {
struct lp_cs_variant_list_item *item;
- if (is_empty_list(&lp->cs_variants_list)) {
+ if (list_is_empty(&lp->cs_variants_list.list)) {
break;
}
- item = last_elem(&lp->cs_variants_list);
+ item = list_last_entry(&lp->cs_variants_list.list,
+ struct lp_cs_variant_list_item, list);
assert(item);
assert(item->base);
llvmpipe_remove_cs_shader_variant(lp, item->base);
@@ -915,8 +910,8 @@ llvmpipe_update_cs(struct llvmpipe_context *lp)
/* Put the new variant into the list */
if (variant) {
- insert_at_head(&shader->variants, &variant->list_item_local);
- insert_at_head(&lp->cs_variants_list, &variant->list_item_global);
+ list_add(&variant->list_item_local.list, &shader->variants.list);
+ list_add(&variant->list_item_global.list, &lp->cs_variants_list.list);
lp->nr_cs_variants++;
lp->nr_cs_instrs += variant->nr_instrs;
shader->variants_cached++;
diff --git a/src/gallium/drivers/llvmpipe/lp_state_cs.h b/src/gallium/drivers/llvmpipe/lp_state_cs.h
index 7fb99326532..6a218c915af 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_cs.h
+++ b/src/gallium/drivers/llvmpipe/lp_state_cs.h
@@ -72,8 +72,8 @@ lp_cs_variant_key_images(const struct lp_compute_shader_variant_key *key)
struct lp_cs_variant_list_item
{
+ struct list_head list;
struct lp_compute_shader_variant *base;
- struct lp_cs_variant_list_item *next, *prev;
};
struct lp_compute_shader_variant
diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c
index c7aa24bcdb6..bc4778e2764 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_fs.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c
@@ -65,7 +65,6 @@
#include "util/format/u_format.h"
#include "util/u_dump.h"
#include "util/u_string.h"
-#include "util/simple_list.h"
#include "util/u_dual_blend.h"
#include "util/u_upload_mgr.h"
#include "util/os_time.h"
@@ -3815,7 +3814,7 @@ llvmpipe_create_fs_state(struct pipe_context *pipe,
pipe_reference_init(&shader->reference, 1);
shader->no = fs_no++;
- make_empty_list(&shader->variants);
+ list_inithead(&shader->variants.list);
shader->base.type = templ->type;
if (templ->type == PIPE_SHADER_IR_TGSI) {
@@ -3945,11 +3944,11 @@ void llvmpipe_remove_shader_variant(struct llvmpipe_context *lp,
}
/* remove from shader's list */
- remove_from_list(&variant->list_item_local);
+ list_del(&variant->list_item_local.list);
variant->shader->variants_cached--;
/* remove from context's list */
- remove_from_list(&variant->list_item_global);
+ list_del(&variant->list_item_global.list);
lp->nr_fs_variants--;
lp->nr_fs_instrs -= variant->nr_instrs;
}
@@ -3984,17 +3983,14 @@ llvmpipe_delete_fs_state(struct pipe_context *pipe, void *fs)
{
struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
struct lp_fragment_shader *shader = fs;
- struct lp_fs_variant_list_item *li;
+ struct lp_fs_variant_list_item *li, *next;
/* Delete all the variants */
- li = first_elem(&shader->variants);
- while(!at_end(&shader->variants, li)) {
- struct lp_fs_variant_list_item *next = next_elem(li);
+ LIST_FOR_EACH_ENTRY_SAFE(li, next, &shader->variants.list, list) {
struct lp_fragment_shader_variant *variant;
variant = li->base;
llvmpipe_remove_shader_variant(llvmpipe, li->base);
lp_fs_variant_reference(llvmpipe, &variant, NULL);
- li = next;
}
lp_fs_reference(llvmpipe, &shader, NULL);
@@ -4386,7 +4382,7 @@ make_variant_key(struct llvmpipe_context *lp,
* Update fragment shader state. This is called just prior to drawing
* something when some fragment-related state has changed.
*/
-void
+void
llvmpipe_update_fs(struct llvmpipe_context *lp)
{
struct lp_fragment_shader *shader = lp->fs;
@@ -4398,20 +4394,18 @@ llvmpipe_update_fs(struct llvmpipe_context *lp)
key = make_variant_key(lp, shader, store);
/* Search the variants for one which matches the key */
- li = first_elem(&shader->variants);
- while(!at_end(&shader->variants, li)) {
+ LIST_FOR_EACH_ENTRY(li, &shader->variants.list, list) {
if(memcmp(&li->base->key, key, shader->variant_key_size) == 0) {
variant = li->base;
break;
}
- li = next_elem(li);
}
if (variant) {
/* Move this variant to the head of the list to implement LRU
* deletion of shader's when we have too many.
*/
- move_to_head(&lp->fs_variants_list, &variant->list_item_global);
+ list_move_to(&variant->list_item_global.list, &lp->fs_variants_list.list);
}
else {
/* variant not found, create it now */
@@ -4449,10 +4443,11 @@ llvmpipe_update_fs(struct llvmpipe_context *lp)
for (i = 0; i < variants_to_cull || lp->nr_fs_instrs >= LP_MAX_SHADER_INSTRUCTIONS; i++) {
struct lp_fs_variant_list_item *item;
- if (is_empty_list(&lp->fs_variants_list)) {
+ if (list_is_empty(&lp->fs_variants_list.list)) {
break;
}
- item = last_elem(&lp->fs_variants_list);
+ item = list_last_entry(&lp->fs_variants_list.list,
+ struct lp_fs_variant_list_item, list);
assert(item);
assert(item->base);
llvmpipe_remove_shader_variant(lp, item->base);
@@ -4473,8 +4468,8 @@ llvmpipe_update_fs(struct llvmpipe_context *lp)
/* Put the new variant into the list */
if (variant) {
- insert_at_head(&shader->variants, &variant->list_item_local);
- insert_at_head(&lp->fs_variants_list, &variant->list_item_global);
+ list_add(&variant->list_item_local.list, &shader->variants.list);
+ list_add(&variant->list_item_global.list, &lp->fs_variants_list.list);
lp->nr_fs_variants++;
lp->nr_fs_instrs += variant->nr_instrs;
shader->variants_cached++;
diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.h b/src/gallium/drivers/llvmpipe/lp_state_fs.h
index 03a1f067a4b..7a6b9beeec7 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_fs.h
+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.h
@@ -30,6 +30,7 @@
#define LP_STATE_FS_H_
+#include "util/list.h"
#include "pipe/p_compiler.h"
#include "pipe/p_state.h"
#include "tgsi/tgsi_scan.h" /* for tgsi_shader_info */
@@ -151,8 +152,8 @@ lp_fs_variant_key_images(struct lp_fragment_shader_variant_key *key)
/** doubly-linked list item */
struct lp_fs_variant_list_item
{
+ struct list_head list;
struct lp_fragment_shader_variant *base;
- struct lp_fs_variant_list_item *next, *prev;
};
diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs_linear_llvm.c b/src/gallium/drivers/llvmpipe/lp_state_fs_linear_llvm.c
index f3b447da74c..61d183cb861 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_fs_linear_llvm.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_fs_linear_llvm.c
@@ -26,7 +26,6 @@
**************************************************************************/
#include <limits.h>
-#include "util/simple_list.h"
#include "pipe/p_defines.h"
#include "util/u_inlines.h"
diff --git a/src/gallium/drivers/llvmpipe/lp_state_setup.c b/src/gallium/drivers/llvmpipe/lp_state_setup.c
index 57a4b43bdc3..0b1d1e02c75 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_setup.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_setup.c
@@ -28,7 +28,6 @@
#include "util/u_math.h"
#include "util/u_memory.h"
-#include "util/simple_list.h"
#include "util/os_time.h"
#include "gallivm/lp_bld_arit.h"
#include "gallivm/lp_bld_bitarit.h"
@@ -833,7 +832,7 @@ remove_setup_variant(struct llvmpipe_context *lp,
gallivm_destroy(variant->gallivm);
}
- remove_from_list(&variant->list_item_global);
+ list_del(&variant->list_item_global.list);
lp->nr_setup_variants--;
FREE(variant);
}
@@ -858,10 +857,11 @@ cull_setup_variants(struct llvmpipe_context *lp)
for (i = 0; i < LP_MAX_SETUP_VARIANTS / 4; i++) {
struct lp_setup_variant_list_item *item;
- if (is_empty_list(&lp->setup_variants_list)) {
+ if (list_is_empty(&lp->setup_variants_list.list)) {
break;
}
- item = last_elem(&lp->setup_variants_list);
+ item = list_last_entry(&lp->setup_variants_list.list,
+ struct lp_setup_variant_list_item, list);
assert(item);
assert(item->base);
remove_setup_variant(lp, item->base);
@@ -874,7 +874,7 @@ cull_setup_variants(struct llvmpipe_context *lp)
* prior to drawing something when some fragment-related state has
* changed.
*/
-void
+void
llvmpipe_update_setup(struct llvmpipe_context *lp)
{
struct lp_setup_variant_key *key = &lp->setup_variant.key;
@@ -883,7 +883,7 @@ llvmpipe_update_setup(struct llvmpipe_context *lp)
lp_make_setup_variant_key(lp, key);
- foreach(li, &lp->setup_variants_list) {
+ LIST_FOR_EACH_ENTRY(li, &lp->setup_variants_list.list, list) {
if(li->base->key.size == key->size &&
memcmp(&li->base->key, key, key->size) == 0) {
variant = li->base;
@@ -892,7 +892,7 @@ llvmpipe_update_setup(struct llvmpipe_context *lp)
}
if (variant) {
- move_to_head(&lp->setup_variants_list, &variant->list_item_global);
+ list_move_to(&variant->list_item_global.list, &lp->setup_variants_list.list);
}
else {
if (lp->nr_setup_variants >= LP_MAX_SETUP_VARIANTS) {
@@ -901,7 +901,7 @@ llvmpipe_update_setup(struct llvmpipe_context *lp)
variant = generate_setup_variant(key, lp);
if (variant) {
- insert_at_head(&lp->setup_variants_list, &variant->list_item_global);
+ list_add(&variant->list_item_global.list, &lp->setup_variants_list.list);
lp->nr_setup_variants++;
}
}
@@ -912,12 +912,9 @@ llvmpipe_update_setup(struct llvmpipe_context *lp)
void
lp_delete_setup_variants(struct llvmpipe_context *lp)
{
- struct lp_setup_variant_list_item *li;
- li = first_elem(&lp->setup_variants_list);
- while(!at_end(&lp->setup_variants_list, li)) {
- struct lp_setup_variant_list_item *next = next_elem(li);
+ struct lp_setup_variant_list_item *li, *next;
+ LIST_FOR_EACH_ENTRY_SAFE(li, next, &lp->setup_variants_list.list, list) {
remove_setup_variant(lp, li->base);
- li = next;
}
}
diff --git a/src/gallium/drivers/llvmpipe/lp_state_setup.h b/src/gallium/drivers/llvmpipe/lp_state_setup.h
index ee11c3c061a..740eb92ba7f 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_setup.h
+++ b/src/gallium/drivers/llvmpipe/lp_state_setup.h
@@ -9,8 +9,8 @@ struct lp_setup_variant;
struct lp_setup_variant_list_item
{
+ struct list_head list;
struct lp_setup_variant *base;
- struct lp_setup_variant_list_item *next, *prev;
};
diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c b/src/gallium/drivers/llvmpipe/lp_texture.c
index 023eef29c56..e206f5091c9 100644
--- a/src/gallium/drivers/llvmpipe/lp_texture.c
+++ b/src/gallium/drivers/llvmpipe/lp_texture.c
@@ -40,7 +40,6 @@
#include "util/format/u_format.h"
#include "util/u_math.h"
#include "util/u_memory.h"
-#include "util/simple_list.h"
#include "util/u_transfer.h"
#include "lp_context.h"
@@ -293,7 +292,7 @@ llvmpipe_resource_create_all(struct pipe_screen *_screen,
#ifdef DEBUG
mtx_lock(&resource_list_mutex);
- insert_at_tail(&resource_list, lpr);
+ list_addtail(&lpr->list, &resource_list.list);
mtx_unlock(&resource_list_mutex);
#endif
@@ -422,7 +421,7 @@ llvmpipe_resource_from_memobj(struct pipe_screen *pscreen,
#ifdef DEBUG
mtx_lock(&resource_list_mutex);
- insert_at_tail(&resource_list, lpr);
+ list_addtail(&lpr->list, &resource_list.list);
mtx_unlock(&resource_list_mutex);
#endif
@@ -461,8 +460,8 @@ llvmpipe_resource_destroy(struct pipe_screen *pscreen,
}
#ifdef DEBUG
mtx_lock(&resource_list_mutex);
- if (lpr->next)
- remove_from_list(lpr);
+ if (!list_is_empty(&lpr->list))
+ list_del(&lpr->list);
mtx_unlock(&resource_list_mutex);
#endif
@@ -601,7 +600,7 @@ llvmpipe_resource_from_handle(struct pipe_screen *_screen,
#ifdef DEBUG
mtx_lock(&resource_list_mutex);
- insert_at_tail(&resource_list, lpr);
+ list_addtail(&lpr->list, &resource_list.list);
mtx_unlock(&resource_list_mutex);
#endif
@@ -1029,7 +1028,7 @@ llvmpipe_print_resources(void)
debug_printf("LLVMPIPE: current resources:\n");
mtx_lock(&resource_list_mutex);
- foreach(lpr, &resource_list) {
+ LIST_FOR_EACH_ENTRY(lpr, &resource_list.list, list) {
unsigned size = llvmpipe_resource_size(&lpr->base);
debug_printf("resource %u at %p, size %ux%ux%u: %u bytes, refcount %u\n",
lpr->id, (void *) lpr,
@@ -1122,7 +1121,7 @@ llvmpipe_init_screen_resource_funcs(struct pipe_screen *screen)
static boolean first_call = TRUE;
if (first_call) {
memset(&resource_list, 0, sizeof(resource_list));
- make_empty_list(&resource_list);
+ list_inithead(&resource_list.list);
first_call = FALSE;
}
}
diff --git a/src/gallium/drivers/llvmpipe/lp_texture.h b/src/gallium/drivers/llvmpipe/lp_texture.h
index c683cdd1e03..e14c9f0ee26 100644
--- a/src/gallium/drivers/llvmpipe/lp_texture.h
+++ b/src/gallium/drivers/llvmpipe/lp_texture.h
@@ -1,8 +1,8 @@
/**************************************************************************
- *
+ *
* Copyright 2007 VMware, Inc.
* All Rights Reserved.
- *
+ *
* 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
@@ -10,11 +10,11 @@
* 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.
@@ -22,7 +22,7 @@
* 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 LP_TEXTURE_H
@@ -32,6 +32,9 @@
#include "pipe/p_state.h"
#include "util/u_debug.h"
#include "lp_limits.h"
+#ifdef DEBUG
+#include "util/list.h"
+#endif
enum lp_texture_usage
@@ -101,8 +104,7 @@ struct llvmpipe_resource
bool backable;
bool imported_memory;
#ifdef DEBUG
- /** for linked list */
- struct llvmpipe_resource *prev, *next;
+ struct list_head list;
#endif
};
More information about the mesa-commit
mailing list