home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / relnotes / il_dev / ch5.z / ch5
Encoding:
Text File  |  2002-10-08  |  7.2 KB  |  265 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        5.  _K_n_o_w_n__P_r_o_b_l_e_m_s__a_n_d__W_o_r_k_a_r_o_u_n_d_s
  9.  
  10.        This chapter lists the known problems in version  of the
  11.        ImageVision Library and, where known, ways to work around
  12.        them.
  13.  
  14.  
  15.        5.1  _U_s_e__o_f__i_l_T_h_r_e_a_d__D_e_s_t_r_u_c_t_o_r__C_a_n__K_i_l_l__M_a_i_n__P_r_o_g_r_a_m
  16.  
  17.        The ilThread destructor often kills main program. The IL
  18.        doesn't use this destructor and hence doesn't run into this
  19.        problem. If your application explicitly creates and deletes
  20.        ilThreads, then you will run into this problem.
  21.  
  22.  
  23.        5.2  _i_l_O_p_I_m_g _I_n_h_e_r_i_t_i_n_g _F_i_l_l _V_a_l_u_e_s _W_h_e_n _M_i_n/_M_a_x _a_r_e
  24.             _E_x_p_l_i_c_i_t_l_y _S_e_t
  25.  
  26.        Under certain conditions ilOpImg does not inherit fill value
  27.        correctly.  If an operator image changes its min and max
  28.        values, then the fill value that it inherits from its input
  29.        can become out of range.  The workaround is to detect
  30.        min/max changes and then explicitly set the fill value, if
  31.        necessary.
  32.  
  33.  
  34.        5.3  _F_F_T__o_p_e_r_a_t_o_r_s__i_n_c_o_r_r_e_c_t__f_o_r__d_a_t_a__t_y_p_e_s__o_t_h_e_r__t_h_a_n__c_h_a_r
  35.  
  36.        The FFT operators compute incorrect results for data types
  37.        set to anything other than iflChar and iflUChar.
  38.  
  39.  
  40.        5.4  _C_o_l_o_r_m_o_d_e_l__i_g_n_o_r_e_d__o_n__a_c_c_e_l_e_r_a_t_e_d__o_p_e_r_a_t_o_r_s
  41.  
  42.        Setting the colormodel is ignored on accelerated operators.
  43.        It will work correctly if the colormodel is set on an
  44.        operator image with acceleration turned off on that
  45.        operator.
  46.  
  47.  
  48.        5.5  _F_i_l_l__v_a_l_u_e__n_o_t__p_r_o_p_e_r_l_y__i_n_v_e_r_t_e_d__w_i_t_h__z_o_o_m__a_n_d__a_n_g_l_e_=_0
  49.  
  50.        With hardware acceleration turned on, and an ilRotZoomImg is
  51.        enabled, the fill value is not properly inverted if the
  52.        rotation angle = 0; at other angles, the fill is inverted.
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.        5.6  _C_a_n_n_o_t__u_s_e__p_s_e_u_d_o_c_o_l_o_r__v_i_s_u_a_l_s__f_o_r__R_G_B__r_e_n_d_e_r_i_n_g
  75.  
  76.        Currently the ilHwContext allocates its GLXContext based
  77.        upon the render type specified by the given visual. For
  78.        luminance visuals (pseudocolor visuals that allow GL RGB
  79.        rendering), the ilHwContext constructor assumes color index
  80.        rendering and allocates a color index context. This will not
  81.        support RGB rendering to a drawable allocated with the
  82.        luminance visual.
  83.  
  84.  
  85.        5.7  _W_h_e_n__I_L__r_u_n_s__o_u_t__o_f__m_e_m_o_r_y_,__i_t__t_e_r_m_i_n_a_t_e_s__t_h_e__p_r_o_g_r_a_m
  86.  
  87.        IL can call exit() if it runs out of memory, causing the
  88.        application to terminate.
  89.  
  90.  
  91.        5.8  _g_e_t_T_i_l_e _b_e_y_o_n_d _l_i_m_i_t_s _o_f _c_h_a_n_n_e_l _d_i_m_e_n_s_i_o_n _d_o_e_s_n'_t _f_i_l_l
  92.             _p_r_o_p_e_r_l_y
  93.  
  94.        The iflConverter object doesn't properly handle the masking
  95.        of getTile() operations on ilImage that go beyond the limits
  96.        of the channel dimension.  A workaround would be to fill the
  97.        buffer before calling getTile in this situation.
  98.  
  99.  
  100.        5.9  _i_l_L_u_t_I_m_g _o_n _i_f_l_R_G_B_P_a_l_e_t_t_e _i_m_a_g_e_s _r_e_n_d_e_r_s _i_n_c_o_r_r_e_c_t_l_y _o_n
  101.             _I_m_p_a_c_t
  102.  
  103.        This is caused by an Impact OpenGL bug that occurs when
  104.        drawing rectangles of width 1 when PixelMap is on.
  105.  
  106.  
  107.        5.10  _S_i_n_g_l_e__T_R_A_M__I_m_p_a_c_t__c_a_n_'_t__d_o__m_e_s_h__w_a_r_p_s__w_e_l_l
  108.  
  109.        It can run out of texture fairly easily causing rendering
  110.        errors.
  111.  
  112.  
  113.        5.11  _F_r_a_c_t_i_o_n_a_l__z_o_o_m__s_o_m_e_t_i_m_e_s__r_e_n_d_e_r_s__p_o_o_r_l_y
  114.  
  115.        ilRotZoomImg with nearest neighbor resampling, fractional
  116.        zoom factors, and no rotation will sometimes leave gaps in
  117.        the rendered image.  This is most prevalent on Impact
  118.        graphics.  A workaround is to switch to bilinear resampling.
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   - 3 -
  137.  
  138.  
  139.  
  140.        5.12  _C_l_o_s_i_n_g _m_o_n_i_t_o_r _d_e_f_e_a_t_s _P_R__S_I_G_E_X_I_T _t_h_r_e_a_d _c_l_e_a_n_u_p
  141.              _l_o_g_i_c
  142.  
  143.        If you close the monitor, PR_EXITSIG will be disabled and
  144.        never reenabled.  This will cause IL threads to be left
  145.        laying about when the IL application exits.
  146.  
  147.  
  148.        5.13  _i_l_C_o_l_o_r_I_m_g _d_o_e_s _n_o_t _h_a_n_d_l_e _o_f_f_s_e_t _i_n_t_o _i_f_l_R_G_B_P_a_l_e_t_t_e
  149.              _d_i_t_h_e_r _p_a_t_t_e_r_n
  150.  
  151.        ilColorconv does not properly handle offset into
  152.        ilRGBPalette dither pattern.  Dither pattern is 4x4 but
  153.        initial offset always starts at 0 for every page. This does
  154.        not occur with Floyd-Steinberg dithering.
  155.  
  156.  
  157.        5.14  _D_o_u_b_l_e-_b_u_f_f_e_r_e_d _e_x_p_o_s_u_r_e _r_e_p_a_i_n_t_s _s_l_o_w _o_n _E_x_t_r_e_m_e _a_n_d
  158.              _X_Z
  159.  
  160.        Due to problems in the OpenGL implementation on Indigo2
  161.        Extreme and XZ graphics (drawing to the front and back
  162.        buffer simultaneously is slow on these machines), doubled
  163.        buffered image repaints are slow (ilDisplay redraw() or
  164.        paint(ilPaintExpose)).
  165.  
  166.  
  167.        5.15  _i_l_V_i_e_w _b_o_r_d_e_r_s _w_i_t_h _d_a_s_h_e_d _l_i_n_e _s_t_y_l_e _r_e_n_d_e_r_e_d _a_s
  168.              _s_o_l_i_d
  169.  
  170.        The dashed line style is only supported with ilVkViewer when
  171.        the overlay is enabled.
  172.  
  173.  
  174.        5.16  _p_b_u_f_f_e_r__r_e_a_d_b_a_c_k__c_a_n__d_e_a_d_l_o_c_k
  175.  
  176.        When the middle of an operator chain is accelerated through
  177.        pbuffer (with unaccelerated portions before and after the
  178.        accelerated portion) the IL can get into a deadlock state.
  179.        The workaround is to not enable readback acceleration (which
  180.        is off by default) on such chains.
  181.  
  182.  
  183.        5.17  _F_F_T__m_e_r_g_e__w_i_t_h__s_m_a_l_l__p_a_g_e__s_i_z_e__c_a_u_s_e_s__S_E_G_V
  184.  
  185.        Using ilFMergeImg with a page size that is smaller than the
  186.        merged image size can result in a SEGV in the application.
  187.        The work around is to set the page size of the ilFMergeImg
  188.        to its size.
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                   - 4 -
  203.  
  204.  
  205.  
  206.        5.18  _L_u_m_i_n_a_n_c_e__r_e_n_d_e_r_i_n_g__s_u_p_p_o_r_t__i_s__n_o_t__c_o_m_p_l_e_t_e
  207.  
  208.        By using the findVisualByAttr() call with attr containing
  209.        ilVisRenderRGBA and ilVisPseudoColor or ilVisStaticGray, an
  210.        application can force IL to allocate a luminance visual. The
  211.        ilHwPassGL does not however abide by this choice and forces
  212.        most of its operations back to the host.
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.