[Mesa-dev] [Bug 41263] [r600g] glCopyTexImage2D selects a texture format that involves fallback to software

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Sep 29 02:21:41 PDT 2011


https://bugs.freedesktop.org/show_bug.cgi?id=41263

--- Comment #5 from Simon Farnsworth <simon.farnsworth at onelan.co.uk> 2011-09-29 02:21:41 PDT ---
I've now updated mesa to git revision e112287474e225969fb10e6bc744d9c48a853fc6

I added the following to that file, to clue me in when software fallbacks
happen (with apologies for line wrapping):


commit 550cf15bb2ba564a927bd4bfba5a85623636caef
Author: Simon Farnsworth <simon.farnsworth at onelan.co.uk>
Date:   Tue Sep 27 14:42:12 2011 +0100

    Debug patch

diff --git a/src/mesa/state_tracker/st_cb_texture.c
b/src/mesa/state_tracker/st_cb_texture.c
index e744a9f..3208ac6 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -1619,6 +1619,22 @@ st_copy_texsubimage(struct gl_context *ctx,
    }

    if (use_fallback) {
+       debug_printf("%s: software fallback ctx->_ImageTransferState %d
matching_base_formats %d src_format 0x%x dest_format 0x%x do_flip %d
format_writemask 0x%x texBaseFormat 0x%x sampler_supported %d render_supported
%d\n",
+                    __FUNCTION__,
+                    ctx->_ImageTransferState,
+                    matching_base_formats,
+                    src_format,
+                    dest_format,
+                    do_flip,
+                    format_writemask,
+                    texBaseFormat,
+                    screen->is_format_supported(screen, src_format,
+                                                PIPE_TEXTURE_2D, sample_count,
+                                                PIPE_BIND_SAMPLER_VIEW) &&
+                    screen->is_format_supported(screen, dest_format,
+                                                PIPE_TEXTURE_2D, 0,
+                                                PIPE_BIND_RENDER_TARGET)
+           );
       /* software fallback */
       fallback_copy_texsubimage(ctx, target, level,
                                 strb, stImage, texBaseFormat,


The output I get is

st_copy_texsubimage: software fallback ctx->_ImageTransferState 0
matching_base_formats 0 src_format 0x1 dest_format 0x2 do_flip 0
format_writemask 0x0 texBaseFormat 0x1907 sampler_supported 1 render_supported
164514680

I can't use the first path (identical formats), as src_format != dest_format,
and matching_base_formats is false.

compatible_src_dst_formats has returned 0, so I can't use the textured quad
path.

I therefore fall back to software unexpectedly.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the mesa-dev mailing list