[PATCH 5/5] wined3d: Get rid of the WINED3DRECTPATCH_INFO typedef.
Henri Verbeet
hverbeet at codeweavers.com
Wed Nov 23 01:51:45 CST 2011
---
dlls/d3d8/device.c | 2 +-
dlls/d3d9/device.c | 2 +-
dlls/wined3d/device.c | 6 +++---
dlls/wined3d/drawprim.c | 37 +++++++++++++++++++------------------
dlls/wined3d/wined3d_private.h | 2 +-
include/wine/wined3d.h | 20 ++++++++++----------
6 files changed, 35 insertions(+), 34 deletions(-)
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c
index 869da69..f8c6f92 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -2598,7 +2598,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_DrawRectPatch(IDirect3DDevice8 *iface
wined3d_mutex_lock();
hr = wined3d_device_draw_rect_patch(This->wined3d_device, Handle,
- pNumSegs, (const WINED3DRECTPATCH_INFO *)pRectPatchInfo);
+ pNumSegs, (const struct wined3d_rect_patch_info *)pRectPatchInfo);
wined3d_mutex_unlock();
return hr;
diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c
index 2b47eb4..3532b57 100644
--- a/dlls/d3d9/device.c
+++ b/dlls/d3d9/device.c
@@ -2684,7 +2684,7 @@ static HRESULT WINAPI IDirect3DDevice9Impl_DrawRectPatch(IDirect3DDevice9Ex *ifa
wined3d_mutex_lock();
hr = wined3d_device_draw_rect_patch(This->wined3d_device, Handle,
- pNumSegs, (const WINED3DRECTPATCH_INFO *)pRectPatchInfo);
+ pNumSegs, (const struct wined3d_rect_patch_info *)pRectPatchInfo);
wined3d_mutex_unlock();
return hr;
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index db849a4..dbefa63 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4647,7 +4647,7 @@ HRESULT CDECL wined3d_device_update_surface(struct wined3d_device *device,
}
HRESULT CDECL wined3d_device_draw_rect_patch(struct wined3d_device *device, UINT handle,
- const float *num_segs, const WINED3DRECTPATCH_INFO *rect_patch_info)
+ const float *num_segs, const struct wined3d_rect_patch_info *rect_patch_info)
{
struct WineD3DRectPatch *patch;
GLenum old_primitive_type;
@@ -4704,13 +4704,13 @@ HRESULT CDECL wined3d_device_draw_rect_patch(struct wined3d_device *device, UINT
if (num_segs[0] != patch->numSegs[0] || num_segs[1] != patch->numSegs[1]
|| num_segs[2] != patch->numSegs[2] || num_segs[3] != patch->numSegs[3]
- || (rect_patch_info && memcmp(rect_patch_info, &patch->RectPatchInfo, sizeof(*rect_patch_info))))
+ || (rect_patch_info && memcmp(rect_patch_info, &patch->rect_patch_info, sizeof(*rect_patch_info))))
{
HRESULT hr;
TRACE("Tesselation density or patch info changed, retesselating\n");
if (rect_patch_info)
- patch->RectPatchInfo = *rect_patch_info;
+ patch->rect_patch_info = *rect_patch_info;
patch->numSegs[0] = num_segs[0];
patch->numSegs[1] = num_segs[1];
diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index dde71b4..39d4307 100644
--- a/dlls/wined3d/drawprim.c
+++ b/dlls/wined3d/drawprim.c
@@ -789,6 +789,7 @@ static void normalize_normal(float *n) {
HRESULT tesselate_rectpatch(struct wined3d_device *This, struct WineD3DRectPatch *patch)
{
unsigned int i, j, num_quads, out_vertex_size, buffer_size, d3d_out_vertex_size;
+ const struct wined3d_rect_patch_info *info = &patch->rect_patch_info;
float max_x = 0.0f, max_y = 0.0f, max_z = 0.0f, neg_z = 0.0f;
struct wined3d_state *state = &This->stateBlock->state;
struct wined3d_stream_info stream_info;
@@ -796,7 +797,6 @@ HRESULT tesselate_rectpatch(struct wined3d_device *This, struct WineD3DRectPatch
struct wined3d_context *context;
struct wined3d_shader *vs;
const BYTE *data;
- const WINED3DRECTPATCH_INFO *info = &patch->RectPatchInfo;
DWORD vtxStride;
GLenum feedback_type;
GLfloat *feedbuffer;
@@ -821,9 +821,9 @@ HRESULT tesselate_rectpatch(struct wined3d_device *This, struct WineD3DRectPatch
e->data.addr = (BYTE *)((ULONG_PTR)e->data.addr + (ULONG_PTR)buffer_get_sysmem(vb, context->gl_info));
}
vtxStride = e->stride;
- data = e->data.addr +
- vtxStride * info->Stride * info->StartVertexOffsetHeight +
- vtxStride * info->StartVertexOffsetWidth;
+ data = e->data.addr
+ + vtxStride * info->stride * info->start_vertex_offset_height
+ + vtxStride * info->start_vertex_offset_width;
/* Not entirely sure about what happens with transformed vertices */
if (stream_info.position_transformed) FIXME("Transformed position in rectpatch generation\n");
@@ -835,17 +835,17 @@ HRESULT tesselate_rectpatch(struct wined3d_device *This, struct WineD3DRectPatch
*/
ERR("Vertex stride is not a multiple of sizeof(GLfloat)\n");
}
- if(info->Basis != WINED3DBASIS_BEZIER) {
- FIXME("Basis is %s, how to handle this?\n", debug_d3dbasis(info->Basis));
- }
- if(info->Degree != WINED3DDEGREE_CUBIC) {
- FIXME("Degree is %s, how to handle this?\n", debug_d3ddegree(info->Degree));
- }
+ if (info->basis != WINED3DBASIS_BEZIER)
+ FIXME("Basis is %s, how to handle this?\n", debug_d3dbasis(info->basis));
+ if (info->degree != WINED3DDEGREE_CUBIC)
+ FIXME("Degree is %s, how to handle this?\n", debug_d3ddegree(info->degree));
/* First, get the boundary cube of the input data */
- for(j = 0; j < info->Height; j++) {
- for(i = 0; i < info->Width; i++) {
- const float *v = (const float *)(data + vtxStride * i + vtxStride * info->Stride * j);
+ for (j = 0; j < info->height; ++j)
+ {
+ for (i = 0; i < info->width; ++i)
+ {
+ const float *v = (const float *)(data + vtxStride * i + vtxStride * info->stride * j);
if(fabs(v[0]) > max_x) max_x = fabsf(v[0]);
if(fabs(v[1]) > max_y) max_y = fabsf(v[1]);
if(fabs(v[2]) > max_z) max_z = fabsf(v[2]);
@@ -964,14 +964,15 @@ HRESULT tesselate_rectpatch(struct wined3d_device *This, struct WineD3DRectPatch
feedbuffer = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, buffer_size * sizeof(float) * 8);
glMap2f(GL_MAP2_VERTEX_3,
- 0.0f, 1.0f, vtxStride / sizeof(float), info->Width,
- 0.0f, 1.0f, info->Stride * vtxStride / sizeof(float), info->Height,
+ 0.0f, 1.0f, vtxStride / sizeof(float), info->width,
+ 0.0f, 1.0f, info->stride * vtxStride / sizeof(float), info->height,
(const GLfloat *)data);
checkGLcall("glMap2f");
- if(patch->has_texcoords) {
+ if (patch->has_texcoords)
+ {
glMap2f(GL_MAP2_TEXTURE_COORD_4,
- 0.0f, 1.0f, vtxStride / sizeof(float), info->Width,
- 0.0f, 1.0f, info->Stride * vtxStride / sizeof(float), info->Height,
+ 0.0f, 1.0f, vtxStride / sizeof(float), info->width,
+ 0.0f, 1.0f, info->stride * vtxStride / sizeof(float), info->height,
(const GLfloat *)data);
checkGLcall("glMap2f");
}
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 9e44f69..8ddd092 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1556,7 +1556,7 @@ struct WineD3DRectPatch
UINT Handle;
float *mem;
WineDirect3DVertexStridedData strided;
- WINED3DRECTPATCH_INFO RectPatchInfo;
+ struct wined3d_rect_patch_info rect_patch_info;
float numSegs[4];
char has_normals, has_texcoords;
struct list entry;
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index 3ffb8bd..b755b74 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -1596,16 +1596,16 @@ struct wined3d_line_pattern
WORD line_pattern;
};
-typedef struct _WINEDD3DRECTPATCH_INFO
+struct wined3d_rect_patch_info
{
- UINT StartVertexOffsetWidth;
- UINT StartVertexOffsetHeight;
- UINT Width;
- UINT Height;
- UINT Stride;
- WINED3DBASISTYPE Basis;
- WINED3DDEGREETYPE Degree;
-} WINED3DRECTPATCH_INFO;
+ UINT start_vertex_offset_width;
+ UINT start_vertex_offset_height;
+ UINT width;
+ UINT height;
+ UINT stride;
+ WINED3DBASISTYPE basis;
+ WINED3DDEGREETYPE degree;
+};
typedef struct _WINED3DTRIPATCH_INFO
{
@@ -2189,7 +2189,7 @@ HRESULT __cdecl wined3d_device_draw_primitive_strided(struct wined3d_device *dev
HRESULT __cdecl wined3d_device_draw_primitive_up(struct wined3d_device *device,
UINT vertex_count, const void *stream_data, UINT stream_stride);
HRESULT __cdecl wined3d_device_draw_rect_patch(struct wined3d_device *device, UINT handle,
- const float *num_segs, const WINED3DRECTPATCH_INFO *rect_patch_info);
+ const float *num_segs, const struct wined3d_rect_patch_info *rect_patch_info);
HRESULT __cdecl wined3d_device_draw_tri_patch(struct wined3d_device *device, UINT handle,
const float *num_segs, const WINED3DTRIPATCH_INFO *tri_patch_info);
HRESULT __cdecl wined3d_device_end_scene(struct wined3d_device *device);
--
1.7.3.4
More information about the wine-patches
mailing list