Re: [PATCH 4/6] wined3d: Disable YUV formats when fixups are not supported.
On 7 May 2017 at 20:32, Matteo Bruni <mbruni(a)codeweavers.com> wrote:
@@ -5192,8 +5193,19 @@ static BOOL wined3d_check_surface_capability(const struct wined3d_format *format
if (format->glInternal) { - TRACE("[OK]\n"); - return TRUE; + switch (format->id) + { + case WINED3DFMT_YUY2: + case WINED3DFMT_UYVY: + case WINED3DFMT_YV12: + case WINED3DFMT_NV12: + TRACE("%s\n", gl_info->supported[ARB_FRAGMENT_PROGRAM] + ? "[OK]" : "[FAILED] - No YUV fixups support."); + return gl_info->supported[ARB_FRAGMENT_PROGRAM]; + default: + TRACE("[OK]\n"); + return TRUE; + } Generally speaking, we've been moving away from this kind of "list some formats somewhere" approach. If we really have to disable these formats, I'd argue apply_format_fixups() would be the correct place, since creating the surfaces should probably also fail then. There's also an argument that the CPU blitter should be able to handle these though.
participants (1)
-
Henri Verbeet