summaryrefslogtreecommitdiff
path: root/lib/mesa/src/compiler/glsl/ir_optimization.h
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2020-09-22 02:09:17 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2020-09-22 02:09:17 +0000
commit865c23c9c56f47f6cf8d73e8a6060a0c33a28b93 (patch)
treeaeed22bc39ce87dd6f09ff173c8273beaef65fe7 /lib/mesa/src/compiler/glsl/ir_optimization.h
parent27e7bb02bd0f89f96d9e3b402b46c2c97ee4defe (diff)
Merge Mesa 20.0.8
With Mesa 20.1 even after the kernel change to do wbinvd on all cpus sthen@ reported that hard hangs still occurred on his Haswell system with inteldrm. Mark Kane also reported seeing hangs on Ivy Bridge on bugs@. Some systems/workloads seem to be more prone to triggering this than others as I have not seen any hangs on Ivy Bridge and the only hangs I saw on Haswell when running piglit went away with the wbinvd change. It seems something is wrong with drm memory attributes or coherency in the kernel and newer Mesa versions expect behaviour we don't have.
Diffstat (limited to 'lib/mesa/src/compiler/glsl/ir_optimization.h')
-rw-r--r--lib/mesa/src/compiler/glsl/ir_optimization.h11
1 files changed, 2 insertions, 9 deletions
diff --git a/lib/mesa/src/compiler/glsl/ir_optimization.h b/lib/mesa/src/compiler/glsl/ir_optimization.h
index 23365df10..cd0be38e5 100644
--- a/lib/mesa/src/compiler/glsl/ir_optimization.h
+++ b/lib/mesa/src/compiler/glsl/ir_optimization.h
@@ -135,6 +135,7 @@ bool do_vec_index_to_swizzle(exec_list *instructions);
bool lower_discard(exec_list *instructions);
void lower_discard_flow(exec_list *instructions);
bool lower_instructions(exec_list *instructions, unsigned what_to_lower);
+bool lower_noise(exec_list *instructions);
bool lower_variable_index_to_cond_assign(gl_shader_stage stage,
exec_list *instructions, bool lower_input, bool lower_output,
bool lower_temp, bool lower_uniform);
@@ -142,9 +143,6 @@ bool lower_quadop_vector(exec_list *instructions, bool dont_lower_swz);
bool lower_const_arrays_to_uniforms(exec_list *instructions, unsigned stage, unsigned max_uniform_components);
bool lower_clip_cull_distance(struct gl_shader_program *prog,
gl_linked_shader *shader);
-ir_variable * lower_xfb_varying(void *mem_ctx,
- gl_linked_shader *shader,
- const char *old_var_name);
void lower_output_reads(unsigned stage, exec_list *instructions);
bool lower_packing_builtins(exec_list *instructions, int op_mask);
void lower_shared_reference(struct gl_context *ctx,
@@ -158,9 +156,7 @@ void lower_packed_varyings(void *mem_ctx,
ir_variable_mode mode,
unsigned gs_input_vertices,
gl_linked_shader *shader,
- bool disable_varying_packing,
- bool disable_xfb_packing,
- bool xfb_enabled);
+ bool disable_varying_packing, bool xfb_enabled);
bool lower_vector_insert(exec_list *instructions, bool lower_nonconstant_index);
bool lower_vector_derefs(gl_linked_shader *shader);
void lower_named_interface_blocks(void *mem_ctx, gl_linked_shader *shader);
@@ -175,7 +171,6 @@ bool lower_vertex_id(gl_linked_shader *shader);
bool lower_cs_derived(gl_linked_shader *shader);
bool lower_blend_equation_advanced(gl_linked_shader *shader, bool coherent);
-bool lower_builtins(exec_list *instructions);
bool lower_subroutine(exec_list *instructions, struct _mesa_glsl_parse_state *state);
void propagate_invariance(exec_list *instructions);
@@ -188,6 +183,4 @@ ir_variable *compare_index_block(ir_builder::ir_factory &body,
bool lower_64bit_integer_instructions(exec_list *instructions,
unsigned what_to_lower);
-bool lower_precision(exec_list *instructions);
-
#endif /* GLSL_IR_OPTIMIZATION_H */