mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-23 16:00:41 +02:00
llvmpipe: replace uses of simple_list.h with list.h
Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15418>
This commit is contained in:
parent
255a4d55c6
commit
928f02195e
12 changed files with 59 additions and 73 deletions
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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++;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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++;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@
|
|||
**************************************************************************/
|
||||
|
||||
#include <limits.h>
|
||||
#include "util/simple_list.h"
|
||||
|
||||
#include "pipe/p_defines.h"
|
||||
#include "util/u_inlines.h"
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue