rbug: Change block protocol around a bit
[mesa.git] / src / gallium / auxiliary / rbug / rbug_context.h
index 178a3bce245012c1401141a9de4c6fa19cc4d142..da61c2365b06a6b10b7dba124535418b45d34efb 100644 (file)
 #include "rbug/rbug_proto.h"
 #include "rbug/rbug_core.h"
 
-typedef uint64_t rbug_block_rule_t;
-
 typedef enum
 {
        RBUG_BLOCK_BEFORE = 1,
        RBUG_BLOCK_AFTER = 2,
+       RBUG_BLOCK_RULE = 4,
+       RBUG_BLOCK_MASK = 7,
 } rbug_block_t;
 
 struct rbug_proto_context_list
@@ -81,14 +81,7 @@ struct rbug_proto_context_draw_unblock
        rbug_block_t unblock;
 };
 
-struct rbug_proto_context_flush
-{
-       struct rbug_header header;
-       rbug_context_t context;
-       int32_t flags;
-};
-
-struct rbug_proto_context_rule_add
+struct rbug_proto_context_draw_rule
 {
        struct rbug_header header;
        rbug_context_t context;
@@ -99,11 +92,11 @@ struct rbug_proto_context_rule_add
        rbug_block_t block;
 };
 
-struct rbug_proto_context_rule_delete
+struct rbug_proto_context_flush
 {
        struct rbug_header header;
        rbug_context_t context;
-       rbug_block_rule_t rule;
+       int32_t flags;
 };
 
 struct rbug_proto_context_list_reply
@@ -129,13 +122,6 @@ struct rbug_proto_context_info_reply
        rbug_block_t blocked;
 };
 
-struct rbug_proto_context_rule_add_reply
-{
-       struct rbug_header header;
-       uint32_t serial;
-       rbug_block_rule_t rule;
-};
-
 struct rbug_proto_context_draw_blocked
 {
        struct rbug_header header;
@@ -165,25 +151,20 @@ int rbug_send_context_draw_unblock(struct rbug_connection *__con,
                                    rbug_block_t unblock,
                                    uint32_t *__serial);
 
+int rbug_send_context_draw_rule(struct rbug_connection *__con,
+                                rbug_context_t context,
+                                rbug_shader_t vertex,
+                                rbug_shader_t fragment,
+                                rbug_texture_t texture,
+                                rbug_texture_t surface,
+                                rbug_block_t block,
+                                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_rule_add(struct rbug_connection *__con,
-                               rbug_context_t context,
-                               rbug_shader_t vertex,
-                               rbug_shader_t fragment,
-                               rbug_texture_t texture,
-                               rbug_texture_t surface,
-                               rbug_block_t block,
-                               uint32_t *__serial);
-
-int rbug_send_context_rule_delete(struct rbug_connection *__con,
-                                  rbug_context_t context,
-                                  rbug_block_rule_t rule,
-                                  uint32_t *__serial);
-
 int rbug_send_context_list_reply(struct rbug_connection *__con,
                                  uint32_t serial,
                                  rbug_context_t *contexts,
@@ -203,11 +184,6 @@ int rbug_send_context_info_reply(struct rbug_connection *__con,
                                  rbug_block_t blocked,
                                  uint32_t *__serial);
 
-int rbug_send_context_rule_add_reply(struct rbug_connection *__con,
-                                     uint32_t serial,
-                                     rbug_block_rule_t rule,
-                                     uint32_t *__serial);
-
 int rbug_send_context_draw_blocked(struct rbug_connection *__con,
                                    rbug_context_t context,
                                    rbug_block_t block,
@@ -223,18 +199,14 @@ struct rbug_proto_context_draw_step * rbug_demarshal_context_draw_step(struct rb
 
 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_rule_add * rbug_demarshal_context_rule_add(struct rbug_proto_header *header);
+struct rbug_proto_context_draw_rule * rbug_demarshal_context_draw_rule(struct rbug_proto_header *header);
 
-struct rbug_proto_context_rule_delete * rbug_demarshal_context_rule_delete(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_rule_add_reply * rbug_demarshal_context_rule_add_reply(struct rbug_proto_header *header);
-
 struct rbug_proto_context_draw_blocked * rbug_demarshal_context_draw_blocked(struct rbug_proto_header *header);
 
 #endif