瀏覽代碼

nir: add nir_get_nir_type_for_glsl_type()

v2 (Jason):
- Refactor nir_get_nir_type_for_glsl_type() to avoid using unneeded helpers (Jason)

v3:
- Use return directly (Jason)

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
tags/17.0-branchpoint
Samuel Iglesias Gonsálvez 8 年之前
父節點
當前提交
3a571fcc43
共有 1 個檔案被更改,包括 24 行新增0 行删除
  1. 24
    0
      src/compiler/nir/nir.h

+ 24
- 0
src/compiler/nir/nir.h 查看文件

@@ -675,6 +675,30 @@ nir_alu_type_get_base_type(nir_alu_type type)
return type & NIR_ALU_TYPE_BASE_TYPE_MASK;
}

static inline nir_alu_type
nir_get_nir_type_for_glsl_type(const struct glsl_type *type)
{
switch (glsl_get_base_type(type)) {
case GLSL_TYPE_BOOL:
return nir_type_bool32;
break;
case GLSL_TYPE_UINT:
return nir_type_uint32;
break;
case GLSL_TYPE_INT:
return nir_type_int32;
break;
case GLSL_TYPE_FLOAT:
return nir_type_float32;
break;
case GLSL_TYPE_DOUBLE:
return nir_type_float64;
break;
default:
unreachable("unknown type");
}
}

typedef enum {
NIR_OP_IS_COMMUTATIVE = (1 << 0),
NIR_OP_IS_ASSOCIATIVE = (1 << 1),

Loading…
取消
儲存