iris: Implement ALT mode for ARB_{vertex,fragment}_shader
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 5 Feb 2019 07:36:47 +0000 (23:36 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Feb 2019 18:26:11 +0000 (10:26 -0800)
Fixes gl-1.0-spot-light

src/gallium/drivers/iris/iris_program.c

index b50ac9d74c488dc27e813332ffe9fd7c939fb9ab..d2ada71146db6f2932de606df7932f56fe1d511f 100644 (file)
@@ -850,7 +850,8 @@ iris_compile_vs(struct iris_context *ice,
       nir_shader_gather_info(nir, impl);
    }
 
-   // XXX: alt mode
+   if (nir->info.name && strncmp(nir->info.name, "ARB", 3) == 0)
+      prog_data->use_alt_mode = true;
 
    iris_setup_uniforms(compiler, mem_ctx, nir, prog_data, &system_values,
                        &num_system_values, &num_cbufs);
@@ -1285,7 +1286,8 @@ iris_compile_fs(struct iris_context *ice,
 
    nir_shader *nir = nir_shader_clone(mem_ctx, ish->nir);
 
-   // XXX: alt mode
+   if (nir->info.name && strncmp(nir->info.name, "ARB", 3) == 0)
+      prog_data->use_alt_mode = true;
 
    iris_setup_uniforms(compiler, mem_ctx, nir, prog_data, &system_values,
                        &num_system_values, &num_cbufs);