[PATCH vkd3d v7 5/6] vkd3d-shader/hlsl: Handle conditionals in copy propagation.
Giovanni Mascellani
gmascellani at codeweavers.com
Thu Nov 18 02:58:35 CST 2021
Hi,
On 18/11/21 05:09, Zebediah Figura (she/her) wrote:
> I didn't notice this last time, but since IIUC rbtree entries can hold a
> pointer to the head of the list (much like linked list entries), this
> isn't safe. You'll need to individually allocate list heads.
It doesn't look so:
struct rb_entry
{
struct rb_entry *parent;
struct rb_entry *left;
struct rb_entry *right;
unsigned int flags;
};
struct rb_tree
{
rb_compare_func compare;
struct rb_entry *root;
};
The entries have pointers between themselves, but none of them points to
the tree itself. Just the other way around. In other words, struct
rb_tree already provides the level of indirection that you rightly say
it is needed.
Giovanni.
More information about the wine-devel
mailing list