microsoft/compiler: Handle i1 overloads
Some wave ops can have bool/i1 overloads Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20801>
This commit is contained in:
@@ -155,6 +155,7 @@ enum dxil_primitive_topology dxil_get_primitive_topology(enum shader_prim topolo
|
||||
|
||||
static const char *overload_str[DXIL_NUM_OVERLOADS] = {
|
||||
[DXIL_NONE] = "",
|
||||
[DXIL_I1] = "i1",
|
||||
[DXIL_I16] = "i16",
|
||||
[DXIL_I32] = "i32",
|
||||
[DXIL_I64] = "i64",
|
||||
|
||||
@@ -197,6 +197,7 @@ enum dxil_interpolation_mode {
|
||||
|
||||
enum overload_type {
|
||||
DXIL_NONE,
|
||||
DXIL_I1,
|
||||
DXIL_I16,
|
||||
DXIL_I32,
|
||||
DXIL_I64,
|
||||
|
||||
@@ -675,6 +675,7 @@ const struct dxil_type *
|
||||
dxil_get_overload_type(struct dxil_module *mod, enum overload_type overload)
|
||||
{
|
||||
switch (overload) {
|
||||
case DXIL_I1: return get_int1_type(mod);
|
||||
case DXIL_I16: return get_int16_type(mod);
|
||||
case DXIL_I32: return get_int32_type(mod);
|
||||
case DXIL_I64: return get_int64_type(mod);
|
||||
|
||||
@@ -2215,6 +2215,7 @@ get_overload(nir_alu_type alu_type, unsigned bit_size)
|
||||
case nir_type_int:
|
||||
case nir_type_uint:
|
||||
switch (bit_size) {
|
||||
case 1: return DXIL_I1;
|
||||
case 16: return DXIL_I16;
|
||||
case 32: return DXIL_I32;
|
||||
case 64: return DXIL_I64;
|
||||
|
||||
Reference in New Issue
Block a user