Module: wine Branch: master Commit: 2ecbe2aa0f73def463f82e0c0c789e8b3eae97e2 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2ecbe2aa0f73def463f82e0c0c...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed Nov 23 08:51:45 2011 +0100
wined3d: Get rid of the WINED3DRECTPATCH_INFO typedef.
---
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);