mirror of https://github.com/qt/qtbase.git
rhi: displacement / tessellation manual test Metal memory alignment
This test was created with a work around for a Metal tessellation pipeline memory alignment issue. The workaround was to specify shader stage in / out variable uv as vec3 rather than vec2. A recent patch to correct Metal tessellation pipeline memory alignment has now allowed this test to use vec2 for variable uv as originally intended. Change-Id: I6772c0e824e1e4b7e749dafa218f3fd8eba0e541 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
This commit is contained in:
parent
8bf46d7a21
commit
d50f2fc1cc
Binary file not shown.
|
@ -2,10 +2,10 @@
|
|||
|
||||
layout(vertices = 3) out;
|
||||
|
||||
layout(location = 0) in vec3 in_uv[];
|
||||
layout(location = 0) in vec2 in_uv[];
|
||||
layout(location = 1) in vec3 in_normal[];
|
||||
|
||||
layout(location = 0) out vec3 out_uv[];
|
||||
layout(location = 0) out vec2 out_uv[];
|
||||
layout(location = 1) out vec3 out_normal[];
|
||||
|
||||
layout(std140, binding = 0) uniform buf {
|
||||
|
|
Binary file not shown.
|
@ -2,7 +2,7 @@
|
|||
|
||||
layout(triangles, fractional_odd_spacing, ccw) in;
|
||||
|
||||
layout(location = 0) in vec3 in_uv[];
|
||||
layout(location = 0) in vec2 in_uv[];
|
||||
layout(location = 1) in vec3 in_normal[];
|
||||
|
||||
//layout(location = 0) out vec2 out_uv;
|
||||
|
|
Binary file not shown.
|
@ -4,12 +4,12 @@ layout(location = 0) in vec3 position;
|
|||
layout(location = 1) in vec2 uv;
|
||||
layout(location = 2) in vec3 normal;
|
||||
|
||||
layout(location = 0) out vec3 out_uv;
|
||||
layout(location = 0) out vec2 out_uv;
|
||||
layout(location = 1) out vec3 out_normal;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = vec4(position, 1.0);
|
||||
out_uv = vec3(uv, 0.0);
|
||||
out_uv = uv;
|
||||
out_normal = normal;
|
||||
}
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue