spec@egl_khr_gl_colorspace@srgb,Crash
spec@ext_framebuffer_blit@fbo-sys-blit,Fail
spec@ext_framebuffer_blit@fbo-sys-sub-blit,Fail
-spec@ext_image_dma_buf_import@ext_image_dma_buf_import-export-tex,Crash
dEQP-GLES2.functional.clipping.point.wide_point_clip,Fail
dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center,Fail
.createImageWithModifiers2 = dri2_create_image_with_modifiers2,
};
+const __DRIimageExtension driVkImageExtensionSw = {
+ .base = { __DRI_IMAGE, 20 },
+
+ .createImageFromName = dri2_create_image_from_name,
+ .createImageFromRenderbuffer = dri2_create_image_from_renderbuffer,
+ .destroyImage = dri2_destroy_image,
+ .createImage = dri2_create_image,
+ .queryImage = dri2_query_image,
+ .dupImage = dri2_dup_image,
+ .validateUsage = dri2_validate_usage,
+ .createImageFromNames = dri2_from_names,
+ .fromPlanar = dri2_from_planar,
+ .createImageFromTexture = dri2_create_from_texture,
+ .createImageFromFds = dri2_from_fds,
+ .createImageFromFds2 = dri2_from_fds2,
+ .blitImage = dri2_blit_image,
+ .getCapabilities = dri2_get_capabilities,
+ .mapImage = dri2_map_image,
+ .unmapImage = dri2_unmap_image,
+ .createImageFromRenderbuffer2 = dri2_create_image_from_renderbuffer2,
+};
+
static const __DRIrobustnessExtension dri2Robustness = {
.base = { __DRI2_ROBUSTNESS, 1 }
};
};
extern const __DRIimageExtension driVkImageExtension;
+extern const __DRIimageExtension driVkImageExtensionSw;
static void
kopper_flush_drawable(__DRIdrawable *dPriv)
NULL
};
+static const __DRIextension *drivk_sw_screen_extensions[] = {
+ &driTexBufferExtension.base,
+ &dri2RendererQueryExtension.base,
+ &dri2ConfigQueryExtension.base,
+ &dri2FenceExtension.base,
+ &dri2Robustness.base,
+ &driVkImageExtensionSw.base,
+ &dri2FlushControlExtension.base,
+ &driVkFlushExtension.base,
+ NULL
+};
+
static const __DRIconfig **
kopper_init_screen(__DRIscreen * sPriv)
{
assert(pscreen->get_param(pscreen, PIPE_CAP_DEVICE_RESET_STATUS_QUERY));
screen->has_reset_status_query = true;
screen->lookup_egl_image = dri2_lookup_egl_image;
- sPriv->extensions = drivk_screen_extensions;
+ if (pscreen->get_param(pscreen, PIPE_CAP_DMABUF))
+ sPriv->extensions = drivk_screen_extensions;
+ else
+ sPriv->extensions = drivk_sw_screen_extensions;
const __DRIimageLookupExtension *image = sPriv->dri2.image;
if (image &&