Make sure the internal DX uniforms get updated after re-linking.

TRAC #20659 Issue=321 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1063 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent f8f8f362
#define MAJOR_VERSION 1 #define MAJOR_VERSION 1
#define MINOR_VERSION 0 #define MINOR_VERSION 0
#define BUILD_VERSION 0 #define BUILD_VERSION 0
#define BUILD_REVISION 1062 #define BUILD_REVISION 1063
#define STRINGIFY(x) #x #define STRINGIFY(x) #x
#define MACRO_STRINGIFY(x) STRINGIFY(x) #define MACRO_STRINGIFY(x) STRINGIFY(x)
......
...@@ -405,6 +405,11 @@ void Context::markAllStateDirty() ...@@ -405,6 +405,11 @@ void Context::markAllStateDirty()
mCachedCurrentProgram = NULL; mCachedCurrentProgram = NULL;
} }
void Context::markDxUniformsDirty()
{
mDxUniformsDirty = true;
}
void Context::markContextLost() void Context::markContextLost()
{ {
if (mResetStrategy == GL_LOSE_CONTEXT_ON_RESET_EXT) if (mResetStrategy == GL_LOSE_CONTEXT_ON_RESET_EXT)
......
...@@ -282,6 +282,7 @@ class Context ...@@ -282,6 +282,7 @@ class Context
void makeCurrent(egl::Display *display, egl::Surface *surface); void makeCurrent(egl::Display *display, egl::Surface *surface);
void markAllStateDirty(); void markAllStateDirty();
void markDxUniformsDirty();
virtual void markContextLost(); virtual void markContextLost();
bool isContextLost(); bool isContextLost();
......
...@@ -1704,6 +1704,8 @@ void Program::link() ...@@ -1704,6 +1704,8 @@ void Program::link()
mDxFrontCCWLocation = getUniformLocation("dx_FrontCCW"); mDxFrontCCWLocation = getUniformLocation("dx_FrontCCW");
mDxPointsOrLinesLocation = getUniformLocation("dx_PointsOrLines"); mDxPointsOrLinesLocation = getUniformLocation("dx_PointsOrLines");
context->markDxUniformsDirty();
mLinked = true; // Success mLinked = true; // Success
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment