ir3: Call nir_lower_wrmask() again after lowering scratch
I forgot that after rebasing on large_consts support that this is now called after the first time nir_lower_wrmask is called and can generate partial writemasks that need to be lowered. While we're here, also call the main optimization loop if things are lowered to scratch because it generates address arithmetic that may need to be cleaned up. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10922>
This commit is contained in:
parent
738b12a492
commit
0ab01f4215
|
@ -553,10 +553,13 @@ ir3_nir_lower_variant(struct ir3_shader_variant *so, nir_shader *s)
|
|||
* expensive.
|
||||
*/
|
||||
if (so->shader->compiler->has_pvtmem) {
|
||||
NIR_PASS_V(s, nir_lower_vars_to_scratch, nir_var_function_temp,
|
||||
16 * 16 /* bytes */, glsl_get_natural_size_align_bytes);
|
||||
progress |=
|
||||
OPT(s, nir_lower_vars_to_scratch, nir_var_function_temp,
|
||||
16 * 16 /* bytes */, glsl_get_natural_size_align_bytes);
|
||||
}
|
||||
|
||||
/* Lower scratch writemasks */
|
||||
progress |= OPT(s, nir_lower_wrmasks, should_split_wrmask, s);
|
||||
|
||||
OPT_V(s, nir_lower_amul, ir3_glsl_type_size);
|
||||
|
||||
|
|
|
@ -482,9 +482,6 @@ spec@arb_tessellation_shader@execution@vs-tes-max-in-out-components,Fail
|
|||
spec@arb_tessellation_shader@execution@vs-tes-tessinner-tessouter-inputs-quads,Fail
|
||||
spec@arb_tessellation_shader@execution@vs-tes-tessinner-tessouter-inputs-tris,Fail
|
||||
spec@arb_tessellation_shader@execution@vs-tes-vertex,Fail
|
||||
spec@glsl-1.30@execution@fs-large-local-array-vec2,Crash
|
||||
spec@glsl-1.30@execution@fs-large-local-array-vec3,Crash
|
||||
spec@glsl-1.30@execution@fs-large-local-array-vec4,Crash
|
||||
spec@glsl-1.50@execution@compatibility@clipping@gs-clip-vertex-const-accept,Fail
|
||||
spec@glsl-1.50@execution@compatibility@clipping@gs-clip-vertex-different-from-position,Fail
|
||||
spec@glsl-1.50@execution@compatibility@clipping@gs-clip-vertex-enables,Fail
|
||||
|
@ -512,7 +509,7 @@ spec@glsl-1.50@execution@primitive-id-no-gs-quad-strip,Fail
|
|||
spec@glsl-1.50@execution@primitive-id-no-gs-quads,Fail
|
||||
spec@glsl-1.50@execution@variable-indexing@gs-input-array-float-index-rd,Fail
|
||||
spec@glsl-1.50@execution@variable-indexing@gs-input-array-vec2-index-rd,Fail
|
||||
spec@glsl-1.50@execution@variable-indexing@gs-input-array-vec3-index-rd,Crash
|
||||
spec@glsl-1.50@execution@variable-indexing@gs-input-array-vec3-index-rd,Fail
|
||||
spec@glsl-1.50@execution@variable-indexing@gs-output-array-vec3-index-wr,Fail
|
||||
spec@glsl-1.50@execution@variable-indexing@gs-output-array-vec4-index-wr,Crash
|
||||
spec@glsl-1.50@execution@variable-indexing@vs-output-array-vec3-index-wr-before-gs,Fail
|
||||
|
|
Loading…
Reference in New Issue