Re: [1/10] - [10/10] WineD3D

2007-02-16 Thread Neil Skrypuch
On Friday 16 February 2007, H. Verbeet wrote:
> On 16/02/07, Neil Skrypuch <[EMAIL PROTECTED]> wrote:
> > http://otc.dyndns.org/stuff/wineshots/3dmark_capshack.patch
>
> That won't apply/compile anymore, use the attached patch instead.

Ah, thanks, I didn't notice that. It applied just a few days ago. I updated my 
link as well.

- Neil




Re: [1/10] - [10/10] WineD3D

2007-02-16 Thread H. Verbeet

On 16/02/07, Neil Skrypuch <[EMAIL PROTECTED]> wrote:

http://otc.dyndns.org/stuff/wineshots/3dmark_capshack.patch


That won't apply/compile anymore, use the attached patch instead.
---

 dlls/wined3d/directx.c |7 ---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 841e16f..ca3eaaf 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -585,7 +585,7 @@ BOOL IWineD3DImpl_FillGLCaps(IWineD3D *iface, Display* 
display) {
 glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &gl_max);
 TRACE_(d3d_caps)(" FOUND: ARB Multitexture support - 
GL_MAX_TEXTURE_UNITS_ARB=%u\n", gl_max);
 gl_info->supported[ARB_MULTITEXTURE] = TRUE;
-gl_info->max_textures = min(MAX_TEXTURES, gl_max);
+gl_info->max_textures = 8;
 gl_info->max_texture_stages = min(MAX_TEXTURES, gl_max);
 gl_info->max_samplers = max(gl_info->max_samplers, gl_max);
 } else if (strcmp(ThisExtn, "GL_ARB_texture_cube_map") == 0) {
@@ -2196,7 +2196,7 @@ static HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D 
*iface, UINT Adapter,
 *pCaps->MaxVertexBlendMatrixIndex   = 1;
 
 *pCaps->MaxAnisotropy   = GL_LIMITS(anisotropy);
-*pCaps->MaxPointSize= GL_LIMITS(pointsize);
+*pCaps->MaxPointSize= 64.0f;
 
 
 *pCaps->VertexProcessingCaps = WINED3DVTXPCAPS_DIRECTIONALLIGHTS |
@@ -2294,7 +2294,8 @@ static HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D 
*iface, UINT Adapter,
 *pCaps->NumSimultaneousRTs = GL_LIMITS(buffers);
 
 
-*pCaps->StretchRectFilterCaps = 0;
+*pCaps->StretchRectFilterCaps = 
WINED3DPTFILTERCAPS_MINFLINEAR |
+
WINED3DPTFILTERCAPS_MAGFLINEAR;
 *pCaps->VertexTextureFilterCaps   = 0;
 
 if(*pCaps->VertexShaderVersion == WINED3DVS_VERSION(3,0)) {



Re: [1/10] - [10/10] WineD3D

2007-02-16 Thread Neil Skrypuch
On Wednesday 14 February 2007, Mirek wrote:
> Luke Bratch napsal(a):
> >> Wow, great work! 3DMark 2006 with fbo looks
> >
> > realy coool!! And some
> >
> >> Nvidia SDK demos are completly fixed!
> >
> > How did you test 3DMark2006?  When I try and run it,
> > it tells me I need Pixel Shader 2.0 support.
> >
> > I have UseGLSL set to enabled and OffscreenRenderMode
> > set to fbo, and the Pixel Shader 2 test in 3DMark03
> > works fine.
>
> Yes, but after accept this error message i can select some test and run
> benchmark, i have full version v102. I can't run any PS3 HDR test, GT1
> and GT2 tests are almost perfect, but very slow (fbo is slower than
> backbuffer, so I am not using it in other applications), you should also
> disable post procesing (very very slow) in 3DMark. Here are some
> screenshots with latest wine and latest Stefan patches:
> http://62.240.181.87/Mirek/3DMark2006/
>
> PS: I have GF 6800GS, Core 2 Duo [EMAIL PROTECTED] and about 2 FPS, but it
> works! :)
>
> Mirek

3DMark 05 and 06 are quite picky about caps, there's a few that are slightly 
off and it refuses to run, you can apply this hack to make it work:

http://otc.dyndns.org/stuff/wineshots/3dmark_capshack.patch

This may also be of interest:

http://bugs.winehq.org/show_bug.cgi?id=7434

- Neil




[1/10] - [10/10] WineD3D

2007-02-15 Thread Luke Bratch
> Wow, great work! 3DMark 2006 with fbo looks
realy coool!! And some 
> Nvidia SDK demos are completly fixed!

How did you test 3DMark2006?  When I try and run it,
it tells me I need Pixel Shader 2.0 support.

I have UseGLSL set to enabled and OffscreenRenderMode
set to fbo, and the Pixel Shader 2 test in 3DMark03
works fine.





___ 
New Yahoo! Mail is the ultimate force in competitive emailing. Find out more at 
the Yahoo! Mail Championships. Plus: play games and win prizes. 
http://uk.rd.yahoo.com/evt=44106/*http://mail.yahoo.net/uk 




Re: [1/10] - [10/10] WineD3D

2007-02-14 Thread Mirek

Luke Bratch napsal(a):

Wow, great work! 3DMark 2006 with fbo looks
realy coool!! And some 

Nvidia SDK demos are completly fixed!


How did you test 3DMark2006?  When I try and run it,
it tells me I need Pixel Shader 2.0 support.

I have UseGLSL set to enabled and OffscreenRenderMode
set to fbo, and the Pixel Shader 2 test in 3DMark03
works fine.


Yes, but after accept this error message i can select some test and run 
benchmark, i have full version v102. I can't run any PS3 HDR test, GT1 
and GT2 tests are almost perfect, but very slow (fbo is slower than 
backbuffer, so I am not using it in other applications), you should also 
disable post procesing (very very slow) in 3DMark. Here are some 
screenshots with latest wine and latest Stefan patches: 
http://62.240.181.87/Mirek/3DMark2006/


PS: I have GF 6800GS, Core 2 Duo [EMAIL PROTECTED] and about 2 FPS, but it 
works! :)


