From: Eric Anholt Date: Mon, 18 Mar 2013 15:42:19 +0000 (-0700) Subject: mesa: Disable validate_ir_tree() on release builds. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=712bac1f4130cb2ea75c53698cc6428d93b26ed3;p=mesa.git mesa: Disable validate_ir_tree() on release builds. Since half of ir_validate uses asserts() (the other using printf() then abort()), there's not much use to calling it in a release build. Cuts 6.3% of the startup time of TF2. NOTE: This is a candidate for the stable branches. Reviewed-by: Kenneth Graunke --- diff --git a/src/glsl/ir_validate.cpp b/src/glsl/ir_validate.cpp index 24ea506dca3..699c192cd2c 100644 --- a/src/glsl/ir_validate.cpp +++ b/src/glsl/ir_validate.cpp @@ -701,6 +701,11 @@ check_node_type(ir_instruction *ir, void *data) void validate_ir_tree(exec_list *instructions) { + /* We shouldn't have any reason to validate IR in a release build, + * and it's half composed of assert()s anyway which wouldn't do + * anything. + */ +#ifdef DEBUG ir_validate v; v.run(instructions); @@ -710,4 +715,5 @@ validate_ir_tree(exec_list *instructions) visit_tree(ir, check_node_type, NULL); } +#endif } diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 29856b08015..2b30d2b652d 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -1067,13 +1067,11 @@ link_intrastage_shaders(void *mem_ctx, free(linking_shaders); -#ifdef DEBUG /* At this point linked should contain all of the linked IR, so * validate it to make sure nothing went wrong. */ if (linked) validate_ir_tree(linked->ir); -#endif /* Make a pass over all variable declarations to ensure that arrays with * unspecified sizes have a size specified. The size is inferred from the