Module: Mesa Branch: master Commit: 3a3c3d124aced6444cd637d21c5d723c8417b0b9 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a3c3d124aced6444cd637d21c5d723c8417b0b9
Author: Brian Paul <[email protected]> Date: Mon Jun 27 11:18:10 2016 -0600 svga: set render target flag for snorm surfaces We don't normally support rendering to SNORM surfaces, but with GL_ARB_copy_image we can copy to them if we treat them as typeless and use a UNORM surface view. Acked-by: Roland Scheidegger <[email protected]> Reviewed-by: Charmaine Lee <[email protected]> --- src/gallium/drivers/svga/svga_resource_texture.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/gallium/drivers/svga/svga_resource_texture.c b/src/gallium/drivers/svga/svga_resource_texture.c index 3f91c86..9e1aaab 100644 --- a/src/gallium/drivers/svga/svga_resource_texture.c +++ b/src/gallium/drivers/svga/svga_resource_texture.c @@ -963,6 +963,16 @@ svga_texture_create(struct pipe_screen *screen, svga_format_name(typeless), bindings); } + + if (svga_format_is_uncompressed_snorm(tex->key.format)) { + /* We can't normally render to snorm surfaces, but once we + * substitute a typeless format, we can if the rendertarget view + * is unorm. This can happen with GL_ARB_copy_image. + */ + tex->key.flags |= SVGA3D_SURFACE_HINT_RENDERTARGET; + tex->key.flags |= SVGA3D_SURFACE_BIND_RENDER_TARGET; + } + tex->key.format = typeless; } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