Mirek




Re: [1/10] - [10/10] WineD3D

2007-02-14 Thread Stefan Dösinger
Am Mittwoch 14 Februar 2007 20:11 schrieb Mirek:
> Wow, great work! 3DMark 2006 with fbo looks realy coool!! And some
> Nvidia SDK demos are completly fixed!
Though I doubt that patch fixed it. You can do a regression test to find the 
patch that fixed it if you want, but last I tried to look for a fix I had to 
revert the sense of good and bad


> Mirek
>
> Stefan Dösinger napsal(a):
> > 
> >
> > From c59f7c4eea148cfb9a1321c587ef52194bc9 Mon Sep 17 00:00:00 2001
> > From: Stefan Doesinger <[EMAIL PROTECTED]>
> > Date: Fri, 2 Feb 2007 15:30:34 +0100
> > Subject: [PATCH] WineD3D: Properly release the converted vertex
> > declaration
> >
> > ---
> >  dlls/d3d9/d3d9_private.h  |5 +
> >  dlls/d3d9/device.c|3 +++
> >  dlls/d3d9/vertexdeclaration.c |5 +
> >  3 files changed, 13 insertions(+), 0 deletions(-)
> >
> > diff --git a/dlls/d3d9/d3d9_private.h b/dlls/d3d9/d3d9_private.h
> > index 435a37e..972945d 100644
> > --- a/dlls/d3d9/d3d9_private.h
> > +++ b/dlls/d3d9/d3d9_private.h
> > @@ -179,6 +179,11 @@ typedef struct IDirect3DDevice9Impl
> >  /* Avoids recursion with nested ReleaseRef to 0 */
> >  BOOL  inDestruction;
> >
> > +/* A vertex declaration was converted from setFVF.
> > + * Keep track of it, so it can be properly freed
> > + */
> > +IDirect3DVertexDeclaration9  *convertedDecl;
> > +
> >  } IDirect3DDevice9Impl;
> >
> >
> > diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c
> > index 4eff550..e6ecd96 100644
> > --- a/dlls/d3d9/device.c
> > +++ b/dlls/d3d9/device.c
> > @@ -62,6 +62,8 @@ static ULONG WINAPI
> > IDirect3DDevice9Impl_Release(LPDIRECT3DDEVICE9 iface) {
> >
> >  if (ref == 0) {
> >This->inDestruction = TRUE;
> > +  if (This->convertedDecl != NULL)
> > +  IUnknown_Release(This->convertedDecl);
> >IWineD3DDevice_Uninit3D(This->WineD3DDevice,
> > D3D9CB_DestroyDepthStencilSurface, D3D9CB_DestroySwapChain);
> > IWineD3DDevice_Release(This->WineD3DDevice);
> >HeapFree(GetProcessHeap(), 0, This);
> > @@ -766,6 +768,7 @@ HRESULT  WINAPI 
> > IDirect3DDevice9Impl_SetFVF(LPDIRECT3DDEVICE9 iface, DWORD FVF)
> >
> >   hr = IDirect3DDevice9Impl_SetVertexDeclaration(iface, pDecl);
> >   if (hr != S_OK) goto exit;
> > + This->convertedDecl = pDecl;
> >   pDecl = NULL;
> >
> >   exit:
> > diff --git a/dlls/d3d9/vertexdeclaration.c
> > b/dlls/d3d9/vertexdeclaration.c index a7f5486..c3f462e 100644
> > --- a/dlls/d3d9/vertexdeclaration.c
> > +++ b/dlls/d3d9/vertexdeclaration.c
> > @@ -360,6 +360,11 @@ HRESULT  WINAPI 
> > IDirect3DDevice9Impl_SetVertexDeclaration(LPDIRECT3DDEVICE9 ifa
> >
> >  TRACE("(%p) : Relay\n", iface);
> >
> > +if (This->convertedDecl && This->convertedDecl != pDecl) {
> > +IUnknown_Release(This->convertedDecl);
> > +This->convertedDecl = NULL;
> > +}
> > +
> >  hr = IWineD3DDevice_SetVertexDeclaration(This->WineD3DDevice,
> > pDeclImpl == NULL ? NULL : pDeclImpl->wineD3DVertexDeclaration);
> >
> >  return hr;
> >
> >
> > 


pgpQcz0JQgoua.pgp
Description: PGP signature



Re: [1/10] - [10/10] WineD3D

2007-02-14 Thread Mirek
Wow, great work! 3DMark 2006 with fbo looks realy coool!! And some 
Nvidia SDK demos are completly fixed!


Mirek

Stefan Dösinger napsal(a):




From c59f7c4eea148cfb9a1321c587ef52194bc9 Mon Sep 17 00:00:00 2001
From: Stefan Doesinger <[EMAIL PROTECTED]>
Date: Fri, 2 Feb 2007 15:30:34 +0100
Subject: [PATCH] WineD3D: Properly release the converted vertex declaration

---
 dlls/d3d9/d3d9_private.h  |5 +
 dlls/d3d9/device.c|3 +++
 dlls/d3d9/vertexdeclaration.c |5 +
 3 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/dlls/d3d9/d3d9_private.h b/dlls/d3d9/d3d9_private.h
index 435a37e..972945d 100644
--- a/dlls/d3d9/d3d9_private.h
+++ b/dlls/d3d9/d3d9_private.h
@@ -179,6 +179,11 @@ typedef struct IDirect3DDevice9Impl
 /* Avoids recursion with nested ReleaseRef to 0 */
 BOOL  inDestruction;
 
+/* A vertex declaration was converted from setFVF.

+ * Keep track of it, so it can be properly freed
+ */
+IDirect3DVertexDeclaration9  *convertedDecl;
+
 } IDirect3DDevice9Impl;
 
 
diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c

index 4eff550..e6ecd96 100644
--- a/dlls/d3d9/device.c
+++ b/dlls/d3d9/device.c
@@ -62,6 +62,8 @@ static ULONG WINAPI 
IDirect3DDevice9Impl_Release(LPDIRECT3DDEVICE9 iface) {
 
 if (ref == 0) {

   This->inDestruction = TRUE;
+  if (This->convertedDecl != NULL)
+  IUnknown_Release(This->convertedDecl);
   IWineD3DDevice_Uninit3D(This->WineD3DDevice, 
D3D9CB_DestroyDepthStencilSurface, D3D9CB_DestroySwapChain);
   IWineD3DDevice_Release(This->WineD3DDevice);
   HeapFree(GetProcessHeap(), 0, This);
@@ -766,6 +768,7 @@ HRESULT  WINAPI  
IDirect3DDevice9Impl_SetFVF(LPDIRECT3DDEVICE9 iface, DWORD FVF)
  
  hr = IDirect3DDevice9Impl_SetVertexDeclaration(iface, pDecl);

  if (hr != S_OK) goto exit;
+ This->convertedDecl = pDecl;
  pDecl = NULL;
 
  exit:

diff --git a/dlls/d3d9/vertexdeclaration.c b/dlls/d3d9/vertexdeclaration.c
index a7f5486..c3f462e 100644
--- a/dlls/d3d9/vertexdeclaration.c
+++ b/dlls/d3d9/vertexdeclaration.c
@@ -360,6 +360,11 @@ HRESULT  WINAPI  
IDirect3DDevice9Impl_SetVertexDeclaration(LPDIRECT3DDEVICE9 ifa
 
 TRACE("(%p) : Relay\n", iface);
 
+if (This->convertedDecl && This->convertedDecl != pDecl) {

+IUnknown_Release(This->convertedDecl);
+This->convertedDecl = NULL;
+}
+
 hr = IWineD3DDevice_SetVertexDeclaration(This->WineD3DDevice, pDeclImpl == 
NULL ? NULL : pDeclImpl->wineD3DVertexDeclaration);
 
 return hr;