diff options
Diffstat (limited to 'src/gallium/drivers/r300/compiler/radeon_variable.c')
-rw-r--r-- | src/gallium/drivers/r300/compiler/radeon_variable.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/compiler/radeon_variable.c b/src/gallium/drivers/r300/compiler/radeon_variable.c index 938fb84..7c640c4 100644 --- a/src/gallium/drivers/r300/compiler/radeon_variable.c +++ b/src/gallium/drivers/r300/compiler/radeon_variable.c @@ -498,6 +498,22 @@ struct rc_list * rc_variable_list_get_writers( return writer_list; } +struct rc_list * rc_variable_list_get_writers_one_reader( + struct rc_list * var_list, + unsigned int src_type, + void * src) +{ + struct rc_list * writer_list = + rc_variable_list_get_writers(var_list, src_type, src); + struct rc_list * reader_list = + rc_variable_readers_union(writer_list->Item); + if (rc_list_count(reader_list) > 1) { + return NULL; + } else { + return writer_list; + } +} + void rc_variable_print(struct rc_variable * var) { unsigned int i; |