spirv: Add subgroup ballot support

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
This commit is contained in:
Jason Ekstrand
2017-08-22 16:53:05 -07:00
parent 974daec495
commit 9812fce60b
4 changed files with 161 additions and 8 deletions

View File

@@ -1317,6 +1317,26 @@ vtn_get_builtin_location(struct vtn_builder *b,
*location = SYSTEM_VALUE_VIEW_INDEX;
set_mode_system_value(b, mode);
break;
case SpvBuiltInSubgroupEqMask:
*location = SYSTEM_VALUE_SUBGROUP_EQ_MASK,
set_mode_system_value(b, mode);
break;
case SpvBuiltInSubgroupGeMask:
*location = SYSTEM_VALUE_SUBGROUP_GE_MASK,
set_mode_system_value(b, mode);
break;
case SpvBuiltInSubgroupGtMask:
*location = SYSTEM_VALUE_SUBGROUP_GT_MASK,
set_mode_system_value(b, mode);
break;
case SpvBuiltInSubgroupLeMask:
*location = SYSTEM_VALUE_SUBGROUP_LE_MASK,
set_mode_system_value(b, mode);
break;
case SpvBuiltInSubgroupLtMask:
*location = SYSTEM_VALUE_SUBGROUP_LT_MASK,
set_mode_system_value(b, mode);
break;
default:
vtn_fail("unsupported builtin");
}