diff options
Diffstat (limited to 'src/gallium/auxiliary/rbug/rbug_context.h')
-rw-r--r-- | src/gallium/auxiliary/rbug/rbug_context.h | 80 |
1 files changed, 68 insertions, 12 deletions
diff --git a/src/gallium/auxiliary/rbug/rbug_context.h b/src/gallium/auxiliary/rbug/rbug_context.h index bcd2a826a77..9f1726d64d4 100644 --- a/src/gallium/auxiliary/rbug/rbug_context.h +++ b/src/gallium/auxiliary/rbug/rbug_context.h @@ -39,9 +39,13 @@ #define _RBUG_PROTO_CONTEXT_H_ #include "rbug/rbug_proto.h" -#include "rbug/rbug_texture.h" +#include "rbug/rbug_core.h" -typedef uint64_t rbug_context_t; +typedef enum +{ + RBUG_BLOCK_BEFORE = 1, + RBUG_BLOCK_AFTER = 2, +} rbug_block_t; struct rbug_proto_context_list { @@ -54,16 +58,32 @@ struct rbug_proto_context_info rbug_context_t context; }; -struct rbug_proto_context_block_draw +struct rbug_proto_context_draw_block +{ + struct rbug_header header; + rbug_context_t context; + rbug_block_t block; +}; + +struct rbug_proto_context_draw_step { struct rbug_header header; rbug_context_t context; + rbug_block_t step; }; -struct rbug_proto_context_unblock_draw +struct rbug_proto_context_draw_unblock { struct rbug_header header; rbug_context_t context; + rbug_block_t unblock; +}; + +struct rbug_proto_context_flush +{ + struct rbug_header header; + rbug_context_t context; + int32_t flags; }; struct rbug_proto_context_list_reply @@ -78,10 +98,20 @@ struct rbug_proto_context_info_reply { struct rbug_header header; uint32_t serial; + rbug_shader_t vertex; + rbug_shader_t fragment; rbug_texture_t *cbufs; uint32_t cbufs_len; - rbug_texture_t zdbuf; - uint8_t blocked; + rbug_texture_t zsbuf; + rbug_block_t blocker; + rbug_block_t blocked; +}; + +struct rbug_proto_context_draw_blocked +{ + struct rbug_header header; + rbug_context_t context; + rbug_block_t block; }; int rbug_send_context_list(struct rbug_connection *__con, @@ -91,14 +121,26 @@ int rbug_send_context_info(struct rbug_connection *__con, rbug_context_t context, uint32_t *__serial); -int rbug_send_context_block_draw(struct rbug_connection *__con, +int rbug_send_context_draw_block(struct rbug_connection *__con, rbug_context_t context, + rbug_block_t block, uint32_t *__serial); -int rbug_send_context_unblock_draw(struct rbug_connection *__con, +int rbug_send_context_draw_step(struct rbug_connection *__con, + rbug_context_t context, + rbug_block_t step, + uint32_t *__serial); + +int rbug_send_context_draw_unblock(struct rbug_connection *__con, rbug_context_t context, + rbug_block_t unblock, uint32_t *__serial); +int rbug_send_context_flush(struct rbug_connection *__con, + rbug_context_t context, + int32_t flags, + uint32_t *__serial); + int rbug_send_context_list_reply(struct rbug_connection *__con, uint32_t serial, rbug_context_t *contexts, @@ -107,22 +149,36 @@ int rbug_send_context_list_reply(struct rbug_connection *__con, int rbug_send_context_info_reply(struct rbug_connection *__con, uint32_t serial, + rbug_shader_t vertex, + rbug_shader_t fragment, rbug_texture_t *cbufs, uint32_t cbufs_len, - rbug_texture_t zdbuf, - uint8_t blocked, + rbug_texture_t zsbuf, + rbug_block_t blocker, + rbug_block_t blocked, uint32_t *__serial); +int rbug_send_context_draw_blocked(struct rbug_connection *__con, + rbug_context_t context, + rbug_block_t block, + uint32_t *__serial); + struct rbug_proto_context_list * rbug_demarshal_context_list(struct rbug_proto_header *header); struct rbug_proto_context_info * rbug_demarshal_context_info(struct rbug_proto_header *header); -struct rbug_proto_context_block_draw * rbug_demarshal_context_block_draw(struct rbug_proto_header *header); +struct rbug_proto_context_draw_block * rbug_demarshal_context_draw_block(struct rbug_proto_header *header); -struct rbug_proto_context_unblock_draw * rbug_demarshal_context_unblock_draw(struct rbug_proto_header *header); +struct rbug_proto_context_draw_step * rbug_demarshal_context_draw_step(struct rbug_proto_header *header); + +struct rbug_proto_context_draw_unblock * rbug_demarshal_context_draw_unblock(struct rbug_proto_header *header); + +struct rbug_proto_context_flush * rbug_demarshal_context_flush(struct rbug_proto_header *header); struct rbug_proto_context_list_reply * rbug_demarshal_context_list_reply(struct rbug_proto_header *header); struct rbug_proto_context_info_reply * rbug_demarshal_context_info_reply(struct rbug_proto_header *header); +struct rbug_proto_context_draw_blocked * rbug_demarshal_context_draw_blocked(struct rbug_proto_header *header); + #endif |