diff options
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_compiler.c | 3 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_context.c | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.cpp | 16 |
3 files changed, 6 insertions, 14 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_compiler.c b/src/mesa/drivers/dri/i965/brw_compiler.c index bb06733bb0a..a4855a09137 100644 --- a/src/mesa/drivers/dri/i965/brw_compiler.c +++ b/src/mesa/drivers/dri/i965/brw_compiler.c @@ -40,8 +40,7 @@ .lower_fdiv = true, \ .lower_flrp64 = true, \ .native_integers = true, \ - .vertex_id_zero_based = true, \ - .lower_cs_local_index_from_id = true + .vertex_id_zero_based = true static const struct nir_shader_compiler_options scalar_nir_options = { COMMON_OPTIONS, diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index ad8d5140a3f..97dc22621c9 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -599,7 +599,6 @@ brw_initialize_context_constants(struct brw_context *brw) ctx->Const.MaxClipPlanes = 8; ctx->Const.LowerTessLevel = true; - ctx->Const.LowerCsDerivedVariables = true; ctx->Const.PrimitiveRestartForPatches = true; ctx->Const.Program[MESA_SHADER_VERTEX].MaxNativeInstructions = 16 * 1024; diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 4de2563e66c..0b766a4a848 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -6586,7 +6586,7 @@ cs_fill_push_const_info(const struct brw_device_info *devinfo, bool fill_thread_id = cs_prog_data->thread_local_id_index >= 0 && cs_prog_data->thread_local_id_index < (int)prog_data->nr_params; - bool cross_thread_supported = false; /* Not yet supported by driver. */ + bool cross_thread_supported = devinfo->gen > 7 || devinfo->is_haswell; /* The thread ID should be stored in the last param dword */ assert(prog_data->nr_params > 0 || !fill_thread_id); @@ -6652,19 +6652,13 @@ brw_compile_cs(const struct brw_compiler *compiler, void *log_data, brw_nir_lower_cs_shared(shader); prog_data->base.total_shared += shader->num_shared; - /* The driver isn't yet ready to support thread_local_id_index, so we force - * it to disabled for now. - */ - prog_data->thread_local_id_index = -1; - /* Now that we cloned the nir_shader, we can update num_uniforms based on * the thread_local_id_index. */ - if (prog_data->thread_local_id_index >= 0) { - shader->num_uniforms = - MAX2(shader->num_uniforms, - (unsigned)4 * (prog_data->thread_local_id_index + 1)); - } + assert(prog_data->thread_local_id_index >= 0); + shader->num_uniforms = + MAX2(shader->num_uniforms, + (unsigned)4 * (prog_data->thread_local_id_index + 1)); brw_nir_lower_intrinsics(shader, &prog_data->base); shader = brw_postprocess_nir(shader, compiler->devinfo, true); |