X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fr300%2Fr300_screen_buffer.h;h=0cf349c25cdc7a6ccc6d74a4c7513bca47d1650c;hb=4fb2daf42c8171579cdc18605c5ceeb1963f8b31;hp=7c026508b5966eae25677f8aa7354e25915ca005;hpb=fff5be8e7b4557c221f2425dcafc2e7cbbba76ba;p=mesa.git diff --git a/src/gallium/drivers/r300/r300_screen_buffer.h b/src/gallium/drivers/r300/r300_screen_buffer.h index 7c026508b59..0cf349c25cd 100644 --- a/src/gallium/drivers/r300/r300_screen_buffer.h +++ b/src/gallium/drivers/r300/r300_screen_buffer.h @@ -1,5 +1,6 @@ #ifndef R300_SCREEN_BUFFER_H #define R300_SCREEN_BUFFER_H +#include #include "pipe/p_compiler.h" #include "pipe/p_state.h" #include "r300_screen.h" @@ -9,6 +10,12 @@ #define R300_BUFFER_MAGIC 0xabcd1234 +struct r300_buffer_range { + uint32_t start; + uint32_t end; +}; +#define R300_BUFFER_MAX_RANGES 32 + struct r300_buffer { struct pipe_buffer base; @@ -18,6 +25,10 @@ struct r300_buffer struct r300_winsys_buffer *buf; void *user_buffer; + struct r300_buffer_range ranges[R300_BUFFER_MAX_RANGES]; + unsigned num_ranges; + + void *map; }; static INLINE struct r300_buffer * @@ -82,4 +93,7 @@ int r300_upload_index_buffer(struct r300_context *r300, unsigned index_size, unsigned start, unsigned count); + +boolean r300_buffer_is_referenced(struct r300_context *r300, + struct pipe_buffer *buf); #endif