summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2017-01-06 21:37:34 -0800
committerFrancisco Jerez <currojerez@riseup.net>2017-02-06 13:00:34 -0800
commitd84beaf8c09746f94a4bff9c2f2f2e74eaf91e6e (patch)
tree1a715eda5d823caabb15e5be8d0106b8516ce5dd
parenta11abb15f765dc520273a3e7c19edd5c5b233e45 (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.c1
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.cpp4
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,