summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorhrydgard <hrydgard@gmail.com>2008-12-26 12:47:32 +0000
committerhrydgard <hrydgard@gmail.com>2008-12-26 12:47:32 +0000
commit2ec3cd6694b5d748258ebb3550ced31fcdfb2864 (patch)
tree184371af9c2a84c1af154085a57ad9bd769d1299 /Source
parentbd9ebbf8c98df60f50314f850bfe8dc46ba3221b (diff)
Move VertexShaderManager too.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1688 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/VideoCommon/Src/PixelShaderManager.cpp4
-rw-r--r--Source/Core/VideoCommon/Src/SConscript1
-rw-r--r--Source/Core/VideoCommon/Src/VertexShaderManager.cpp (renamed from Source/Plugins/Plugin_VideoOGL/Src/VertexShaderManager.cpp)115
-rw-r--r--Source/Core/VideoCommon/Src/VertexShaderManager.h (renamed from Source/Plugins/Plugin_VideoOGL/Src/VertexShaderManager.h)2
-rw-r--r--Source/Core/VideoCommon/Src/VideoCommon.h28
-rw-r--r--Source/Core/VideoCommon/VideoCommon.vcproj8
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcproj8
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/Globals.h29
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/Render.cpp90
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/SConscript1
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp8
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp2
12 files changed, 153 insertions, 143 deletions
diff --git a/Source/Core/VideoCommon/Src/PixelShaderManager.cpp b/Source/Core/VideoCommon/Src/PixelShaderManager.cpp
index 0b9f4ab7c9..ba2c528e11 100644
--- a/Source/Core/VideoCommon/Src/PixelShaderManager.cpp
+++ b/Source/Core/VideoCommon/Src/PixelShaderManager.cpp
@@ -23,9 +23,7 @@
#include "Statistics.h"
#include "PixelShaderManager.h"
-
-// TODO: move logging to VideoCommon. Until then -
-#define PRIM_LOG(x, ...)
+#include "VideoCommon.h"
static int s_nColorsChanged[2]; // 0 - regular colors, 1 - k colors
static int s_nIndTexMtxChanged = 0;
diff --git a/Source/Core/VideoCommon/Src/SConscript b/Source/Core/VideoCommon/Src/SConscript
index cc19c260eb..0b8c44cbc4 100644
--- a/Source/Core/VideoCommon/Src/SConscript
+++ b/Source/Core/VideoCommon/Src/SConscript
@@ -13,6 +13,7 @@ files = [
"PixelShader.cpp",
"PixelShaderManager.cpp",
"VertexShader.cpp",
+ "VertexShaderManager.cpp",
"ImageWrite.cpp",
"Statistics.cpp",
"Fifo.cpp",
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderManager.cpp b/Source/Core/VideoCommon/Src/VertexShaderManager.cpp
index b21a0b7d1c..48e9128298 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderManager.cpp
+++ b/Source/Core/VideoCommon/Src/VertexShaderManager.cpp
@@ -16,20 +16,24 @@
// http://code.google.com/p/dolphin-emu/
#include "Common.h"
-#include "Globals.h"
#include "Profiler.h"
#include <cmath>
#include "Statistics.h"
-#include "Config.h"
-#include "Render.h"
#include "VertexShader.h"
#include "VertexShaderManager.h"
-#include "VertexManager.h"
-#include "VertexLoader.h"
+#include "BPMemory.h"
+#include "CPMemory.h"
#include "XFMemory.h"
+#include "VideoCommon.h"
+
+// Temporary ugly declaration.
+namespace VertexManager
+{
+ void Flush();
+}
static float s_fMaterials[16];
@@ -41,6 +45,7 @@ static int nNormalMatricesChanged[2]; // min,max
static int nPostTransformMatricesChanged[2]; // min,max
static int nLightsChanged[2]; // min,max
+void UpdateViewport();
void VertexShaderManager::Init()
{
@@ -64,7 +69,7 @@ void VertexShaderManager::Shutdown()
// =======================================================================================
// Syncs the shader constant buffers with xfmem
// ----------------
-void VertexShaderManager::SetConstants()
+void VertexShaderManager::SetConstants(bool proj_hax_1, bool proj_hax_2)
{
//nTransformMatricesChanged[0] = 0; nTransformMatricesChanged[1] = 256;
//nNormalMatricesChanged[0] = 0; nNormalMatricesChanged[1] = 96;
@@ -185,90 +190,8 @@ void VertexShaderManager::SetConstants()
if (bViewportChanged) {
bViewportChanged = false;
- // reversed gxsetviewport(xorig, yorig, width, height, nearz, farz)
- // [0] = width/2
- // [1] = height/2
- // [2] = 16777215 * (farz - nearz)
- // [3] = xorig + width/2 + 342
- // [4] = yorig + height/2 + 342
- // [5] = 16777215 * farz
-
- /*INFO_LOG("view: topleft=(%f,%f), wh=(%f,%f), z=(%f,%f)\n",
- rawViewport[3]-rawViewport[0]-342, rawViewport[4]+rawViewport[1]-342,
- 2 * rawViewport[0], 2 * rawViewport[1],
- (rawViewport[5] - rawViewport[2]) / 16777215.0f, rawViewport[5] / 16777215.0f);*/
-
- // Keep aspect ratio at 4:3
- // rawViewport[0] = 320, rawViewport[1] = -240
- int scissorXOff = bpmem.scissorOffset.x * 2 - 342;
- int scissorYOff = bpmem.scissorOffset.y * 2 - 342;
- float fourThree = 4.0f / 3.0f;
- float wAdj, hAdj;
- float actualRatiow, actualRatioh;
- int overfl;
- int xoffs = 0, yoffs = 0;
- int wid, hei, actualWid, actualHei;
-
- int winw = OpenGL_GetWidth();
- int winh = OpenGL_GetHeight();
- float ratio = (float)winw / (float)winh / fourThree;
- if (g_Config.bKeepAR)
- {
- // Check if height or width is the limiting factor
- if (ratio > 1) // then we are to wide and have to limit the width
- {
- wAdj = ratio;
- hAdj = 1;
-
- wid = ceil(fabs(2 * xfregs.rawViewport[0]) / wAdj);
- hei = ceil(fabs(2 * xfregs.rawViewport[1]) / hAdj);
-
- actualWid = ceil((float)winw / ratio);
- actualRatiow = (float)actualWid / (float)wid; // the picture versus the screen
- overfl = (winw - actualWid) / actualRatiow;
- xoffs = overfl / 2;
- }
- else // the window is to high, we have to limit the height
- {
- ratio = 1 / ratio;
-
- wAdj = 1;
- hAdj = ratio;
-
- wid = ceil(fabs(2 * xfregs.rawViewport[0]) / wAdj);
- hei = ceil(fabs(2 * xfregs.rawViewport[1]) / hAdj);
-
- actualHei = ceil((float)winh / ratio);
- actualRatioh = (float)actualHei / (float)hei; // the picture versus the screen
- overfl = (winh - actualHei) / actualRatioh;
- yoffs = overfl / 2;
- }
- }
- else
- {
- wid = ceil(fabs(2 * xfregs.rawViewport[0]));
- hei = ceil(fabs(2 * xfregs.rawViewport[1]));
- }
-
- if (g_Config.bStretchToFit)
- {
- glViewport(
- (int)(xfregs.rawViewport[3]-xfregs.rawViewport[0]-342-scissorXOff) + xoffs,
- Renderer::GetTargetHeight() - ((int)(xfregs.rawViewport[4]-xfregs.rawViewport[1]-342-scissorYOff)) + yoffs,
- wid, // width
- hei // height
- );
- }
- else
- {
- float MValueX = OpenGL_GetXmax();
- float MValueY = OpenGL_GetYmax();
- glViewport((int)(xfregs.rawViewport[3]-xfregs.rawViewport[0]-342-scissorXOff) * MValueX,
- Renderer::GetTargetHeight()-((int)(xfregs.rawViewport[4]-xfregs.rawViewport[1]-342-scissorYOff)) * MValueY,
- abs((int)(2 * xfregs.rawViewport[0])) * MValueX, abs((int)(2 * xfregs.rawViewport[1])) * MValueY);
- }
-
- glDepthRange((xfregs.rawViewport[5]- xfregs.rawViewport[2])/16777215.0f, xfregs.rawViewport[5]/16777215.0f);
+ // This is so implementation-dependent that we can't have it here.
+ UpdateViewport();
}
if (bProjectionChanged) {
@@ -292,15 +215,15 @@ void VertexShaderManager::SetConstants()
//---------Projection[11]---------
// No hacks
- if ((!g_Config.bProjectionHax1 && !g_Config.bProjectionHax2) || (g_Config.bProjectionHax1 && g_Config.bProjectionHax2))
+ if ((!proj_hax_1 && !proj_hax_2) || (proj_hax_1 && proj_hax_2))
g_fProjectionMatrix[11] = -(0.0f - xfregs.rawProjection[5]);
// Before R945 Hack
- if (g_Config.bProjectionHax1 && !g_Config.bProjectionHax2)
+ if (proj_hax_1 && !proj_hax_2)
g_fProjectionMatrix[11] = -(1.0f - xfregs.rawProjection[5]);
// R844 Hack
- if (!g_Config.bProjectionHax1 && g_Config.bProjectionHax2)
+ if (!proj_hax_1 && proj_hax_2)
g_fProjectionMatrix[11] = xfregs.rawProjection[5];
//--------------------------------
@@ -328,15 +251,15 @@ void VertexShaderManager::SetConstants()
//---------Projection[11]---------
// No hacks
- if ((!g_Config.bProjectionHax1 && !g_Config.bProjectionHax2) || (g_Config.bProjectionHax1 && g_Config.bProjectionHax2))
+ if ((!proj_hax_1 && !proj_hax_2) || (proj_hax_1 && proj_hax_2))
g_fProjectionMatrix[11] = -(-1.0f - xfregs.rawProjection[5]);
// Before R945 Hack
- if (g_Config.bProjectionHax1 && !g_Config.bProjectionHax2)
+ if (proj_hax_1 && !proj_hax_2)
g_fProjectionMatrix[11] = -(0.0f - xfregs.rawProjection[5]);
// R844 Hack
- if (!g_Config.bProjectionHax1 && g_Config.bProjectionHax2)
+ if (!proj_hax_1 && proj_hax_2)
g_fProjectionMatrix[11] = -xfregs.rawProjection[5];
//--------------------------------
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderManager.h b/Source/Core/VideoCommon/Src/VertexShaderManager.h
index 30275d2641..10d308a66d 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderManager.h
+++ b/Source/Core/VideoCommon/Src/VertexShaderManager.h
@@ -28,7 +28,7 @@ public:
static void Shutdown();
// constant management
- static void SetConstants();
+ static void SetConstants(bool proj_hax_1, bool proj_hax_2);
static void SetViewport(float* _Viewport);
static void SetViewportChanged();
diff --git a/Source/Core/VideoCommon/Src/VideoCommon.h b/Source/Core/VideoCommon/Src/VideoCommon.h
index 1f891631f3..cea4bcaf00 100644
--- a/Source/Core/VideoCommon/Src/VideoCommon.h
+++ b/Source/Core/VideoCommon/Src/VideoCommon.h
@@ -21,6 +21,17 @@
#include "Common.h"
#include "pluginspecs_video.h"
+enum {
+ EFB_WIDTH = 640,
+ EFB_HEIGHT = 528,
+};
+
+enum {
+ XFB_WIDTH = 640,
+ XFB_HEIGHT = 480, // 528 is max height ... ? or 538?
+ // TODO: figure out what to do with PAL
+};
+
extern SVideoInitialize g_VideoInitialize;
void DebugLog(const char* _fmt, ...);
@@ -57,4 +68,21 @@ struct TRectangle
int left, top, right, bottom;
};
+void DebugLog(const char* _fmt, ...);
+void __Log(const char *format, ...);
+void __Log(int type, const char *format, ...);
+void HandleGLError();
+
+#define ERROR_LOG __Log
+
+#if defined(_DEBUG) || defined(DEBUGFAST)
+#define INFO_LOG if( g_Config.iLog & CONF_LOG ) __Log
+#define PRIM_LOG if( g_Config.iLog & CONF_PRIMLOG ) __Log
+#define DEBUG_LOG __Log
+#else
+#define INFO_LOG(...)
+#define PRIM_LOG(...)
+#define DEBUG_LOG(...)
+#endif
+
#endif // _VIDEOCOMMON_H
diff --git a/Source/Core/VideoCommon/VideoCommon.vcproj b/Source/Core/VideoCommon/VideoCommon.vcproj
index 08a68aec10..c5471a6164 100644
--- a/Source/Core/VideoCommon/VideoCommon.vcproj
+++ b/Source/Core/VideoCommon/VideoCommon.vcproj
@@ -548,6 +548,14 @@
>
</File>
<File
+ RelativePath=".\Src\VertexShaderManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Src\VertexShaderManager.h"
+ >
+ </File>
+ <File
RelativePath=".\Src\VideoCommon.h"
>
</File>
diff --git a/Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcproj b/Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcproj
index 16d69afd52..b6ad681dc7 100644
--- a/Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcproj
+++ b/Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcproj
@@ -860,14 +860,6 @@
RelativePath=".\Src\VertexShaderCache.h"
>
</File>
- <File
- RelativePath=".\Src\VertexShaderManager.cpp"
- >
- </File>
- <File
- RelativePath=".\Src\VertexShaderManager.h"
- >
- </File>
</Filter>
<Filter
Name="GUI"
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/Globals.h b/Source/Plugins/Plugin_VideoOGL/Src/Globals.h
index e8f6d357fb..6a10796bad 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/Globals.h
+++ b/Source/Plugins/Plugin_VideoOGL/Src/Globals.h
@@ -23,37 +23,8 @@
// #define LOGGING
#include "Common.h"
-#include "x64Emitter.h"
#include "Config.h"
-#define ERROR_LOG __Log
-
-#if defined(_DEBUG) || defined(DEBUGFAST)
-#define INFO_LOG if( g_Config.iLog & CONF_LOG ) __Log
-#define PRIM_LOG if( g_Config.iLog & CONF_PRIMLOG ) __Log
-#define DEBUG_LOG __Log
-#else
-#define INFO_LOG(...)
-#define PRIM_LOG(...)
-#define DEBUG_LOG(...)
-#endif
-
-enum {
- EFB_WIDTH = 640,
- EFB_HEIGHT = 528,
-};
-
-enum {
- XFB_WIDTH = 640,
- XFB_HEIGHT = 480, // 528 is max height ... ? or 538?
- // TODO: figure out what to do with PAL
-};
-
-void DebugLog(const char* _fmt, ...);
-void __Log(const char *format, ...);
-void __Log(int type, const char *format, ...);
-void HandleGLError();
-
#if defined(_MSC_VER) && !defined(__x86_64__) && !defined(_M_X64)
void * memcpy_amd(void *dest, const void *src, size_t n);
unsigned char memcmp_mmx(const void* src1, const void* src2, int cmpsize);
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp b/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
index a52201a590..b5fa483612 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
@@ -1030,3 +1030,93 @@ void HandleCgError(CGcontext ctx, CGerror err, void* appdata)
// printf("pos: %d\n", loc);
}
}
+
+
+// Called from VertexShaderManager
+void UpdateViewport()
+{
+ // reversed gxsetviewport(xorig, yorig, width, height, nearz, farz)
+ // [0] = width/2
+ // [1] = height/2
+ // [2] = 16777215 * (farz - nearz)
+ // [3] = xorig + width/2 + 342
+ // [4] = yorig + height/2 + 342
+ // [5] = 16777215 * farz
+
+ /*INFO_LOG("view: topleft=(%f,%f), wh=(%f,%f), z=(%f,%f)\n",
+ rawViewport[3]-rawViewport[0]-342, rawViewport[4]+rawViewport[1]-342,
+ 2 * rawViewport[0], 2 * rawViewport[1],
+ (rawViewport[5] - rawViewport[2]) / 16777215.0f, rawViewport[5] / 16777215.0f);*/
+
+ // Keep aspect ratio at 4:3
+ // rawViewport[0] = 320, rawViewport[1] = -240
+ int scissorXOff = bpmem.scissorOffset.x * 2 - 342;
+ int scissorYOff = bpmem.scissorOffset.y * 2 - 342;
+ float fourThree = 4.0f / 3.0f;
+ float wAdj, hAdj;
+ float actualRatiow, actualRatioh;
+ int overfl;
+ int xoffs = 0, yoffs = 0;
+ int wid, hei, actualWid, actualHei;
+
+ int winw = OpenGL_GetWidth();
+ int winh = OpenGL_GetHeight();
+ float ratio = (float)winw / (float)winh / fourThree;
+ if (g_Config.bKeepAR)
+ {
+ // Check if height or width is the limiting factor
+ if (ratio > 1) // then we are to wide and have to limit the width
+ {
+ wAdj = ratio;
+ hAdj = 1;
+
+ wid = ceil(fabs(2 * xfregs.rawViewport[0]) / wAdj);
+ hei = ceil(fabs(2 * xfregs.rawViewport[1]) / hAdj);
+
+ actualWid = ceil((float)winw / ratio);
+ actualRatiow = (float)actualWid / (float)wid; // the picture versus the screen
+ overfl = (winw - actualWid) / actualRatiow;
+ xoffs = overfl / 2;
+ }
+ else // the window is to high, we have to limit the height
+ {
+ ratio = 1 / ratio;
+
+ wAdj = 1;
+ hAdj = ratio;
+
+ wid = ceil(fabs(2 * xfregs.rawViewport[0]) / wAdj);
+ hei = ceil(fabs(2 * xfregs.rawViewport[1]) / hAdj);
+
+ actualHei = ceil((float)winh / ratio);
+ actualRatioh = (float)actualHei / (float)hei; // the picture versus the screen
+ overfl = (winh - actualHei) / actualRatioh;
+ yoffs = overfl / 2;
+ }
+ }
+ else
+ {
+ wid = ceil(fabs(2 * xfregs.rawViewport[0]));
+ hei = ceil(fabs(2 * xfregs.rawViewport[1]));
+ }
+
+ if (g_Config.bStretchToFit)
+ {
+ glViewport(
+ (int)(xfregs.rawViewport[3]-xfregs.rawViewport[0]-342-scissorXOff) + xoffs,
+ Renderer::GetTargetHeight() - ((int)(xfregs.rawViewport[4]-xfregs.rawViewport[1]-342-scissorYOff)) + yoffs,
+ wid, // width
+ hei // height
+ );
+ }
+ else
+ {
+ float MValueX = OpenGL_GetXmax();
+ float MValueY = OpenGL_GetYmax();
+ glViewport((int)(xfregs.rawViewport[3]-xfregs.rawViewport[0]-342-scissorXOff) * MValueX,
+ Renderer::GetTargetHeight()-((int)(xfregs.rawViewport[4]-xfregs.rawViewport[1]-342-scissorYOff)) * MValueY,
+ abs((int)(2 * xfregs.rawViewport[0])) * MValueX, abs((int)(2 * xfregs.rawViewport[1])) * MValueY);
+ }
+
+ glDepthRange((xfregs.rawViewport[5]- xfregs.rawViewport[2])/16777215.0f, xfregs.rawViewport[5]/16777215.0f);
+} \ No newline at end of file
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/SConscript b/Source/Plugins/Plugin_VideoOGL/Src/SConscript
index 34506467c7..c30b5aa9e6 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/SConscript
+++ b/Source/Plugins/Plugin_VideoOGL/Src/SConscript
@@ -25,7 +25,6 @@ files = [
'VertexLoader_Position.cpp',
'VertexLoader_TextCoord.cpp',
'VertexLoaderManager.cpp',
- 'VertexShaderManager.cpp',
'PixelShaderCache.cpp',
'VertexShaderCache.cpp',
'TextureConverter.cpp',
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp b/Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp
index c32e415208..4a7b45b406 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp
@@ -156,7 +156,7 @@ void EncodeToRam(GLuint srcTexture, const TRectangle& sourceRc,
GL_REPORT_ERRORD();
// TODO: this is real slow. try using a pixel buffer object.
- glReadPixels(0, 0, dstFmtWidth, dstHeight, GL_BGRA, GL_UNSIGNED_BYTE, destAddr);
+ glReadPixels(0, 0, (GLsizei)dstFmtWidth, (GLsizei)dstHeight, GL_BGRA, GL_UNSIGNED_BYTE, destAddr);
GL_REPORT_ERRORD();
Renderer::SetFramebuffer(0);
@@ -191,7 +191,7 @@ void DecodeToTexture(u8* srcAddr, int srcWidth, int srcHeight, GLuint destTextur
glBindTexture(GL_TEXTURE_RECTANGLE_ARB, s_srcTexture);
// TODO: this is slow. try using a pixel buffer object.
- glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA8, srcFmtWidth, srcHeight, 0, GL_BGRA, GL_UNSIGNED_BYTE, srcAddr);
+ glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA8, (GLsizei)srcFmtWidth, (GLsizei)srcHeight, 0, GL_BGRA, GL_UNSIGNED_BYTE, srcAddr);
TextureMngr::EnableTexRECT(0);
for (int i = 1; i < 8; ++i)
@@ -205,10 +205,10 @@ void DecodeToTexture(u8* srcAddr, int srcWidth, int srcHeight, GLuint destTextur
GL_REPORT_ERRORD();
glBegin(GL_QUADS);
- glTexCoord2f(srcFmtWidth, srcHeight); glVertex2f(1,-1);
+ glTexCoord2f(srcFmtWidth, (float)srcHeight); glVertex2f(1,-1);
glTexCoord2f(srcFmtWidth, 0); glVertex2f(1,1);
glTexCoord2f(0, 0); glVertex2f(-1,1);
- glTexCoord2f(0, srcHeight); glVertex2f(-1,-1);
+ glTexCoord2f(0, (float)srcHeight); glVertex2f(-1,-1);
glEnd();
// reset state
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp b/Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
index edb5cce746..b2d65971b6 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
@@ -248,7 +248,7 @@ void Flush()
}
// set global constants
- VertexShaderManager::SetConstants();
+ VertexShaderManager::SetConstants(g_Config.bProjectionHax1, g_Config.bProjectionHax2);
PixelShaderManager::SetConstants();
// finally bind