Module: wine Branch: master Commit: 28af7b407bb926953a73c373eb536449d1110e82 URL: http://source.winehq.org/git/wine.git/?a=commit;h=28af7b407bb926953a73c373eb...
Author: Stefan Dösinger stefan@codeweavers.com Date: Tue Jun 9 09:28:08 2015 +0200
wined3d: Require FBO attachability for render targets and depth stencils.
---
dlls/wined3d/resource.c | 7 +++++++ dlls/wined3d/utils.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c index 7818deb..1891165 100644 --- a/dlls/wined3d/resource.c +++ b/dlls/wined3d/resource.c @@ -114,6 +114,13 @@ 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 + && usage & (WINED3DUSAGE_RENDERTARGET | WINED3DUSAGE_DEPTHSTENCIL) + && !(format->flags[gl_type] & WINED3DFMT_FLAG_FBO_ATTACHABLE)) + { + WARN("Render target or depth stencil is not FBO attachable.\n"); + continue; + } if ((usage & WINED3DUSAGE_TEXTURE) && !(format->flags[gl_type] & WINED3DFMT_FLAG_TEXTURE)) { WARN("Format %s cannot be used for texturing.\n", debug_d3dformat(format->id)); diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index a3c3def..687d3d7 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -1282,7 +1282,7 @@ static const struct wined3d_format_texture_info format_texture_info[] = ARB_FRAMEBUFFER_OBJECT, NULL}, {WINED3DFMT_NULL, 0, 0, 0, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8_REV, 0, - WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_RENDERTARGET, + WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_RENDERTARGET | WINED3DFMT_FLAG_FBO_ATTACHABLE, ARB_FRAMEBUFFER_OBJECT, NULL}, };