mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-27 14:28:22 +02:00
brw: Move key and prog_data to base compile params
Reviewed-by: Iván Briano <ivan.briano@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41633>
This commit is contained in:
parent
7893eefa3b
commit
33475c0cce
16 changed files with 105 additions and 103 deletions
|
|
@ -1918,12 +1918,12 @@ iris_compile_vs(struct iris_screen *screen,
|
|||
.base = {
|
||||
.mem_ctx = mem_ctx,
|
||||
.nir = nir,
|
||||
.key = &brw_key.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)brw_prog_data,
|
||||
.log_data = dbg,
|
||||
.source_hash = ish->source_hash,
|
||||
.archiver = debug_archiver,
|
||||
},
|
||||
.key = &brw_key,
|
||||
.prog_data = brw_prog_data,
|
||||
};
|
||||
|
||||
if (intel_use_jay(devinfo, nir->info.stage)) {
|
||||
|
|
@ -2196,12 +2196,12 @@ iris_compile_tcs(struct iris_screen *screen,
|
|||
.base = {
|
||||
.mem_ctx = mem_ctx,
|
||||
.nir = nir,
|
||||
.key = &brw_key.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)brw_prog_data,
|
||||
.log_data = dbg,
|
||||
.source_hash = source_hash,
|
||||
.archiver = debug_archiver,
|
||||
},
|
||||
.key = &brw_key,
|
||||
.prog_data = brw_prog_data,
|
||||
};
|
||||
|
||||
program = brw_compile(screen->brw, ¶ms.base);
|
||||
|
|
@ -2406,12 +2406,12 @@ iris_compile_tes(struct iris_screen *screen,
|
|||
.base = {
|
||||
.mem_ctx = mem_ctx,
|
||||
.nir = nir,
|
||||
.key = &brw_key.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)brw_prog_data,
|
||||
.log_data = dbg,
|
||||
.source_hash = ish->source_hash,
|
||||
.archiver = debug_archiver,
|
||||
},
|
||||
.key = &brw_key,
|
||||
.prog_data = brw_prog_data,
|
||||
.input_vue_map = &input_vue_map,
|
||||
};
|
||||
|
||||
|
|
@ -2601,12 +2601,12 @@ iris_compile_gs(struct iris_screen *screen,
|
|||
.base = {
|
||||
.mem_ctx = mem_ctx,
|
||||
.nir = nir,
|
||||
.key = &brw_key.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)brw_prog_data,
|
||||
.log_data = dbg,
|
||||
.source_hash = ish->source_hash,
|
||||
.archiver = debug_archiver,
|
||||
},
|
||||
.key = &brw_key,
|
||||
.prog_data = brw_prog_data,
|
||||
};
|
||||
|
||||
program = brw_compile(screen->brw, ¶ms.base);
|
||||
|
|
@ -2804,12 +2804,12 @@ iris_compile_fs(struct iris_screen *screen,
|
|||
.base = {
|
||||
.mem_ctx = mem_ctx,
|
||||
.nir = nir,
|
||||
.key = &brw_key.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)brw_prog_data,
|
||||
.log_data = dbg,
|
||||
.source_hash = ish->source_hash,
|
||||
.archiver = debug_archiver,
|
||||
},
|
||||
.key = &brw_key,
|
||||
.prog_data = brw_prog_data,
|
||||
|
||||
.allow_spilling = true,
|
||||
.max_polygons = UCHAR_MAX,
|
||||
|
|
@ -3168,12 +3168,12 @@ iris_compile_cs(struct iris_screen *screen,
|
|||
.base = {
|
||||
.mem_ctx = mem_ctx,
|
||||
.nir = nir,
|
||||
.key = &brw_key.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)brw_prog_data,
|
||||
.log_data = dbg,
|
||||
.source_hash = ish->source_hash,
|
||||
.archiver = debug_archiver,
|
||||
},
|
||||
.key = &brw_key,
|
||||
.prog_data = brw_prog_data,
|
||||
};
|
||||
|
||||
if (intel_use_jay(devinfo, nir->info.stage)) {
|
||||
|
|
|
|||
|
|
@ -435,13 +435,13 @@ iris_ensure_indirect_generation_shader(struct iris_batch *batch)
|
|||
struct brw_compile_fs_params params = {
|
||||
.base = {
|
||||
.nir = nir,
|
||||
.key = &prog_key.fs.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)prog_data,
|
||||
.log_data = &ice->dbg,
|
||||
.debug_flag = DEBUG_WM,
|
||||
.stats = stats,
|
||||
.mem_ctx = nir,
|
||||
},
|
||||
.key = &prog_key.fs,
|
||||
.prog_data = prog_data,
|
||||
};
|
||||
program = brw_compile(screen->brw, ¶ms.base);
|
||||
assert(program);
|
||||
|
|
|
|||
|
|
@ -80,12 +80,12 @@ blorp_compile_fs_brw(struct blorp_context *blorp, void *mem_ctx,
|
|||
.base = {
|
||||
.mem_ctx = mem_ctx,
|
||||
.nir = nir,
|
||||
.key = &wm_key.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)fs_prog_data,
|
||||
.log_data = blorp->driver_ctx,
|
||||
.debug_flag = DEBUG_BLORP,
|
||||
.archiver = archiver,
|
||||
},
|
||||
.key = &wm_key,
|
||||
.prog_data = fs_prog_data,
|
||||
|
||||
.use_rep_send = use_repclear,
|
||||
.max_polygons = 1,
|
||||
|
|
@ -132,12 +132,12 @@ blorp_compile_vs_brw(struct blorp_context *blorp, void *mem_ctx,
|
|||
.base = {
|
||||
.mem_ctx = mem_ctx,
|
||||
.nir = nir,
|
||||
.key = &vs_key.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)vs_prog_data,
|
||||
.log_data = blorp->driver_ctx,
|
||||
.debug_flag = DEBUG_BLORP,
|
||||
.archiver = archiver,
|
||||
},
|
||||
.key = &vs_key,
|
||||
.prog_data = vs_prog_data,
|
||||
};
|
||||
|
||||
const unsigned *kernel = brw_compile(compiler, ¶ms.base);
|
||||
|
|
@ -239,12 +239,12 @@ blorp_compile_cs_brw(struct blorp_context *blorp, void *mem_ctx,
|
|||
.base = {
|
||||
.mem_ctx = mem_ctx,
|
||||
.nir = nir,
|
||||
.key = &cs_key.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)cs_prog_data,
|
||||
.log_data = blorp->driver_ctx,
|
||||
.debug_flag = DEBUG_BLORP,
|
||||
.archiver = archiver,
|
||||
},
|
||||
.key = &cs_key,
|
||||
.prog_data = cs_prog_data,
|
||||
};
|
||||
|
||||
const unsigned *kernel = brw_compile(compiler, ¶ms.base);
|
||||
|
|
|
|||
|
|
@ -140,7 +140,10 @@ brw_compile_bs(const struct brw_compiler *compiler,
|
|||
struct brw_compile_bs_params *params)
|
||||
{
|
||||
nir_shader *shader = params->base.nir;
|
||||
struct brw_bs_prog_data *prog_data = params->prog_data;
|
||||
const struct brw_bs_prog_key *key =
|
||||
(const struct brw_bs_prog_key *)params->base.key;
|
||||
struct brw_bs_prog_data *prog_data =
|
||||
(struct brw_bs_prog_data *)params->base.prog_data;
|
||||
unsigned num_resume_shaders = params->num_resume_shaders;
|
||||
nir_shader **resume_shaders = params->resume_shaders;
|
||||
const bool debug_enabled = brw_should_print_shader(shader, DEBUG_RT, params->base.source_hash);
|
||||
|
|
@ -162,7 +165,7 @@ brw_compile_bs(const struct brw_compiler *compiler,
|
|||
}
|
||||
|
||||
prog_data->simd_size =
|
||||
compile_single_bs(compiler, params, params->key, prog_data,
|
||||
compile_single_bs(compiler, params, key, prog_data,
|
||||
shader, &g, params->base.stats, NULL, NULL);
|
||||
if (prog_data->simd_size == 0)
|
||||
return NULL;
|
||||
|
|
@ -183,9 +186,8 @@ brw_compile_bs(const struct brw_compiler *compiler,
|
|||
/* TODO: Figure out shader stats etc. for resume shaders */
|
||||
int offset = 0;
|
||||
uint8_t simd_size =
|
||||
compile_single_bs(compiler, params, params->key,
|
||||
prog_data, resume_shaders[i], &g, NULL, &offset,
|
||||
&resume_sbt[i]);
|
||||
compile_single_bs(compiler, params, key, prog_data, resume_shaders[i],
|
||||
&g, NULL, &offset, &resume_sbt[i]);
|
||||
if (simd_size == 0)
|
||||
return NULL;
|
||||
|
||||
|
|
|
|||
|
|
@ -122,8 +122,10 @@ brw_compile_cs(const struct brw_compiler *compiler,
|
|||
{
|
||||
const struct intel_device_info *devinfo = compiler->devinfo;
|
||||
struct nir_shader *nir = params->base.nir;
|
||||
const struct brw_cs_prog_key *key = params->key;
|
||||
struct brw_cs_prog_data *prog_data = params->prog_data;
|
||||
const struct brw_cs_prog_key *key =
|
||||
(const struct brw_cs_prog_key *)params->base.key;
|
||||
struct brw_cs_prog_data *prog_data =
|
||||
(struct brw_cs_prog_data *)params->base.prog_data;
|
||||
|
||||
const bool debug_enabled =
|
||||
brw_should_print_shader(nir, params->base.debug_flag ?
|
||||
|
|
|
|||
|
|
@ -1448,8 +1448,10 @@ brw_compile_fs(const struct brw_compiler *compiler,
|
|||
struct brw_compile_fs_params *params)
|
||||
{
|
||||
struct nir_shader *nir = params->base.nir;
|
||||
const struct brw_fs_prog_key *key = params->key;
|
||||
struct brw_fs_prog_data *prog_data = params->prog_data;
|
||||
const struct brw_fs_prog_key *key =
|
||||
(const struct brw_fs_prog_key *)params->base.key;
|
||||
struct brw_fs_prog_data *prog_data =
|
||||
(struct brw_fs_prog_data *)params->base.prog_data;
|
||||
bool allow_spilling = params->allow_spilling;
|
||||
const bool debug_enabled =
|
||||
brw_should_print_shader(nir, params->base.debug_flag ?
|
||||
|
|
|
|||
|
|
@ -121,8 +121,10 @@ brw_compile_gs(const struct brw_compiler *compiler,
|
|||
struct brw_compile_gs_params *params)
|
||||
{
|
||||
nir_shader *nir = params->base.nir;
|
||||
const struct brw_gs_prog_key *key = params->key;
|
||||
struct brw_gs_prog_data *prog_data = params->prog_data;
|
||||
const struct brw_gs_prog_key *key =
|
||||
(const struct brw_gs_prog_key *)params->base.key;
|
||||
struct brw_gs_prog_data *prog_data =
|
||||
(struct brw_gs_prog_data *)params->base.prog_data;
|
||||
const unsigned dispatch_width = brw_geometry_stage_dispatch_width(compiler->devinfo);
|
||||
|
||||
struct intel_vue_map input_vue_map = {0};
|
||||
|
|
|
|||
|
|
@ -277,8 +277,10 @@ brw_compile_task(const struct brw_compiler *compiler,
|
|||
{
|
||||
const struct intel_device_info *devinfo = compiler->devinfo;
|
||||
struct nir_shader *nir = params->base.nir;
|
||||
const struct brw_task_prog_key *key = params->key;
|
||||
struct brw_task_prog_data *prog_data = params->prog_data;
|
||||
const struct brw_task_prog_key *key =
|
||||
(const struct brw_task_prog_key *)params->base.key;
|
||||
struct brw_task_prog_data *prog_data =
|
||||
(struct brw_task_prog_data *)params->base.prog_data;
|
||||
const bool debug_enabled = brw_should_print_shader(nir, DEBUG_TASK, params->base.source_hash);
|
||||
|
||||
brw_pass_tracker pt_ = {
|
||||
|
|
@ -963,8 +965,10 @@ brw_compile_mesh(const struct brw_compiler *compiler,
|
|||
{
|
||||
const struct intel_device_info *devinfo = compiler->devinfo;
|
||||
struct nir_shader *nir = params->base.nir;
|
||||
const struct brw_mesh_prog_key *key = params->key;
|
||||
struct brw_mesh_prog_data *prog_data = params->prog_data;
|
||||
const struct brw_mesh_prog_key *key =
|
||||
(const struct brw_mesh_prog_key *)params->base.key;
|
||||
struct brw_mesh_prog_data *prog_data =
|
||||
(struct brw_mesh_prog_data *)params->base.prog_data;
|
||||
const bool debug_enabled = brw_should_print_shader(nir, DEBUG_MESH, params->base.source_hash);
|
||||
|
||||
brw_pass_tracker pt_ = {
|
||||
|
|
|
|||
|
|
@ -176,8 +176,10 @@ brw_compile_tcs(const struct brw_compiler *compiler,
|
|||
{
|
||||
const struct intel_device_info *devinfo = compiler->devinfo;
|
||||
nir_shader *nir = params->base.nir;
|
||||
const struct brw_tcs_prog_key *key = params->key;
|
||||
struct brw_tcs_prog_data *prog_data = params->prog_data;
|
||||
const struct brw_tcs_prog_key *key =
|
||||
(const struct brw_tcs_prog_key *)params->base.key;
|
||||
struct brw_tcs_prog_data *prog_data =
|
||||
(struct brw_tcs_prog_data *)params->base.prog_data;
|
||||
struct brw_vue_prog_data *vue_prog_data = &prog_data->base;
|
||||
const unsigned dispatch_width = brw_geometry_stage_dispatch_width(compiler->devinfo);
|
||||
|
||||
|
|
|
|||
|
|
@ -66,9 +66,11 @@ brw_compile_tes(const struct brw_compiler *compiler,
|
|||
{
|
||||
const struct intel_device_info *devinfo = compiler->devinfo;
|
||||
nir_shader *nir = params->base.nir;
|
||||
const struct brw_tes_prog_key *key = params->key;
|
||||
const struct brw_tes_prog_key *key =
|
||||
(const struct brw_tes_prog_key *)params->base.key;
|
||||
struct intel_vue_map input_vue_map;
|
||||
struct brw_tes_prog_data *prog_data = params->prog_data;
|
||||
struct brw_tes_prog_data *prog_data =
|
||||
(struct brw_tes_prog_data *)params->base.prog_data;
|
||||
const unsigned dispatch_width = brw_geometry_stage_dispatch_width(compiler->devinfo);
|
||||
|
||||
const bool debug_enabled = brw_should_print_shader(nir, DEBUG_TES, params->base.source_hash);
|
||||
|
|
|
|||
|
|
@ -47,8 +47,10 @@ brw_compile_vs(const struct brw_compiler *compiler,
|
|||
struct brw_compile_vs_params *params)
|
||||
{
|
||||
struct nir_shader *nir = params->base.nir;
|
||||
const struct brw_vs_prog_key *key = params->key;
|
||||
struct brw_vs_prog_data *prog_data = params->prog_data;
|
||||
const struct brw_vs_prog_key *key =
|
||||
(const struct brw_vs_prog_key *)params->base.key;
|
||||
struct brw_vs_prog_data *prog_data =
|
||||
(struct brw_vs_prog_data *)params->base.prog_data;
|
||||
const bool debug_enabled =
|
||||
brw_should_print_shader(nir, params->base.debug_flag ?
|
||||
params->base.debug_flag : DEBUG_VS,
|
||||
|
|
|
|||
|
|
@ -1308,6 +1308,9 @@ struct brw_compile_params {
|
|||
|
||||
nir_shader *nir;
|
||||
|
||||
const struct brw_base_prog_key *key;
|
||||
struct brw_stage_prog_data *prog_data;
|
||||
|
||||
struct genisa_stats *stats;
|
||||
|
||||
void *log_data;
|
||||
|
|
@ -1332,9 +1335,6 @@ brw_compile(const struct brw_compiler *compiler,
|
|||
*/
|
||||
struct brw_compile_vs_params {
|
||||
struct brw_compile_params base;
|
||||
|
||||
const struct brw_vs_prog_key *key;
|
||||
struct brw_vs_prog_data *prog_data;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -1344,9 +1344,6 @@ struct brw_compile_vs_params {
|
|||
*/
|
||||
struct brw_compile_tcs_params {
|
||||
struct brw_compile_params base;
|
||||
|
||||
const struct brw_tcs_prog_key *key;
|
||||
struct brw_tcs_prog_data *prog_data;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -1357,8 +1354,6 @@ struct brw_compile_tcs_params {
|
|||
struct brw_compile_tes_params {
|
||||
struct brw_compile_params base;
|
||||
|
||||
const struct brw_tes_prog_key *key;
|
||||
struct brw_tes_prog_data *prog_data;
|
||||
const struct intel_vue_map *input_vue_map;
|
||||
};
|
||||
|
||||
|
|
@ -1369,23 +1364,15 @@ struct brw_compile_tes_params {
|
|||
*/
|
||||
struct brw_compile_gs_params {
|
||||
struct brw_compile_params base;
|
||||
|
||||
const struct brw_gs_prog_key *key;
|
||||
struct brw_gs_prog_data *prog_data;
|
||||
};
|
||||
|
||||
struct brw_compile_task_params {
|
||||
struct brw_compile_params base;
|
||||
|
||||
const struct brw_task_prog_key *key;
|
||||
struct brw_task_prog_data *prog_data;
|
||||
};
|
||||
|
||||
struct brw_compile_mesh_params {
|
||||
struct brw_compile_params base;
|
||||
|
||||
const struct brw_mesh_prog_key *key;
|
||||
struct brw_mesh_prog_data *prog_data;
|
||||
const struct brw_tue_map *tue_map;
|
||||
|
||||
/** Load provoking vertex for wa_18019110168
|
||||
|
|
@ -1404,9 +1391,6 @@ struct brw_compile_mesh_params {
|
|||
struct brw_compile_fs_params {
|
||||
struct brw_compile_params base;
|
||||
|
||||
const struct brw_fs_prog_key *key;
|
||||
struct brw_fs_prog_data *prog_data;
|
||||
|
||||
const struct intel_vue_map *vue_map;
|
||||
const struct brw_mue_map *mue_map;
|
||||
|
||||
|
|
@ -1430,9 +1414,6 @@ struct brw_compile_fs_params {
|
|||
*/
|
||||
struct brw_compile_cs_params {
|
||||
struct brw_compile_params base;
|
||||
|
||||
const struct brw_cs_prog_key *key;
|
||||
struct brw_cs_prog_data *prog_data;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -1443,9 +1424,6 @@ struct brw_compile_cs_params {
|
|||
struct brw_compile_bs_params {
|
||||
struct brw_compile_params base;
|
||||
|
||||
const struct brw_bs_prog_key *key;
|
||||
struct brw_bs_prog_data *prog_data;
|
||||
|
||||
unsigned num_resume_shaders;
|
||||
struct nir_shader **resume_shaders;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1056,6 +1056,8 @@ brw_compile(const struct brw_compiler *compiler,
|
|||
{
|
||||
assert(params);
|
||||
assert(params->nir);
|
||||
assert(params->key);
|
||||
assert(params->prog_data);
|
||||
|
||||
switch (params->nir->info.stage) {
|
||||
case MESA_SHADER_VERTEX:
|
||||
|
|
|
|||
|
|
@ -171,13 +171,13 @@ compile_shader(struct anv_device *device,
|
|||
struct brw_compile_fs_params params = {
|
||||
.base = {
|
||||
.nir = nir,
|
||||
.key = &key.fs.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)&prog_data.fs,
|
||||
.log_data = device,
|
||||
.debug_flag = DEBUG_WM,
|
||||
.stats = stats,
|
||||
.mem_ctx = temp_ctx,
|
||||
},
|
||||
.key = &key.fs,
|
||||
.prog_data = &prog_data.fs,
|
||||
};
|
||||
prog_data.base.push_sizes[0] = align(prog_data.base.push_sizes[0], REG_SIZE);
|
||||
program = brw_compile(compiler, ¶ms.base);
|
||||
|
|
@ -208,13 +208,13 @@ compile_shader(struct anv_device *device,
|
|||
struct brw_compile_cs_params params = {
|
||||
.base = {
|
||||
.nir = nir,
|
||||
.key = &key.cs.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)&prog_data.cs,
|
||||
.stats = &stats,
|
||||
.log_data = device,
|
||||
.debug_flag = DEBUG_CS,
|
||||
.mem_ctx = temp_ctx,
|
||||
},
|
||||
.key = &key.cs,
|
||||
.prog_data = &prog_data.cs,
|
||||
};
|
||||
program = brw_compile(compiler, ¶ms.base);
|
||||
|
||||
|
|
|
|||
|
|
@ -942,21 +942,21 @@ anv_shader_compile_vs(struct anv_device *device,
|
|||
struct brw_compile_vs_params params = {
|
||||
.base = {
|
||||
.nir = nir,
|
||||
.key = &shader_data->key.vs.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)&shader_data->prog_data.vs,
|
||||
.stats = shader_data->stats,
|
||||
.log_data = device,
|
||||
.mem_ctx = mem_ctx,
|
||||
.source_hash = shader_data->source_hash,
|
||||
.archiver = shader_data->archiver,
|
||||
},
|
||||
.key = &shader_data->key.vs,
|
||||
.prog_data = &shader_data->prog_data.vs,
|
||||
};
|
||||
|
||||
if (intel_use_jay(devinfo, nir->info.stage)) {
|
||||
struct jay_shader_bin *bin =
|
||||
jay_compile(devinfo, mem_ctx, nir,
|
||||
(union brw_any_prog_data *) params.prog_data,
|
||||
(union brw_any_prog_key *) params.key);
|
||||
(union brw_any_prog_data *) params.base.prog_data,
|
||||
(union brw_any_prog_key *) params.base.key);
|
||||
|
||||
shader_data->code = (void *) bin->kernel;
|
||||
} else {
|
||||
|
|
@ -983,14 +983,14 @@ anv_shader_compile_tcs(struct anv_device *device,
|
|||
struct brw_compile_tcs_params params = {
|
||||
.base = {
|
||||
.nir = nir,
|
||||
.key = &shader_data->key.tcs.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)&shader_data->prog_data.tcs,
|
||||
.stats = shader_data->stats,
|
||||
.log_data = device,
|
||||
.mem_ctx = mem_ctx,
|
||||
.source_hash = shader_data->source_hash,
|
||||
.archiver = shader_data->archiver,
|
||||
},
|
||||
.key = &shader_data->key.tcs,
|
||||
.prog_data = &shader_data->prog_data.tcs,
|
||||
};
|
||||
|
||||
shader_data->code = (void *)brw_compile(compiler, ¶ms.base);
|
||||
|
|
@ -1019,14 +1019,14 @@ anv_shader_compile_tes(struct anv_device *device,
|
|||
struct brw_compile_tes_params params = {
|
||||
.base = {
|
||||
.nir = nir,
|
||||
.key = &tes_shader_data->key.tes.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)&tes_shader_data->prog_data.tes,
|
||||
.stats = tes_shader_data->stats,
|
||||
.log_data = device,
|
||||
.mem_ctx = mem_ctx,
|
||||
.source_hash = tes_shader_data->source_hash,
|
||||
.archiver = tes_shader_data->archiver,
|
||||
},
|
||||
.key = &tes_shader_data->key.tes,
|
||||
.prog_data = &tes_shader_data->prog_data.tes,
|
||||
.input_vue_map = tcs_shader_data ?
|
||||
&tcs_shader_data->prog_data.tcs.base.vue_map : NULL,
|
||||
};
|
||||
|
|
@ -1049,14 +1049,14 @@ anv_shader_compile_gs(struct anv_device *device,
|
|||
struct brw_compile_gs_params params = {
|
||||
.base = {
|
||||
.nir = nir,
|
||||
.key = &shader_data->key.gs.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)&shader_data->prog_data.gs,
|
||||
.stats = shader_data->stats,
|
||||
.log_data = device,
|
||||
.mem_ctx = mem_ctx,
|
||||
.source_hash = shader_data->source_hash,
|
||||
.archiver = shader_data->archiver,
|
||||
},
|
||||
.key = &shader_data->key.gs,
|
||||
.prog_data = &shader_data->prog_data.gs,
|
||||
};
|
||||
|
||||
shader_data->code = (void *)brw_compile(compiler, ¶ms.base);
|
||||
|
|
@ -1077,14 +1077,14 @@ anv_shader_compile_task(struct anv_device *device,
|
|||
struct brw_compile_task_params params = {
|
||||
.base = {
|
||||
.nir = nir,
|
||||
.key = &shader_data->key.task.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)&shader_data->prog_data.task,
|
||||
.stats = shader_data->stats,
|
||||
.log_data = device,
|
||||
.mem_ctx = mem_ctx,
|
||||
.source_hash = shader_data->source_hash,
|
||||
.archiver = shader_data->archiver,
|
||||
},
|
||||
.key = &shader_data->key.task,
|
||||
.prog_data = &shader_data->prog_data.task,
|
||||
};
|
||||
|
||||
shader_data->code = (void *)brw_compile(compiler, ¶ms.base);
|
||||
|
|
@ -1145,14 +1145,14 @@ anv_shader_compile_mesh(struct anv_device *device,
|
|||
struct brw_compile_mesh_params params = {
|
||||
.base = {
|
||||
.nir = nir,
|
||||
.key = &mesh_shader_data->key.mesh.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)&mesh_shader_data->prog_data.mesh,
|
||||
.stats = mesh_shader_data->stats,
|
||||
.log_data = device,
|
||||
.mem_ctx = mem_ctx,
|
||||
.source_hash = mesh_shader_data->source_hash,
|
||||
.archiver = mesh_shader_data->archiver,
|
||||
},
|
||||
.key = &mesh_shader_data->key.mesh,
|
||||
.prog_data = &mesh_shader_data->prog_data.mesh,
|
||||
.tue_map = task_shader_data ?
|
||||
&task_shader_data->prog_data.task.map :
|
||||
NULL,
|
||||
|
|
@ -1192,14 +1192,15 @@ anv_shader_compile_fs(struct anv_device *device,
|
|||
struct brw_compile_fs_params params = {
|
||||
.base = {
|
||||
.nir = nir,
|
||||
.key = &shader_data->key.fs.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)&shader_data->prog_data.fs,
|
||||
.stats = shader_data->stats,
|
||||
.log_data = device,
|
||||
.mem_ctx = mem_ctx,
|
||||
.source_hash = shader_data->source_hash,
|
||||
.archiver = shader_data->archiver,
|
||||
},
|
||||
.key = &shader_data->key.fs,
|
||||
.prog_data = &shader_data->prog_data.fs,
|
||||
|
||||
.mue_map = shader_data->mue_map,
|
||||
|
||||
.allow_spilling = true,
|
||||
|
|
@ -1213,8 +1214,8 @@ anv_shader_compile_fs(struct anv_device *device,
|
|||
if (intel_use_jay(devinfo, nir->info.stage)) {
|
||||
struct jay_shader_bin *bin =
|
||||
jay_compile(devinfo, mem_ctx, nir,
|
||||
(union brw_any_prog_data *) params.prog_data,
|
||||
(union brw_any_prog_key *) params.key);
|
||||
(union brw_any_prog_data *) params.base.prog_data,
|
||||
(union brw_any_prog_key *) params.base.key);
|
||||
|
||||
shader_data->code = (void *) bin->kernel;
|
||||
} else {
|
||||
|
|
@ -1257,27 +1258,30 @@ anv_shader_compile_cs(struct anv_device *device,
|
|||
struct brw_compile_cs_params params = {
|
||||
.base = {
|
||||
.nir = nir,
|
||||
.key = &shader_data->key.cs.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)&shader_data->prog_data.cs,
|
||||
.stats = shader_data->stats,
|
||||
.log_data = device,
|
||||
.mem_ctx = mem_ctx,
|
||||
.source_hash = shader_data->source_hash,
|
||||
.archiver = shader_data->archiver,
|
||||
},
|
||||
.key = &shader_data->key.cs,
|
||||
.prog_data = &shader_data->prog_data.cs,
|
||||
};
|
||||
|
||||
if (intel_use_jay(devinfo, nir->info.stage)) {
|
||||
struct jay_shader_bin *bin = jay_compile(devinfo, mem_ctx, nir,
|
||||
(union brw_any_prog_data*)params.prog_data,
|
||||
(union brw_any_prog_key*)params.key);
|
||||
(union brw_any_prog_data*)params.base.prog_data,
|
||||
(union brw_any_prog_key*)params.base.key);
|
||||
|
||||
struct brw_cs_prog_data *prog_data =
|
||||
(struct brw_cs_prog_data *)params.base.prog_data;
|
||||
|
||||
shader_data->code = (void*)bin->kernel;
|
||||
shader_data->stats[0] = bin->stats;
|
||||
|
||||
params.prog_data->local_size[0] = nir->info.workgroup_size[0];
|
||||
params.prog_data->local_size[1] = nir->info.workgroup_size[1];
|
||||
params.prog_data->local_size[2] = nir->info.workgroup_size[2];
|
||||
prog_data->local_size[0] = nir->info.workgroup_size[0];
|
||||
prog_data->local_size[1] = nir->info.workgroup_size[1];
|
||||
prog_data->local_size[2] = nir->info.workgroup_size[2];
|
||||
} else {
|
||||
shader_data->code = (void*)brw_compile(compiler, ¶ms.base);
|
||||
}
|
||||
|
|
@ -1344,14 +1348,14 @@ anv_shader_compile_bs(struct anv_device *device,
|
|||
struct brw_compile_bs_params params = {
|
||||
.base = {
|
||||
.nir = nir,
|
||||
.key = &shader_data->key.bs.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)&shader_data->prog_data.bs,
|
||||
.stats = shader_data->stats,
|
||||
.log_data = device,
|
||||
.mem_ctx = mem_ctx,
|
||||
.source_hash = shader_data->source_hash,
|
||||
.archiver = shader_data->archiver,
|
||||
},
|
||||
.key = &shader_data->key.bs,
|
||||
.prog_data = &shader_data->prog_data.bs,
|
||||
.num_resume_shaders = num_resume_shaders,
|
||||
.resume_shaders = resume_shaders,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -415,11 +415,11 @@ anv_device_init_rt_shaders(struct anv_device *device)
|
|||
struct brw_compile_cs_params params = {
|
||||
.base = {
|
||||
.nir = trampoline_nir,
|
||||
.key = &trampoline_key.key.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)&trampoline_prog_data,
|
||||
.log_data = device,
|
||||
.mem_ctx = tmp_ctx,
|
||||
},
|
||||
.key = &trampoline_key.key,
|
||||
.prog_data = &trampoline_prog_data,
|
||||
};
|
||||
const unsigned *tramp_data =
|
||||
brw_compile(device->physical->compiler, ¶ms.base);
|
||||
|
|
@ -473,11 +473,11 @@ anv_device_init_rt_shaders(struct anv_device *device)
|
|||
struct brw_compile_bs_params params = {
|
||||
.base = {
|
||||
.nir = trivial_return_nir,
|
||||
.key = &return_key.key.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)&return_prog_data,
|
||||
.log_data = device,
|
||||
.mem_ctx = tmp_ctx,
|
||||
},
|
||||
.key = &return_key.key,
|
||||
.prog_data = &return_prog_data,
|
||||
};
|
||||
const unsigned *return_data =
|
||||
brw_compile(device->physical->compiler, ¶ms.base);
|
||||
|
|
@ -531,11 +531,11 @@ anv_device_init_rt_shaders(struct anv_device *device)
|
|||
struct brw_compile_bs_params params = {
|
||||
.base = {
|
||||
.nir = null_ahs_nir,
|
||||
.key = &null_return_key.key.base,
|
||||
.prog_data = (struct brw_stage_prog_data *)&return_prog_data,
|
||||
.log_data = device,
|
||||
.mem_ctx = tmp_ctx,
|
||||
},
|
||||
.key = &null_return_key.key,
|
||||
.prog_data = &return_prog_data,
|
||||
};
|
||||
const unsigned *return_data =
|
||||
brw_compile(device->physical->compiler, ¶ms.base);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue