On 10 April 2013 01:35, Matteo Bruni mbruni@codeweavers.com wrote:
dlls/wined3d/utils.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index da8fc7b..5010676 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -1038,6 +1038,9 @@ static void check_fbo_compat(const struct wined3d_gl_info *gl_info, struct wined GLenum status; GLuint tex;
- if (!(format->flags & WINED3DFMT_FLAG_TEXTURE))
return;
I'm not sure about this one, what exactly should this achieve? In either case, this probably belongs in init_format_fbo_compat_info(), together with the other similar checks.
2013/4/10 Henri Verbeet hverbeet@gmail.com:
On 10 April 2013 01:35, Matteo Bruni mbruni@codeweavers.com wrote:
dlls/wined3d/utils.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index da8fc7b..5010676 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -1038,6 +1038,9 @@ static void check_fbo_compat(const struct wined3d_gl_info *gl_info, struct wined GLenum status; GLuint tex;
- if (!(format->flags & WINED3DFMT_FLAG_TEXTURE))
return;
I'm not sure about this one, what exactly should this achieve? In either case, this probably belongs in init_format_fbo_compat_info(), together with the other similar checks.
The idea is that, since check_fbo_compat() creates a texture of the specified format to attach it to a test FBO and verify that it works correctly, it doesn't make sense to even try if the format is non-texturable.
The check can surely go to init_format_fbo_compat_info() instead.
On 10 April 2013 17:53, Matteo Bruni matteo.mystral@gmail.com wrote:
The idea is that, since check_fbo_compat() creates a texture of the specified format to attach it to a test FBO and verify that it works correctly, it doesn't make sense to even try if the format is non-texturable.
Well, we do check for format->glInternal in init_format_fbo_compat_info(), this would mostly affect formats like WINED3DFMT_P8_UINT or WINED3DFMT_UYVY that don't have WINED3DFMT_FLAG_TEXTURE set, but do have an internal format. I'm not sure we necessarily want to prevent doing e.g. FBO blits on those, or that we'd gain anything from not testing those.
2013/4/10 Henri Verbeet hverbeet@gmail.com:
On 10 April 2013 17:53, Matteo Bruni matteo.mystral@gmail.com wrote:
The idea is that, since check_fbo_compat() creates a texture of the specified format to attach it to a test FBO and verify that it works correctly, it doesn't make sense to even try if the format is non-texturable.
Well, we do check for format->glInternal in init_format_fbo_compat_info(), this would mostly affect formats like WINED3DFMT_P8_UINT or WINED3DFMT_UYVY that don't have WINED3DFMT_FLAG_TEXTURE set, but do have an internal format. I'm not sure we necessarily want to prevent doing e.g. FBO blits on those, or that we'd gain anything from not testing those.
Right, if a format isn't supported at all by the GL implementation it should just get no internal format (and WINED3DFMT_FLAG_TEXTURE means something different). I guess I'll drop the patch then.