summaryrefslogtreecommitdiffstats
path: root/src/intel/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'src/intel/compiler')
-rw-r--r--src/intel/compiler/brw_compiler.c17
-rw-r--r--src/intel/compiler/brw_compiler.h34
-rw-r--r--src/intel/compiler/brw_debug_recompile.c41
-rw-r--r--src/intel/compiler/brw_fs.cpp19
-rw-r--r--src/intel/compiler/brw_fs.h4
-rw-r--r--src/intel/compiler/brw_fs_visitor.cpp27
-rw-r--r--src/intel/compiler/brw_shader.cpp4
-rw-r--r--src/intel/compiler/brw_vec4.cpp5
-rw-r--r--src/intel/compiler/brw_vec4_gs_visitor.cpp4
-rw-r--r--src/intel/compiler/brw_vec4_tcs.cpp6
-rw-r--r--src/intel/compiler/brw_vec4_tes.cpp2
-rw-r--r--src/intel/compiler/brw_vec4_vs_visitor.cpp4
12 files changed, 73 insertions, 94 deletions
diff --git a/src/intel/compiler/brw_compiler.c b/src/intel/compiler/brw_compiler.c
index aacd9f2aca4..eb1f3808fbc 100644
--- a/src/intel/compiler/brw_compiler.c
+++ b/src/intel/compiler/brw_compiler.c
@@ -263,20 +263,3 @@ brw_prog_key_size(gl_shader_stage stage)
assert((int)stage >= 0 && stage < ARRAY_SIZE(stage_sizes));
return stage_sizes[stage];
}
-
-void
-brw_prog_key_set_id(union brw_any_prog_key *key,
- gl_shader_stage stage,
- unsigned id)
-{
- static const unsigned stage_offsets[] = {
- offsetof(struct brw_vs_prog_key, program_string_id),
- offsetof(struct brw_tcs_prog_key, program_string_id),
- offsetof(struct brw_tes_prog_key, program_string_id),
- offsetof(struct brw_gs_prog_key, program_string_id),
- offsetof(struct brw_wm_prog_key, program_string_id),
- offsetof(struct brw_cs_prog_key, program_string_id),
- };
- assert((int)stage >= 0 && stage < ARRAY_SIZE(stage_offsets));
- *(unsigned*)((uint8_t*)key + stage_offsets[stage]) = id;
-}
diff --git a/src/intel/compiler/brw_compiler.h b/src/intel/compiler/brw_compiler.h
index 3c109c504b1..8f8cca79deb 100644
--- a/src/intel/compiler/brw_compiler.h
+++ b/src/intel/compiler/brw_compiler.h
@@ -203,6 +203,12 @@ struct brw_sampler_prog_key_data {
float scale_factors[32];
};
+struct brw_base_prog_key {
+ unsigned program_string_id;
+
+ struct brw_sampler_prog_key_data tex;
+};
+
/**
* The VF can't natively handle certain types of attributes, such as GL_FIXED
* or most 10_10_10_2 types. These flags enable various VS workarounds to
@@ -225,7 +231,7 @@ struct brw_sampler_prog_key_data {
/** The program key for Vertex Shaders. */
struct brw_vs_prog_key {
- unsigned program_string_id;
+ struct brw_base_prog_key base;
/**
* Per-attribute workaround flags
@@ -263,14 +269,12 @@ struct brw_vs_prog_key {
* the VUE, even if they aren't written by the vertex shader.
*/
uint8_t point_coord_replace;
-
- struct brw_sampler_prog_key_data tex;
};
/** The program key for Tessellation Control Shaders. */
struct brw_tcs_prog_key
{
- unsigned program_string_id;
+ struct brw_base_prog_key base;
GLenum tes_primitive_mode;
@@ -283,30 +287,24 @@ struct brw_tcs_prog_key
uint64_t outputs_written;
bool quads_workaround;
-
- struct brw_sampler_prog_key_data tex;
};
/** The program key for Tessellation Evaluation Shaders. */
struct brw_tes_prog_key
{
- unsigned program_string_id;
+ struct brw_base_prog_key base;
/** A bitfield of per-patch inputs read. */
uint32_t patch_inputs_read;
/** A bitfield of per-vertex inputs read. */
uint64_t inputs_read;
-
- struct brw_sampler_prog_key_data tex;
};
/** The program key for Geometry Shaders. */
struct brw_gs_prog_key
{
- unsigned program_string_id;
-
- struct brw_sampler_prog_key_data tex;
+ struct brw_base_prog_key base;
};
enum brw_sf_primitive {
@@ -394,6 +392,8 @@ enum brw_wm_aa_enable {
/** The program key for Fragment/Pixel Shaders. */
struct brw_wm_prog_key {
+ struct brw_base_prog_key base;
+
/* Some collection of BRW_WM_IZ_* */
uint8_t iz_lookup;
bool stats_wm:1;
@@ -412,20 +412,17 @@ struct brw_wm_prog_key {
uint8_t color_outputs_valid;
uint64_t input_slots_valid;
- unsigned program_string_id;
GLenum alpha_test_func; /* < For Gen4/5 MRT alpha test */
float alpha_test_ref;
-
- struct brw_sampler_prog_key_data tex;
};
struct brw_cs_prog_key {
- uint32_t program_string_id;
- struct brw_sampler_prog_key_data tex;
+ struct brw_base_prog_key base;
};
/* brw_any_prog_key is any of the keys that map to an API stage */
union brw_any_prog_key {
+ struct brw_base_prog_key base;
struct brw_vs_prog_key vs;
struct brw_tcs_prog_key tcs;
struct brw_tes_prog_key tes;
@@ -1360,7 +1357,8 @@ brw_compile_cs(const struct brw_compiler *compiler, void *log_data,
void brw_debug_key_recompile(const struct brw_compiler *c, void *log,
gl_shader_stage stage,
- const void *old_key, const void *key);
+ const struct brw_base_prog_key *old_key,
+ const struct brw_base_prog_key *key);
static inline uint32_t
encode_slm_size(unsigned gen, uint32_t bytes)
diff --git a/src/intel/compiler/brw_debug_recompile.c b/src/intel/compiler/brw_debug_recompile.c
index c9d9296b8fd..8d561a2bded 100644
--- a/src/intel/compiler/brw_debug_recompile.c
+++ b/src/intel/compiler/brw_debug_recompile.c
@@ -86,12 +86,20 @@ debug_sampler_recompile(const struct brw_compiler *c, void *log,
return found;
}
+static bool
+debug_base_recompile(const struct brw_compiler *c, void *log,
+ const struct brw_base_prog_key *old_key,
+ const struct brw_base_prog_key *key)
+{
+ return debug_sampler_recompile(c, log, &old_key->tex, &key->tex);
+}
+
static void
debug_vs_recompile(const struct brw_compiler *c, void *log,
const struct brw_vs_prog_key *old_key,
const struct brw_vs_prog_key *key)
{
- bool found = debug_sampler_recompile(c, log, &old_key->tex, &key->tex);
+ bool found = debug_base_recompile(c, log, &old_key->base, &key->base);
for (unsigned i = 0; i < VERT_ATTRIB_MAX; i++) {
found |= check("vertex attrib w/a flags", gl_attrib_wa_flags[i]);
@@ -112,7 +120,7 @@ debug_tcs_recompile(const struct brw_compiler *c, void *log,
const struct brw_tcs_prog_key *old_key,
const struct brw_tcs_prog_key *key)
{
- bool found = debug_sampler_recompile(c, log, &old_key->tex, &key->tex);
+ bool found = debug_base_recompile(c, log, &old_key->base, &key->base);
found |= check("input vertices", input_vertices);
found |= check("outputs written", outputs_written);
@@ -130,7 +138,7 @@ debug_tes_recompile(const struct brw_compiler *c, void *log,
const struct brw_tes_prog_key *old_key,
const struct brw_tes_prog_key *key)
{
- bool found = debug_sampler_recompile(c, log, &old_key->tex, &key->tex);
+ bool found = debug_base_recompile(c, log, &old_key->base, &key->base);
found |= check("inputs read", inputs_read);
found |= check("patch inputs read", patch_inputs_read);
@@ -145,7 +153,7 @@ debug_gs_recompile(const struct brw_compiler *c, void *log,
const struct brw_gs_prog_key *old_key,
const struct brw_gs_prog_key *key)
{
- bool found = debug_sampler_recompile(c, log, &old_key->tex, &key->tex);
+ bool found = debug_base_recompile(c, log, &old_key->base, &key->base);
if (!found) {
c->shader_perf_log(log, " something else\n");
@@ -179,7 +187,7 @@ debug_fs_recompile(const struct brw_compiler *c, void *log,
found |= check("mrt alpha test function", alpha_test_func);
found |= check("mrt alpha test reference value", alpha_test_ref);
- found |= debug_sampler_recompile(c, log, &old_key->tex, &key->tex);
+ found |= debug_base_recompile(c, log, &old_key->base, &key->base);
if (!found) {
c->shader_perf_log(log, " something else\n");
@@ -191,7 +199,7 @@ debug_cs_recompile(const struct brw_compiler *c, void *log,
const struct brw_cs_prog_key *old_key,
const struct brw_cs_prog_key *key)
{
- bool found = debug_sampler_recompile(c, log, &old_key->tex, &key->tex);
+ bool found = debug_base_recompile(c, log, &old_key->base, &key->base);
if (!found) {
c->shader_perf_log(log, " something else\n");
@@ -201,7 +209,8 @@ debug_cs_recompile(const struct brw_compiler *c, void *log,
void
brw_debug_key_recompile(const struct brw_compiler *c, void *log,
gl_shader_stage stage,
- const void *old_key, const void *key)
+ const struct brw_base_prog_key *old_key,
+ const struct brw_base_prog_key *key)
{
if (!old_key) {
c->shader_perf_log(log, " No previous compile found...\n");
@@ -210,22 +219,28 @@ brw_debug_key_recompile(const struct brw_compiler *c, void *log,
switch (stage) {
case MESA_SHADER_VERTEX:
- debug_vs_recompile(c, log, old_key, key);
+ debug_vs_recompile(c, log, (const struct brw_vs_prog_key *)old_key,
+ (const struct brw_vs_prog_key *)key);
break;
case MESA_SHADER_TESS_CTRL:
- debug_tcs_recompile(c, log, old_key, key);
+ debug_tcs_recompile(c, log, (const struct brw_tcs_prog_key *)old_key,
+ (const struct brw_tcs_prog_key *)key);
break;
case MESA_SHADER_TESS_EVAL:
- debug_tes_recompile(c, log, old_key, key);
+ debug_tes_recompile(c, log, (const struct brw_tes_prog_key *)old_key,
+ (const struct brw_tes_prog_key *)key);
break;
case MESA_SHADER_GEOMETRY:
- debug_gs_recompile(c, log, old_key, key);
+ debug_gs_recompile(c, log, (const struct brw_gs_prog_key *)old_key,
+ (const struct brw_gs_prog_key *)key);
break;
case MESA_SHADER_FRAGMENT:
- debug_fs_recompile(c, log, old_key, key);
+ debug_fs_recompile(c, log, (const struct brw_wm_prog_key *)old_key,
+ (const struct brw_wm_prog_key *)key);
break;
case MESA_SHADER_COMPUTE:
- debug_cs_recompile(c, log, old_key, key);
+ debug_cs_recompile(c, log, (const struct brw_cs_prog_key *)old_key,
+ (const struct brw_cs_prog_key *)key);
break;
default:
break;
diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp
index bd0ac1a0718..a9273ebef2d 100644
--- a/src/intel/compiler/brw_fs.cpp
+++ b/src/intel/compiler/brw_fs.cpp
@@ -7961,7 +7961,7 @@ brw_compile_fs(const struct brw_compiler *compiler, void *log_data,
{
const struct gen_device_info *devinfo = compiler->devinfo;
- brw_nir_apply_sampler_key(shader, compiler, &key->tex, true);
+ brw_nir_apply_sampler_key(shader, compiler, &key->base.tex, true);
brw_nir_lower_fs_inputs(shader, devinfo, key);
brw_nir_lower_fs_outputs(shader);
@@ -8003,7 +8003,7 @@ brw_compile_fs(const struct brw_compiler *compiler, void *log_data,
cfg_t *simd8_cfg = NULL, *simd16_cfg = NULL, *simd32_cfg = NULL;
- fs_visitor v8(compiler, log_data, mem_ctx, key,
+ fs_visitor v8(compiler, log_data, mem_ctx, &key->base,
&prog_data->base, prog, shader, 8,
shader_time_index8);
if (!v8.run_fs(allow_spilling, false /* do_rep_send */)) {
@@ -8020,7 +8020,7 @@ brw_compile_fs(const struct brw_compiler *compiler, void *log_data,
if (v8.max_dispatch_width >= 16 &&
likely(!(INTEL_DEBUG & DEBUG_NO16) || use_rep_send)) {
/* Try a SIMD16 compile */
- fs_visitor v16(compiler, log_data, mem_ctx, key,
+ fs_visitor v16(compiler, log_data, mem_ctx, &key->base,
&prog_data->base, prog, shader, 16,
shader_time_index16);
v16.import_uniforms(&v8);
@@ -8040,7 +8040,7 @@ brw_compile_fs(const struct brw_compiler *compiler, void *log_data,
compiler->devinfo->gen >= 6 &&
unlikely(INTEL_DEBUG & DEBUG_DO32)) {
/* Try a SIMD32 compile */
- fs_visitor v32(compiler, log_data, mem_ctx, key,
+ fs_visitor v32(compiler, log_data, mem_ctx, &key->base,
&prog_data->base, prog, shader, 32,
shader_time_index32);
v32.import_uniforms(&v8);
@@ -8222,7 +8222,7 @@ compile_cs_to_nir(const struct brw_compiler *compiler,
unsigned dispatch_width)
{
nir_shader *shader = nir_shader_clone(mem_ctx, src_shader);
- brw_nir_apply_sampler_key(shader, compiler, &key->tex, true);
+ brw_nir_apply_sampler_key(shader, compiler, &key->base.tex, true);
NIR_PASS_V(shader, brw_nir_lower_cs_intrinsics, dispatch_width);
@@ -8267,7 +8267,8 @@ brw_compile_cs(const struct brw_compiler *compiler, void *log_data,
if (min_dispatch_width <= 8) {
nir_shader *nir8 = compile_cs_to_nir(compiler, mem_ctx, key,
src_shader, 8);
- v8 = new fs_visitor(compiler, log_data, mem_ctx, key, &prog_data->base,
+ v8 = new fs_visitor(compiler, log_data, mem_ctx, &key->base,
+ &prog_data->base,
NULL, /* Never used in core profile */
nir8, 8, shader_time_index);
if (!v8->run_cs(min_dispatch_width)) {
@@ -8288,7 +8289,8 @@ brw_compile_cs(const struct brw_compiler *compiler, void *log_data,
/* Try a SIMD16 compile */
nir_shader *nir16 = compile_cs_to_nir(compiler, mem_ctx, key,
src_shader, 16);
- v16 = new fs_visitor(compiler, log_data, mem_ctx, key, &prog_data->base,
+ v16 = new fs_visitor(compiler, log_data, mem_ctx, &key->base,
+ &prog_data->base,
NULL, /* Never used in core profile */
nir16, 16, shader_time_index);
if (v8)
@@ -8321,7 +8323,8 @@ brw_compile_cs(const struct brw_compiler *compiler, void *log_data,
/* Try a SIMD32 compile */
nir_shader *nir32 = compile_cs_to_nir(compiler, mem_ctx, key,
src_shader, 32);
- v32 = new fs_visitor(compiler, log_data, mem_ctx, key, &prog_data->base,
+ v32 = new fs_visitor(compiler, log_data, mem_ctx, &key->base,
+ &prog_data->base,
NULL, /* Never used in core profile */
nir32, 32, shader_time_index);
if (v8)
diff --git a/src/intel/compiler/brw_fs.h b/src/intel/compiler/brw_fs.h
index d93fb29d85d..4e7b5781827 100644
--- a/src/intel/compiler/brw_fs.h
+++ b/src/intel/compiler/brw_fs.h
@@ -62,7 +62,7 @@ class fs_visitor : public backend_shader
public:
fs_visitor(const struct brw_compiler *compiler, void *log_data,
void *mem_ctx,
- const void *key,
+ const brw_base_prog_key *key,
struct brw_stage_prog_data *prog_data,
struct gl_program *prog,
const nir_shader *shader,
@@ -304,7 +304,7 @@ public:
void dump_instruction(backend_instruction *inst);
void dump_instruction(backend_instruction *inst, FILE *file);
- const void *const key;
+ const brw_base_prog_key *const key;
const struct brw_sampler_prog_key_data *key_tex;
struct brw_gs_compile *gs_compile;
diff --git a/src/intel/compiler/brw_fs_visitor.cpp b/src/intel/compiler/brw_fs_visitor.cpp
index 6509868f1c3..eb23b4087d0 100644
--- a/src/intel/compiler/brw_fs_visitor.cpp
+++ b/src/intel/compiler/brw_fs_visitor.cpp
@@ -969,7 +969,7 @@ fs_visitor::emit_barrier()
fs_visitor::fs_visitor(const struct brw_compiler *compiler, void *log_data,
void *mem_ctx,
- const void *key,
+ const brw_base_prog_key *key,
struct brw_stage_prog_data *prog_data,
struct gl_program *prog,
const nir_shader *shader,
@@ -994,7 +994,7 @@ fs_visitor::fs_visitor(const struct brw_compiler *compiler, void *log_data,
int shader_time_index)
: backend_shader(compiler, log_data, mem_ctx, shader,
&prog_data->base.base),
- key(&c->key), gs_compile(c),
+ key(&c->key.base), gs_compile(c),
prog_data(&prog_data->base.base), prog(NULL),
dispatch_width(8),
shader_time_index(shader_time_index),
@@ -1007,28 +1007,7 @@ fs_visitor::fs_visitor(const struct brw_compiler *compiler, void *log_data,
void
fs_visitor::init()
{
- switch (stage) {
- case MESA_SHADER_FRAGMENT:
- key_tex = &((const brw_wm_prog_key *) key)->tex;
- break;
- case MESA_SHADER_VERTEX:
- key_tex = &((const brw_vs_prog_key *) key)->tex;
- break;
- case MESA_SHADER_TESS_CTRL:
- key_tex = &((const brw_tcs_prog_key *) key)->tex;
- break;
- case MESA_SHADER_TESS_EVAL:
- key_tex = &((const brw_tes_prog_key *) key)->tex;
- break;
- case MESA_SHADER_GEOMETRY:
- key_tex = &((const brw_gs_prog_key *) key)->tex;
- break;
- case MESA_SHADER_COMPUTE:
- key_tex = &((const brw_cs_prog_key*) key)->tex;
- break;
- default:
- unreachable("unhandled shader stage");
- }
+ this->key_tex = &key->tex;
this->max_dispatch_width = 32;
this->prog_data = this->stage_prog_data;
diff --git a/src/intel/compiler/brw_shader.cpp b/src/intel/compiler/brw_shader.cpp
index 643765c1b22..8403f19b831 100644
--- a/src/intel/compiler/brw_shader.cpp
+++ b/src/intel/compiler/brw_shader.cpp
@@ -1244,7 +1244,7 @@ brw_compile_tes(const struct brw_compiler *compiler,
nir->info.inputs_read = key->inputs_read;
nir->info.patch_inputs_read = key->patch_inputs_read;
- brw_nir_apply_sampler_key(nir, compiler, &key->tex, is_scalar);
+ brw_nir_apply_sampler_key(nir, compiler, &key->base.tex, is_scalar);
brw_nir_lower_tes_inputs(nir, input_vue_map);
brw_nir_lower_vue_outputs(nir);
brw_postprocess_nir(nir, compiler, is_scalar);
@@ -1322,7 +1322,7 @@ brw_compile_tes(const struct brw_compiler *compiler,
}
if (is_scalar) {
- fs_visitor v(compiler, log_data, mem_ctx, (void *) key,
+ fs_visitor v(compiler, log_data, mem_ctx, &key->base,
&prog_data->base.base, NULL, nir, 8,
shader_time_index, input_vue_map);
if (!v.run_tes()) {
diff --git a/src/intel/compiler/brw_vec4.cpp b/src/intel/compiler/brw_vec4.cpp
index 26e2a0ecf5b..16ae576de37 100644
--- a/src/intel/compiler/brw_vec4.cpp
+++ b/src/intel/compiler/brw_vec4.cpp
@@ -2845,7 +2845,7 @@ brw_compile_vs(const struct brw_compiler *compiler, void *log_data,
char **error_str)
{
const bool is_scalar = compiler->scalar_stage[MESA_SHADER_VERTEX];
- brw_nir_apply_sampler_key(shader, compiler, &key->tex, is_scalar);
+ brw_nir_apply_sampler_key(shader, compiler, &key->base.tex, is_scalar);
const unsigned *assembly = NULL;
@@ -2961,7 +2961,8 @@ brw_compile_vs(const struct brw_compiler *compiler, void *log_data,
if (is_scalar) {
prog_data->base.dispatch_mode = DISPATCH_MODE_SIMD8;
- fs_visitor v(compiler, log_data, mem_ctx, key, &prog_data->base.base,
+ fs_visitor v(compiler, log_data, mem_ctx, &key->base,
+ &prog_data->base.base,
NULL, /* prog; Only used for TEXTURE_RECTANGLE on gen < 8 */
shader, 8, shader_time_index);
if (!v.run_vs()) {
diff --git a/src/intel/compiler/brw_vec4_gs_visitor.cpp b/src/intel/compiler/brw_vec4_gs_visitor.cpp
index 417daf1b493..208c0161657 100644
--- a/src/intel/compiler/brw_vec4_gs_visitor.cpp
+++ b/src/intel/compiler/brw_vec4_gs_visitor.cpp
@@ -44,7 +44,7 @@ vec4_gs_visitor::vec4_gs_visitor(const struct brw_compiler *compiler,
void *mem_ctx,
bool no_spills,
int shader_time_index)
- : vec4_visitor(compiler, log_data, &c->key.tex,
+ : vec4_visitor(compiler, log_data, &c->key.base.tex,
&prog_data->base, shader, mem_ctx,
no_spills, shader_time_index),
c(c),
@@ -639,7 +639,7 @@ brw_compile_gs(const struct brw_compiler *compiler, void *log_data,
&c.input_vue_map, inputs_read,
shader->info.separate_shader);
- brw_nir_apply_sampler_key(shader, compiler, &key->tex, is_scalar);
+ brw_nir_apply_sampler_key(shader, compiler, &key->base.tex, is_scalar);
brw_nir_lower_vue_inputs(shader, &c.input_vue_map);
brw_nir_lower_vue_outputs(shader);
brw_postprocess_nir(shader, compiler, is_scalar);
diff --git a/src/intel/compiler/brw_vec4_tcs.cpp b/src/intel/compiler/brw_vec4_tcs.cpp
index 39df2d5054b..b8f2a3bde0a 100644
--- a/src/intel/compiler/brw_vec4_tcs.cpp
+++ b/src/intel/compiler/brw_vec4_tcs.cpp
@@ -42,7 +42,7 @@ vec4_tcs_visitor::vec4_tcs_visitor(const struct brw_compiler *compiler,
void *mem_ctx,
int shader_time_index,
const struct brw_vue_map *input_vue_map)
- : vec4_visitor(compiler, log_data, &key->tex, &prog_data->base,
+ : vec4_visitor(compiler, log_data, &key->base.tex, &prog_data->base,
nir, mem_ctx, false, shader_time_index),
input_vue_map(input_vue_map), key(key)
{
@@ -397,7 +397,7 @@ brw_compile_tcs(const struct brw_compiler *compiler,
nir->info.outputs_written,
nir->info.patch_outputs_written);
- brw_nir_apply_sampler_key(nir, compiler, &key->tex, is_scalar);
+ brw_nir_apply_sampler_key(nir, compiler, &key->base.tex, is_scalar);
brw_nir_lower_vue_inputs(nir, &input_vue_map);
brw_nir_lower_tcs_outputs(nir, &vue_prog_data->vue_map,
key->tes_primitive_mode);
@@ -475,7 +475,7 @@ brw_compile_tcs(const struct brw_compiler *compiler,
}
if (is_scalar) {
- fs_visitor v(compiler, log_data, mem_ctx, (void *) key,
+ fs_visitor v(compiler, log_data, mem_ctx, &key->base,
&prog_data->base.base, NULL, nir, 8,
shader_time_index, &input_vue_map);
if (!v.run_tcs()) {
diff --git a/src/intel/compiler/brw_vec4_tes.cpp b/src/intel/compiler/brw_vec4_tes.cpp
index 2ad5d06b539..51840b75ee6 100644
--- a/src/intel/compiler/brw_vec4_tes.cpp
+++ b/src/intel/compiler/brw_vec4_tes.cpp
@@ -40,7 +40,7 @@ vec4_tes_visitor::vec4_tes_visitor(const struct brw_compiler *compiler,
const nir_shader *shader,
void *mem_ctx,
int shader_time_index)
- : vec4_visitor(compiler, log_data, &key->tex, &prog_data->base,
+ : vec4_visitor(compiler, log_data, &key->base.tex, &prog_data->base,
shader, mem_ctx, false, shader_time_index)
{
}
diff --git a/src/intel/compiler/brw_vec4_vs_visitor.cpp b/src/intel/compiler/brw_vec4_vs_visitor.cpp
index 6ee3cb4ac24..5aa1b9ac0b2 100644
--- a/src/intel/compiler/brw_vec4_vs_visitor.cpp
+++ b/src/intel/compiler/brw_vec4_vs_visitor.cpp
@@ -173,8 +173,8 @@ vec4_vs_visitor::vec4_vs_visitor(const struct brw_compiler *compiler,
const nir_shader *shader,
void *mem_ctx,
int shader_time_index)
- : vec4_visitor(compiler, log_data, &key->tex, &vs_prog_data->base, shader,
- mem_ctx, false /* no_spills */, shader_time_index),
+ : vec4_visitor(compiler, log_data, &key->base.tex, &vs_prog_data->base,
+ shader, mem_ctx, false /* no_spills */, shader_time_index),
key(key),
vs_prog_data(vs_prog_data)
{