panfrost: Make sure a clear does not re-use a pre-existing batch
glClear()s are expected to be the first thing GL apps do before drawing new things. If there's already an existing batch targetting the same FBO that has draws attached to it, we should make sure the new clear gets a new batch assigned to guaranteed that the FB content is actually cleared with the requested color/depth/stencil values. We create a panfrost_get_fresh_batch_for_fbo() helper for that and call it from panfrost_clear(). Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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);
|
||||
|
@@ -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)
|
||||
{
|
||||
|
@@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user