From 9e1a44b6dce0d32c6f7739aae7b679c77689116d Mon Sep 17 00:00:00 2001
From: Tobias Jakobi <liquid.acid@gmx.net>
Date: Sat, 18 Apr 2009 16:05:54 +0200
Subject: [wined3d] add ps_np2fixup_t ptr to shader_arb_priv

---
 dlls/wined3d/arb_program_shader.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 4ee18e9..0fbe172 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -65,6 +65,7 @@ struct shader_arb_priv {
     GLuint                  depth_blt_fprogram_id[tex_type_count];
     BOOL                    use_arbfp_fixed_func;
     struct hash_table_t     *fragment_shaders;
+    struct ps_np2fixup_t    *current_np2fixup;
 };
 
 /********************************************************
@@ -1816,10 +1817,12 @@ static void shader_arb_select(IWineD3DDevice *iface, BOOL usePS, BOOL useVS) {
 
     if (usePS) {
         struct ps_compile_args compile_args;
+        struct ps_compiled_shader *gl_shader;
         TRACE("Using pixel shader\n");
         find_ps_compile_args((IWineD3DPixelShaderImpl *) This->stateBlock->pixelShader, This->stateBlock, &compile_args);
-        priv->current_fprogram_id = find_gl_pshader((IWineD3DPixelShaderImpl *) This->stateBlock->pixelShader,
-                                                    &compile_args)->prgId;
+        gl_shader = find_gl_pshader((IWineD3DPixelShaderImpl *) This->stateBlock->pixelShader, &compile_args);
+        priv->current_fprogram_id = gl_shader->prgId;
+        priv->current_np2fixup = (compile_args.np2_fixup) ? &gl_shader->np2fixup : NULL;
 
         /* Bind the fragment program */
         GL_EXTCALL(glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, priv->current_fprogram_id));
-- 
1.6.0.6

