VirtualBox

Changeset 23564 in vbox


Ignore:
Timestamp:
Oct 5, 2009 3:17:20 PM (15 years ago)
Author:
vboxsync
Message:

video hw accel: fix scaling issue

Location:
trunk/src/VBox/Frontends/VirtualBox/shaders
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/shaders/cconvUYVY.c

    r22883 r23564  
    66    vec2 srcCoord = vec2(gl_TexCoord[0]);
    77    float x = srcCoord.x;
    8     vec4 srcClr = texture2DRect(uSrcTex, srcCoord);
     8    int pix = int(x);
     9    vec4 srcClr = texture2DRect(uSrcTex, vec2(float(pix), srcCoord.y));
    910    float u = srcClr.b;
    1011    float v = srcClr.r;
    11     int pix = int(x);
    1212    float part = x - float(pix);
    1313    float y;
  • trunk/src/VBox/Frontends/VirtualBox/shaders/cconvYUY2.c

    r22883 r23564  
    66    vec2 srcCoord = vec2(gl_TexCoord[0]);
    77    float x = srcCoord.x;
    8     vec4 srcClr = texture2DRect(uSrcTex, vec2(x, srcCoord.y));
     8    int pix = int(x);
     9    vec4 srcClr = texture2DRect(uSrcTex, vec2(float(pix), srcCoord.y));
    910    float u = srcClr.g;
    1011    float v = srcClr.a;
    11     int pix = int(x);
    1212    float part = x - float(pix);
    1313    float y;
  • trunk/src/VBox/Frontends/VirtualBox/shaders/cconvYV12.c

    r22883 r23564  
    77void vboxCConv()
    88{
    9     vec2 coordY = vec2(gl_TexCoord[0]);
    10     vec2 coordV = vec2(gl_TexCoord[1]);
     9    vec2 clrCoordY = vec2(gl_TexCoord[0]);
     10    vec2 clrCoordV = vec2(gl_TexCoord[1]);
     11    int ix = int(clrCoordY.x);
     12    vec2 coordY = vec2(float(ix), clrCoordY.y);
     13    ix = int(clrCoordV.x);
     14    vec2 coordV = vec2(float(ix), clrCoordV.y);
    1115    vec4 clrY = texture2DRect(uSrcTex, vec2(coordY));
    1216    vec4 clrV = texture2DRect(uVTex, vec2(coordV));
    1317    vec4 clrU = texture2DRect(uUTex, vec2(coordV));
    14     float y = vboxSplitBGRA(clrY, coordY.x);
    15     float v = vboxSplitBGRA(clrV, coordV.x);
    16     float u = vboxSplitBGRA(clrU, coordV.x);
     18    float y = vboxSplitBGRA(clrY, clrCoordY.x);
     19    float v = vboxSplitBGRA(clrV, clrCoordV.x);
     20    float u = vboxSplitBGRA(clrU, clrCoordV.x);
    1721    vboxCConvApplyAYUV(vec4(u, y, 0.0, v));
    1822}
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette