spec@!opengl 1.0@depth-clear-precision-check@depth16,Fail
spec@!opengl 1.0@depth-clear-precision-check@depth24,Fail
+# This fails the subtest for GL_ALPHA16 because we don't support a 16-bit unorm format for rendering
+# so gallium falls back to using an 8-bit unorm format and we lose some precision in the result.
+spec@arb_clear_texture@arb_clear_texture-sized-formats,Fail
+
# These fail because the shaders use indirect indexing on samplers which we
# don't support (the GLSL linker fails to link the shaders because of this).
# If loop unrolling kicks-in for these tests it removes the indirect indexing
util_blitter_save_sample_mask(v3d->blitter, v3d->sample_mask, 0);
util_blitter_save_so_targets(v3d->blitter, v3d->streamout.num_targets,
v3d->streamout.targets);
+ util_blitter_save_framebuffer(v3d->blitter, &v3d->framebuffer);
if (op_blit) {
util_blitter_save_scissor(v3d->blitter, &v3d->scissor);
- util_blitter_save_framebuffer(v3d->blitter, &v3d->framebuffer);
util_blitter_save_fragment_sampler_states(v3d->blitter,
v3d->tex[PIPE_SHADER_FRAGMENT].num_samplers,
(void **)v3d->tex[PIPE_SHADER_FRAGMENT].samplers);
unsigned x, unsigned y, unsigned w, unsigned h,
bool render_condition_enabled)
{
- fprintf(stderr, "unimpl: clear RT\n");
+ struct v3d_context *v3d = v3d_context(pctx);
+
+ if (render_condition_enabled && !v3d_render_condition_check(v3d))
+ return;
+
+ v3d_blitter_save(v3d, false, render_condition_enabled);
+ util_blitter_clear_render_target(v3d->blitter, ps, color, x, y, w, h);
}
static void
unsigned x, unsigned y, unsigned w, unsigned h,
bool render_condition_enabled)
{
- fprintf(stderr, "unimpl: clear DS\n");
+ struct v3d_context *v3d = v3d_context(pctx);
+
+ if (render_condition_enabled && !v3d_render_condition_check(v3d))
+ return;
+
+ v3d_blitter_save(v3d, false, render_condition_enabled);
+ util_blitter_clear_depth_stencil(v3d->blitter, ps, buffers, depth,
+ stencil, x, y, w, h);
}
void