[wineded] GetDeviceCaps part 2 - Fixed

Oliver Stieber oliver_stieber at yahoo.co.uk
Wed Jun 22 07:46:50 CDT 2005


This patch has been taken from working code this time
(and not just a search and replace!)

There are some formatting changes that I had tried to
avoid in the original patch.

--- Oliver Stieber <oliver_stieber at yahoo.co.uk> wrote:

> Date: Tue, 21 Jun 2005 16:21:42 +0100 (BST)
> From: Oliver Stieber <oliver_stieber at yahoo.co.uk>
> Subject: [wineded] GetDeviceCaps part 2
> To: wine patch <wine-patches at winehq.org>
> 
> Hi,
>  This patch corrects wined3d/directx.c/GetDeviceCaps
> so that uses wined3dcaps as required by the earlier 
> [wined3d] homogonized device caps patch.
> 
> 	
> 
> 
> 	
> 	
> 		
>
___________________________________________________________
> 
> Yahoo! Messenger - NEW crystal clear PC to PC
> calling worldwide with voicemail
http://uk.messenger.yahoo.com> diff -X ../ignore -Nru
> ../clean/wine/dlls/wined3d/directx.c
> wine/dlls/wined3d/directx.c
> --- ../clean/wine/dlls/wined3d/directx.c	2005-06-15
> 08:01:41.000000000 +0100
> +++ wine/dlls/wined3d/directx.c	2005-06-21
> 16:23:20.424998688 +0100
> @@ -1161,13 +1161,12 @@
>  /* Note: d3d8 passes in a pointer to a D3DCAPS8
> structure, which is a true 
>        subset of a D3DCAPS9 structure. However, it
> has to come via a void * 
>        as the d3d8 interface cannot import the d3d9
> header                  */
> -HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D
> *iface, UINT Adapter, D3DDEVTYPE DeviceType,
> WINED3DCAPS* pCapsIn) {
> +HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D
> *iface, UINT Adapter, D3DDEVTYPE DeviceType,
> WINED3DCAPS *pCaps) {
>  
>      IWineD3DImpl    *This = (IWineD3DImpl *)iface;
>      BOOL             gotContext  = FALSE;
> -    GLint            gl_tex_size = 0;    
> +    GLint            gl_tex_size = 0;
>      WineD3D_Context *fake_ctx = NULL;
> -    D3DCAPS9        *pCaps = (D3DCAPS9 *)pCapsIn;
>  
>      TRACE_(d3d_caps)("(%p)->(Adptr:%d, DevType: %x,
> pCaps: %p)\n", This, Adapter, DeviceType, pCaps);
>  
> @@ -1177,7 +1176,7 @@
>  
>      /* Note: GL seems to trap if GetDeviceCaps is
> called before any HWND's created
>         ie there is no GL Context - Get a default
> rendering context to enable the 
> -       function query some info from GL            
>                               */    
> +       function query some info from GL            
>                               */
>      if (glXGetCurrentContext() == NULL) {
>          fake_ctx = WineD3D_CreateFakeGLContext();
>          if (NULL != fake_ctx) gotContext = TRUE;
> @@ -1189,14 +1188,14 @@
>  
>          FIXME_(d3d_caps)("GetDeviceCaps called but
> no GL Context - Returning dummy values\n");
>          gl_tex_size=65535;
> -        pCaps->MaxTextureBlendStages = 2;
> -        pCaps->MaxSimultaneousTextures = 2;
> -        pCaps->MaxUserClipPlanes = 8;
> -        pCaps->MaxActiveLights = 8;
> -        pCaps->MaxVertexBlendMatrices = 0;
> -        pCaps->MaxVertexBlendMatrixIndex = 1;
> -        pCaps->MaxAnisotropy = 0;
> -        pCaps->MaxPointSize = 255.0;
> +        *pCaps->MaxTextureBlendStages = 2;
> +        *pCaps->MaxSimultaneousTextures = 2;
> +        *pCaps->MaxUserClipPlanes = 8;
> +        *pCaps->MaxActiveLights = 8;
> +        *pCaps->MaxVertexBlendMatrices = 0;
> +        *pCaps->MaxVertexBlendMatrixIndex = 1;
> +        *pCaps->MaxAnisotropy = 0;
> +        *pCaps->MaxPointSize = 255.0;
>      } else {
>          glGetIntegerv(GL_MAX_TEXTURE_SIZE,
> &gl_tex_size);
>      }
> @@ -1212,21 +1211,21 @@
>      /*
> ------------------------------------------------
>         The following fields apply to both d3d8 and
> d3d9
>        
> ------------------------------------------------ */
> -    pCaps->DeviceType = (DeviceType ==
> D3DDEVTYPE_HAL) ? D3DDEVTYPE_HAL : D3DDEVTYPE_REF; 
> /* Not quite true, but use h/w supported by opengl I
> suppose */
> -    pCaps->AdapterOrdinal = Adapter;
> +    *pCaps->DeviceType = (DeviceType ==
> D3DDEVTYPE_HAL) ? D3DDEVTYPE_HAL : D3DDEVTYPE_REF; 
> /* Not quite true, but use h/w supported by opengl I
> suppose */
> +    *pCaps->AdapterOrdinal = Adapter;
>  
> -    pCaps->Caps = 0;
> -    pCaps->Caps2 = D3DCAPS2_CANRENDERWINDOWED;
> -    pCaps->Caps3 = D3DDEVCAPS_HWTRANSFORMANDLIGHT;
> -    pCaps->PresentationIntervals =
> D3DPRESENT_INTERVAL_IMMEDIATE;
> +    *pCaps->Caps = 0;
> +    *pCaps->Caps2 = D3DCAPS2_CANRENDERWINDOWED;
> +    *pCaps->Caps3 = D3DDEVCAPS_HWTRANSFORMANDLIGHT;
> +    *pCaps->PresentationIntervals =
> D3DPRESENT_INTERVAL_IMMEDIATE;
>  
> -    pCaps->CursorCaps = 0;
> +    *pCaps->CursorCaps = 0;
>  
> -    pCaps->DevCaps = D3DDEVCAPS_DRAWPRIMTLVERTEX   
> | 
> +    *pCaps->DevCaps = D3DDEVCAPS_DRAWPRIMTLVERTEX  
>  |
>                       D3DDEVCAPS_HWTRANSFORMANDLIGHT
> |
>                       D3DDEVCAPS_PUREDEVICE |
> D3DDEVCAPS_HWRASTERIZATION;
>  
> -    pCaps->PrimitiveMiscCaps = D3DPMISCCAPS_CULLCCW
>               | 
> +    *pCaps->PrimitiveMiscCaps =
> D3DPMISCCAPS_CULLCCW               |
>                                 D3DPMISCCAPS_CULLCW 
>               | 
>                                
> D3DPMISCCAPS_COLORWRITEENABLE      |
>                                
> D3DPMISCCAPS_CLIPTLVERTS           |
> @@ -1234,7 +1233,7 @@
>                                 D3DPMISCCAPS_MASKZ; 
>                                 /*NOT:
> D3DPMISCCAPS_TSSARGTEMP*/
>  
> -    pCaps->RasterCaps = D3DPRASTERCAPS_DITHER   | 
> +    *pCaps->RasterCaps = D3DPRASTERCAPS_DITHER   |
>                          D3DPRASTERCAPS_PAT      | 
>  			D3DPRASTERCAPS_WFOG |
>  			D3DPRASTERCAPS_ZFOG |
> @@ -1243,7 +1242,7 @@
>                          D3DPRASTERCAPS_FOGRANGE;
>  
>      if (GL_SUPPORT(EXT_TEXTURE_FILTER_ANISOTROPIC))
> {
> -      pCaps->RasterCaps |=
> D3DPRASTERCAPS_ANISOTROPY;
> +      *pCaps->RasterCaps |=
> D3DPRASTERCAPS_ANISOTROPY;
>      }
>                          /* FIXME Add:
>  			   D3DPRASTERCAPS_MIPMAPLODBIAS
> @@ -1254,23 +1253,23 @@
>  			   D3DPRASTERCAPS_ZBUFFERLESSHSR
>  			   D3DPRASTERCAPS_WBUFFER */
>  
> -    pCaps->ZCmpCaps = D3DPCMPCAPS_ALWAYS       | 
> -                      D3DPCMPCAPS_EQUAL        | 
> -                      D3DPCMPCAPS_GREATER      | 
> -                      D3DPCMPCAPS_GREATEREQUAL |
> -                      D3DPCMPCAPS_LESS         | 
> -                      D3DPCMPCAPS_LESSEQUAL    | 
> -                      D3DPCMPCAPS_NEVER        |
> -                      D3DPCMPCAPS_NOTEQUAL;
> -
> -    pCaps->SrcBlendCaps  = 0xFFFFFFFF;   /*FIXME:
> Tidy up later */
> -    pCaps->DestBlendCaps = 0xFFFFFFFF;   /*FIXME:
> Tidy up later */
> -    pCaps->AlphaCmpCaps  = 0xFFFFFFFF;   /*FIXME:
> Tidy up later */
> +    *pCaps->ZCm*pCaps = D3DPCM*pCaps_ALWAYS       |
> +                      D3DPCM*pCaps_EQUAL        |
> +                      D3DPCM*pCaps_GREATER      |
> +                      D3DPCM*pCaps_GREATEREQUAL |
> +                      D3DPCM*pCaps_LESS         |
> +                      D3DPCM*pCaps_LESSEQUAL    |
> +                      D3DPCM*pCaps_NEVER        |
> +                      D3DPCM*pCaps_NOTEQUAL;
> +
> +    *pCaps->SrcBlendCaps  = 0xFFFFFFFF;   /*FIXME:
> Tidy up later */
> +    *pCaps->DestBlendCaps = 0xFFFFFFFF;   /*FIXME:
> Tidy up later */
> +    *pCaps->AlphaCm*pCaps  = 0xFFFFFFFF;   /*FIXME:
> Tidy up later */
>  
> -    pCaps->ShadeCaps =
> D3DPSHADECAPS_SPECULARGOURAUDRGB | 
> +    *pCaps->ShadeCaps =
> D3DPSHADECAPS_SPECULARGOURAUDRGB |
>                        
> D3DPSHADECAPS_COLORGOURAUDRGB;
>  
> -    pCaps->TextureCaps =  D3DPTEXTURECAPS_ALPHA    
>    | 
> +    *pCaps->TextureCaps =  D3DPTEXTURECAPS_ALPHA   
>     |
>                           
> D3DPTEXTURECAPS_ALPHAPALETTE | 
>                            D3DPTEXTURECAPS_POW2     
>    | 
>                            D3DPTEXTURECAPS_VOLUMEMAP
>    | 
> @@ -1278,108 +1277,108 @@
>                           
> D3DPTEXTURECAPS_PROJECTED;
>  
>      if (GL_SUPPORT(ARB_TEXTURE_CUBE_MAP)) {
> -      pCaps->TextureCaps |= D3DPTEXTURECAPS_CUBEMAP
>      | 
> +      *pCaps->TextureCaps |=
> D3DPTEXTURECAPS_CUBEMAP      |
>  	                    D3DPTEXTURECAPS_MIPCUBEMAP   |
> 
>  	                    D3DPTEXTURECAPS_CUBEMAP_POW2;
>      }
>  
> -    pCaps->TextureFilterCaps =
> D3DPTFILTERCAPS_MAGFLINEAR | 
> +    *pCaps->TextureFilterCaps =
> D3DPTFILTERCAPS_MAGFLINEAR |
>                                
> D3DPTFILTERCAPS_MAGFPOINT  | 
>                                
> D3DPTFILTERCAPS_MINFLINEAR | 
>                                
> D3DPTFILTERCAPS_MINFPOINT  |
>                                
> D3DPTFILTERCAPS_MIPFLINEAR | 
>                                
> D3DPTFILTERCAPS_MIPFPOINT;
>  
> -    pCaps->CubeTextureFilterCaps = 0;
> -    pCaps->VolumeTextureFilterCaps = 0;
> +    *pCaps->CubeTextureFilterCaps = 0;
> +    *pCaps->VolumeTextureFilterCaps = 0;
>  
> -    pCaps->TextureAddressCaps = 
> D3DPTADDRESSCAPS_BORDER | 
> +    *pCaps->TextureAddressCaps = 
> D3DPTADDRESSCAPS_BORDER |
>                                  
> D3DPTADDRESSCAPS_CLAMP  | 
>                                  
> D3DPTADDRESSCAPS_WRAP;
>  
>      if (GL_SUPPORT(ARB_TEXTURE_BORDER_CLAMP)) {
> -      pCaps->TextureAddressCaps |=
> D3DPTADDRESSCAPS_BORDER;
> +      *pCaps->TextureAddressCaps |=
> D3DPTADDRESSCAPS_BORDER;
>      }
>      if (GL_SUPPORT(ARB_TEXTURE_MIRRORED_REPEAT)) {
> -      pCaps->TextureAddressCaps |=
> D3DPTADDRESSCAPS_MIRROR;
> +      *pCaps->TextureAddressCaps |=
> D3DPTADDRESSCAPS_MIRROR;
>      }
>      if (GL_SUPPORT(ATI_TEXTURE_MIRROR_ONCE)) {
> -      pCaps->TextureAddressCaps |=
> D3DPTADDRESSCAPS_MIRRORONCE;
> +      *pCaps->TextureAddressCaps |=
> D3DPTADDRESSCAPS_MIRRORONCE;
>      }
>  
> -    pCaps->VolumeTextureAddressCaps = 0;
> +    *pCaps->VolumeTextureAddressCaps = 0;
>  
> -    pCaps->LineCaps = D3DLINECAPS_TEXTURE | 
> +    *pCaps->LineCaps = D3DLINECAPS_TEXTURE |
>                        D3DLINECAPS_ZTEST;
>                        /* FIXME: Add 
>  			 D3DLINECAPS_BLEND
>  			 D3DLINECAPS_ALPHACMP
>  			 D3DLINECAPS_FOG */
>  
> -    pCaps->MaxTextureWidth = gl_tex_size;
> -    pCaps->MaxTextureHeight = gl_tex_size;
> +    *pCaps->MaxTextureWidth = gl_tex_size;
> +    *pCaps->MaxTextureHeight = gl_tex_size;
>  
> -    pCaps->MaxVolumeExtent = 0;
> +    *pCaps->MaxVolumeExtent = 0;
>  
> -    pCaps->MaxTextureRepeat = 32768;
> -    pCaps->MaxTextureAspectRatio = 32768;
> -    pCaps->MaxVertexW = 1.0;
> +    *pCaps->MaxTextureRepeat = 32768;
> +    *pCaps->MaxTextureAspectRatio = 32768;
> +    *pCaps->MaxVertexW = 1.0;
>  
> -    pCaps->GuardBandLeft = 0;
> -    pCaps->GuardBandTop = 0;
> -    pCaps->GuardBandRight = 0;
> -    pCaps->GuardBandBottom = 0;
> +    *pCaps->GuardBandLeft = 0;
> +    *pCaps->GuardBandTop = 0;
> +    *pCaps->GuardBandRight = 0;
> +    *pCaps->GuardBandBottom = 0;
>  
> -    pCaps->ExtentsAdjust = 0;
> +    *pCaps->ExtentsAdjust = 0;
>  
> -    pCaps->StencilCaps =  D3DSTENCILCAPS_DECRSAT | 
> +    *pCaps->StencilCaps =  D3DSTENCILCAPS_DECRSAT |
>                            D3DSTENCILCAPS_INCRSAT | 
>                            D3DSTENCILCAPS_INVERT  | 
>                            D3DSTENCILCAPS_KEEP    | 
>                            D3DSTENCILCAPS_REPLACE | 
>                            D3DSTENCILCAPS_ZERO;
>      if (GL_SUPPORT(EXT_STENCIL_WRAP)) {
> -      pCaps->StencilCaps |= D3DSTENCILCAPS_DECR   
> | 
> +      *pCaps->StencilCaps |= D3DSTENCILCAPS_DECR   
> |
>  	                    D3DSTENCILCAPS_INCR;
>      }
>  
> -    pCaps->FVFCaps = D3DFVFCAPS_PSIZE | 0x0008; /*
> 8 texture coords */
> +    *pCaps->FVFCaps = D3DFVFCAPS_PSIZE | 0x0008; /*
> 8 texture coords */
>  
> -    pCaps->TextureOpCaps =  D3DTEXOPCAPS_ADD       
>  | 
> -                            D3DTEXOPCAPS_ADDSIGNED 
>  | 
> -                           
> D3DTEXOPCAPS_ADDSIGNED2X |
> -                            D3DTEXOPCAPS_MODULATE  
>  | 
> -                            D3DTEXOPCAPS_MODULATE2X
>  | 
> -                            D3DTEXOPCAPS_MODULATE4X
>  |
> -                            D3DTEXOPCAPS_SELECTARG1
>  | 
> -                            D3DTEXOPCAPS_SELECTARG2
>  | 
> -                            D3DTEXOPCAPS_DISABLE;
> +    *pCaps->TextureO*pCaps =  D3DTEXO*pCaps_ADD    
>     |
> +                            D3DTEXO*pCaps_ADDSIGNED
>   |
> +                           
> D3DTEXO*pCaps_ADDSIGNED2X |
> +                            D3DTEXO*pCaps_MODULATE 
>   |
> +                           
> D3DTEXO*pCaps_MODULATE2X  |
> +                           
> D3DTEXO*pCaps_MODULATE4X  |
> +                           
> D3DTEXO*pCaps_SELECTARG1  |
> +                           
> D3DTEXO*pCaps_SELECTARG2  |
> +                            D3DTEXO*pCaps_DISABLE;
>  #if defined(GL_VERSION_1_3)
> -    pCaps->TextureOpCaps |=
> D3DTEXOPCAPS_DOTPRODUCT3 | 
> -                            D3DTEXOPCAPS_SUBTRACT;
> +    *pCaps->TextureO*pCaps |=
> D3DTEXO*pCaps_DOTPRODUCT3 |
> +                            D3DTEXO*pCaps_SUBTRACT;
>  #endif
>      if (GL_SUPPORT(ARB_TEXTURE_ENV_COMBINE) || 
>  	GL_SUPPORT(EXT_TEXTURE_ENV_COMBINE) || 
>  	GL_SUPPORT(NV_TEXTURE_ENV_COMBINE4)) {
> -      pCaps->TextureOpCaps |=
> D3DTEXOPCAPS_BLENDDIFFUSEALPHA |
> -	                     
> D3DTEXOPCAPS_BLENDTEXTUREALPHA | 
> -			      D3DTEXOPCAPS_BLENDFACTORALPHA  |
> -			      D3DTEXOPCAPS_BLENDCURRENTALPHA |
> -			      D3DTEXOPCAPS_LERP;
> +      *pCaps->TextureO*pCaps |=
> D3DTEXO*pCaps_BLENDDIFFUSEALPHA |
> +	                     
> D3DTEXO*pCaps_BLENDTEXTUREALPHA |
> +			      D3DTEXO*pCaps_BLENDFACTORALPHA  |
> +			      D3DTEXO*pCaps_BLENDCURRENTALPHA |
> +			      D3DTEXO*pCaps_LERP;
>      }
>      if (GL_SUPPORT(NV_TEXTURE_ENV_COMBINE4)) {
> -      pCaps->TextureOpCaps |=
> D3DTEXOPCAPS_ADDSMOOTH | 
> -			      D3DTEXOPCAPS_MULTIPLYADD |
> -			      D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR |
> -			      D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA |
> -                             
> D3DTEXOPCAPS_BLENDTEXTUREALPHAPM;
> +      *pCaps->TextureO*pCaps |=
> D3DTEXO*pCaps_ADDSMOOTH |
> +			      D3DTEXO*pCaps_MULTIPLYADD |
> +			      D3DTEXO*pCaps_MODULATEALPHA_ADDCOLOR |
> +			      D3DTEXO*pCaps_MODULATECOLOR_ADDALPHA |
> +                             
> D3DTEXO*pCaps_BLENDTEXTUREALPHAPM;
>      }
>      
>  #if 0
> -    pCaps->TextureOpCaps |=
> D3DTEXOPCAPS_BUMPENVMAP;
> +    *pCaps->TextureO*pCaps |=
> D3DTEXO*pCaps_BUMPENVMAP;
>                              /* FIXME: Add 
> -			      D3DTEXOPCAPS_BUMPENVMAPLUMINANCE 
> -			      D3DTEXOPCAPS_PREMODULATE */
> +			      D3DTEXO*pCaps_BUMPENVMAPLUMINANCE
> +			      D3DTEXO*pCaps_PREMODULATE */
>  #endif
>  
>      if (gotContext) {
> @@ -1391,70 +1390,70 @@
>          glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB,
> &gl_max);
>  #endif
>          TRACE_(d3d_caps)("GLCaps:
> GL_MAX_TEXTURE_UNITS_ARB=%d\n", gl_max);
> -        pCaps->MaxTextureBlendStages = min(8,
> gl_max);
> -        pCaps->MaxSimultaneousTextures = min(8,
> gl_max);
> +        *pCaps->MaxTextureBlendStages = min(8,
> gl_max);
> +        *pCaps->MaxSimultaneousTextures = min(8,
> gl_max);
>  
>          glGetIntegerv(GL_MAX_CLIP_PLANES, &gl_max);
> -        pCaps->MaxUserClipPlanes =
> min(D3DMAXUSERCLIPPLANES, gl_max);
> -        TRACE_(d3d_caps)("GLCaps:
> GL_MAX_CLIP_PLANES=%ld\n",
> pCaps->MaxUserClipPlanes);
> +        *pCaps->MaxUserClipPlanes =
> min(D3DMAXUSERCLIPPLANES, gl_max);
> +        TRACE_(d3d_caps)("GLCaps:
> GL_MAX_CLIP_PLANES=%ld\n",
> *pCaps->MaxUserClipPlanes);
>  
>          glGetIntegerv(GL_MAX_LIGHTS, &gl_max);
> -        pCaps->MaxActiveLights = gl_max;
> -        TRACE_(d3d_caps)("GLCaps:
> GL_MAX_LIGHTS=%ld\n", pCaps->MaxActiveLights);
> +        *pCaps->MaxActiveLights = gl_max;
> +        TRACE_(d3d_caps)("GLCaps:
> GL_MAX_LIGHTS=%ld\n", *pCaps->MaxActiveLights);
>  
>          if (GL_SUPPORT(ARB_VERTEX_BLEND)) {
>  	   glGetIntegerv(GL_MAX_VERTEX_UNITS_ARB,
> &gl_max);
> -	   pCaps->MaxVertexBlendMatrices = gl_max;
> -	   pCaps->MaxVertexBlendMatrixIndex = 1;
> +	   *pCaps->MaxVertexBlendMatrices = gl_max;
> +	   *pCaps->MaxVertexBlendMatrixIndex = 1;
>          } else {
> -           pCaps->MaxVertexBlendMatrices = 0;
> -           pCaps->MaxVertexBlendMatrixIndex = 1;
> +           *pCaps->MaxVertexBlendMatrices = 0;
> +           *pCaps->MaxVertexBlendMatrixIndex = 1;
>          }
>  
>          if
> (GL_SUPPORT(EXT_TEXTURE_FILTER_ANISOTROPIC)) {
>           
> glGetIntegerv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT,
> &gl_max);
> -          pCaps->MaxAnisotropy = gl_max;
> +          *pCaps->MaxAnisotropy = gl_max;
>          } else {
> -          pCaps->MaxAnisotropy = 0;
> +          *pCaps->MaxAnisotropy = 0;
>          }
>  
>          glGetFloatv(GL_POINT_SIZE_RANGE,
> &gl_float);
> -        pCaps->MaxPointSize = gl_float;
> +        *pCaps->MaxPointSize = gl_float;
>      }
>  
> -    pCaps->VertexProcessingCaps =
> D3DVTXPCAPS_DIRECTIONALLIGHTS | 
> -                                 
> D3DVTXPCAPS_MATERIALSOURCE7   | 
> -                                 
> D3DVTXPCAPS_POSITIONALLIGHTS  | 
> -                                 
> D3DVTXPCAPS_LOCALVIEWER |
> -                                 
> D3DVTXPCAPS_TEXGEN;
> +    *pCaps->VertexProcessingCaps =
> D3DVTX*pCaps_DIRECTIONALLIGHTS |
> +                                 
> D3DVTX*pCaps_MATERIALSOURCE7   |
> +                                 
> D3DVTX*pCaps_POSITIONALLIGHTS  |
> +                                 
> D3DVTX*pCaps_LOCALVIEWER |
> +                                 
> D3DVTX*pCaps_TEXGEN;
>                                    /* FIXME: Add 
> -                                    
> D3DVTXPCAPS_TWEENING */
> +                                    
> D3DVTX*pCaps_TWEENING */
>  
> -    pCaps->MaxPrimitiveCount = 0xFFFFFFFF;
> -    pCaps->MaxVertexIndex = 0xFFFFFFFF;
> -    pCaps->MaxStreams = MAX_STREAMS;
> -    pCaps->MaxStreamStride = 1024;
> +    *pCaps->MaxPrimitiveCount = 0xFFFFFFFF;
> +    *pCaps->MaxVertexIndex = 0xFFFFFFFF;
> +    *pCaps->MaxStreams = MAX_STREAMS;
> +    *pCaps->MaxStreamStride = 1024;
>  
>      if (((vs_mode == VS_HW) &&
> GL_SUPPORT(ARB_VERTEX_PROGRAM)) || (vs_mode ==
> VS_SW) || (DeviceType == D3DDEVTYPE_REF)) {
> -      pCaps->VertexShaderVersion =
> D3DVS_VERSION(1,1);
> +      *pCaps->VertexShaderVersion =
> D3DVS_VERSION(1,1);
>        
>        if (This->gl_info.gl_vendor == VENDOR_MESA ||
> 
>            This->gl_info.gl_vendor == VENDOR_WINE) {
> -        pCaps->MaxVertexShaderConst = 95;
> +        *pCaps->MaxVertexShaderConst = 95;
>        } else {
> -        pCaps->MaxVertexShaderConst =
> WINED3D_VSHADER_MAX_CONSTANTS;
> +        *pCaps->MaxVertexShaderConst =
> WINED3D_VSHADER_MAX_CONSTANTS;
>        }
>      } else {
> -      pCaps->VertexShaderVersion = 0;
> -      pCaps->MaxVertexShaderConst = 0;
> +      *pCaps->VertexShaderVersion = 0;
> +      *pCaps->MaxVertexShaderConst = 0;
>      }
>  
>      if ((ps_mode == PS_HW) &&
> GL_SUPPORT(ARB_FRAGMENT_PROGRAM) && (DeviceType !=
> D3DDEVTYPE_REF)) {
> -        pCaps->PixelShaderVersion =
> D3DPS_VERSION(1,4);
> -        pCaps->PixelShader1xMaxValue = 1.0;
> +        *pCaps->PixelShaderVersion =
> D3DPS_VERSION(1,4);
> +        *pCaps->PixelShader1xMaxValue = 1.0;
>      } else {
> -        pCaps->PixelShaderVersion = 0;
> -        pCaps->PixelShader1xMaxValue = 0.0;
> +        *pCaps->PixelShaderVersion = 0;
> +        *pCaps->PixelShader1xMaxValue = 0.0;
>      }
>  
>      /*
> ------------------------------------------------
> @@ -1462,21 +1461,21 @@
>        
> ------------------------------------------------ */
>      if (This->dxVersion > 8) {
>          FIXME("Caps support for directx9 is
> nonexistent at the moment!\n");
> -        pCaps->DevCaps2 = 0;
> -        pCaps->MaxNpatchTessellationLevel = 0;
> -        pCaps->MasterAdapterOrdinal = 0;
> -        pCaps->AdapterOrdinalInGroup = 0;
> -        pCaps->NumberOfAdaptersInGroup = 1;
> -        pCaps->DeclTypes = 0;
> -        pCaps->NumSimultaneousRTs = 0;
> -        pCaps->StretchRectFilterCaps = 0;
> -        pCaps->VS20Caps.Caps = 0;
> -        pCaps->PS20Caps.Caps = 0;
> -        pCaps->VertexTextureFilterCaps = 0;
> -        pCaps->MaxVShaderInstructionsExecuted = 0;
> -        pCaps->MaxPShaderInstructionsExecuted = 0;
> -        pCaps->MaxVertexShader30InstructionSlots =
> 0;
> -        pCaps->MaxPixelShader30InstructionSlots =
> 0;
> +        *pCaps->DevCaps2 = 0;
> +        *pCaps->MaxNpatchTessellationLevel = 0;
> +        *pCaps->MasterAdapterOrdinal = 0;
> +        *pCaps->AdapterOrdinalInGroup = 0;
> +        *pCaps->NumberOfAdaptersInGroup = 1;
> +        *pCaps->DeclTypes = 0;
> +        *pCaps->NumSimultaneousRTs = 0;
> +        *pCaps->StretchRectFilterCaps = 0;
> +        *pCaps->VS20Caps.Caps = 0;
> +        *pCaps->PS20Caps.Caps = 0;
> +        *pCaps->VertexTextureFilterCaps = 0;
> +        *pCaps->MaxVShaderInstructionsExecuted = 0;
> +        *pCaps->MaxPShaderInstructionsExecuted = 0;
> +        *pCaps->MaxVertexShader30InstructionSlots =
> 0;
> +        *pCaps->MaxPixelShader30InstructionSlots =
> 0;
>      }
>  
>      /* If we created a dummy context, throw it away
> */
> 


		
___________________________________________________________ 
How much free photo storage do you get? Store your holiday 
snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wined3d-devicecaps-part2-os-2.patch
Type: text/x-diff
Size: 24166 bytes
Desc: 808058658-wined3d-devicecaps-part2-os-2.patch
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20050622/2c5caa3a/wined3d-devicecaps-part2-os-2.bin


More information about the wine-patches mailing list