- sync wined3d, d3d8, d3d9 to wine HEAD part 2/2

svn path=/trunk/; revision=37684
This commit is contained in:
Kamil Hornicek 2008-11-27 09:20:38 +00:00
parent 39cebe5a19
commit 35f1cdfbd7
3 changed files with 54 additions and 122 deletions

View file

@ -690,6 +690,7 @@ typedef void GLvoid;
#define GL_UNSIGNED_INT_10_10_10_2 0x8036
#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
#define GL_RESCALE_NORMAL 0x803A
#define GL_TEXTURE_BINDING_3D 0x806A
#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
#define GL_SINGLE_COLOR 0x81F9
#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
@ -1670,9 +1671,15 @@ typedef void (WINE_GLAPI *PGLFNBLENDEQUATIONPROC) (GLenum mode);
typedef void (WINE_GLAPI *WINED3D_PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
typedef void (WINE_GLAPI *WINED3D_PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
typedef void (WINE_GLAPI *WINED3D_PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
/* GL_ARB_texture_cube_map */
#ifndef GL_ARB_texture_cube_map
@ -1847,6 +1854,16 @@ typedef void (WINE_GLAPI * PGLFNGLGENERATEMIPMAPEXTPROC)(GLenum target);
#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA
#endif
typedef void (WINE_GLAPI * PGLFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
/* GL_EXT_framebuffer_multisample */
#ifndef GL_EXT_framebuffer_multisample
#define GL_EXT_framebuffer_multisample 1
#define GL_RENDERBUFFER_SAMPLES_EXT 0x8cab
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8d56
#define GL_MAX_SAMPLES_EXT 0x8d57
#endif
typedef void (WINE_GLAPI * PGLFNRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
/* GL_EXT_secondary_color */
#ifndef GL_EXT_secondary_color
#define GL_EXT_secondary_color 1
@ -1948,8 +1965,8 @@ typedef void (WINE_GLAPI * PGLFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint le
/* GL_EXT_texture_env_dot3 */
#ifndef GL_EXT_texture_env_dot3
#define GL_EXT_texture_env_dot3 1
#define GL_DOT3_RGB_EXT 0x8740
#define GL_DOT3_RGBA_EXT 0x8741
#define GL_DOT3_RGB_EXT 0x8740
#define GL_DOT3_RGBA_EXT 0x8741
#endif
/* GL_EXT_texture_lod_bias */
#ifndef GL_EXT_texture_lod_bias
@ -2723,7 +2740,7 @@ typedef void (WINE_GLAPI * PGLFNGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage
#endif
/**
* Point sprites
* Point sprites
*/
/* GL_ARB_point_sprite */
#ifndef GL_ARB_point_sprite
@ -2732,11 +2749,11 @@ typedef void (WINE_GLAPI * PGLFNGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage
#define GL_COORD_REPLACE_ARB 0x8862
#endif
/**
* @TODO: GL_NV_point_sprite
* @TODO: GL_NV_point_sprite
*/
/**
* Occlusion Queries
* Occlusion Queries
*/
/* GL_ARB_occlusion_query */
#ifndef GL_ARB_occlusion_query
@ -2826,23 +2843,6 @@ typedef void (WINE_GLAPI * PGLFNFINISHOBJECTAPPLEPROC) (GLenum, GLuint);
#define GL_APPLE_client_storage 1
#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2
#endif
/* GL_ATI_envmap_bumpmap */
#ifndef GL_ATI_envmap_bumpmap
#define GL_ATI_envmap_bumpmap 1
#define GL_BUMP_ROT_MATRIX_ATI 0x8775
#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
#define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777
#define GL_BUMP_TEX_UNITS_ATI 0x8778
#define GL_DUDV_ATI 0x8779
#define GL_DU8DV8_ATI 0x877A
#define GL_BUMP_ENVMAP_ATI 0x877B
#define GL_BUMP_TARGET_ATI 0x877C
#endif
typedef void (WINE_GLAPI * PGLFNTEXBUMPPARAMETERIVATIPROC) (GLenum, GLint *);
typedef void (WINE_GLAPI * PGLFNTEXBUMPPARAMETERFVATIPROC) (GLenum, GLfloat *);
typedef void (WINE_GLAPI * PGLFNGETTEXBUMPPARAMETERIVATIPROC) (GLenum, GLint *);
typedef void (WINE_GLAPI * PGLFNGETTEXBUMPPARAMETERFVATIPROC) (GLenum, GLfloat *);
/* GLX_SGI_video_sync */
typedef int (WINE_GLAPI * PGLXFNGETVIDEOSYNCSGIPROC) (unsigned int *);
typedef int (WINE_GLAPI * PGLXFNWAITVIDEOSYNCSGIPROC) (int, int, unsigned int *);
@ -3192,8 +3192,8 @@ typedef void (WINE_GLAPI * PGLFNVERTEXATTRIBPOINTERPROC) (GLuint index, GLint si
/****************************************************
* OpenGL Official Version
* defines
* OpenGL Official Version
* defines
****************************************************/
/* GL_VERSION_1_3 */
#if !defined(GL_DOT3_RGBA)
@ -3329,6 +3329,7 @@ typedef enum _GL_SupportedExt {
EXT_FOG_COORD,
EXT_FRAMEBUFFER_OBJECT,
EXT_FRAMEBUFFER_BLIT,
EXT_FRAMEBUFFER_MULTISAMPLE,
EXT_PALETTED_TEXTURE,
EXT_PIXEL_BUFFER_OBJECT,
EXT_POINT_PARAMETERS,
@ -3371,7 +3372,6 @@ typedef enum _GL_SupportedExt {
ATI_TEXTURE_ENV_COMBINE3,
ATI_TEXTURE_MIRROR_ONCE,
EXT_VERTEX_SHADER,
ATI_ENVMAP_BUMPMAP,
ATI_FRAGMENT_SHADER,
ATI_TEXTURE_COMPRESSION_3DC,
/* APPLE */
@ -3396,7 +3396,7 @@ typedef enum _GL_SupportedExt {
/****************************************************
* #Defines
* #Defines
****************************************************/
#define GL_EXT_FUNCS_GEN \
/** ARB Extensions **/ \
@ -3413,9 +3413,15 @@ typedef enum _GL_SupportedExt {
USE_GL_FUNC(WINED3D_PFNGLACTIVETEXTUREARBPROC, glActiveTextureARB, ARB_MULTITEXTURE, NULL )\
USE_GL_FUNC(WINED3D_PFNGLCLIENTACTIVETEXTUREARBPROC, glClientActiveTextureARB, ARB_MULTITEXTURE, NULL )\
USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD1FARBPROC, glMultiTexCoord1fARB, ARB_MULTITEXTURE, NULL )\
USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD1FVARBPROC, glMultiTexCoord1fvARB, ARB_MULTITEXTURE, NULL )\
USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD2FARBPROC, glMultiTexCoord2fARB, ARB_MULTITEXTURE, NULL )\
USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD2FVARBPROC, glMultiTexCoord2fvARB, ARB_MULTITEXTURE, NULL )\
USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD3FARBPROC, glMultiTexCoord3fARB, ARB_MULTITEXTURE, NULL )\
USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD3FVARBPROC, glMultiTexCoord3fvARB, ARB_MULTITEXTURE, NULL )\
USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD4FARBPROC, glMultiTexCoord4fARB, ARB_MULTITEXTURE, NULL )\
USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD4FVARBPROC, glMultiTexCoord4fvARB, ARB_MULTITEXTURE, NULL )\
USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD2SVARBPROC, glMultiTexCoord2svARB, ARB_MULTITEXTURE, NULL )\
USE_GL_FUNC(WINED3D_PFNGLMULTITEXCOORD4SVARBPROC, glMultiTexCoord4svARB, ARB_MULTITEXTURE, NULL )\
/* GL_ARB_occlusion_query */ \
USE_GL_FUNC(PGLFNGENQUERIESARBPROC, glGenQueriesARB, ARB_OCCLUSION_QUERY, NULL )\
USE_GL_FUNC(PGLFNDELETEQUERIESARBPROC, glDeleteQueriesARB, ARB_OCCLUSION_QUERY, NULL )\
@ -3486,6 +3492,8 @@ typedef enum _GL_SupportedExt {
USE_GL_FUNC(PGLFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC, glGetFramebufferAttachmentParameterivEXT, EXT_FRAMEBUFFER_OBJECT, NULL )\
/* GL_EXT_framebuffer_blit */ \
USE_GL_FUNC(PGLFNGLBLITFRAMEBUFFEREXTPROC, glBlitFramebufferEXT, EXT_FRAMEBUFFER_BLIT, NULL )\
/* GL_EXT_framebuffer_multisample */ \
USE_GL_FUNC(PGLFNRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC, glRenderbufferStorageMultisampleEXT, EXT_FRAMEBUFFER_MULTISAMPLE, NULL )\
/* GL_EXT_paletted_texture */ \
USE_GL_FUNC(PGLFNGLCOLORTABLEEXTPROC, glColorTableEXT, EXT_PALETTED_TEXTURE, NULL )\
/* GL_EXT_point_parameters */ \
@ -3665,11 +3673,6 @@ typedef enum _GL_SupportedExt {
USE_GL_FUNC(PGLFNISFENCEAPPLEPROC, glIsFenceAPPLE, APPLE_FENCE, NULL )\
USE_GL_FUNC(PGLFNTESTOBJECTAPPLEPROC, glTestObjectAPPLE, APPLE_FENCE, NULL )\
USE_GL_FUNC(PGLFNFINISHOBJECTAPPLEPROC, glFinishObjectAPPLE, APPLE_FENCE, NULL )\
/* GL_ATI_envmap_bumpmap */ \
USE_GL_FUNC(PGLFNTEXBUMPPARAMETERIVATIPROC, glTexBumpParameterivATI, ATI_ENVMAP_BUMPMAP, NULL )\
USE_GL_FUNC(PGLFNTEXBUMPPARAMETERFVATIPROC, glTexBumpParameterfvATI, ATI_ENVMAP_BUMPMAP, NULL )\
USE_GL_FUNC(PGLFNGETTEXBUMPPARAMETERIVATIPROC, glGetTexBumpParameterivATI, ATI_ENVMAP_BUMPMAP, NULL )\
USE_GL_FUNC(PGLFNGETTEXBUMPPARAMETERFVATIPROC, glGetTexBumpParameterfvATI, ATI_ENVMAP_BUMPMAP, NULL )\
/* GLX_SGI_video_sync */ \
USE_GL_FUNC(PGLXFNGETVIDEOSYNCSGIPROC, glXGetVideoSyncSGI, SGI_VIDEO_SYNC, NULL )\
USE_GL_FUNC(PGLXFNWAITVIDEOSYNCSGIPROC, glXWaitVideoSyncSGI, SGI_VIDEO_SYNC, NULL )\
@ -3806,7 +3809,7 @@ typedef BOOL (WINAPI * WINED3D_PFNWGLSETPIXELFORMATWINE) (HDC hdc, int iPixelFor
/****************************************************
* Structures
* Structures
****************************************************/
typedef struct {
@ -3837,7 +3840,7 @@ typedef struct _WineD3D_GL_Info {
DWORD driver_version_hipart;
CHAR gl_renderer[255];
/**
* CAPS Constants
* CAPS Constants
*/
UINT max_buffers;
UINT max_lights;

View file

@ -4,7 +4,7 @@
* Copyright 2002-2003 The wine-d3d team
* Copyright 2002-2003 Raphael Junqueira
* Copyright 2005 Oliver Stieber
* Copyright 2006 Stefan Dösinger for CodeWeavers
* Copyright 2006 Stefan Dösinger for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@ -116,9 +116,9 @@ DEFINE_GUID(IID_IWineD3D,
DEFINE_GUID(IID_IWineD3DBase,
0x46799311, 0x8e0e, 0x40ce, 0xb2, 0xec, 0xdd, 0xb9, 0x9f, 0x18, 0xfc, 0xb4);
/* {108F9C44-6F30-11d9-C687-00046142C14F} */
/* {6d10a2ce-09d0-4a53-a427-11388f9f8ca5} */
DEFINE_GUID(IID_IWineD3DDevice,
0x108f9c44, 0x6f30, 0x11d9, 0xc6, 0x87, 0x0, 0x4, 0x61, 0x42, 0xc1, 0x4f);
0x6d10a2ce, 0x09d0, 0x4a53, 0xa4, 0x27, 0x11, 0x38, 0x8f, 0x9f, 0x8c, 0xa5);
/* {f756720c-32b9-4439-b5a3-1d6c97037d9e} */
DEFINE_GUID(IID_IWineD3DPalette,
@ -243,7 +243,7 @@ typedef HRESULT (WINAPI *D3DCB_CREATEVOLUMEFN) (IUnknown *pDevice,
struct IWineD3DVolume **ppVolume,
HANDLE *pSharedHandle);
typedef HRESULT (WINAPI *D3DCB_CREATEADDITIONALSWAPCHAIN) (IUnknown *pDevice,
typedef HRESULT (WINAPI *D3DCB_CREATESWAPCHAIN) (IUnknown *pDevice,
WINED3DPRESENT_PARAMETERS *pPresentationParameters,
struct IWineD3DSwapChain **pSwapChain
);
@ -343,7 +343,7 @@ DECLARE_INTERFACE_(IWineD3D, IWineD3DBase)
#endif
/* Define the main WineD3D entrypoint */
IWineD3D* WINAPI WineDirect3DCreate(UINT SDKVersion, UINT dxVersion, IUnknown *parent);
IWineD3D* WINAPI WineDirect3DCreate(UINT dxVersion, IUnknown *parent);
/*****************************************************************************
* IWineD3DDevice interface
@ -367,14 +367,14 @@ DECLARE_INTERFACE_(IWineD3DDevice,IWineD3DBase)
STDMETHOD(CreateVolume)(THIS_ UINT Width, UINT Height, UINT Depth, DWORD Usage, WINED3DFORMAT Format, WINED3DPOOL Pool, struct IWineD3DVolume** ppVolumeTexture, HANDLE* pSharedHandle, IUnknown *parent) PURE;
STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength, UINT Levels, DWORD Usage, WINED3DFORMAT Format, WINED3DPOOL Pool, struct IWineD3DCubeTexture** ppCubeTexture, HANDLE* pSharedHandle, IUnknown *parent, D3DCB_CREATESURFACEFN pFn) PURE;
STDMETHOD(CreateQuery)(THIS_ WINED3DQUERYTYPE Type, struct IWineD3DQuery **ppQuery, IUnknown *pParent);
STDMETHOD(CreateAdditionalSwapChain)(THIS_ WINED3DPRESENT_PARAMETERS *pPresentationParameters, struct IWineD3DSwapChain **pSwapChain, IUnknown *pParent, D3DCB_CREATERENDERTARGETFN pFn, D3DCB_CREATEDEPTHSTENCILSURFACEFN pFn2, WINED3DSURFTYPE surface_type);
STDMETHOD(CreateSwapChain)(THIS_ WINED3DPRESENT_PARAMETERS *pPresentationParameters, struct IWineD3DSwapChain **pSwapChain, IUnknown *pParent, D3DCB_CREATERENDERTARGETFN pFn, D3DCB_CREATEDEPTHSTENCILSURFACEFN pFn2, WINED3DSURFTYPE surface_type);
STDMETHOD(CreateVertexDeclaration)(THIS_ struct IWineD3DVertexDeclaration** ppDecl, IUnknown* pParent, const WINED3DVERTEXELEMENT *elements, UINT element_count) PURE;
STDMETHOD(CreateVertexDeclarationFromFVF)(THIS_ struct IWineD3DVertexDeclaration** ppDecl, IUnknown* pParent, DWORD Fvf) PURE;
STDMETHOD(CreateVertexShader)(THIS_ struct IWineD3DVertexDeclaration *vertex_declaration, CONST DWORD* pFunction, struct IWineD3DVertexShader** ppShader, IUnknown *pParent) PURE;
STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD* pFunction, struct IWineD3DPixelShader** ppShader, IUnknown *pParent) PURE;
STDMETHOD_(HRESULT,CreatePalette)(THIS_ DWORD Flags, PALETTEENTRY *PalEnt, struct IWineD3DPalette **Palette, IUnknown *Parent);
STDMETHOD(Init3D)(THIS_ WINED3DPRESENT_PARAMETERS* pPresentationParameters, D3DCB_CREATEADDITIONALSWAPCHAIN D3DCB_CreateAdditionalSwapChain);
STDMETHOD(InitGDI)(THIS_ WINED3DPRESENT_PARAMETERS* pPresentationParameters, D3DCB_CREATEADDITIONALSWAPCHAIN D3DCB_CreateAdditionalSwapChain);
STDMETHOD(Init3D)(THIS_ WINED3DPRESENT_PARAMETERS* pPresentationParameters, D3DCB_CREATESWAPCHAIN D3DCB_CreateSwapChain);
STDMETHOD(InitGDI)(THIS_ WINED3DPRESENT_PARAMETERS* pPresentationParameters, D3DCB_CREATESWAPCHAIN D3DCB_CreateSwapChain);
STDMETHOD(Uninit3D)(THIS, D3DCB_DESTROYSURFACEFN pFn, D3DCB_DESTROYSWAPCHAINFN pFn2);
STDMETHOD(UninitGDI)(THIS, D3DCB_DESTROYSWAPCHAINFN pFn2);
STDMETHOD_(void, SetMultithreaded)(THIS);
@ -507,7 +507,7 @@ DECLARE_INTERFACE_(IWineD3DDevice,IWineD3DBase)
#define IWineD3DDevice_CreateVolume(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateVolume(p,a,b,c,d,e,f,g,h,i)
#define IWineD3DDevice_CreateCubeTexture(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f,g,h,i)
#define IWineD3DDevice_CreateQuery(p,a,b,c) (p)->lpVtbl->CreateQuery(p,a,b,c)
#define IWineD3DDevice_CreateAdditionalSwapChain(p,a,b,c,d,e,f) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b,c,d,e,f)
#define IWineD3DDevice_CreateSwapChain(p,a,b,c,d,e,f) (p)->lpVtbl->CreateSwapChain(p,a,b,c,d,e,f)
#define IWineD3DDevice_CreateVertexDeclaration(p,a,b,c,d) (p)->lpVtbl->CreateVertexDeclaration(p,a,b,c,d)
#define IWineD3DDevice_CreateVertexDeclarationFromFVF(p,a,b,c) (p)->lpVtbl->CreateVertexDeclarationFromFVF(p,a,b,c)
#define IWineD3DDevice_CreateVertexShader(p,a,b,c,d) (p)->lpVtbl->CreateVertexShader(p,a,b,c,d)
@ -1157,7 +1157,6 @@ DECLARE_INTERFACE_(IWineD3DSurface,IWineD3DResource)
STDMETHOD_(void, BindTexture)(THIS) PURE;
STDMETHOD(SaveSnapshot)(THIS_ const char *filename) PURE;
STDMETHOD(SetContainer)(THIS_ IWineD3DBase *container) PURE;
STDMETHOD_(void,SetGlTextureDesc)(THIS_ UINT textureName, int target) PURE;
STDMETHOD_(void,GetGlDesc)(THIS_ glDescriptor **glDescription) PURE;
STDMETHOD_(CONST void *, GetData)(THIS) PURE;
STDMETHOD(SetFormat)(THIS_ WINED3DFORMAT format) PURE;
@ -1218,7 +1217,6 @@ DECLARE_INTERFACE_(IWineD3DSurface,IWineD3DResource)
#define IWineD3DSurface_BindTexture(p) (p)->lpVtbl->BindTexture(p)
#define IWineD3DSurface_SaveSnapshot(p,a) (p)->lpVtbl->SaveSnapshot(p,a)
#define IWineD3DSurface_SetContainer(p,a) (p)->lpVtbl->SetContainer(p,a)
#define IWineD3DSurface_SetGlTextureDesc(p,a,b) (p)->lpVtbl->SetGlTextureDesc(p,a,b)
#define IWineD3DSurface_GetGlDesc(p,a) (p)->lpVtbl->GetGlDesc(p,a)
#define IWineD3DSurface_GetData(p) (p)->lpVtbl->GetData(p)
#define IWineD3DSurface_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)

View file

@ -5,7 +5,7 @@
* Copyright 2002-2003 Jason Edmeades
* Raphael Junqueira
* Copyright 2005 Oliver Stieber
* Copyright 2006 Stefan Dösinger
* Copyright 2006 Stefan Dösinger
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@ -123,83 +123,6 @@ typedef struct _WINED3DLINEPATTERN {
WORD wLinePattern;
} WINED3DLINEPATTERN;
#define WINED3D_VSHADER_MAX_CONSTANTS 96
#define WINED3D_PSHADER_MAX_CONSTANTS 32
typedef struct _WINED3DVECTOR_3 {
float x;
float y;
float z;
} WINED3DVECTOR_3;
typedef struct _WINED3DVECTOR_4 {
float x;
float y;
float z;
float w;
} WINED3DVECTOR_4;
typedef struct WINED3DSHADERVECTOR {
float x;
float y;
float z;
float w;
} WINED3DSHADERVECTOR;
typedef struct WINED3DSHADERSCALAR {
float x;
} WINED3DSHADERSCALAR;
typedef WINED3DSHADERVECTOR WINEVSHADERCONSTANTS8[WINED3D_VSHADER_MAX_CONSTANTS];
typedef struct VSHADERDATA {
/** Run Time Shader Function Constants */
/*D3DXBUFFER* constants;*/
WINEVSHADERCONSTANTS8 C;
/** Shader Code as char ... */
CONST DWORD* code;
UINT codeLength;
} VSHADERDATA;
/** temporary here waiting for buffer code */
typedef struct VSHADERINPUTDATA {
WINED3DSHADERVECTOR V[17];
} WINEVSHADERINPUTDATA;
/** temporary here waiting for buffer code */
typedef struct VSHADEROUTPUTDATA {
WINED3DSHADERVECTOR oPos;
WINED3DSHADERVECTOR oD[2];
WINED3DSHADERVECTOR oT[8];
WINED3DSHADERVECTOR oFog;
WINED3DSHADERVECTOR oPts;
} WINEVSHADEROUTPUTDATA;
typedef WINED3DSHADERVECTOR WINEPSHADERCONSTANTS8[WINED3D_PSHADER_MAX_CONSTANTS];
typedef struct PSHADERDATA {
/** Run Time Shader Function Constants */
/*D3DXBUFFER* constants;*/
WINEPSHADERCONSTANTS8 C;
/** Shader Code as char ... */
CONST DWORD* code;
UINT codeLength;
} PSHADERDATA;
/** temporary here waiting for buffer code */
typedef struct PSHADERINPUTDATA {
WINED3DSHADERVECTOR V[2];
WINED3DSHADERVECTOR T[8];
WINED3DSHADERVECTOR S[16];
/*D3DSHADERVECTOR R[12];*/
} WINEPSHADERINPUTDATA;
/** temporary here waiting for buffer code */
typedef struct PSHADEROUTPUTDATA {
WINED3DSHADERVECTOR oC[4];
WINED3DSHADERVECTOR oDepth;
} WINEPSHADEROUTPUTDATA;
/*****************************************************************************
* WineD3D Structures to be used when d3d8 and d3d9 are incompatible
*/
@ -886,8 +809,16 @@ typedef struct _WINED3DPRESENT_PARAMETERS {
DWORD Flags;
UINT FullScreen_RefreshRateInHz;
UINT PresentationInterval;
BOOL AutoRestoreDisplayMode;
} WINED3DPRESENT_PARAMETERS;
#define WINED3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001
#define WINED3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002
#define WINED3DPRESENTFLAG_DEVICECLIP 0x00000004
#define WINED3DPRESENTFLAG_VIDEO 0x00000010
#define WINED3DPRESENTFLAG_NOAUTOROTATE 0x00000020
#define WINED3DPRESENTFLAG_UNPRUNEDMODE 0x00000040
typedef enum _WINED3DRESOURCETYPE {
WINED3DRTYPE_SURFACE = 1,
WINED3DRTYPE_VOLUME = 2,