i965: Move brw_init_compaction_tables() to brw_create_compiler().

... so that we can avoid threading complications or unnecessary
compaction table initializations (which just consists of setting some
pointers based on devinfo->gen).

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Matt Turner 2017-03-09 16:01:30 -08:00
parent 32be87852b
commit fa4b792e83
3 changed files with 2 additions and 7 deletions

View File

@ -23,6 +23,7 @@
#include "brw_compiler.h"
#include "brw_shader.h"
#include "brw_eu.h"
#include "common/gen_debug.h"
#include "compiler/nir/nir.h"
#include "main/errors.h"
@ -107,6 +108,7 @@ brw_compiler_create(void *mem_ctx, const struct gen_device_info *devinfo)
brw_fs_alloc_reg_sets(compiler);
brw_vec4_alloc_reg_set(compiler);
brw_init_compaction_tables(devinfo);
compiler->precise_trig = env_var_as_boolean("INTEL_PRECISE_TRIG", false);

View File

@ -354,8 +354,6 @@ brw_init_codegen(const struct gen_device_info *devinfo,
p->loop_stack_array_size = 16;
p->loop_stack = rzalloc_array(mem_ctx, int, p->loop_stack_array_size);
p->if_depth_in_loop = rzalloc_array(mem_ctx, int, p->loop_stack_array_size);
brw_init_compaction_tables(devinfo);
}

View File

@ -76,7 +76,6 @@
#include "brw_shader.h"
#include "intel_asm_annotation.h"
#include "common/gen_debug.h"
#include "util/u_atomic.h" /* for p_atomic_cmpxchg */
static const uint32_t g45_control_index_table[32] = {
0b00000000000000000,
@ -1345,10 +1344,6 @@ update_gen4_jump_count(const struct gen_device_info *devinfo, brw_inst *insn,
void
brw_init_compaction_tables(const struct gen_device_info *devinfo)
{
static bool initialized;
if (initialized || p_atomic_cmpxchg(&initialized, false, true) != false)
return;
assert(g45_control_index_table[ARRAY_SIZE(g45_control_index_table) - 1] != 0);
assert(g45_datatype_table[ARRAY_SIZE(g45_datatype_table) - 1] != 0);
assert(g45_subreg_table[ARRAY_SIZE(g45_subreg_table) - 1] != 0);