From 97fa285ae1b9b320f04ac0ac427917abc2de180a Mon Sep 17 00:00:00 2001 From: Mike Erwin Date: Mon, 6 Feb 2017 23:23:36 -0500 Subject: 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 --- source/blender/gpu/GPU_matrix.h | 3 +++ source/blender/gpu/intern/gpu_matrix.c | 8 ++++++++ 2 files changed, 11 insertions(+) (limited to 'source/blender') 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 -- cgit v1.2.3