From 6d3e24a5c2e31f0ba95c0c8daf897b749775fea3 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Sun, 29 Jun 2014 18:21:30 -0700 Subject: [PATCH] i965: Make backend_instruction usable from C. With a hack to place an exec_node in the struct in C to be at the same location as the inherited exec_node in C++. Acked-by: Topi Pohjolainen --- src/mesa/drivers/dri/i965/brw_shader.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_shader.h b/src/mesa/drivers/dri/i965/brw_shader.h index e0218205a1c..f8662495108 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.h +++ b/src/mesa/drivers/dri/i965/brw_shader.h @@ -78,12 +78,10 @@ struct backend_reg bool abs; }; -#ifdef __cplusplus - struct cfg_t; +#ifdef __cplusplus struct backend_instruction : public exec_node { -public: bool is_tex() const; bool is_math() const; bool is_control_flow() const; @@ -98,7 +96,10 @@ public: * optimize these out unless you know what you are doing. */ bool has_side_effects() const; - +#else +struct backend_instruction { + struct exec_node link; +#endif /** @{ * Annotation for the generated IR. One of the two can be set. */ @@ -124,6 +125,8 @@ public: bool saturate:1; }; +#ifdef __cplusplus + enum instruction_scheduler_mode { SCHEDULE_PRE, SCHEDULE_PRE_NON_LIFO, -- 2.30.2