Immediate Mode: handle other cases of glPop/glPushClientAttrib
Those cases were not using ClientAttrib but they should :) Rather use a OpenGL3.3 alternative anyways.
This commit is contained in:
@@ -411,6 +411,9 @@ void immDrawPixelsTexScaled_clipping(float x, float y, int img_w, int img_h,
|
||||
const bool use_clipping = ((clip_min_x < clip_max_x) && (clip_min_y < clip_max_y));
|
||||
float white[4] = {1.0f, 1.0f, 1.0f, 1.0f};
|
||||
|
||||
GLint unpack_row_length;
|
||||
glGetIntegerv(GL_UNPACK_ROW_LENGTH, &unpack_row_length);
|
||||
|
||||
glPixelStorei(GL_UNPACK_ROW_LENGTH, img_w);
|
||||
glBindTexture(GL_TEXTURE_2D, texid);
|
||||
|
||||
@@ -546,7 +549,7 @@ void immDrawPixelsTexScaled_clipping(float x, float y, int img_w, int img_h,
|
||||
immUnbindProgram();
|
||||
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
|
||||
glPixelStorei(GL_UNPACK_ROW_LENGTH, unpack_row_length);
|
||||
}
|
||||
|
||||
void immDrawPixelsTexScaled(float x, float y, int img_w, int img_h,
|
||||
|
||||
@@ -369,6 +369,9 @@ static void draw_filled_lasso(wmWindow *win, wmGesture *gt)
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_ONE, GL_ONE);
|
||||
|
||||
GLint unpack_alignment;
|
||||
glGetIntegerv(GL_UNPACK_ALIGNMENT, &unpack_alignment);
|
||||
|
||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
||||
|
||||
GPUShader *shader = immDrawPixelsTexSetup(GPU_SHADER_2D_IMAGE_SHUFFLE_COLOR);
|
||||
@@ -379,7 +382,7 @@ static void draw_filled_lasso(wmWindow *win, wmGesture *gt)
|
||||
|
||||
GPU_shader_unbind();
|
||||
|
||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
|
||||
glPixelStorei(GL_UNPACK_ALIGNMENT, unpack_alignment);
|
||||
|
||||
MEM_freeN(pixel_buf);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user