07bc4e2f96
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
38 lines
754 B
GLSL
38 lines
754 B
GLSL
/* clang-format off */
|
|
[vertex]
|
|
|
|
#version 450
|
|
|
|
layout(location = 0) in highp vec3 vertex;
|
|
/* clang-format on */
|
|
|
|
layout(push_constant, binding = 0, std430) uniform Constants {
|
|
mat4 projection;
|
|
mat2x4 modelview;
|
|
vec2 direction;
|
|
vec2 pad;
|
|
}
|
|
|
|
constants;
|
|
|
|
layout(location = 0) out highp float depth;
|
|
|
|
void main() {
|
|
highp vec4 vtx = vec4(vertex, 1.0) * mat4(constants.modelview[0], constants.modelview[1], vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0));
|
|
depth = dot(constants.direction, vtx.xy);
|
|
|
|
gl_Position = constants.projection * vtx;
|
|
}
|
|
|
|
/* clang-format off */
|
|
[fragment]
|
|
|
|
#version 450
|
|
|
|
layout(location = 0) in highp float depth;
|
|
/* clang-format on */
|
|
layout(location = 0) out highp float distance_buf;
|
|
|
|
void main() {
|
|
distance_buf = depth;
|
|
}
|