X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=tests%2Fglsl%2Ffunction_overloading.glsl;h=411776b648392921dc486c425bb56358925ebe77;hb=215d5bed27ad3de92557ae1b631695a036d29741;hp=636db5112c6fde119672e6e9c3d321e2be40b986;hpb=d1feb41b3ff4dd462f50891e8901bad39466b75c;p=libs%2Fgl.git diff --git a/tests/glsl/function_overloading.glsl b/tests/glsl/function_overloading.glsl index 636db511..411776b6 100644 --- a/tests/glsl/function_overloading.glsl +++ b/tests/glsl/function_overloading.glsl @@ -5,8 +5,8 @@ uniform vec3 ambient; vec3 srgb_to_linear(vec3 color) { bvec3 near_zero = lessThan(color, vec3(0.04045)); - vec3 gamma = pow((color.rgb+0.055)/1.055, vec3(2.4)); - return mix(color.rgb/12.92, gamma, near_zero); + vec3 gamma = pow((color+0.055)/1.055, vec3(2.4)); + return mix(color/12.92, gamma, near_zero); } vec4 srgb_to_linear(vec4 color) { @@ -29,32 +29,29 @@ void main() frag_color = srgb_to_linear(texture(tex, texcoord)); } +// Target API: OpenGL + /* Expected output: vertex -uniform mat4 mvp; +layout(location=0) uniform mat4 mvp; layout(location=0) in vec4 position; layout(location=1) in vec2 texcoord; -out vec2 _vs_out_texcoord; +layout(location=0) out vec2 _vs_out_texcoord; void main() { _vs_out_texcoord = texcoord; gl_Position = mvp*position; + gl_Position.z = gl_Position.z*2.0-gl_Position.w; } */ /* Expected output: fragment -uniform sampler2D tex; -vec3 srgb_to_linear(vec3 color) -{ - return mix(color.rgb/12.92, pow((color.rgb+0.055)/1.055, vec3(2.4)), lessThan(color, vec3(0.04045))); -} -vec4 srgb_to_linear(vec4 color) -{ - return vec4(srgb_to_linear(color.rgb), color.a); -} +layout(location=4, binding=71) uniform sampler2D tex; layout(location=0) out vec4 frag_color; -in vec2 _vs_out_texcoord; +layout(location=0) in vec2 _vs_out_texcoord; void main() { - frag_color = srgb_to_linear(texture(tex, _vs_out_texcoord)); + vec4 color = texture(tex, _vs_out_texcoord); + vec3 color_1 = color.rgb; + frag_color = vec4(mix(color_1/12.92, pow((color_1+0.055)/1.055, vec3(2.4)), lessThan(color_1, vec3(0.04045))), color.a); } */