Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Erwin <significant.bit@gmail.com>2017-02-07 07:23:36 +0300
committerMike Erwin <significant.bit@gmail.com>2017-02-07 07:24:10 +0300
commit97fa285ae1b9b320f04ac0ac427917abc2de180a (patch)
tree05cbad247ccb17cc70519082493e65bd6e7fa85d
parentd23c57b84cbb7d3a58ce2b405a2b1698c185bf00 (diff)
OpenGL: add gpuMatrixUpdate_legacy function
Marks matrix state as dirty so shader will use the latest values from glScale, glTranslate, etc. We'll remove this after transitioning 100% to the new matrix API, which handles this sort of thing automatically. Part of T49450
-rw-r--r--source/blender/gpu/GPU_matrix.h3
-rw-r--r--source/blender/gpu/intern/gpu_matrix.c8
2 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/gpu/GPU_matrix.h b/source/blender/gpu/GPU_matrix.h
index 4390b62379e..43a03f8e4b6 100644
--- a/source/blender/gpu/GPU_matrix.h
+++ b/source/blender/gpu/GPU_matrix.h
@@ -133,6 +133,9 @@ const float *gpuGetNormalMatrixInverse(float m[3][3]);
#if SUPPORT_LEGACY_MATRIX
/* copy top matrix from each legacy stack into new fresh stack */
void gpuMatrixBegin3D_legacy(void);
+
+/* call after using glScale, glTranslate, etc. between draw calls */
+void gpuMatrixUpdate_legacy(void);
#endif
diff --git a/source/blender/gpu/intern/gpu_matrix.c b/source/blender/gpu/intern/gpu_matrix.c
index b70aa4b7708..ba84d3d7e0b 100644
--- a/source/blender/gpu/intern/gpu_matrix.c
+++ b/source/blender/gpu/intern/gpu_matrix.c
@@ -699,3 +699,11 @@ bool gpuMatricesDirty()
{
return state.dirty;
}
+
+#if SUPPORT_LEGACY_MATRIX
+void gpuMatrixUpdate_legacy()
+{
+ BLI_assert(state.mode == MATRIX_MODE_INACTIVE);
+ state.dirty = true;
+}
+#endif