cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

cippyboy
Journeyman III

Where to submit AMD driver bug ? Got one

Looking on the forum, it's as if the drivers never have bugs. I tried looking for driver bug submissions but found none

I just found one with my HD7850 and latest 13.10 drivers

GLSL shader that after one frame stops all driver rendering and hangs.

The ofensive code (I think) is declaring an array of 3 structures as local variables and double referencing from uniform blocks.

//Inputs

in vec4 POSITION;

in vec2 TEXCOORD;

//Outputs

out mediump vec2 TexCoordVarying;

out vec3 PSTest;

uniform sampler2D Texture0;

uniform mat4 modelViewProjectionMatrix;

uniform vec3 ExtraTranslate;//z = Alpha

struct VertexData

{

    vec4 POS;

    vec4 TEX;

};

layout(binding = 0, offset = 0) uniform VertexBufferData

{

    VertexData Vertices[ 16 ];

};

layout(binding = 1, offset = 0) uniform IndexBufferData

{

    uint Indices[ 16 ];

};

layout(binding = 2, offset = 0) uniform BaryCoordsBuffer

{

    vec4 BaryCoords[ 7 ];//for Level=2

};

vec4 interpolate4(in vec4 v0, in vec4 v1, in vec4 v2, vec4 BaryCoord)

{

    return v0 * BaryCoord.x + v1 * BaryCoord.y + v2 * BaryCoord.z;

}

void main()

{

    int PolygonID = gl_VertexID / 3;

    int VertexIndex = gl_VertexID % 3;//- PolygonID * 3;

    int PolygonIndices[3] = { PolygonID * 3 + 0, PolygonID * 3 + 1, PolygonID * 3 + 2 };

    VertexData ReferencedVertices[3] = { Vertices[ Indices[ PolygonIndices[ 0 ] ]], Vertices[ Indices[ PolygonIndices[ 1 ] ]],

            Vertices[ Indices[ PolygonIndices[ 2 ] ]] };

    vec4 CurrentVertex;

    CurrentVertex = interpolate4( ReferencedVertices[0].POS, ReferencedVertices[1].POS, ReferencedVertices[2].POS, BaryCoords[ VertexIndex ] );

   

    vec4 CurrentTexcoord;

    CurrentTexcoord = interpolate4( ReferencedVertices[0].TEX, ReferencedVertices[1].TEX, ReferencedVertices[2].TEX, BaryCoords[ VertexIndex ] );

    PSTest = BaryCoords[ VertexIndex ].xyz;   

    vec4 ModifiedPos = CurrentVertex;

    ModifiedPos.xy += ExtraTranslate.xy;

   

    gl_Position = modelViewProjectionMatrix * ModifiedPos;

   

    TexCoordVarying = CurrentTexcoord.xy;      

}

0 Likes
3 Replies
pboudier
Staff

if there is a GPU hang (as opposed to compilation failure), then please provide a full test case, since it is hard to reproduce with a single shader text.

this will make it easier for a bug to be reproduced/filed/fixed.

thanks,

Pierre B.

0 Likes

So basically you want an executable that you double click and creates the hang ? Where do I send this if I make it ?

0 Likes

you should be able upload attachment to your post here on this forum.

0 Likes