diff options
author | Francisco Jerez <currojerez@riseup.net> | 2017-01-06 21:37:34 -0800 |
---|---|---|
committer | Francisco Jerez <currojerez@riseup.net> | 2017-02-06 13:00:34 -0800 |
commit | d84beaf8c09746f94a4bff9c2f2f2e74eaf91e6e (patch) | |
tree | 1a715eda5d823caabb15e5be8d0106b8516ce5dd | |
parent | a11abb15f765dc520273a3e7c19edd5c5b233e45 (diff) |
HACK: i965/fs: Enable SIMD32 codegen for BLORP fragment shaders.i965-simd32-fs
And init blorp blit shader info name.
-rw-r--r-- | src/intel/blorp/blorp_blit.c | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.cpp | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c index b89a112b8c4..f8e945d5183 100644 --- a/src/intel/blorp/blorp_blit.c +++ b/src/intel/blorp/blorp_blit.c @@ -1104,6 +1104,7 @@ brw_blorp_build_nir_shader(struct blorp_context *blorp, void *mem_ctx, nir_builder b; nir_builder_init_simple_shader(&b, mem_ctx, MESA_SHADER_FRAGMENT, NULL); + b.shader->info->name = ralloc_strdup(b.shader, "BLORP-blit"); struct brw_blorp_blit_vars v; brw_blorp_blit_vars_init(&b, &v, key); diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 3338848e8c7..75d6f271432 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -6574,7 +6574,9 @@ brw_compile_fs(const struct brw_compiler *compiler, void *log_data, } if (v8.max_dispatch_width >= 32 && !use_rep_send && - (INTEL_DEBUG & DEBUG_DO32)) { + compiler->devinfo->gen >= 6 && + (INTEL_DEBUG & DEBUG_DO32 || + strncmp(src_shader->info->name, "BLORP", 5) == 0)) { /* Try a SIMD32 compile */ fs_visitor v32(compiler, log_data, mem_ctx, key, &prog_data->base, prog, shader, 32, |