octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #33118] FLTK and Qt: text rotation fails for a


From: Markus Mützel
Subject: [Octave-bug-tracker] [bug #33118] FLTK and Qt: text rotation fails for angles other than 90 degrees
Date: Sat, 13 Mar 2021 10:12:37 -0500 (EST)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36 Edg/89.0.774.50

Follow-up Comment #23, bug #33118 (project octave):

Running `test getframe` causes Octave to close unexpectedly on Windows.
Attaching gdb to the Octave process before that command yields the following:

(gdb) c
Continuing.
[Thread 13556.0x3060 exited with code 0]
[New Thread 13556.0x36a0]
[Thread 13556.0x36a0 exited with code 0]
[New Thread 13556.0x41b8]
[New Thread 13556.0x3d18]
[New Thread 13556.0x3c18]
[New Thread 13556.0x2e8]
[New Thread 13556.0x4790]
[New Thread 13556.0x2244]
[New Thread 13556.0xd58]
[New Thread 13556.0x1f78]
warning:
../src/gallium/auxiliary/util/u_simple_shaders.c:680:util_make_fs_blit_msaa_depthstencil:
Assertion `0' failed.
[Thread 13556.0x1fe0 exited with code 3]
[Thread 13556.0x2e8 exited with code 3]
[Thread 13556.0x3d18 exited with code 3]
[Thread 13556.0x4790 exited with code 3]
[Thread 13556.0xd58 exited with code 3]
[Thread 13556.0x1f78 exited with code 3]
[Thread 13556.0x4780 exited with code 3]
[Thread 13556.0x2244 exited with code 3]
[Thread 13556.0x3c18 exited with code 3]
[Thread 13556.0x41b8 exited with code 3]
[Thread 13556.0x3518 exited with code 3]
[Thread 13556.0x198c exited with code 3]
[Thread 13556.0x2540 exited with code 3]
[Thread 13556.0x21f4 exited with code 3]
[Thread 13556.0x6b8 exited with code 3]
[Thread 13556.0x468c exited with code 3]
[Thread 13556.0x2a74 exited with code 3]
[Thread 13556.0x113c exited with code 3]
[Thread 13556.0x46bc exited with code 3]
[Thread 13556.0x47b0 exited with code 3]
[Thread 13556.0x3080 exited with code 3]
[Thread 13556.0x39c8 exited with code 3]
[Thread 13556.0x580 exited with code 3]
[Thread 13556.0x44dc exited with code 3]
[Thread 13556.0x2584 exited with code 3]
[Thread 13556.0x45c8 exited with code 3]
[Thread 13556.0x45ac exited with code 3]
[Thread 13556.0x262c exited with code 3]
--Type <RET> for more, q to quit, c to continue without paging--
[Inferior 1 (process 13556) exited with code 03]
(gdb)


I'm not sure if this is related to this change because I also built with some
other local changes.

The function that throws the assertion failure seems to be the following one
from mesa3d:
https://gitlab.freedesktop.org/mesa/mesa/-/blob/staging/20.2/src/gallium/auxiliary/util/u_simple_shaders.c#L652

/**
 * Make a fragment shader that sets the output depth and stencil to depth
 * and stencil values fetched from two multisample textures / samplers.
 * The sizes of both textures should match (it should be one depth-stencil
 * texture).
 * \param tex_target  one of PIPE_TEXTURE_x
 */
void *
util_make_fs_blit_msaa_depthstencil(struct pipe_context *pipe,
                                    enum tgsi_texture_type tgsi_tex)
{
   static const char shader_templ[] =
         "FRAG\n"
         "DCL IN[0], GENERIC[0], LINEAR\n"
         "DCL SAMP[0..1]\n"
         "DCL SVIEW[0..1], %s, FLOAT\n"
         "DCL OUT[0], POSITION\n"
         "DCL OUT[1], STENCIL\n"
         "DCL TEMP[0]\n"

         "F2U TEMP[0], IN[0]\n"
         "TXF OUT[0].z, TEMP[0], SAMP[0], %s\n"
         "TXF OUT[1].y, TEMP[0], SAMP[1], %s\n"
         "END\n";

   const char *type = tgsi_texture_names[tgsi_tex];
   char text[sizeof(shader_templ)+100];
   struct tgsi_token tokens[1000];
   struct pipe_shader_state state = {0};

   assert(tgsi_tex == TGSI_TEXTURE_2D_MSAA ||
          tgsi_tex == TGSI_TEXTURE_2D_ARRAY_MSAA);

   sprintf(text, shader_templ, type, type, type);

   if (!tgsi_text_translate(text, tokens, ARRAY_SIZE(tokens))) {
      assert(0);
      return NULL;
   }
   pipe_shader_state_from_tgsi(&state, tokens);
#if 0
   tgsi_dump(state.tokens, 0);
#endif

   return pipe->create_fs_state(pipe, &state);
}


I'll try if I can reproduce with a clean build.


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?33118>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]