diff options
author | Kenneth Graunke <[email protected]> | 2018-01-20 16:56:59 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-02-21 10:26:05 -0800 |
commit | 695bd55d1a469938c966d788a52d77a0e5080182 (patch) | |
tree | c1bf757c846dae9dfb3a51d7522c8afcba388308 /src/gallium | |
parent | 6aa15cadf31fb4e2ddab2294cdff7daeef829af2 (diff) |
iris: do the FS...asserts because we don't lower uniforms yet
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/iris/iris_context.h | 2 | ||||
-rw-r--r-- | src/gallium/drivers/iris/iris_program.c | 18 |
2 files changed, 11 insertions, 9 deletions
diff --git a/src/gallium/drivers/iris/iris_context.h b/src/gallium/drivers/iris/iris_context.h index e5c7791dcd7..109e5b95e7e 100644 --- a/src/gallium/drivers/iris/iris_context.h +++ b/src/gallium/drivers/iris/iris_context.h @@ -90,7 +90,7 @@ struct iris_context { struct { struct iris_uncompiled_shader *progs[MESA_SHADER_STAGES]; struct brw_stage_prog_data *prog_data[MESA_SHADER_STAGES]; - uint32_t *prog_offset[MESA_SHADER_STAGES]; + uint32_t prog_offset[MESA_SHADER_STAGES]; struct brw_vue_map *last_vue_map; struct iris_program_cache cache; diff --git a/src/gallium/drivers/iris/iris_program.c b/src/gallium/drivers/iris/iris_program.c index eed24334486..064b2b2a8ba 100644 --- a/src/gallium/drivers/iris/iris_program.c +++ b/src/gallium/drivers/iris/iris_program.c @@ -346,7 +346,10 @@ iris_update_compiled_fs(struct iris_context *ice) struct brw_wm_prog_key key; iris_populate_fs_key(ice, &key); - return; // XXX: need to fix FS compiles + if (iris_search_cache(ice, IRIS_CACHE_FS, &key, sizeof(key), IRIS_DIRTY_FS, + &ice->shaders.prog_offset[MESA_SHADER_FRAGMENT], + &ice->shaders.prog_data[MESA_SHADER_FRAGMENT])) + return; UNUSED bool success = iris_compile_fs(ice, ice->shaders.progs[MESA_SHADER_FRAGMENT], &key, @@ -356,18 +359,17 @@ iris_update_compiled_fs(struct iris_context *ice) static void update_last_vue_map(struct iris_context *ice) { -#if 0 - struct brw_vue_prog_data *vue_prog_data; + struct brw_stage_prog_data *prog_data; if (ice->shaders.progs[MESA_SHADER_GEOMETRY]) - vue_prog_data = brw_vue_prog_data(brw->gs.base.prog_data); + prog_data = ice->shaders.prog_data[MESA_SHADER_GEOMETRY]; else if (ice->shaders.progs[MESA_SHADER_TESS_EVAL]) - vue_prog_data = brw_vue_prog_data(brw->tes.base.prog_data); + prog_data = ice->shaders.prog_data[MESA_SHADER_TESS_EVAL]; else - vue_prog_data = brw_vue_prog_data(brw->vs.base.prog_data); + prog_data = ice->shaders.prog_data[MESA_SHADER_VERTEX]; - brw->vue_map_geom_out = vue_prog_data->vue_map; -#endif + struct brw_vue_prog_data *vue_prog_data = (void *) prog_data; + ice->shaders.last_vue_map = &vue_prog_data->vue_map; } void |