Signed-off-by: Andrew Wesie <awesie@gmail.com>
---
������dlls/wined3d/state.c | 42 ++++++++++++++++++++++--------------------
������1 file changed, 22 insertions(+), 20 deletions(-)
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index cd3763c..ed20e325 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -4617,26 +4617,6 @@ static void viewport_miscpart(struct wined3d_context *context, const struct wine
������ ������ ������struct wined3d_viewport vp = state->viewport;
������ ������ ������unsigned int width, height;
-������ ������ if (target)
-������ ������ {
-������ ������ ������ ������ if (vp.width > target->width)
-������ ������ ������ ������ ������ ������ vp.width = target->width;
-������ ������ ������ ������ if (vp.height > target->height)
-������ ������ ������ ������ ������ ������ vp.height = target->height;
-
-������ ������ ������ ������ wined3d_rendertarget_view_get_drawable_size(target, context, &width, &height);
-������ ������ }
-������ ������ else if (depth_stencil)
-������ ������ {
-������ ������ ������ ������ width = depth_stencil->width;
-������ ������ ������ ������ height = depth_stencil->height;
-������ ������ }
-������ ������ else
-������ ������ {
-������ ������ ������ ������ FIXME("No attachments draw calls not supported.\n");
-������ ������ ������ ������ return;
-������ ������ }
-
������ ������ ������gl_info->gl_ops.gl.p_glDepthRange(vp.min_z, vp.max_z);
������ ������ ������checkGLcall("glDepthRange");
������ ������ ������/* Note: GL requires lower left, DirectX supplies upper left. This is
@@ -4644,7 +4624,29 @@ static void viewport_miscpart(struct wined3d_context *context, const struct wine
������ ������ ������if (context->render_offscreen)
������ ������ ������ ������ ������gl_info->gl_ops.gl.p_glViewport(vp.x, vp.y, vp.width, vp.height);
������ ������ ������else
+������ ������ {
+������ ������ ������ ������ if (target)
+������ ������ ������ ������ {
+������ ������ ������ ������ ������ ������ if (vp.width > target->width)
+������ ������ ������ ������ ������ ������ ������ ������ vp.width = target->width;
+������ ������ ������ ������ ������ ������ if (vp.height > target->height)
+������ ������ ������ ������ ������ ������ ������ ������ vp.height = target->height;
+
+������ ������ ������ ������ ������ ������ wined3d_rendertarget_view_get_drawable_size(target, context, &width, &height);
+������ ������ ������ ������ }
+������ ������ ������ ������ else if (depth_stencil)
+������ ������ ������ ������ {
+������ ������ ������ ������ ������ ������ width = depth_stencil->width;
+������ ������ ������ ������ ������ ������ height = depth_stencil->height;
+������ ������ ������ ������ }
+������ ������ ������ ������ else
+������ ������ ������ ������ {
+������ ������ ������ ������ ������ ������ FIXME("No attachments draw calls not supported.\n");
+������ ������ ������ ������ ������ ������ return;
+������ ������ ������ ������ }
+
������ ������ ������ ������ ������gl_info->gl_ops.gl.p_glViewport(vp.x, (height - (vp.y + vp.height)), vp.width, vp.height);
+������ ������ }
������ ������ ������checkGLcall("glViewport");
������}
--
2.7.4