i965/nir: Move brw_type_for_nir_type() to brw_nir to allow reuse

Upcoming NIR->vec4 pass can benefit from this method, so lets move it up.

Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
Eduardo Lima Mitev
2015-04-17 18:10:50 +02:00
committed by Jason Ekstrand
parent f715252537
commit 97e205fd35
3 changed files with 21 additions and 18 deletions
-18
View File
@@ -476,24 +476,6 @@ fs_visitor::nir_emit_instr(nir_instr *instr)
}
}
static brw_reg_type
brw_type_for_nir_type(nir_alu_type type)
{
switch (type) {
case nir_type_unsigned:
return BRW_REGISTER_TYPE_UD;
case nir_type_bool:
case nir_type_int:
return BRW_REGISTER_TYPE_D;
case nir_type_float:
return BRW_REGISTER_TYPE_F;
default:
unreachable("unknown type");
}
return BRW_REGISTER_TYPE_F;
}
bool
fs_visitor::optimize_frontfacing_ternary(nir_alu_instr *instr,
const fs_reg &result)
+18
View File
@@ -186,3 +186,21 @@ brw_create_nir(struct brw_context *brw,
return nir;
}
enum brw_reg_type
brw_type_for_nir_type(nir_alu_type type)
{
switch (type) {
case nir_type_unsigned:
return BRW_REGISTER_TYPE_UD;
case nir_type_bool:
case nir_type_int:
return BRW_REGISTER_TYPE_D;
case nir_type_float:
return BRW_REGISTER_TYPE_F;
default:
unreachable("unknown type");
}
return BRW_REGISTER_TYPE_F;
}
+3
View File
@@ -24,6 +24,7 @@
#pragma once
#include "brw_context.h"
#include "brw_reg.h"
#include "glsl/nir/nir.h"
#ifdef __cplusplus
@@ -80,6 +81,8 @@ nir_shader *brw_create_nir(struct brw_context *brw,
gl_shader_stage stage,
bool is_scalar);
enum brw_reg_type brw_type_for_nir_type(nir_alu_type type);
#ifdef __cplusplus
}
#endif