diff options
author | Brian Paul <brianp@vmware.com> | 2010-01-06 17:53:12 -0700 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2010-01-06 17:53:12 -0700 |
commit | baeb3a23513b9045c1a50bbe21124a4f8a9b6cd6 (patch) | |
tree | 92090a637bf12174c6fdf02d8be218bdbde73010 /src/gallium/drivers/llvmpipe/lp_bld_flow.h | |
parent | db7f9b053b7982810a00bc4d944bb3dfa2b9aac9 (diff) | |
download | external_mesa3d-baeb3a23513b9045c1a50bbe21124a4f8a9b6cd6.zip external_mesa3d-baeb3a23513b9045c1a50bbe21124a4f8a9b6cd6.tar.gz external_mesa3d-baeb3a23513b9045c1a50bbe21124a4f8a9b6cd6.tar.bz2 |
llvmpipe: checkpoint commit of new if/else/endif flow control
Totally untested at this point. More work to do.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_bld_flow.h')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_bld_flow.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_bld_flow.h b/src/gallium/drivers/llvmpipe/lp_bld_flow.h index e61999f..1f294b8 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_flow.h +++ b/src/gallium/drivers/llvmpipe/lp_bld_flow.h @@ -126,4 +126,31 @@ lp_build_loop_end(LLVMBuilderRef builder, + +struct lp_build_if_state +{ + LLVMBuilderRef builder; + struct lp_build_flow_context *flow; + LLVMValueRef condition; + LLVMBasicBlockRef entry_block, true_block, false_block; +}; + + +void +lp_build_if(struct lp_build_if_state *ctx, + struct lp_build_flow_context *flow, + LLVMBuilderRef builder, + LLVMValueRef condition); + +void +lp_build_if_phi_var(struct lp_build_if_state *ctx, LLVMValueRef var); + +void +lp_build_else(struct lp_build_if_state *ctx); + +void +lp_build_endif(struct lp_build_if_state *ctx); + + + #endif /* !LP_BLD_FLOW_H */ |