Cycles OpenGL: Don't use full matrix transform when we can just use

simple addition.
This commit is contained in:
Antonis Ryakiotakis 2015-05-11 13:10:19 +02:00
parent dfbb876d46
commit 5588a51c9c
2 changed files with 8 additions and 18 deletions

View File

@ -83,24 +83,19 @@ void Device::draw_pixels(device_memory& rgba, int y, int w, int h, int dy, int w
draw_params.bind_display_space_shader_cb();
}
glPushMatrix();
glTranslatef(0.0f, (float)dy, 0.0f);
glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f);
glVertex2f(0.0f, 0.0f);
glVertex2f(0.0f, dy);
glTexCoord2f(1.0f, 0.0f);
glVertex2f((float)width, 0.0f);
glVertex2f((float)width, dy);
glTexCoord2f(1.0f, 1.0f);
glVertex2f((float)width, (float)height);
glVertex2f((float)width, (float)height + dy);
glTexCoord2f(0.0f, 1.0f);
glVertex2f(0.0f, (float)height);
glVertex2f(0.0f, (float)height + dy);
glEnd();
glPopMatrix();
if(draw_params.unbind_display_space_shader_cb) {
draw_params.unbind_display_space_shader_cb();
}

View File

@ -918,24 +918,19 @@ public:
draw_params.bind_display_space_shader_cb();
}
glPushMatrix();
glTranslatef(0.0f, (float)dy, 0.0f);
glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f);
glVertex2f(0.0f, 0.0f);
glVertex2f(0.0f, dy);
glTexCoord2f((float)w/(float)pmem.w, 0.0f);
glVertex2f((float)width, 0.0f);
glVertex2f((float)width, dy);
glTexCoord2f((float)w/(float)pmem.w, (float)h/(float)pmem.h);
glVertex2f((float)width, (float)height);
glVertex2f((float)width, (float)height + dy);
glTexCoord2f(0.0f, (float)h/(float)pmem.h);
glVertex2f(0.0f, (float)height);
glVertex2f(0.0f, (float)height + dy);
glEnd();
glPopMatrix();
if(draw_params.unbind_display_space_shader_cb) {
draw_params.unbind_display_space_shader_cb();
}