forked from enlightenment/efl
Added EVAS_GL_LINE_NO_OFFSET_HACK evn var control to handle
line coordinate fiddling in gl line drawing code. This fiddling caused issues on some GPU drivers on ARM target. SVN revision: 80417
This commit is contained in:
parent
21bb5db3e2
commit
dbcdaa6b68
|
@ -1,3 +1,9 @@
|
||||||
|
2012-12-07 Sung W. Park (sung_)
|
||||||
|
|
||||||
|
* Added EVAS_GL_LINE_NO_OFFSET_HACK to turn off the line coordinate
|
||||||
|
fiddling that was originally in the gl backend code. The offset
|
||||||
|
fiddling caused issues with some ARM target GPU drivers.
|
||||||
|
|
||||||
2012-12-05 Gustavo Sverzut Barbieri (k-s)
|
2012-12-05 Gustavo Sverzut Barbieri (k-s)
|
||||||
|
|
||||||
* Removed DirectFB support (both ecore_directfb, evas and ecore_evas).
|
* Removed DirectFB support (both ecore_directfb, evas and ecore_evas).
|
||||||
|
|
|
@ -1,11 +1,18 @@
|
||||||
#include "evas_gl_private.h"
|
#include "evas_gl_private.h"
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
evas_gl_common_line_draw(Evas_Engine_GL_Context *gc, int x1, int y1, int x2, int y2)
|
evas_gl_common_line_draw(Evas_Engine_GL_Context *gc, int x1, int y1, int x2, int y2)
|
||||||
{
|
{
|
||||||
RGBA_Draw_Context *dc;
|
RGBA_Draw_Context *dc;
|
||||||
int r, g, b, a;
|
int r, g, b, a;
|
||||||
int c, cx, cy, cw, ch;
|
int c, cx, cy, cw, ch;
|
||||||
|
static int offset_hack = -1;
|
||||||
|
|
||||||
|
if (offset_hack == -1) {
|
||||||
|
if (getenv("EVAS_GL_LINE_NO_OFFSET_HACK")) offset_hack = 0;
|
||||||
|
else offset_hack = 1;
|
||||||
|
}
|
||||||
|
|
||||||
dc = gc->dc;
|
dc = gc->dc;
|
||||||
if (dc->mul.use)
|
if (dc->mul.use)
|
||||||
|
@ -27,7 +34,11 @@ evas_gl_common_line_draw(Evas_Engine_GL_Context *gc, int x1, int y1, int x2, int
|
||||||
cx = gc->dc->clip.x; cy = gc->dc->clip.y;
|
cx = gc->dc->clip.x; cy = gc->dc->clip.y;
|
||||||
cw = gc->dc->clip.w; ch = gc->dc->clip.h;
|
cw = gc->dc->clip.w; ch = gc->dc->clip.h;
|
||||||
|
|
||||||
//Increment pixels since the gl line origin position is slightly different
|
if (offset_hack)
|
||||||
|
{
|
||||||
|
/* Increment pixels since the gl line origin position is slightly different
|
||||||
|
on some platform. Carsten did this hack.. doesn't remember exactly why but
|
||||||
|
it works most drivers. */
|
||||||
if (x1 == x2)
|
if (x1 == x2)
|
||||||
{
|
{
|
||||||
if (gc->rot == 0)
|
if (gc->rot == 0)
|
||||||
|
@ -41,6 +52,7 @@ evas_gl_common_line_draw(Evas_Engine_GL_Context *gc, int x1, int y1, int x2, int
|
||||||
}
|
}
|
||||||
|
|
||||||
x2++; y2++;
|
x2++; y2++;
|
||||||
|
}
|
||||||
|
|
||||||
evas_gl_common_context_line_push(gc, x1, y1, x2, y2,
|
evas_gl_common_context_line_push(gc, x1, y1, x2, y2,
|
||||||
c, cx, cy, cw, ch,
|
c, cx, cy, cw, ch,
|
||||||
|
|
Loading…
Reference in New Issue