J C wrote:
Hi all,
I've been following the recent work on D3D and decided I would give a couple of benchmarks/demos I had around a go. Pleasantly I found that they actually start up now and display some stuff on screen! Before the recent patches they would fail completely when starting the actual D3D stuff. I'm not sure if you're aware of these programs or not but I figured I would pass on the URLs to you as they might be of help.
This first is a demo called Bleam: http://www.bluespoon.com/banjoh/ This page has a binary of the demo and source code as well.
Try the following patch (an awful hack layered upon the latest D3D patches) and run Bleam, you will be interested..... ;-)
Christian
PS: I will do something soon to handle texturing in a cleaner way
Index: mesa.c =================================================================== RCS file: /home/wine/wine/dlls/ddraw/mesa.c,v retrieving revision 1.9 diff -u -r1.9 mesa.c --- mesa.c 21 Nov 2002 21:04:16 -0000 1.9 +++ mesa.c 2 Dec 2002 21:50:40 -0000 @@ -55,6 +55,8 @@ } else { IDirect3DTextureGLImpl *gl_tex = (IDirect3DTextureGLImpl *) tex; + IDirect3DTexture2_Load((LPDIRECT3DTEXTURE2)tex,(LPDIRECT3DTEXTURE2)tex); + glEnable(GL_TEXTURE_2D); /* Default parameters */ glBindTexture(GL_TEXTURE_2D, gl_tex->tex_name); @@ -144,6 +146,9 @@
case D3DRENDERSTATE_SRCBLEND: /* 19 */ switch ((D3DBLEND) dwRenderState) { + case D3DBLEND_ONE: + rs->src = GL_ONE; + break; case D3DBLEND_SRCALPHA: rs->src = GL_SRC_ALPHA; break; @@ -155,6 +160,9 @@
case D3DRENDERSTATE_DESTBLEND: /* 20 */ switch ((D3DBLEND) dwRenderState) { + case D3DBLEND_ONE: + rs->dst = GL_ONE; + break; case D3DBLEND_INVSRCALPHA: rs->dst = GL_ONE_MINUS_SRC_ALPHA; break;