Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 5 of 5

Thread: AMD Catalyst driver errors -- tessellation

  1. #1
    Junior Member Regular Contributor
    Join Date
    Jul 2010
    Posts
    199

    AMD Catalyst driver errors -- tessellation

    A thread in the Advanced OpenGL forum discusses two different errors in the AMD Catalyst driver version 10.11:
    http://www.opengl.org/discussion_boa...;Number=287368

    Further discussion of this issue belongs here in this forum.

    To summarize:

    Quote Originally Posted by david_f_knight
    I have discovered an AMD Catalyst driver bug (which I've reported to AMD each version beginning with version 10.7):

    The vertex spacing qualifier of tessellation evaluation shaders is ignored when the primitive mode qualifier of tessellation evaluation shaders is isolines. The tessellation primitive generator incorrectly always uses equal_spacing when the primitive mode qualifier is isolines, whether the vertex spacing qualifier was specified as fractional_even_spacing, fractional_odd_spacing, or equal_spacing....

    ...(the Specification states that equal spacing is to be used for the spacing between the isolines (i.e., the v dimension), but that the vertex spacing qualifier must be used for the tessellation of each isoline (i.e., the u dimension)).
    Quote Originally Posted by dave_xyzw
    I also ran some tests with quad tessellation. I found some very strange behavior. With ATI Catalyst 10.11, it appears that the indexes are ignored. For example,

    gl_TessLevelOuter[0] = 16.0;
    gl_TessLevelOuter[1] = 4.0;
    gl_TessLevelOuter[2] = 4.0;
    gl_TessLevelOuter[3] = 4.0;

    A run with the above settings produced the same tessellation as a run with the following sequence of statements:

    gl_TessLevelOuter[1] = 16.0;
    gl_TessLevelOuter[0] = 4.0;
    gl_TessLevelOuter[2] = 4.0;
    gl_TessLevelOuter[3] = 4.0;

    It seems like the first assignment determines the value of index zero regardless of the index used. This is quite strange.

    Could you confirm this?
    Quote Originally Posted by david_f_knight
    I just ran a test as you suggested (with Catalyst 10.11 drivers) and I confirm that the driver bug exists as you found it.

    I then conducted a few other similar tests. This one worked properly:
    Code :
    int  edge_ndx;
     
    edge_ndx = 3;
    gl_TessLevelOuter[edge_ndx] = 4.0;
    gl_TessLevelOuter[1] = 16.0;
    gl_TessLevelOuter[0] = 4.0;
    gl_TessLevelOuter[2] = 4.0;
    gl_TessLevelOuter[3] = 4.0;

    But, this one did not work properly:
    Code :
    int  edge_ndx;
     
    edge_ndx = 3;
    gl_TessLevelOuter[1] = 16.0;
    gl_TessLevelOuter[0] = 4.0;
    gl_TessLevelOuter[2] = 4.0;
    gl_TessLevelOuter[3] = 4.0;
    gl_TessLevelOuter[edge_ndx] = 4.0;

  2. #2
    Junior Member Regular Contributor
    Join Date
    Jul 2010
    Posts
    199

    Re: AMD Catalyst driver errors -- tessellation

    Something I meant to mention but left out of my last post in the thread in the advanced forum is that I haven't had any problem with my tessellation shaders for quads previously, but I have always defined each gl_TessLevelOuter[] element using an index variable, such as edge_ndx, like this:

    Code :
    int  edge_ndx;
     
    for (edge_ndx = 0;   edge_ndx < 4;   edge_ndx++) {
    //do determine curvature and length of each patch edge...
      gl_TessLevelOuter[edge_ndx] = ????;
    }

  3. #3
    Junior Member Newbie
    Join Date
    Dec 2010
    Posts
    2

    Re: AMD Catalyst driver errors -- tessellation

    could you send your test cases to me? I'm employer of AMD, and I can't reproduce these issue with your describe. My email is seague.sheng@amd.com

  4. #4
    Junior Member Newbie
    Join Date
    Dec 2010
    Posts
    3

    Re: AMD Catalyst driver errors -- tessellation

    I've sent you a test case for quad tessellation.

  5. #5
    Junior Member Regular Contributor
    Join Date
    Jul 2010
    Posts
    199

    Re: AMD Catalyst driver errors -- tessellation

    I've sent you a test case demonstrating that the vertex spacing qualifier of tessellation evaluation shaders is ignored when the primitive mode qualifier of tessellation evaluation shaders is isolines.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •