AMD shader linkage issue

These 2 shaders do link, but later I discovered that it breaks when I add any fragment shader to the party, telling the same error message “Vertex Shader not supported by HW”.

Pierre, I’m badly surprised ATI don’t acknowledge this as a bug (see original post). It’s clear for me and Alfonse (right?) at least, that the driver behavior contradicts GLSL spec and don’t allow any workaround effectively cutting off a large piece of basic functionality.
Do you agree on that? ATI Customer Support ignores me… Can you influence them a little?

Thanks in advance,
Dmitry

hi dmitry,

I sent you a PM to take this discussion offline. the best would be to exchange a few tests, since I am not sure that we are talking about the same thing.

my understanding of the spec:

  • if you have two separate shader objects:
    1: void foo(struct1 a);
    2: void foo(struct2 a);
    -> this should be a link error because it is different functions

  • if you have different shader objects:
    1: struct struct1 {};
    2: struct struct1 {};
    2: uniform struct1 a;
    -> this should link correctly

  • if you have only one shader object:
    1: struct struct1 {};
    1: struct struct1 {};
    1: uniform struct1 a;
    -> this should not compile (type redifinition)

we have made some fixes based on your initial report to correctly link, and we will be glad to fix any other issue (for instance, a fragment shader object should have no impact on the behavior above)

Pierre B.

I’m glad to see you back here.
I agree completely on the required linking behavior you described (all 3 cases). Waiting for the new Catalyst version (10.3?) to check your fixes and continue to work efficiently (right now I’m working with 9.10).

Thanks, Pierre.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.