mesa: Add a check for OES_viewport_array
[mesa.git] / src / mesa / program / prog_to_nir.c
index 9e01151a1c48c71c592ca6ac2cfdb09e757c5e28..8a4437a2ceea1ca2efb88f1cc78ddc385862db5e 100644 (file)
@@ -596,6 +596,8 @@ ptn_tex(nir_builder *b, nir_alu_dest dest, nir_ssa_def **src,
    case GLSL_SAMPLER_DIM_CUBE:
       instr->coord_components = 3;
       break;
+   case GLSL_SAMPLER_DIM_SUBPASS:
+      unreachable("can't reach");
    }
 
    unsigned src_number = 0;
@@ -887,7 +889,7 @@ setup_registers_and_variables(struct ptn_compile *c)
    struct nir_shader *shader = b->shader;
 
    /* Create input variables. */
-   const int num_inputs = _mesa_flsll(c->prog->InputsRead);
+   const int num_inputs = util_last_bit64(c->prog->InputsRead);
    for (int i = 0; i < num_inputs; i++) {
       if (!(c->prog->InputsRead & BITFIELD64_BIT(i)))
          continue;
@@ -948,7 +950,7 @@ setup_registers_and_variables(struct ptn_compile *c)
    }
 
    /* Create output registers and variables. */
-   int max_outputs = _mesa_fls(c->prog->OutputsWritten);
+   int max_outputs = util_last_bit(c->prog->OutputsWritten);
    c->output_regs = rzalloc_array(c, nir_register *, max_outputs);
 
    for (int i = 0; i < max_outputs; i++) {
@@ -1043,7 +1045,7 @@ prog_to_nir(const struct gl_program *prog,
    ptn_add_output_stores(c);
 
    s->info.name = ralloc_asprintf(s, "ARB%d", prog->Id);
-   s->info.num_textures = _mesa_fls(prog->SamplersUsed);
+   s->info.num_textures = util_last_bit(prog->SamplersUsed);
    s->info.num_ubos = 0;
    s->info.num_abos = 0;
    s->info.num_ssbos = 0;