Skip half-pixel shift on pre-transformed coordinates.
Bug 22624951
Change-Id: Ibda5f528212c9a8d503d8d6366cd7a42cd832c89
Reviewed-on: https://swiftshader-review.googlesource.com/3742
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/Shader/VertexRoutine.cpp b/src/Shader/VertexRoutine.cpp
index c88c846..e6806a1 100644
--- a/src/Shader/VertexRoutine.cpp
+++ b/src/Shader/VertexRoutine.cpp
@@ -476,7 +476,7 @@
r.o[pos].w = rhw;
}
- if(!halfIntegerCoordinates)
+ if(!halfIntegerCoordinates && !state.preTransformed)
{
r.o[pos].x = r.o[pos].x + *Pointer<Float4>(r.data + OFFSET(DrawData,halfPixelX)) * r.o[pos].w;
r.o[pos].y = r.o[pos].y + *Pointer<Float4>(r.data + OFFSET(DrawData,halfPixelY)) * r.o[pos].w;