Changeset 22776 in vbox for trunk/src/VBox
- Timestamp:
- Sep 4, 2009 12:45:02 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 51952
- Location:
- trunk/src/VBox/Frontends/VirtualBox
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/src/VBox/Frontends/VirtualBox/VirtualBoxShaders.qrc ¶
r22638 r22776 2 2 <qresource prefix="/"> 3 3 <file alias="cconvApplyAYUV.c">shaders/cconvApplyAYUV.c</file> 4 <file alias="cconvAYUV_void.c">shaders/cconvAYUV_void.c</file>5 4 <file alias="cconvAYUV.c">shaders/cconvAYUV.c</file> 6 <file alias="cconvBGR_void.c">shaders/cconvBGR_void.c</file>7 5 <file alias="cconvBGR.c">shaders/cconvBGR.c</file> 8 <file alias="cconvUYVY_void.c">shaders/cconvUYVY_void.c</file>9 6 <file alias="cconvUYVY.c">shaders/cconvUYVY.c</file> 10 <file alias="cconvYUY2_void.c">shaders/cconvYUY2_void.c</file>11 7 <file alias="cconvYUY2.c">shaders/cconvYUY2.c</file> 12 <file alias="cconvYV12_void.c">shaders/cconvYV12_void.c</file>13 8 <file alias="cconvYV12.c">shaders/cconvYV12.c</file> 14 9 <file alias="ckeyDst_void.c">shaders/ckeyDst_void.c</file> 15 10 <file alias="ckeyDst.c">shaders/ckeyDst.c</file> 16 11 <file alias="mainOverlay.c">shaders/mainOverlay.c</file> 12 <file alias="mainOverlayNoCKey.c">shaders/mainOverlayNoCKey.c</file> 17 13 <file alias="splitBGRA.c">shaders/splitBGRA.c</file> 18 14 </qresource> -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/include/VBoxFrameBuffer.h ¶
r22656 r22776 299 299 #include "iprt/stream.h" 300 300 #define VBOXQGLLOG(_m) RTPrintf _m 301 #define VBOXQGLLOGREL(_m) do { RTPrintf _m ; LogRel( _m ); } while(0) 301 302 #else 302 303 #define VBOXQGLLOG(_m) 304 #define VBOXQGLLOGREL(_m) LogRel( _m ) 303 305 #endif 304 306 #define VBOXQGLLOG_ENTER(_m) -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/cconvAYUV.c ¶
r22640 r22776 1 1 #extension GL_ARB_texture_rectangle : enable 2 3 2 uniform sampler2DRect uSrcTex; 4 5 void cconvApplyAYUV(vec4 color); 6 void cconvAYUV(vec2 srcCoord) 3 void vboxCConvApplyAYUV(vec4 color); 4 void vboxCConv(int srcI) 7 5 { 6 vec2 srcCoord = vec2(gl_TexCoord[srcI]); 8 7 vec4 color = texture2DRect(uSrcTex, srcCoord); 9 cconvApplyAYUV(color);8 vboxCConvApplyAYUV(color); 10 9 } -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/cconvAYUV_void.c ¶
r22640 r22776 1 void cconvAYUV(vec2 srcCoord)1 void vboxCConv(int srcI) 2 2 {} -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/cconvApplyAYUV.c ¶
r22640 r22776 1 /* AYUV <-> GL_BGRA_EXT 2 * A <-> B 3 * Y <-> G 4 * U <-> R 5 * V <-> A */ 6 void cconvApplyAYUV(vec4 color) 1 void vboxCConvApplyAYUV(vec4 color) 7 2 { 8 3 float y, u, v, r, g, b; -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/cconvBGR.c ¶
r22640 r22776 1 1 #extension GL_ARB_texture_rectangle : enable 2 3 2 uniform sampler2DRect uSrcTex; 4 5 void cconvBGR(vec2 srcCoord) 3 void vboxCConv(int srcI) 6 4 { 5 vec2 srcCoord = vec2(gl_TexCoord[srcI]); 7 6 gl_FragColor = texture2DRect(uSrcTex, vec2(srcCoord.x, srcCoord.y)); 8 7 } -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/cconvBGR_void.c ¶
r22640 r22776 1 void cconvBGR(vec2 srcCoord)1 void vboxCConv(int srcI) 2 2 {} -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/cconvUYVY.c ¶
r22640 r22776 1 1 #extension GL_ARB_texture_rectangle : enable 2 3 2 uniform sampler2DRect uSrcTex; 4 5 void cconvApplyAYUV(vec4 color); 6 /* texture internalFormat: 4 7 * size: width/2 X height 8 * data format: GL_BGRA_EXT 9 * UYVY -> 10 * U = B 11 * V = R 12 * for even -> Y = G 13 * for odd -> Y = A 14 /* UYVY-rgb888 conversion shader */ 15 /* this is also Y422 and UYNV */ 16 void cconvUYVY(vec2 srcCoord) 3 void vboxCConvApplyAYUV(vec4 color); 4 void vboxCConv(int srcI) 17 5 { 6 vec2 srcCoord = vec2(gl_TexCoord[srcI]); 18 7 float x = srcCoord.x; 19 8 vec4 srcClr = texture2DRect(uSrcTex, vec2(x, srcCoord.y)); … … 31 20 y = srcClr.a; 32 21 } 33 /* convert it to AYUV (for the GL_BGRA_EXT texture this is mapped as follows: 34 * A -> B 35 * Y -> G 36 * U -> R 37 * V -> A */ 38 cconvApplyAYUV(vec4(u, y, 0.0, v));} 22 vboxCConvApplyAYUV(vec4(u, y, 0.0, v));} 23 } -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/cconvUYVY_void.c ¶
r22640 r22776 1 void cconvUYVY(vec2 srcCoord)1 void vboxCConv(int srcI) 2 2 {} -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/cconvYUY2.c ¶
r22640 r22776 1 1 #extension GL_ARB_texture_rectangle : enable 2 3 2 uniform sampler2DRect uSrcTex; 4 5 void cconvApplyAYUV(vec4 color); 6 /* texture internalFormat: 4 7 * size: width/2 X height 8 * data format: GL_BGRA_EXT 9 * YUYV -> 10 * U = G 11 * V = A 12 * for even -> Y = B 13 * for odd -> Y = R 14 /* UYVY-rgb888 conversion shader */ 15 /* this is also YUNV, V422 and YUYV */ 16 void cconvYUY2(vec2 srcCoord) 3 void vboxCConvApplyAYUV(vec4 color); 4 void vboxCConv(int srcI) 17 5 { 6 vec2 srcCoord = vec2(gl_TexCoord[srcI]); 18 7 float x = srcCoord.x; 19 8 vec4 srcClr = texture2DRect(uSrcTex, vec2(x, srcCoord.y)); … … 31 20 y = srcClr.r; 32 21 } 33 /* convert it to AYUV (for the GL_BGRA_EXT texture this is mapped as follows: 34 * A -> B 35 * Y -> G 36 * U -> R 37 * V -> A */ 38 cconvApplyAYUV(vec4(u, y, 0.0, v)); 22 vboxCConvApplyAYUV(vec4(u, y, 0.0, v)); 39 23 } -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/cconvYUY2_void.c ¶
r22640 r22776 1 void cconvYUY2(vec2 srcCoord)1 void vboxCConv(int srcI) 2 2 {} -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/cconvYV12.c ¶
r22640 r22776 1 1 #extension GL_ARB_texture_rectangle : enable 2 3 2 uniform sampler2DRect uSrcTex; 4 3 uniform sampler2DRect uVTex; 5 4 uniform sampler2DRect uUTex; 6 7 float splitBGRA(vec4 color, float coord); 8 void cconvApplyAYUV(vec4 color); 9 /* texture internalFormat: GL_LUMINANCE 10 * size: width X height 11 * data format: GL_LUMINANCE 12 * 13 /* YV12-rgb888 conversion shader */ 14 void cconvYV12(vec2 srcCoord) 5 float vboxSplitBGRA(vec4 color, float coord); 6 void vboxCConvApplyAYUV(vec4 color); 7 void vboxCConv(int srcI) 15 8 { 16 vec4 clrY = texture2DRect(uSrcTex, srcCoord); 17 vec4 clrV = texture2DRect(uVTex, vec2(gl_TexCoord[2])); 18 vec4 clrU = texture2DRect(uUTex, vec2(gl_TexCoord[3])); 19 float y = splitBGRA(clrY, srcCoord.x); 20 float v = splitBGRA(clrV, gl_TexCoord[2].x); 21 float u = splitBGRA(clrU, gl_TexCoord[3].x); 22 23 /* convert it to AYUV (for the GL_BGRA_EXT texture this is mapped as follows: 24 * A -> B 25 * Y -> G 26 * U -> R 27 * V -> A */ 28 cconvApplyAYUV(vec4(u, y, 0.0, v)); 29 // gl_FragColor = vec4(clrY.r,clrY.r,clrY.r,1.0); 9 vec2 coordY = vec2(gl_TexCoord[srcI]); 10 vec2 coordV = vec2(gl_TexCoord[srcI+1]); 11 vec2 coordU = vec2(gl_TexCoord[srcI+2]); 12 vec4 clrY = texture2DRect(uSrcTex, vec2(coordY)); 13 vec4 clrV = texture2DRect(uVTex, vec2(coordV)); 14 vec4 clrU = texture2DRect(uUTex, vec2(coordU)); 15 float y = vboxSplitBGRA(clrY, coordY.x); 16 float v = vboxSplitBGRA(clrV, coordV.x); 17 float u = vboxSplitBGRA(clrU, coordU.x); 18 vboxCConvApplyAYUV(vec4(u, y, 0.0, v)); 30 19 } -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/cconvYV12_void.c ¶
r22640 r22776 1 void cconvYV12(vec2 srcCoord)1 void vboxCConv(int srcI) 2 2 {} -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/ckeyDst.c ¶
r22640 r22776 1 1 #extension GL_ARB_texture_rectangle : enable 2 3 2 uniform sampler2DRect uDstTex; 4 3 uniform vec4 uDstClr; 5 6 vec2 ckeyDst(void) 4 int vboxCKeyDst(void) 7 5 { 8 6 vec4 dstClr = texture2DRect(uDstTex, vec2(gl_TexCoord[0])); … … 11 9 || any(lessThan(difClr, vec3(-0.01, -0.01, -0.01)))) 12 10 discard; 13 // /* gl_FragColor = texture2DRect(uSrcTex, vec2(gl_TexCoord[1])); */ 14 return vec2(gl_TexCoord[1]); 11 return 1; 15 12 } -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/ckeyDst_void.c ¶
r22640 r22776 1 vec2 ckeyDst(void)1 int vboxCKeyDst(void) 2 2 { 3 return vec2(gl_TexCoord[0]);3 return 0; 4 4 } -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/mainOverlay.c ¶
r22640 r22776 1 vec2 ckeyDst(void); 2 void cconvYV12(vec2 srcCoord); 3 void cconvUYVY(vec2 srcCoord); 4 void cconvYUY2(vec2 srcCoord); 5 void cconvAYUV(vec2 srcCoord); 6 void cconvBGR(vec2 srcCoord); 7 1 int vboxCKeyDst(void); 2 void vboxCConv(int srcI); 8 3 void main(void) 9 4 { 10 vec2 srcCoord = ckeyDst(); 11 12 cconvYV12(srcCoord); 13 cconvUYVY(srcCoord); 14 cconvYUY2(srcCoord); 15 cconvAYUV(srcCoord); 16 cconvBGR(srcCoord); 5 int srci = vboxCKeyDst(); 6 vboxCConv(srci); 17 7 } -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/shaders/splitBGRA.c ¶
r22640 r22776 1 2 float splitBGRA(vec4 color, float coord) 1 float vboxSplitBGRA(vec4 color, float coord) 3 2 { 4 3 int pix = int(coord); 5 4 float part = coord - float(pix); 6 /* todo: do not use if */7 5 if(part < 0.25) 8 6 return color.b; -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/src/VBoxFBQGL.cpp ¶
r22751 r22776 20 20 */ 21 21 #if defined (VBOX_GUI_USE_QGL) 22 23 #define LOG_GROUP LOG_GROUP_GUI 22 24 23 25 #include "VBoxFrameBuffer.h" … … 517 519 glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &maxUnits); 518 520 519 VBOXQGLLOG (("Max Tex Coords (%d), Img Units (%d)\n", maxCoords, maxUnits));521 VBOXQGLLOGREL(("Max Tex Coords (%d), Img Units (%d)\n", maxCoords, maxUnits)); 520 522 /* take the minimum of those */ 521 523 if(maxUnits < maxCoords) … … 523 525 if(maxUnits < 2) 524 526 { 525 VBOXQGLLOG (("Max Tex Coord or Img Units < 2 disabling MultiTex support\n"));527 VBOXQGLLOGREL(("Max Tex Coord or Img Units < 2 disabling MultiTex support\n")); 526 528 break; 527 529 } … … 709 711 ); 710 712 711 VBOXQGLLOG (("gl version string: 0%s\n", str));713 VBOXQGLLOGREL (("gl version string: 0%s\n", str)); 712 714 713 715 g_vboxVHWAGlVersion = vboxVHWAGlParseVersion(str); … … 719 721 else 720 722 { 721 VBOXQGLLOG (("gl version: 0x%x\n", g_vboxVHWAGlVersion));723 VBOXQGLLOGREL (("gl version: 0x%x\n", g_vboxVHWAGlVersion)); 722 724 VBOXQGL_CHECKERR( 723 725 str = glGetString(GL_EXTENSIONS); … … 726 728 const char * pos = strstr((const char *)str, "GL_ARB_multitexture"); 727 729 g_GL_ARB_multitexture = pos != NULL; 728 VBOXQGLLOG (("GL_ARB_multitexture: %d\n", g_GL_ARB_multitexture));730 VBOXQGLLOGREL (("GL_ARB_multitexture: %d\n", g_GL_ARB_multitexture)); 729 731 730 732 pos = strstr((const char *)str, "GL_ARB_shader_objects"); 731 733 g_GL_ARB_shader_objects = pos != NULL; 732 VBOXQGLLOG (("GL_ARB_shader_objects: %d\n", g_GL_ARB_shader_objects));734 VBOXQGLLOGREL (("GL_ARB_shader_objects: %d\n", g_GL_ARB_shader_objects)); 733 735 734 736 pos = strstr((const char *)str, "GL_ARB_fragment_shader"); 735 737 g_GL_ARB_fragment_shader = pos != NULL; 736 VBOXQGLLOG (("GL_ARB_fragment_shader: %d\n", g_GL_ARB_fragment_shader));738 VBOXQGLLOGREL (("GL_ARB_fragment_shader: %d\n", g_GL_ARB_fragment_shader)); 737 739 738 740 pos = strstr((const char *)str, "GL_ARB_pixel_buffer_object"); 739 741 g_GL_ARB_pixel_buffer_object = pos != NULL; 740 VBOXQGLLOG (("GL_ARB_pixel_buffer_object: %d\n", g_GL_ARB_pixel_buffer_object));742 VBOXQGLLOGREL (("GL_ARB_pixel_buffer_object: %d\n", g_GL_ARB_pixel_buffer_object)); 741 743 742 744 pos = strstr((const char *)str, "GL_ARB_texture_rectangle"); 743 745 g_GL_ARB_texture_rectangle = pos != NULL; 744 VBOXQGLLOG (("GL_ARB_texture_rectangle: %d\n", g_GL_ARB_texture_rectangle));746 VBOXQGLLOGREL (("GL_ARB_texture_rectangle: %d\n", g_GL_ARB_texture_rectangle)); 745 747 746 748 pos = strstr((const char *)str, "GL_EXT_texture_rectangle"); 747 749 g_GL_EXT_texture_rectangle = pos != NULL; 748 VBOXQGLLOG (("GL_EXT_texture_rectangle: %d\n", g_GL_EXT_texture_rectangle));750 VBOXQGLLOGREL (("GL_EXT_texture_rectangle: %d\n", g_GL_EXT_texture_rectangle)); 749 751 750 752 pos = strstr((const char *)str, "GL_NV_texture_rectangle"); 751 753 g_GL_NV_texture_rectangle = pos != NULL; 752 VBOXQGLLOG (("GL_NV_texture_rectangle: %d\n", g_GL_NV_texture_rectangle));754 VBOXQGLLOGREL (("GL_NV_texture_rectangle: %d\n", g_GL_NV_texture_rectangle)); 753 755 754 756 pos = strstr((const char *)str, "GL_ARB_texture_non_power_of_two"); 755 757 g_GL_ARB_texture_non_power_of_two = pos != NULL; 756 VBOXQGLLOG (("GL_ARB_texture_non_power_of_two: %d\n", g_GL_ARB_texture_non_power_of_two));758 VBOXQGLLOGREL (("GL_ARB_texture_non_power_of_two: %d\n", g_GL_ARB_texture_non_power_of_two)); 757 759 758 760 vboxVHWAGlInitExtSupport(*pContext); … … 974 976 QByteArray asciiStr = program.toAscii(); 975 977 const char * contents = asciiStr.constData(); 976 GLint length = (GLint)strlen(contents);978 GLint length = -1; 977 979 978 980 VBOXQGL_CHECKERR( … … 1437 1439 mShaderCConvApplyAYUV(":/cconvApplyAYUV.c", GL_FRAGMENT_SHADER), 1438 1440 mShaderCConvAYUV(":/cconvAYUV.c", GL_FRAGMENT_SHADER), 1439 mShaderCConvAYUVVoid(":/cconvAYUV_void.c", GL_FRAGMENT_SHADER),1441 // mShaderCConvAYUVVoid(":/cconvAYUV_void.c", GL_FRAGMENT_SHADER), 1440 1442 mShaderCConvBGR(":/cconvBGR.c", GL_FRAGMENT_SHADER), 1441 mShaderCConvBGRVoid(":/cconvBGR_void.c", GL_FRAGMENT_SHADER),1443 // mShaderCConvBGRVoid(":/cconvBGR_void.c", GL_FRAGMENT_SHADER), 1442 1444 mShaderCConvUYVY(":/cconvUYVY.c", GL_FRAGMENT_SHADER), 1443 mShaderCConvUYVYVoid(":/cconvUYVY_void.c", GL_FRAGMENT_SHADER),1445 // mShaderCConvUYVYVoid(":/cconvUYVY_void.c", GL_FRAGMENT_SHADER), 1444 1446 mShaderCConvYUY2(":/cconvYUY2.c", GL_FRAGMENT_SHADER), 1445 mShaderCConvYUY2Void(":/cconvYUY2_void.c", GL_FRAGMENT_SHADER),1447 // mShaderCConvYUY2Void(":/cconvYUY2_void.c", GL_FRAGMENT_SHADER), 1446 1448 mShaderCConvYV12(":/cconvYV12.c", GL_FRAGMENT_SHADER), 1447 mShaderCConvYV12Void(":/cconvYV12_void.c", GL_FRAGMENT_SHADER),1449 // mShaderCConvYV12Void(":/cconvYV12_void.c", GL_FRAGMENT_SHADER), 1448 1450 mShaderSplitBGRA(":/splitBGRA.c", GL_FRAGMENT_SHADER), 1449 1451 mShaderCKeyDst(":/ckeyDst.c", GL_FRAGMENT_SHADER), 1450 mShaderCKeyDstVoid(":/ckeyDst_void.c", GL_FRAGMENT_SHADER),1452 // mShaderCKeyDstVoid(":/ckeyDst_void.c", GL_FRAGMENT_SHADER), 1451 1453 // mShaderCKeySrc; 1452 1454 // mShaderCKeySrcVoid; 1453 mShaderMainOverlay(":/mainOverlay.c", GL_FRAGMENT_SHADER) 1455 mShaderMainOverlay(":/mainOverlay.c", GL_FRAGMENT_SHADER), 1456 mShaderMainOverlayNoCKey(":/mainOverlayNoCKey.c", GL_FRAGMENT_SHADER) 1454 1457 {} 1455 1458 … … 1477 1480 1478 1481 VBoxVHWAGlShader mShaderCConvAYUV; 1479 VBoxVHWAGlShader mShaderCConvAYUVVoid;1482 // VBoxVHWAGlShader mShaderCConvAYUVVoid; 1480 1483 VBoxVHWAGlShader mShaderCConvBGR; 1481 VBoxVHWAGlShader mShaderCConvBGRVoid;1484 // VBoxVHWAGlShader mShaderCConvBGRVoid; 1482 1485 VBoxVHWAGlShader mShaderCConvUYVY; 1483 VBoxVHWAGlShader mShaderCConvUYVYVoid;1486 // VBoxVHWAGlShader mShaderCConvUYVYVoid; 1484 1487 VBoxVHWAGlShader mShaderCConvYUY2; 1485 VBoxVHWAGlShader mShaderCConvYUY2Void;1488 // VBoxVHWAGlShader mShaderCConvYUY2Void; 1486 1489 VBoxVHWAGlShader mShaderCConvYV12; 1487 VBoxVHWAGlShader mShaderCConvYV12Void;1490 // VBoxVHWAGlShader mShaderCConvYV12Void; 1488 1491 VBoxVHWAGlShader mShaderSplitBGRA; 1489 1492 1490 1493 VBoxVHWAGlShader mShaderCKeyDst; 1491 VBoxVHWAGlShader mShaderCKeyDstVoid;1494 // VBoxVHWAGlShader mShaderCKeyDstVoid; 1492 1495 // VBoxVHWAGlShader mShaderCKeySrc; 1493 1496 // VBoxVHWAGlShader mShaderCKeySrcVoid; 1494 1497 1495 1498 VBoxVHWAGlShader mShaderMainOverlay; 1499 VBoxVHWAGlShader mShaderMainOverlayNoCKey; 1496 1500 1497 1501 friend class VBoxVHWAGlProgramVHWA; … … 1512 1516 apShaders[cShaders++] = &mShaderCKeyDst; 1513 1517 } 1514 else 1515 { 1516 apShaders[cShaders++] = &mShaderCKeyDstVoid; 1517 } 1518 // ensure we don't have empty functions /* paranoya for for ATI on linux */ 1519 // else 1520 // { 1521 // apShaders[cShaders++] = &mShaderCKeyDstVoid; 1522 // } 1518 1523 1519 1524 if(type & VBOXVHWA_PROGRAM_SRCCOLORKEY) … … 1532 1537 bFound = true; 1533 1538 } 1534 else 1535 { 1536 apShaders[cShaders++] = &mShaderCConvUYVYVoid; 1537 } 1538 1539 if(fourcc == FOURCC_YUY2) 1539 else if(fourcc == FOURCC_YUY2) 1540 1540 { 1541 1541 apShaders[cShaders++] = &mShaderCConvYUY2; 1542 1542 bFound = true; 1543 1543 } 1544 else 1545 { 1546 apShaders[cShaders++] = &mShaderCConvYUY2Void; 1547 } 1548 1549 if(fourcc == FOURCC_YV12) 1544 else if(fourcc == FOURCC_YV12) 1550 1545 { 1551 1546 apShaders[cShaders++] = &mShaderSplitBGRA; … … 1553 1548 bFound = true; 1554 1549 } 1555 else 1556 { 1557 apShaders[cShaders++] = &mShaderCConvYV12Void; 1558 } 1559 1560 if(fourcc == FOURCC_AYUV) 1550 else if(fourcc == FOURCC_AYUV) 1561 1551 { 1562 1552 apShaders[cShaders++] = &mShaderCConvAYUV; 1563 1553 bFound = true; 1564 1554 } 1565 else1566 {1567 apShaders[cShaders++] = &mShaderCConvAYUVVoid;1568 }1569 1555 } 1570 1556 … … 1573 1559 type |= VBOXVHWA_PROGRAM_COLORCONV; 1574 1560 apShaders[0] = &mShaderCConvApplyAYUV; 1575 apShaders[cShaders++] = &mShaderCConvBGRVoid;1576 1561 } 1577 1562 else … … 1581 1566 } 1582 1567 1583 apShaders[cShaders++] = &mShaderMainOverlay; 1568 if(type & VBOXVHWA_PROGRAM_DSTCOLORKEY) 1569 { 1570 apShaders[cShaders++] = &mShaderMainOverlay; 1571 } 1572 else 1573 { 1574 // ensure we don't have empty functions /* paranoya for for ATI on linux */ 1575 apShaders[cShaders++] = &mShaderMainOverlayNoCKey; 1576 } 1584 1577 1585 1578 Assert(cShaders <= RT_ELEMENTS(apShaders)); … … 4802 4795 pDisplay->init(NULL, mUsesGuestVRAM ? re->VRAM() : NULL); 4803 4796 mDisplay.setVGA(pDisplay); 4804 VBOXQGLLOG(("\n\n*******\n\n viewport size is: (%d):(%d)\n\n*******\n\n", size().width(), size().height()));4797 // VBOXQGLLOG(("\n\n*******\n\n viewport size is: (%d):(%d)\n\n*******\n\n", size().width(), size().height())); 4805 4798 mViewport = QRect(0,0,displayWidth, displayHeight); 4806 4799 adjustViewport(dispSize, mViewport);
Note:
See TracChangeset
for help on using the changeset viewer.