Make faceforward match the conformance test.
TRAC #12252
The conformance test checks the dot product for >= 0.
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Andrew Lewycky
git-svn-id: https://angleproject.googlecode.com/svn/trunk@276 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/compiler/OutputHLSL.cpp b/src/compiler/OutputHLSL.cpp
index 9f49a76..e2ae57d 100644
--- a/src/compiler/OutputHLSL.cpp
+++ b/src/compiler/OutputHLSL.cpp
@@ -515,13 +515,13 @@
{
out << "float faceforward(float N, float I, float Nref)\n"
"{\n"
- " if(dot(Nref, I) < 0)\n"
+ " if(dot(Nref, I) >= 0)\n"
" {\n"
- " return N;\n"
+ " return -N;\n"
" }\n"
" else\n"
" {\n"
- " return -N;\n"
+ " return N;\n"
" }\n"
"}\n"
"\n";
@@ -531,13 +531,13 @@
{
out << "float2 faceforward(float2 N, float2 I, float2 Nref)\n"
"{\n"
- " if(dot(Nref, I) < 0)\n"
+ " if(dot(Nref, I) >= 0)\n"
" {\n"
- " return N;\n"
+ " return -N;\n"
" }\n"
" else\n"
" {\n"
- " return -N;\n"
+ " return N;\n"
" }\n"
"}\n"
"\n";
@@ -547,13 +547,13 @@
{
out << "float3 faceforward(float3 N, float3 I, float3 Nref)\n"
"{\n"
- " if(dot(Nref, I) < 0)\n"
+ " if(dot(Nref, I) >= 0)\n"
" {\n"
- " return N;\n"
+ " return -N;\n"
" }\n"
" else\n"
" {\n"
- " return -N;\n"
+ " return N;\n"
" }\n"
"}\n"
"\n";
@@ -563,13 +563,13 @@
{
out << "float4 faceforward(float4 N, float4 I, float4 Nref)\n"
"{\n"
- " if(dot(Nref, I) < 0)\n"
+ " if(dot(Nref, I) >= 0)\n"
" {\n"
- " return N;\n"
+ " return -N;\n"
" }\n"
" else\n"
" {\n"
- " return -N;\n"
+ " return N;\n"
" }\n"
"}\n"
"\n";