Skip to content
Snippets Groups Projects

fbo-scissor-blit: fix window case

Closed Mike Blumenkrantz requested to merge zmike/piglit:fb-scissor-blit into main
1 unresolved thread

this reads back from a RGBX visual which has no alpha channel, so the reference alpha should always be 1.0

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Author Developer

    I couldn't find any drivers able to pass this test. An alternative solution would be to clamp all the alpha values for the clears to 1.0, but I thought it would be more consistent to verify that the non-1.0 alpha value doesn't affect anything else.

  • I see PIGLIT_GL_VISUAL_RGBA in the test config. How does the window not have alpha?

  • Author Developer

    Good q. I just see it's coming through with a RGBX format in gallium.

  • Author Developer

    On second thought, couldn't it be RGBX in xorg despite this?

  • added 1 commit

    • 36163484 - fbo-scissor-blit: fix window case with -fbo

    Compare with previous version

  • Author Developer

    Okay, I got it: this was attempting to fix the -fbo case but I didn't realize it.

    • Can you please point to where anything in this test should be rgbx? Because I can't find it. The window must be RGBA, and the fbo must be RGBA.

    • Author Developer

      I think it must be through one of the piglit helpers or something. Using -fbo creates a RGBX buffer even if RGBA is specified.

    • Please provide a backtrace and let's get that fixed in the core then.

    • Author Developer
      Thread 1 "fbo-scissor-bli" hit Breakpoint 2, iris_resource_create_with_modifiers (pscreen=0x30c4b0, templ=0x7fffffffc740, modifiers=0x30dc40, modifiers_count=4) at ../src/gallium/drivers/iris/iris_resource.c:1152
      1152	   struct iris_screen *screen = (struct iris_screen *)pscreen;
      (gdb) p templ->format
      $1 = PIPE_FORMAT_B8G8R8X8_UNORM
      (gdb) bt
      #0  iris_resource_create_with_modifiers (pscreen=0x30c4b0, templ=0x7fffffffc740, modifiers=0x30dc40, modifiers_count=4) at ../src/gallium/drivers/iris/iris_resource.c:1152
      #1  0x00007ffff5273154 in dri2_create_image_common (_screen=0x309250, width=128, height=128, format=4098, use=19, modifiers=0x30dc40, count=4, loaderPrivate=0x297e80) at ../src/gallium/frontends/dri/dri2.c:1180
      #2  0x00007ffff52732f6 in dri2_create_image_with_modifiers2 (dri_screen=0x309250, width=128, height=128, format=4098, modifiers=0x30dc40, count=4, use=19, loaderPrivate=0x297e80) at ../src/gallium/frontends/dri/dri2.c:1235
      #3  0x00007ffff7f9d261 in loader_dri_create_image (screen=0x309250, image=0x30bd58, width=128, height=128, dri_format=4098, dri_usage=19, modifiers=0x30dc40, modifiers_count=4, loaderPrivate=0x297e80) at ../src/loader/loader_dri_helper.c:62
      #4  0x00007ffff7fa12e6 in dri3_alloc_render_buffer (draw=0x2974e8, format=4098, width=128, height=128, depth=24) at ../src/loader/loader_dri3_helper.c:1491
      #5  0x00007ffff7fa25bf in dri3_get_buffer (driDrawable=0x297660, format=4098, buffer_type=loader_dri3_buffer_back, draw=0x2974e8) at ../src/loader/loader_dri3_helper.c:2047
      #6  0x00007ffff7fa2bfb in loader_dri3_get_buffers (driDrawable=0x297660, format=4098, stamp=0x2976a0, loaderPrivate=0x2974e8, buffer_mask=1, buffers=0x7fffffffcb30) at ../src/loader/loader_dri3_helper.c:2252
      #7  0x00007ffff527100c in dri_image_drawable_get_buffers (drawable=0x2976a0, images=0x7fffffffcb30, statts=0x297d10, statts_count=1) at ../src/gallium/frontends/dri/dri2.c:289
      #8  0x00007ffff52715f4 in dri2_allocate_textures (ctx=0x31d2f0, drawable=0x2976a0, statts=0x297d10, statts_count=1) at ../src/gallium/frontends/dri/dri2.c:464
      #9  0x00007ffff5268a1a in dri_st_framebuffer_validate (stctx=0x292340, stfbi=0x2976a0, statts=0x297d10, count=1, out=0x7fffffffcd40, resolve=0x7fffffffcd38) at ../src/gallium/frontends/dri/dri_drawable.c:83
      #10 0x00007ffff5773df9 in st_framebuffer_validate (stfb=0x2978b0, st=0x292340) at ../src/mesa/state_tracker/st_manager.c:239
      #11 0x00007ffff5775e9b in st_api_make_current (stapi=0x7ffff700e5c0 <st_gl_api>, stctxi=0x292340, stdrawi=0x2976a0, streadi=0x2976a0) at ../src/mesa/state_tracker/st_manager.c:1240
      #12 0x00007ffff526836b in dri_make_current (cPriv=0x322ef0, driDrawPriv=0x297660, driReadPriv=0x297660) at ../src/gallium/frontends/dri/dri_context.c:318
      #13 0x00007ffff526dfda in driBindContext (pcp=0x322ef0, pdp=0x297660, prp=0x297660) at ../src/gallium/frontends/dri/dri_util.c:727
      #14 0x00007ffff7f92fc4 in dri3_bind_context (context=0x22eb10, old=0x7ffff7fc0880 <dummyContext>, draw=60817412, read=60817412) at ../src/glx/dri3_glx.c:207
      #15 0x00007ffff7f7c37b in MakeContextCurrent (dpy=0x217650, draw=60817412, read=60817412, gc_user=0x22eb10, opcode=5) at ../src/glx/glxcurrent.c:164
      #16 0x00007ffff7f7c488 in glXMakeCurrent (dpy=0x217650, draw=60817412, gc=0x22eb10) at ../src/glx/glxcurrent.c:194
      #17 0x00007ffff7e2ea27 in glx_platform_make_current () from /lib64/libwaffle-1.so.0
      #18 0x00007ffff7e3215f in waffle_make_current () from /lib64/libwaffle-1.so.0
      #19 0x00007ffff7d4a994 in wfl_checked_make_current (dpy=0x217610, window=0x297460, ctx=0x312880) at /home/zmike/src/piglit/tests/util/piglit-util-waffle.h:115
      #20 0x00007ffff7d4baef in make_context_current_singlepass (wfl_fw=0x216f40, test_config=0x7fffffffd590, flavor=CONTEXT_GL_COMPAT, partial_config_attrib_list=0x0) at /home/zmike/src/piglit/tests/util/piglit-framework-gl/piglit_wfl_framework.c:498
      #21 0x00007ffff7d4bd2e in make_context_current (wfl_fw=0x216f40, test_config=0x7fffffffd590, partial_config_attrib_list=0x0) at /home/zmike/src/piglit/tests/util/piglit-framework-gl/piglit_wfl_framework.c:575
      #22 0x00007ffff7d4be73 in piglit_wfl_framework_init (wfl_fw=0x216f40, test_config=0x7fffffffd590, platform=19, partial_config_attrib_list=0x0) at /home/zmike/src/piglit/tests/util/piglit-framework-gl/piglit_wfl_framework.c:638
      #23 0x00007ffff7d4a826 in piglit_fbo_framework_create (test_config=0x7fffffffd590) at /home/zmike/src/piglit/tests/util/piglit-framework-gl/piglit_fbo_framework.c:155
      #24 0x00007ffff7d3aac0 in piglit_gl_framework_factory (test_config=0x7fffffffd590) at /home/zmike/src/piglit/tests/util/piglit-framework-gl/piglit_gl_framework.c:48
      #25 0x00007ffff7d3a608 in piglit_gl_test_run (argc=2, argv=0x7fffffffd728, config=0x7fffffffd590) at /home/zmike/src/piglit/tests/util/piglit-framework-gl.c:219
      #26 0x0000000000201287 in main (argc=2, argv=0x7fffffffd728) at /home/zmike/src/piglit/tests/fbo/fbo-scissor-blit.c:52
    • That GLX winsys fbo should never be used by the test, though -- piglit_winsys_fbo should be the piglit_fbo_framework's fbo.

    • Ah, the dst_fbo = 0 and dst_fbo != 0 should be piglit_winsys_fbo

      Edited by Emma Anholt
    • Please register or sign in to reply
  • Closing in favor of !754 (merged)

  • closed

Please register or sign in to reply
Loading