diff --git a/.gitlab-ci/deqp-panfrost-t760-fails.txt b/.gitlab-ci/deqp-panfrost-t760-fails.txt index 6304ebf8112..8ce1e424680 100644 --- a/.gitlab-ci/deqp-panfrost-t760-fails.txt +++ b/.gitlab-ci/deqp-panfrost-t760-fails.txt @@ -1,10 +1,3 @@ -dEQP-GLES2.functional.color_clear.masked_rgba Fail -dEQP-GLES2.functional.color_clear.masked_rgb Fail -dEQP-GLES2.functional.color_clear.masked_scissored_rgba Fail -dEQP-GLES2.functional.color_clear.masked_scissored_rgb Fail -dEQP-GLES2.functional.color_clear.scissored_rgba Fail -dEQP-GLES2.functional.color_clear.scissored_rgb Fail -dEQP-GLES2.functional.color_clear.short_scissored_rgb Fail dEQP-GLES2.functional.depth_range.write.0_8_to_third Fail dEQP-GLES2.functional.depth_range.write.clamp_both Fail dEQP-GLES2.functional.depth_range.write.clamp_far Fail @@ -859,198 +852,87 @@ dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.both Fail dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.depth Fail dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.stencil Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.0 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.10 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.11 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.12 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.13 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.15 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.16 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.17 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.18 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.19 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.1 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.20 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.21 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.22 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.23 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.24 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.25 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.26 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.28 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.29 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.30 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.31 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.32 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.33 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.34 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.35 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.36 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.37 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.38 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.39 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.3 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.40 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.41 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.42 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.43 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.44 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.46 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.47 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.48 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.49 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.50 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.51 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.52 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.53 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.54 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.55 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.56 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.57 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.58 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.59 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.5 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.60 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.61 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.62 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.63 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.64 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.65 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.66 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.67 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.68 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.69 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.6 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.70 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.71 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.72 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.73 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.74 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.75 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.76 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.77 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.78 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.79 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.7 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.80 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.81 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.82 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.83 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.84 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.85 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.86 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.87 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.88 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.89 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.8 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.90 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.91 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.92 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.93 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.94 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.95 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.96 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.97 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.98 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.99 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.9 Fail dEQP-GLES2.functional.fragment_ops.random.0 Fail dEQP-GLES2.functional.fragment_ops.random.10 Fail dEQP-GLES2.functional.fragment_ops.random.11 Fail -dEQP-GLES2.functional.fragment_ops.random.12 Fail -dEQP-GLES2.functional.fragment_ops.random.13 Fail -dEQP-GLES2.functional.fragment_ops.random.14 Fail dEQP-GLES2.functional.fragment_ops.random.15 Fail -dEQP-GLES2.functional.fragment_ops.random.16 Fail -dEQP-GLES2.functional.fragment_ops.random.17 Fail -dEQP-GLES2.functional.fragment_ops.random.18 Fail dEQP-GLES2.functional.fragment_ops.random.19 Fail -dEQP-GLES2.functional.fragment_ops.random.1 Fail dEQP-GLES2.functional.fragment_ops.random.20 Fail -dEQP-GLES2.functional.fragment_ops.random.21 Fail -dEQP-GLES2.functional.fragment_ops.random.22 Fail -dEQP-GLES2.functional.fragment_ops.random.23 Fail dEQP-GLES2.functional.fragment_ops.random.24 Fail dEQP-GLES2.functional.fragment_ops.random.25 Fail -dEQP-GLES2.functional.fragment_ops.random.26 Fail -dEQP-GLES2.functional.fragment_ops.random.27 Fail -dEQP-GLES2.functional.fragment_ops.random.28 Fail -dEQP-GLES2.functional.fragment_ops.random.29 Fail -dEQP-GLES2.functional.fragment_ops.random.2 Fail dEQP-GLES2.functional.fragment_ops.random.30 Fail -dEQP-GLES2.functional.fragment_ops.random.31 Fail dEQP-GLES2.functional.fragment_ops.random.32 Fail -dEQP-GLES2.functional.fragment_ops.random.33 Fail -dEQP-GLES2.functional.fragment_ops.random.34 Fail -dEQP-GLES2.functional.fragment_ops.random.35 Fail -dEQP-GLES2.functional.fragment_ops.random.36 Fail dEQP-GLES2.functional.fragment_ops.random.37 Fail dEQP-GLES2.functional.fragment_ops.random.38 Fail dEQP-GLES2.functional.fragment_ops.random.39 Fail dEQP-GLES2.functional.fragment_ops.random.3 Fail dEQP-GLES2.functional.fragment_ops.random.40 Fail -dEQP-GLES2.functional.fragment_ops.random.41 Fail -dEQP-GLES2.functional.fragment_ops.random.42 Fail -dEQP-GLES2.functional.fragment_ops.random.43 Fail -dEQP-GLES2.functional.fragment_ops.random.44 Fail dEQP-GLES2.functional.fragment_ops.random.45 Fail -dEQP-GLES2.functional.fragment_ops.random.46 Fail -dEQP-GLES2.functional.fragment_ops.random.47 Fail dEQP-GLES2.functional.fragment_ops.random.48 Fail -dEQP-GLES2.functional.fragment_ops.random.49 Fail dEQP-GLES2.functional.fragment_ops.random.4 Fail -dEQP-GLES2.functional.fragment_ops.random.50 Fail -dEQP-GLES2.functional.fragment_ops.random.51 Fail -dEQP-GLES2.functional.fragment_ops.random.52 Fail dEQP-GLES2.functional.fragment_ops.random.53 Fail dEQP-GLES2.functional.fragment_ops.random.54 Fail -dEQP-GLES2.functional.fragment_ops.random.55 Fail dEQP-GLES2.functional.fragment_ops.random.56 Fail dEQP-GLES2.functional.fragment_ops.random.57 Fail dEQP-GLES2.functional.fragment_ops.random.58 Fail dEQP-GLES2.functional.fragment_ops.random.59 Fail -dEQP-GLES2.functional.fragment_ops.random.5 Fail dEQP-GLES2.functional.fragment_ops.random.60 Fail -dEQP-GLES2.functional.fragment_ops.random.61 Fail -dEQP-GLES2.functional.fragment_ops.random.62 Fail dEQP-GLES2.functional.fragment_ops.random.63 Fail -dEQP-GLES2.functional.fragment_ops.random.64 Fail dEQP-GLES2.functional.fragment_ops.random.65 Fail dEQP-GLES2.functional.fragment_ops.random.66 Fail dEQP-GLES2.functional.fragment_ops.random.67 Fail dEQP-GLES2.functional.fragment_ops.random.68 Fail -dEQP-GLES2.functional.fragment_ops.random.69 Fail dEQP-GLES2.functional.fragment_ops.random.6 Fail -dEQP-GLES2.functional.fragment_ops.random.70 Fail dEQP-GLES2.functional.fragment_ops.random.71 Fail dEQP-GLES2.functional.fragment_ops.random.72 Fail -dEQP-GLES2.functional.fragment_ops.random.73 Fail -dEQP-GLES2.functional.fragment_ops.random.74 Fail dEQP-GLES2.functional.fragment_ops.random.75 Fail -dEQP-GLES2.functional.fragment_ops.random.76 Fail dEQP-GLES2.functional.fragment_ops.random.77 Fail -dEQP-GLES2.functional.fragment_ops.random.78 Fail -dEQP-GLES2.functional.fragment_ops.random.79 Fail -dEQP-GLES2.functional.fragment_ops.random.7 Fail -dEQP-GLES2.functional.fragment_ops.random.80 Fail dEQP-GLES2.functional.fragment_ops.random.81 Fail -dEQP-GLES2.functional.fragment_ops.random.82 Fail -dEQP-GLES2.functional.fragment_ops.random.83 Fail -dEQP-GLES2.functional.fragment_ops.random.84 Fail dEQP-GLES2.functional.fragment_ops.random.85 Fail -dEQP-GLES2.functional.fragment_ops.random.86 Fail dEQP-GLES2.functional.fragment_ops.random.87 Fail -dEQP-GLES2.functional.fragment_ops.random.88 Fail -dEQP-GLES2.functional.fragment_ops.random.89 Fail -dEQP-GLES2.functional.fragment_ops.random.8 Fail dEQP-GLES2.functional.fragment_ops.random.90 Fail -dEQP-GLES2.functional.fragment_ops.random.91 Fail dEQP-GLES2.functional.fragment_ops.random.92 Fail -dEQP-GLES2.functional.fragment_ops.random.93 Fail -dEQP-GLES2.functional.fragment_ops.random.94 Fail -dEQP-GLES2.functional.fragment_ops.random.95 Fail dEQP-GLES2.functional.fragment_ops.random.96 Fail -dEQP-GLES2.functional.fragment_ops.random.97 Fail -dEQP-GLES2.functional.fragment_ops.random.98 Fail dEQP-GLES2.functional.fragment_ops.random.99 Fail dEQP-GLES2.functional.fragment_ops.random.9 Fail dEQP-GLES2.functional.polygon_offset.default_factor_1_slope Fail diff --git a/.gitlab-ci/deqp-panfrost-t860-fails.txt b/.gitlab-ci/deqp-panfrost-t860-fails.txt index 7e7dbd62307..fbafe8eedc9 100644 --- a/.gitlab-ci/deqp-panfrost-t860-fails.txt +++ b/.gitlab-ci/deqp-panfrost-t860-fails.txt @@ -1,10 +1,3 @@ -dEQP-GLES2.functional.color_clear.masked_rgba Fail -dEQP-GLES2.functional.color_clear.masked_rgb Fail -dEQP-GLES2.functional.color_clear.masked_scissored_rgba Fail -dEQP-GLES2.functional.color_clear.masked_scissored_rgb Fail -dEQP-GLES2.functional.color_clear.scissored_rgba Fail -dEQP-GLES2.functional.color_clear.scissored_rgb Fail -dEQP-GLES2.functional.color_clear.short_scissored_rgb Fail dEQP-GLES2.functional.depth_range.write.0_8_to_third Fail dEQP-GLES2.functional.depth_range.write.clamp_both Fail dEQP-GLES2.functional.depth_range.write.clamp_far Fail @@ -672,200 +665,55 @@ dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_zero Fail dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.both Fail dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.depth Fail dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.stencil Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.0 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.10 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.11 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.12 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.13 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.15 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.16 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.17 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.18 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.19 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.1 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.20 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.21 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.22 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.23 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.24 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.25 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.26 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.29 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.30 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.31 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.32 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.33 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.34 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.35 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.36 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.37 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.38 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.39 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.3 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.40 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.41 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.42 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.43 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.44 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.46 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.47 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.48 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.49 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.50 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.51 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.52 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.53 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.54 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.55 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.56 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.57 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.58 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.59 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.5 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.60 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.61 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.62 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.63 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.64 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.65 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.66 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.67 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.68 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.69 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.6 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.70 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.71 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.72 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.73 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.74 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.75 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.76 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.77 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.78 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.79 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.7 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.80 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.81 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.82 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.83 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.84 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.85 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.86 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.87 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.88 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.89 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.8 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.90 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.91 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.92 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.93 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.94 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.95 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.96 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.97 Fail dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.98 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.99 Fail -dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.9 Fail dEQP-GLES2.functional.fragment_ops.random.0 Fail -dEQP-GLES2.functional.fragment_ops.random.10 Fail dEQP-GLES2.functional.fragment_ops.random.11 Fail -dEQP-GLES2.functional.fragment_ops.random.12 Fail -dEQP-GLES2.functional.fragment_ops.random.13 Fail -dEQP-GLES2.functional.fragment_ops.random.14 Fail -dEQP-GLES2.functional.fragment_ops.random.15 Fail -dEQP-GLES2.functional.fragment_ops.random.16 Fail -dEQP-GLES2.functional.fragment_ops.random.17 Fail -dEQP-GLES2.functional.fragment_ops.random.18 Fail dEQP-GLES2.functional.fragment_ops.random.19 Fail -dEQP-GLES2.functional.fragment_ops.random.1 Fail -dEQP-GLES2.functional.fragment_ops.random.20 Fail -dEQP-GLES2.functional.fragment_ops.random.21 Fail -dEQP-GLES2.functional.fragment_ops.random.22 Fail -dEQP-GLES2.functional.fragment_ops.random.23 Fail dEQP-GLES2.functional.fragment_ops.random.24 Fail dEQP-GLES2.functional.fragment_ops.random.25 Fail -dEQP-GLES2.functional.fragment_ops.random.26 Fail -dEQP-GLES2.functional.fragment_ops.random.27 Fail -dEQP-GLES2.functional.fragment_ops.random.28 Fail -dEQP-GLES2.functional.fragment_ops.random.29 Fail -dEQP-GLES2.functional.fragment_ops.random.2 Fail -dEQP-GLES2.functional.fragment_ops.random.30 Fail -dEQP-GLES2.functional.fragment_ops.random.31 Fail dEQP-GLES2.functional.fragment_ops.random.32 Fail -dEQP-GLES2.functional.fragment_ops.random.33 Fail -dEQP-GLES2.functional.fragment_ops.random.34 Fail -dEQP-GLES2.functional.fragment_ops.random.35 Fail -dEQP-GLES2.functional.fragment_ops.random.36 Fail dEQP-GLES2.functional.fragment_ops.random.37 Fail -dEQP-GLES2.functional.fragment_ops.random.38 Fail -dEQP-GLES2.functional.fragment_ops.random.39 Fail dEQP-GLES2.functional.fragment_ops.random.3 Fail -dEQP-GLES2.functional.fragment_ops.random.40 Fail -dEQP-GLES2.functional.fragment_ops.random.41 Fail -dEQP-GLES2.functional.fragment_ops.random.42 Fail -dEQP-GLES2.functional.fragment_ops.random.43 Fail -dEQP-GLES2.functional.fragment_ops.random.44 Fail dEQP-GLES2.functional.fragment_ops.random.45 Fail -dEQP-GLES2.functional.fragment_ops.random.46 Fail -dEQP-GLES2.functional.fragment_ops.random.47 Fail dEQP-GLES2.functional.fragment_ops.random.48 Fail -dEQP-GLES2.functional.fragment_ops.random.49 Fail -dEQP-GLES2.functional.fragment_ops.random.4 Fail -dEQP-GLES2.functional.fragment_ops.random.50 Fail -dEQP-GLES2.functional.fragment_ops.random.51 Fail -dEQP-GLES2.functional.fragment_ops.random.52 Fail dEQP-GLES2.functional.fragment_ops.random.53 Fail -dEQP-GLES2.functional.fragment_ops.random.54 Fail -dEQP-GLES2.functional.fragment_ops.random.55 Fail dEQP-GLES2.functional.fragment_ops.random.56 Fail -dEQP-GLES2.functional.fragment_ops.random.57 Fail -dEQP-GLES2.functional.fragment_ops.random.58 Fail -dEQP-GLES2.functional.fragment_ops.random.59 Fail -dEQP-GLES2.functional.fragment_ops.random.5 Fail -dEQP-GLES2.functional.fragment_ops.random.60 Fail -dEQP-GLES2.functional.fragment_ops.random.61 Fail -dEQP-GLES2.functional.fragment_ops.random.62 Fail dEQP-GLES2.functional.fragment_ops.random.63 Fail -dEQP-GLES2.functional.fragment_ops.random.64 Fail dEQP-GLES2.functional.fragment_ops.random.65 Fail dEQP-GLES2.functional.fragment_ops.random.66 Fail dEQP-GLES2.functional.fragment_ops.random.67 Fail dEQP-GLES2.functional.fragment_ops.random.68 Fail -dEQP-GLES2.functional.fragment_ops.random.69 Fail dEQP-GLES2.functional.fragment_ops.random.6 Fail -dEQP-GLES2.functional.fragment_ops.random.70 Fail -dEQP-GLES2.functional.fragment_ops.random.71 Fail dEQP-GLES2.functional.fragment_ops.random.72 Fail -dEQP-GLES2.functional.fragment_ops.random.73 Fail -dEQP-GLES2.functional.fragment_ops.random.74 Fail dEQP-GLES2.functional.fragment_ops.random.75 Fail -dEQP-GLES2.functional.fragment_ops.random.76 Fail -dEQP-GLES2.functional.fragment_ops.random.77 Fail -dEQP-GLES2.functional.fragment_ops.random.78 Fail -dEQP-GLES2.functional.fragment_ops.random.79 Fail -dEQP-GLES2.functional.fragment_ops.random.7 Fail -dEQP-GLES2.functional.fragment_ops.random.80 Fail dEQP-GLES2.functional.fragment_ops.random.81 Fail -dEQP-GLES2.functional.fragment_ops.random.82 Fail -dEQP-GLES2.functional.fragment_ops.random.83 Fail -dEQP-GLES2.functional.fragment_ops.random.84 Fail -dEQP-GLES2.functional.fragment_ops.random.85 Fail -dEQP-GLES2.functional.fragment_ops.random.86 Fail dEQP-GLES2.functional.fragment_ops.random.87 Fail -dEQP-GLES2.functional.fragment_ops.random.88 Fail -dEQP-GLES2.functional.fragment_ops.random.89 Fail -dEQP-GLES2.functional.fragment_ops.random.8 Fail -dEQP-GLES2.functional.fragment_ops.random.90 Fail -dEQP-GLES2.functional.fragment_ops.random.91 Fail -dEQP-GLES2.functional.fragment_ops.random.92 Fail -dEQP-GLES2.functional.fragment_ops.random.93 Fail -dEQP-GLES2.functional.fragment_ops.random.94 Fail -dEQP-GLES2.functional.fragment_ops.random.95 Fail dEQP-GLES2.functional.fragment_ops.random.96 Fail -dEQP-GLES2.functional.fragment_ops.random.97 Fail -dEQP-GLES2.functional.fragment_ops.random.98 Fail -dEQP-GLES2.functional.fragment_ops.random.99 Fail -dEQP-GLES2.functional.fragment_ops.random.9 Fail dEQP-GLES2.functional.polygon_offset.default_factor_1_slope Fail dEQP-GLES2.functional.polygon_offset.default_render_with_units Fail dEQP-GLES2.functional.polygon_offset.fixed16_factor_1_slope Fail diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c index a8fda5dcee6..b8edf302803 100644 --- a/src/gallium/drivers/panfrost/pan_context.c +++ b/src/gallium/drivers/panfrost/pan_context.c @@ -162,7 +162,14 @@ panfrost_clear( double depth, unsigned stencil) { struct panfrost_context *ctx = pan_context(pipe); - struct panfrost_batch *batch = panfrost_get_batch_for_fbo(ctx); + + /* TODO: panfrost_get_fresh_batch_for_fbo() instantiates a new batch if + * the existing batch targeting this FBO has draws. We could probably + * avoid that by replacing plain clears by quad-draws with a specific + * color/depth/stencil value, thus avoiding the generation of extra + * fragment/set_value jobs. + */ + struct panfrost_batch *batch = panfrost_get_fresh_batch_for_fbo(ctx); panfrost_batch_add_fbo_bos(batch); panfrost_batch_clear(batch, buffers, color, depth, stencil); diff --git a/src/gallium/drivers/panfrost/pan_job.c b/src/gallium/drivers/panfrost/pan_job.c index a56f4044fda..ae482a9a7a6 100644 --- a/src/gallium/drivers/panfrost/pan_job.c +++ b/src/gallium/drivers/panfrost/pan_job.c @@ -293,6 +293,27 @@ panfrost_get_batch_for_fbo(struct panfrost_context *ctx) return batch; } +struct panfrost_batch * +panfrost_get_fresh_batch_for_fbo(struct panfrost_context *ctx) +{ + struct panfrost_batch *batch; + + batch = panfrost_get_batch(ctx, &ctx->pipe_framebuffer); + + /* The batch has no draw/clear queued, let's return it directly. + * Note that it's perfectly fine to re-use a batch with an + * existing clear, we'll just update it with the new clear request. + */ + if (!batch->last_job.gpu) + return batch; + + /* Otherwise, we need to freeze the existing one and instantiate a new + * one. + */ + panfrost_freeze_batch(batch); + return panfrost_get_batch(ctx, &ctx->pipe_framebuffer); +} + static bool panfrost_batch_fence_is_signaled(struct panfrost_batch_fence *fence) { diff --git a/src/gallium/drivers/panfrost/pan_job.h b/src/gallium/drivers/panfrost/pan_job.h index 25905b51673..1da5d57aec1 100644 --- a/src/gallium/drivers/panfrost/pan_job.h +++ b/src/gallium/drivers/panfrost/pan_job.h @@ -169,6 +169,9 @@ panfrost_batch_fence_reference(struct panfrost_batch_fence *batch); struct panfrost_batch * panfrost_get_batch_for_fbo(struct panfrost_context *ctx); +struct panfrost_batch * +panfrost_get_fresh_batch_for_fbo(struct panfrost_context *ctx); + void panfrost_batch_init(struct panfrost_context *ctx);