[3/9] wined3d: Add WINED3DDECLUSAGE, use it
H. Verbeet
hverbeet at gmail.com
Tue Feb 13 16:12:14 CST 2007
D3DDECLUSAGE is a d3d9 enum, which shouldn't be used in wined3d.
Changelog:
- Add WINED3DDECLUSAGE, use it
-------------- next part --------------
---
dlls/wined3d/baseshader.c | 28 ++++++++++++++--------------
dlls/wined3d/drawprim.c | 36 ++++++++++++++++++------------------
dlls/wined3d/glsl_shader.c | 16 ++++++++--------
dlls/wined3d/utils.c | 28 ++++++++++++++--------------
dlls/wined3d/vertexdeclaration.c | 34 +++++++++++++++++-----------------
include/wine/wined3d_types.h | 17 +++++++++++++++++
6 files changed, 88 insertions(+), 71 deletions(-)
diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c
index 8428b47..f13d448 100644
--- a/dlls/wined3d/baseshader.c
+++ b/dlls/wined3d/baseshader.c
@@ -419,50 +419,50 @@ static void shader_dump_decl_usage(
TRACE("_");
switch(usage) {
- case D3DDECLUSAGE_POSITION:
+ case WINED3DDECLUSAGE_POSITION:
TRACE("position%d", idx);
break;
- case D3DDECLUSAGE_BLENDINDICES:
+ case WINED3DDECLUSAGE_BLENDINDICES:
TRACE("blend");
break;
- case D3DDECLUSAGE_BLENDWEIGHT:
+ case WINED3DDECLUSAGE_BLENDWEIGHT:
TRACE("weight");
break;
- case D3DDECLUSAGE_NORMAL:
+ case WINED3DDECLUSAGE_NORMAL:
TRACE("normal%d", idx);
break;
- case D3DDECLUSAGE_PSIZE:
+ case WINED3DDECLUSAGE_PSIZE:
TRACE("psize");
break;
- case D3DDECLUSAGE_COLOR:
+ case WINED3DDECLUSAGE_COLOR:
if(idx == 0) {
TRACE("color");
} else {
TRACE("specular%d", (idx - 1));
}
break;
- case D3DDECLUSAGE_TEXCOORD:
+ case WINED3DDECLUSAGE_TEXCOORD:
TRACE("texture%d", idx);
break;
- case D3DDECLUSAGE_TANGENT:
+ case WINED3DDECLUSAGE_TANGENT:
TRACE("tangent");
break;
- case D3DDECLUSAGE_BINORMAL:
+ case WINED3DDECLUSAGE_BINORMAL:
TRACE("binormal");
break;
- case D3DDECLUSAGE_TESSFACTOR:
+ case WINED3DDECLUSAGE_TESSFACTOR:
TRACE("tessfactor");
break;
- case D3DDECLUSAGE_POSITIONT:
+ case WINED3DDECLUSAGE_POSITIONT:
TRACE("positionT%d", idx);
break;
- case D3DDECLUSAGE_FOG:
+ case WINED3DDECLUSAGE_FOG:
TRACE("fog");
break;
- case D3DDECLUSAGE_DEPTH:
+ case WINED3DDECLUSAGE_DEPTH:
TRACE("depth");
break;
- case D3DDECLUSAGE_SAMPLE:
+ case WINED3DDECLUSAGE_SAMPLE:
TRACE("sample");
break;
default:
diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index 63c89ef..94f24ed 100644
--- a/dlls/wined3d/drawprim.c
+++ b/dlls/wined3d/drawprim.c
@@ -99,37 +99,37 @@ static BOOL fixed_get_input(
/* Those positions must have the order in the
* named part of the strided data */
- if ((usage == D3DDECLUSAGE_POSITION || usage == D3DDECLUSAGE_POSITIONT) && usage_idx == 0)
+ if ((usage == WINED3DDECLUSAGE_POSITION || usage == WINED3DDECLUSAGE_POSITIONT) && usage_idx == 0)
*regnum = 0;
- else if (usage == D3DDECLUSAGE_BLENDWEIGHT && usage_idx == 0)
+ else if (usage == WINED3DDECLUSAGE_BLENDWEIGHT && usage_idx == 0)
*regnum = 1;
- else if (usage == D3DDECLUSAGE_BLENDINDICES && usage_idx == 0)
+ else if (usage == WINED3DDECLUSAGE_BLENDINDICES && usage_idx == 0)
*regnum = 2;
- else if (usage == D3DDECLUSAGE_NORMAL && usage_idx == 0)
+ else if (usage == WINED3DDECLUSAGE_NORMAL && usage_idx == 0)
*regnum = 3;
- else if (usage == D3DDECLUSAGE_PSIZE && usage_idx == 0)
+ else if (usage == WINED3DDECLUSAGE_PSIZE && usage_idx == 0)
*regnum = 4;
- else if (usage == D3DDECLUSAGE_COLOR && usage_idx == 0)
+ else if (usage == WINED3DDECLUSAGE_COLOR && usage_idx == 0)
*regnum = 5;
- else if (usage == D3DDECLUSAGE_COLOR && usage_idx == 1)
+ else if (usage == WINED3DDECLUSAGE_COLOR && usage_idx == 1)
*regnum = 6;
- else if (usage == D3DDECLUSAGE_TEXCOORD && usage_idx < WINED3DDP_MAXTEXCOORD)
+ else if (usage == WINED3DDECLUSAGE_TEXCOORD && usage_idx < WINED3DDP_MAXTEXCOORD)
*regnum = 7 + usage_idx;
- else if ((usage == D3DDECLUSAGE_POSITION || usage == D3DDECLUSAGE_POSITIONT) && usage_idx == 1)
+ else if ((usage == WINED3DDECLUSAGE_POSITION || usage == WINED3DDECLUSAGE_POSITIONT) && usage_idx == 1)
*regnum = 7 + WINED3DDP_MAXTEXCOORD;
- else if (usage == D3DDECLUSAGE_NORMAL && usage_idx == 1)
+ else if (usage == WINED3DDECLUSAGE_NORMAL && usage_idx == 1)
*regnum = 8 + WINED3DDP_MAXTEXCOORD;
- else if (usage == D3DDECLUSAGE_TANGENT && usage_idx == 0)
+ else if (usage == WINED3DDECLUSAGE_TANGENT && usage_idx == 0)
*regnum = 9 + WINED3DDP_MAXTEXCOORD;
- else if (usage == D3DDECLUSAGE_BINORMAL && usage_idx == 0)
+ else if (usage == WINED3DDECLUSAGE_BINORMAL && usage_idx == 0)
*regnum = 10 + WINED3DDP_MAXTEXCOORD;
- else if (usage == D3DDECLUSAGE_TESSFACTOR && usage_idx == 0)
+ else if (usage == WINED3DDECLUSAGE_TESSFACTOR && usage_idx == 0)
*regnum = 11 + WINED3DDP_MAXTEXCOORD;
- else if (usage == D3DDECLUSAGE_FOG && usage_idx == 0)
+ else if (usage == WINED3DDECLUSAGE_FOG && usage_idx == 0)
*regnum = 12 + WINED3DDP_MAXTEXCOORD;
- else if (usage == D3DDECLUSAGE_DEPTH && usage_idx == 0)
+ else if (usage == WINED3DDECLUSAGE_DEPTH && usage_idx == 0)
*regnum = 13 + WINED3DDP_MAXTEXCOORD;
- else if (usage == D3DDECLUSAGE_SAMPLE && usage_idx == 0)
+ else if (usage == WINED3DDECLUSAGE_SAMPLE && usage_idx == 0)
*regnum = 14 + WINED3DDP_MAXTEXCOORD;
if (*regnum < 0) {
@@ -225,9 +225,9 @@ void primitiveDeclarationConvertToStridedData(
strided->u.input[idx].VBO = streamVBO;
strided->u.input[idx].streamNo = element->Stream;
if (!useVertexShaderFunction) {
- if (element->Usage == D3DDECLUSAGE_POSITION)
+ if (element->Usage == WINED3DDECLUSAGE_POSITION)
strided->u.s.position_transformed = FALSE;
- else if (element->Usage == D3DDECLUSAGE_POSITIONT)
+ else if (element->Usage == WINED3DDECLUSAGE_POSITIONT)
strided->u.s.position_transformed = TRUE;
}
}
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 87894d9..eea8cfc 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -1889,7 +1889,7 @@ void pshader_glsl_input_pack(
switch(usage) {
- case D3DDECLUSAGE_COLOR:
+ case WINED3DDECLUSAGE_COLOR:
if (usage_idx == 0)
shader_addline(buffer, "IN%u%s = vec4(gl_Color)%s;\n",
i, reg_mask, reg_mask);
@@ -1901,12 +1901,12 @@ void pshader_glsl_input_pack(
i, reg_mask, reg_mask);
break;
- case D3DDECLUSAGE_TEXCOORD:
+ case WINED3DDECLUSAGE_TEXCOORD:
shader_addline(buffer, "IN%u%s = vec4(gl_TexCoord[%u])%s;\n",
i, reg_mask, usage_idx, reg_mask );
break;
- case D3DDECLUSAGE_FOG:
+ case WINED3DDECLUSAGE_FOG:
shader_addline(buffer, "IN%u%s = vec4(gl_FogFragCoord)%s;\n",
i, reg_mask, reg_mask);
break;
@@ -1944,7 +1944,7 @@ void vshader_glsl_output_unpack(
switch(usage) {
- case D3DDECLUSAGE_COLOR:
+ case WINED3DDECLUSAGE_COLOR:
if (usage_idx == 0)
shader_addline(buffer, "gl_FrontColor%s = OUT%u%s;\n", reg_mask, i, reg_mask);
else if (usage_idx == 1)
@@ -1953,20 +1953,20 @@ void vshader_glsl_output_unpack(
shader_addline(buffer, "unsupported_color_output%s = OUT%u%s;\n", reg_mask, i, reg_mask);
break;
- case D3DDECLUSAGE_POSITION:
+ case WINED3DDECLUSAGE_POSITION:
shader_addline(buffer, "gl_Position%s = OUT%u%s;\n", reg_mask, i, reg_mask);
break;
- case D3DDECLUSAGE_TEXCOORD:
+ case WINED3DDECLUSAGE_TEXCOORD:
shader_addline(buffer, "gl_TexCoord[%u]%s = OUT%u%s;\n",
usage_idx, reg_mask, i, reg_mask);
break;
- case D3DDECLUSAGE_PSIZE:
+ case WINED3DDECLUSAGE_PSIZE:
shader_addline(buffer, "gl_PointSize = OUT%u.x;\n", i);
break;
- case D3DDECLUSAGE_FOG:
+ case WINED3DDECLUSAGE_FOG:
shader_addline(buffer, "gl_FogFragCoord%s = OUT%u%s;\n", reg_mask, i, reg_mask);
break;
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 6670c18..8c0db1c 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -317,20 +317,20 @@ const char* debug_d3ddecltype(WINED3DDECLTYPE type) {
const char* debug_d3ddeclusage(BYTE usage) {
switch (usage) {
#define WINED3DDECLUSAGE_TO_STR(u) case u: return #u
- WINED3DDECLUSAGE_TO_STR(D3DDECLUSAGE_POSITION);
- WINED3DDECLUSAGE_TO_STR(D3DDECLUSAGE_BLENDWEIGHT);
- WINED3DDECLUSAGE_TO_STR(D3DDECLUSAGE_BLENDINDICES);
- WINED3DDECLUSAGE_TO_STR(D3DDECLUSAGE_NORMAL);
- WINED3DDECLUSAGE_TO_STR(D3DDECLUSAGE_PSIZE);
- WINED3DDECLUSAGE_TO_STR(D3DDECLUSAGE_TEXCOORD);
- WINED3DDECLUSAGE_TO_STR(D3DDECLUSAGE_TANGENT);
- WINED3DDECLUSAGE_TO_STR(D3DDECLUSAGE_BINORMAL);
- WINED3DDECLUSAGE_TO_STR(D3DDECLUSAGE_TESSFACTOR);
- WINED3DDECLUSAGE_TO_STR(D3DDECLUSAGE_POSITIONT);
- WINED3DDECLUSAGE_TO_STR(D3DDECLUSAGE_COLOR);
- WINED3DDECLUSAGE_TO_STR(D3DDECLUSAGE_FOG);
- WINED3DDECLUSAGE_TO_STR(D3DDECLUSAGE_DEPTH);
- WINED3DDECLUSAGE_TO_STR(D3DDECLUSAGE_SAMPLE);
+ WINED3DDECLUSAGE_TO_STR(WINED3DDECLUSAGE_POSITION);
+ WINED3DDECLUSAGE_TO_STR(WINED3DDECLUSAGE_BLENDWEIGHT);
+ WINED3DDECLUSAGE_TO_STR(WINED3DDECLUSAGE_BLENDINDICES);
+ WINED3DDECLUSAGE_TO_STR(WINED3DDECLUSAGE_NORMAL);
+ WINED3DDECLUSAGE_TO_STR(WINED3DDECLUSAGE_PSIZE);
+ WINED3DDECLUSAGE_TO_STR(WINED3DDECLUSAGE_TEXCOORD);
+ WINED3DDECLUSAGE_TO_STR(WINED3DDECLUSAGE_TANGENT);
+ WINED3DDECLUSAGE_TO_STR(WINED3DDECLUSAGE_BINORMAL);
+ WINED3DDECLUSAGE_TO_STR(WINED3DDECLUSAGE_TESSFACTOR);
+ WINED3DDECLUSAGE_TO_STR(WINED3DDECLUSAGE_POSITIONT);
+ WINED3DDECLUSAGE_TO_STR(WINED3DDECLUSAGE_COLOR);
+ WINED3DDECLUSAGE_TO_STR(WINED3DDECLUSAGE_FOG);
+ WINED3DDECLUSAGE_TO_STR(WINED3DDECLUSAGE_DEPTH);
+ WINED3DDECLUSAGE_TO_STR(WINED3DDECLUSAGE_SAMPLE);
#undef WINED3DDECLUSAGE_TO_STR
default:
FIXME("Unrecognized %u declaration usage!\n", usage);
diff --git a/dlls/wined3d/vertexdeclaration.c b/dlls/wined3d/vertexdeclaration.c
index 1789646..83a7872 100644
--- a/dlls/wined3d/vertexdeclaration.c
+++ b/dlls/wined3d/vertexdeclaration.c
@@ -263,23 +263,23 @@ IWineD3DVertexDeclarationImpl *This = (IWineD3DVertexDeclarationImpl *)iface;
WINED3DVERTEXELEMENT convToW[128];
/* TODO: find out where rhw (or positionT) is for declaration8 */
Decl8to9Lookup decl8to9Lookup[MAX_D3DVSDE];
- MAKE_LOOKUP(D3DVSDE_POSITION, D3DDECLUSAGE_POSITION, 0);
- MAKE_LOOKUP(D3DVSDE_POSITION2, D3DDECLUSAGE_POSITION, 1);
- MAKE_LOOKUP(D3DVSDE_BLENDWEIGHT, D3DDECLUSAGE_BLENDWEIGHT, 0);
- MAKE_LOOKUP(D3DVSDE_BLENDINDICES, D3DDECLUSAGE_BLENDINDICES, 0);
- MAKE_LOOKUP(D3DVSDE_NORMAL, D3DDECLUSAGE_NORMAL, 0);
- MAKE_LOOKUP(D3DVSDE_NORMAL2, D3DDECLUSAGE_NORMAL, 1);
- MAKE_LOOKUP(D3DVSDE_DIFFUSE, D3DDECLUSAGE_COLOR, 0);
- MAKE_LOOKUP(D3DVSDE_SPECULAR, D3DDECLUSAGE_COLOR, 1);
- MAKE_LOOKUP(D3DVSDE_TEXCOORD0, D3DDECLUSAGE_TEXCOORD, 0);
- MAKE_LOOKUP(D3DVSDE_TEXCOORD1, D3DDECLUSAGE_TEXCOORD, 1);
- MAKE_LOOKUP(D3DVSDE_TEXCOORD2, D3DDECLUSAGE_TEXCOORD, 2);
- MAKE_LOOKUP(D3DVSDE_TEXCOORD3, D3DDECLUSAGE_TEXCOORD, 3);
- MAKE_LOOKUP(D3DVSDE_TEXCOORD4, D3DDECLUSAGE_TEXCOORD, 4);
- MAKE_LOOKUP(D3DVSDE_TEXCOORD5, D3DDECLUSAGE_TEXCOORD, 5);
- MAKE_LOOKUP(D3DVSDE_TEXCOORD6, D3DDECLUSAGE_TEXCOORD, 6);
- MAKE_LOOKUP(D3DVSDE_TEXCOORD7, D3DDECLUSAGE_TEXCOORD, 7);
- MAKE_LOOKUP(D3DVSDE_PSIZE, D3DDECLUSAGE_PSIZE, 0);
+ MAKE_LOOKUP(D3DVSDE_POSITION, WINED3DDECLUSAGE_POSITION, 0);
+ MAKE_LOOKUP(D3DVSDE_POSITION2, WINED3DDECLUSAGE_POSITION, 1);
+ MAKE_LOOKUP(D3DVSDE_BLENDWEIGHT, WINED3DDECLUSAGE_BLENDWEIGHT, 0);
+ MAKE_LOOKUP(D3DVSDE_BLENDINDICES, WINED3DDECLUSAGE_BLENDINDICES, 0);
+ MAKE_LOOKUP(D3DVSDE_NORMAL, WINED3DDECLUSAGE_NORMAL, 0);
+ MAKE_LOOKUP(D3DVSDE_NORMAL2, WINED3DDECLUSAGE_NORMAL, 1);
+ MAKE_LOOKUP(D3DVSDE_DIFFUSE, WINED3DDECLUSAGE_COLOR, 0);
+ MAKE_LOOKUP(D3DVSDE_SPECULAR, WINED3DDECLUSAGE_COLOR, 1);
+ MAKE_LOOKUP(D3DVSDE_TEXCOORD0, WINED3DDECLUSAGE_TEXCOORD, 0);
+ MAKE_LOOKUP(D3DVSDE_TEXCOORD1, WINED3DDECLUSAGE_TEXCOORD, 1);
+ MAKE_LOOKUP(D3DVSDE_TEXCOORD2, WINED3DDECLUSAGE_TEXCOORD, 2);
+ MAKE_LOOKUP(D3DVSDE_TEXCOORD3, WINED3DDECLUSAGE_TEXCOORD, 3);
+ MAKE_LOOKUP(D3DVSDE_TEXCOORD4, WINED3DDECLUSAGE_TEXCOORD, 4);
+ MAKE_LOOKUP(D3DVSDE_TEXCOORD5, WINED3DDECLUSAGE_TEXCOORD, 5);
+ MAKE_LOOKUP(D3DVSDE_TEXCOORD6, WINED3DDECLUSAGE_TEXCOORD, 6);
+ MAKE_LOOKUP(D3DVSDE_TEXCOORD7, WINED3DDECLUSAGE_TEXCOORD, 7);
+ MAKE_LOOKUP(D3DVSDE_PSIZE, WINED3DDECLUSAGE_PSIZE, 0);
#undef MAKE_LOOKUP
TRACE("(%p) : pDecl(%p)\n", This, pDecl);
diff --git a/include/wine/wined3d_types.h b/include/wine/wined3d_types.h
index 2784ff8..8c82c61 100644
--- a/include/wine/wined3d_types.h
+++ b/include/wine/wined3d_types.h
@@ -1310,6 +1310,23 @@ typedef struct _WINEDDOVERLAYFX
DWORD dwFlags; /* flags */
} WINEDDOVERLAYFX;
+typedef enum {
+ WINED3DDECLUSAGE_POSITION = 0,
+ WINED3DDECLUSAGE_BLENDWEIGHT = 1,
+ WINED3DDECLUSAGE_BLENDINDICES = 2,
+ WINED3DDECLUSAGE_NORMAL = 3,
+ WINED3DDECLUSAGE_PSIZE = 4,
+ WINED3DDECLUSAGE_TEXCOORD = 5,
+ WINED3DDECLUSAGE_TANGENT = 6,
+ WINED3DDECLUSAGE_BINORMAL = 7,
+ WINED3DDECLUSAGE_TESSFACTOR = 8,
+ WINED3DDECLUSAGE_POSITIONT = 9,
+ WINED3DDECLUSAGE_COLOR = 10,
+ WINED3DDECLUSAGE_FOG = 11,
+ WINED3DDECLUSAGE_DEPTH = 12,
+ WINED3DDECLUSAGE_SAMPLE = 13
+} WINED3DDECLUSAGE;
+
#define WINED3DUSAGE_RENDERTARGET 0x00000001L
#define WINED3DUSAGE_DEPTHSTENCIL 0x00000002L
#define WINED3DUSAGE_WRITEONLY 0x00000008L
More information about the wine-patches
mailing list