Signed-off-by: Henri Verbeet hverbeet@codeweavers.com --- dlls/wined3d/resource.c | 7 ------- dlls/wined3d/utils.c | 11 ++++++----- 2 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c index 8f9a11ea2ad..15e4a45ea59 100644 --- a/dlls/wined3d/resource.c +++ b/dlls/wined3d/resource.c @@ -135,13 +135,6 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device * WARN("Format %s cannot be used for depth/stencil buffers.\n", debug_d3dformat(format->id)); continue; } - if (wined3d_settings.offscreen_rendering_mode == ORM_FBO - && bind_flags & (WINED3D_BIND_RENDER_TARGET | WINED3D_BIND_DEPTH_STENCIL) - && !(format->flags[gl_type] & WINED3DFMT_FLAG_FBO_ATTACHABLE)) - { - WARN("Render target or depth stencil is not FBO attachable.\n"); - continue; - } if ((bind_flags & WINED3D_BIND_SHADER_RESOURCE) && !(format->flags[gl_type] & WINED3DFMT_FLAG_TEXTURE)) { diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index 55ee0ede339..d078c503df3 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -2515,11 +2515,11 @@ static void check_fbo_compat(struct wined3d_caps_gl_ctx *ctx, struct wined3d_for { if (!rt_internal) { - if (format->f.flags[type] & WINED3DFMT_FLAG_RENDERTARGET) + if (format->f.flags[type] & (WINED3DFMT_FLAG_RENDERTARGET | WINED3DFMT_FLAG_DEPTH_STENCIL)) { WARN("Format %s with rendertarget flag is not supported as FBO color attachment (type %u)," " and no fallback specified.\n", debug_d3dformat(format->f.id), type); - format->f.flags[type] &= ~WINED3DFMT_FLAG_RENDERTARGET; + format->f.flags[type] &= ~(WINED3DFMT_FLAG_RENDERTARGET | WINED3DFMT_FLAG_DEPTH_STENCIL); } else { @@ -2552,7 +2552,7 @@ static void check_fbo_compat(struct wined3d_caps_gl_ctx *ctx, struct wined3d_for { WARN("Format %s rtInternal format is not supported as FBO %s attachment, type %u.\n", debug_d3dformat(format->f.id), type_string, type); - format->f.flags[type] &= ~WINED3DFMT_FLAG_RENDERTARGET; + format->f.flags[type] &= ~(WINED3DFMT_FLAG_RENDERTARGET | WINED3DFMT_FLAG_DEPTH_STENCIL); } } } @@ -2725,8 +2725,9 @@ static void check_fbo_compat(struct wined3d_caps_gl_ctx *ctx, struct wined3d_for { FIXME("Format %s needs different render target formats for different resource types.\n", debug_d3dformat(format->f.id)); - format_clear_flag(&format->f, WINED3DFMT_FLAG_RENDERTARGET | WINED3DFMT_FLAG_FBO_ATTACHABLE - | WINED3DFMT_FLAG_FBO_ATTACHABLE_SRGB | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING); + format_clear_flag(&format->f, WINED3DFMT_FLAG_RENDERTARGET | WINED3DFMT_FLAG_DEPTH_STENCIL + | WINED3DFMT_FLAG_FBO_ATTACHABLE | WINED3DFMT_FLAG_FBO_ATTACHABLE_SRGB + | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING); } }