# #6270
spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgradcube,Fail
+# #6905
+glx@glx-swap-copy,Fail
+
#kopper regressions/changes
-fast_color_clear@fcc-front-buffer-distraction,Fail
glx@extension string sanity,Fail
-spec@!opengl 1.0@gl-1.0-drawbuffer-modes,Fail
-spec@!opengl 1.0@gl-1.0-front-invalidate-back,Fail
spec@egl_chromium_sync_control@conformance,Fail
spec@egl_chromium_sync_control@conformance@eglGetSyncValuesCHROMIUM_msc_and_sbc_test,Fail
spec@egl_chromium_sync_control@conformance@eglGetSyncValuesCHROMIUM_ust_test,Fail
-spec@ext_framebuffer_blit@fbo-sys-blit,Fail
-spec@ext_framebuffer_blit@fbo-sys-sub-blit,Fail
+
dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_center,Fail
dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_corner,Fail
spec@!opengl 1.0@gl-1.0-edgeflag,Fail
spec@!opengl 1.0@gl-1.0-edgeflag-quads,Fail
spec@!opengl 1.0@gl-1.0-no-op-paths,Fail
-spec@!opengl 1.0@gl-1.0-swapbuffers-behavior,Fail
spec@!opengl 1.1@linestipple,Fail
spec@!opengl 1.1@linestipple@Factor 2x,Fail
spec@!opengl 1.1@linestipple@Factor 3x,Fail
int stride_b = image->base.row_pitches[0];
size_t size = (hdr_len + stride_b * chain->extent.height) >> 2;
uint64_t max_req_len = xcb_get_maximum_request_length(chain->conn);
+ chain->images[image_index].busy = false;
if (size < max_req_len) {
cookie = xcb_put_image(chain->conn, XCB_IMAGE_FORMAT_Z_PIXMAP,
if (chain->status < 0)
return chain->status;
- /* For software drivers and without shared memory we only render to a single image. */
if (chain->base.wsi->sw && !chain->has_mit_shm) {
- *image_index = 0;
- return VK_SUCCESS;
+ for (unsigned i = 0; i < chain->base.image_count; i++) {
+ if (!chain->images[i].busy) {
+ *image_index = i;
+ chain->images[i].busy = true;
+ return VK_SUCCESS;
+ }
+ }
+ return VK_NOT_READY;
}
if (chain->has_acquire_queue) {