Re: [PATCH 1/3] user32/tests: Added client-side raw input function tests (try 5 resend)

2011-06-21 Thread Marvin
Hi,

While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
http://testbot.winehq.org/JobDetails.pl?Key=11882

Your paranoid android.


=== W7PROX64 (64 bit input) ===
No test summary line found




Need help at collecting ActionMapping data

2011-06-21 Thread Lucas Zawacki
Hello everyone. As you may know I'm working on the dinput8 action
mapping support and at the moment I've pretty much finished the mouse
and keyboard and just need to get my patches in.

For the next part, however, I'm going to need to analyze lot's of data
generated by different joysticks to figure out how the mapping works.
Some things are already clear for me, but I have only some simple USB
joysticks here and thus would like your help to collect more useful
data.

If any of you has any sort of joystick (simple gamepads, driving
wheels and whatnot) and would like to help, I've set up a little app
that uses the DI8 action mapping API to construct a mapping for every
connected joystick and outputs it to the terminal. You just need to
run it, redirect the output to a file and email it back to me. Telling
me which version of windows you're running would be nice. If you want
to help but can't use windows, wine with native dinput8.dll is fine
too.

The program can be found here:
https://github.com/downloads/lfzawacki/dinput-samples/devices_test.exe
The code is here:
https://github.com/lfzawacki/dinput-samples/blob/master/devices_test.cpp

Thanks in advance
Cheers




Re: [2/3] wined3d: Fix context_apply_draw_buffers() with backbuffer ORM.

2011-06-21 Thread Henri Verbeet
On 21 June 2011 23:49, Matteo Bruni  wrote:
> Here I modified surface_get_gl_buffer() to fix backbuffer ORM, an
> alternative approach would be to modify
> context_apply_[blit|clear|draw]_state() in a similar fashion instead.
>
Yeah, I think I'd prefer the alternative. We handle onscreen and
offscreen surfaces separately for the FBO cases as well, and
conceptually I'd prefer ORM checks to be in the context code if
anywhere.




bug policy for "app X needs msvcp90.dll" type bugs

2011-06-21 Thread Dan Kegel
(From the "keeping AF happy" and "metabugs are evil" departments.)

Anyone watching wine-bugs already knows this, but just in case:

As AF suggested in
http://bugs.winehq.org/show_bug.cgi?id=24745#c11
bugs about apps needing msvcr90 or the
like should identify the particular function in the bug subject line,
if possible.

There are still some bugs that simply say "app X needs native msvcr90".
When the particular function that bothered them is fixed, and
the app is verified to get further, that bug's subject line should be
updated to identify the function that was fixed, and the bug
should be marked as fixed.
If the game still doesn't run because of some other function,
a new bug should be filed.




Re: GSoC-2011: Implement Missing Mesh Functions in Wine’s D3DX9

2011-06-21 Thread Stefan Dösinger
On Tuesday 21 June 2011 12:32:28 Michael Mc Donnell wrote:
> Note that two of the helper functions and a struct in the test were
> also included in my UpdateSemantics patch. I'll remove them once my
> UpdateSemantics patch is in the official tree.
Your patches aren't applied yet and http://source.winehq.org/patches/ lists 
them as "New". I recommend to ask Alexandre why he didn't push them. I guess 
he is waiting for confirmation from a d3dx9 developer, but I think Dylan 
already gave his OK, and so did I, but I am strictly speaking not involved in 
d3dx9.


signature.asc
Description: This is a digitally signed message part.



Re: [PATCH 2/2] jscript: Correctly throw an exception if instanceof expression is not used on function

2011-06-21 Thread Marvin
Hi,

While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
http://testbot.winehq.org/JobDetails.pl?Key=11874

Your paranoid android.


=== WNT4WSSP6 (32 bit) ===
No test summary line found

=== W2KPROSP4 (32 bit) ===
No test summary line found

=== WXPPROSP3 (32 bit) ===
No test summary line found

=== W2K3R2SESP2 (32 bit) ===
No test summary line found

=== WVISTAADM (32 bit) ===
No test summary line found

=== W2K8SE (32 bit) ===
No test summary line found

=== W7PRO (32 bit) ===
No test summary line found

=== W7PROX64 (32 bit) ===
No test summary line found

=== W7PROX64 (64 bit) ===
No test summary line found




Re: [PATCH 1/5] shell32: Add IKnownFolderManager::RegisterFolder implementation

2011-06-21 Thread Alexandre Julliard
Mariusz Pluciński  writes:

> Would you explain me, what is wrong with this patches series? I've
> submitted it last week and for some reason it's status is
> untouched. (the "failed" status seems to be temporal testbot's problem
> rather than my patch's, so this is not the reason). I have no idea how
> to fix them.

They should really run through testbot. Please resend them.

-- 
Alexandre Julliard
julli...@winehq.org




Re: GSoC-2011: Implement Missing Mesh Functions in Wine’s D3DX9

2011-06-21 Thread Dylan Smith
On Tue, Jun 21, 2011 at 6:32 AM, Michael Mc Donnell
 wrote:
> Here is my test and implementation of ConvertAdjacencyToPointReps.


> +    hr = iface->lpVtbl->LockIndexBuffer(iface, D3DLOCK_READONLY, 
> (void**)&indices);
> +    if (FAILED(hr)) goto cleanup;
> +    memcpy(new_indices, indices, This->numvertices * sizeof(*indices));

I think you want the number of faces * 3 rather than the number of
vertices.  And the size of an index is not constant, it is 32-bit if
This->options has the D3DXMESH_32BIT bit set and 16-bit if the bit
isn't set.

> +static void test_convert_adjacency_to_point_reps(void)
> +{
...
> +/* All mesh data */
> +struct vertex_pnc *vertices[] = {vertices0, vertices1, vertices2, 
> vertices3, vertices4, vertices5, vertices6};
> +ID3DXMesh *meshes[ARRAY_SIZE(vertices)];
> +DWORD *indices[] = {indices0, indices1, indices2, indices3, indices4, 
> indices5, indices6};
> +DWORD num_vertices[] = {num_vertices0, num_vertices1, num_vertices2, 
> num_vertices3, num_vertices4, num_vertices5, num_vertices6};
> +DWORD num_faces[] = {num_faces0, num_faces1, num_faces2, num_faces3, 
> num_faces4, num_faces5, num_faces6};
> +DWORD *adjacencies[] = {adjacency0, adjacency1, adjacency2, adjacency3, 
> adjacency4, adjacency5, adjacency6};
> +DWORD *point_reps[] = {point_rep0, point_rep1, point_rep2, point_rep3, 
> point_rep4, point_rep5, point_rep6};
> +DWORD *exp_point_reps[] = {exp_point_rep0, exp_point_rep1, 
> exp_point_rep2, exp_point_rep3, exp_point_rep4, exp_point_rep5, 
> exp_point_rep6};

I think it would make sense to put all these arrays of the same length
into a structure (e.g. struct test_case) array.  This would make it
clear what needs to be updated to add another test case, and less
error prone than making sure each relevant individual array is
updated.

Also, several of these and similar array seem like they can be made constant.

> +static void test_convert_adjacency_to_point_reps(void)
> +{
...
> +for (i = 0; i < ARRAY_SIZE(meshes); i++)
> +{
...
> +hr = meshes[i]->lpVtbl->ConvertAdjacencyToPointReps(meshes[i], 
> adjacencies[i], point_reps[i]);
> +todo_wine ok(hr == D3D_OK, "ConvertAdjacencyToPointReps failed. "
> + "Got %x expected D3D_OK\n", hr);

The value i should probably be printed in this error message.
Otherwise, if you see a failure on test.winehq.org that you can't
reproduce, it will be hard to figure out what might have caused the
failure.


That's it for now.




Re: [PATCH 1/5] shell32: Add IKnownFolderManager::RegisterFolder implementation

2011-06-21 Thread Mariusz Pluciński

Hello

Would you explain me, what is wrong with this patches series? I've 
submitted it last week and for some reason it's status is untouched. 
(the "failed" status seems to be temporal testbot's problem rather than 
my patch's, so this is not the reason). I have no idea how to fix them.


Best regards
Mariusz Pluciński


W dniu 15.06.2011 18:05, Mariusz Pluciński pisze:
To not break currently working applications/tests, I decided to 
implement known folders using following schema:
 1. implement infrastructure of known folders without breaking 
currently working CSIDL-based way. New code is used only for  folders 
registered using RegisterFolder(). For all others, the older code 
using CSIDL_Data array is used.
 2. move all folders from CSIDL_Data array to registry and remove old 
way of accessing them.

---
 dlls/shell32/shellpath.c   |   70 
++-

 dlls/shell32/tests/shellpath.c |1 -
 2 files changed, 68 insertions(+), 3 deletions(-)







Re: Regression today?

2011-06-21 Thread Maarten Lankhorst
Hey Susan,

On 06/21/2011 01:03 PM, Susan Cragin wrote:
> >Susan Cragin wrote:
> >> I think a regression was introduced today. I got the following trying to 
> >> run NatSpeak 11.0 with today's git.
> >> wine-1.3.22-255-g4c0c0d3
> >> Should I do a regression test and file a bug, or is it obvious from this?
> >> Or is it me -- something to do with my new Oneiric Ocelot? Or the new 3.0 
> >> kernel?
> >The 3.0 kernel works for me now (3.0-rc4) as good as any of the previous
> >stable releases. Before -rc4 I get a kernel oops after the radeon GPU
> >lockup + soft reset I get with SC2. Now I'm left with the GPU lockup but
> >previous kernels show the same problem.
>
> Hmmm...
> I have the 3.0-1.2.
I haven't really tested naturally speaking lately, but in git reflog you can 
always
find back your previous HEAD and test with it once to see if wine has regressed.
I'm running rc4 with some usb patches to fix suspend here. :-)
I also use nouveau.git from time to time for testing, but it's still not 
entirely stable for me.

~Maarten




Re: Regression today?

2011-06-21 Thread Susan Cragin
>Susan Cragin wrote:>> I think a regression was introduced today. I got the following trying to run NatSpeak 11.0 with today's git. >> wine-1.3.22-255-g4c0c0d3>> Should I do a regression test and file a bug, or is it obvious from this? >> Or is it me -- something to do with my new Oneiric Ocelot? Or the new 3.0 kernel?>The 3.0 kernel works for me now (3.0-rc4) as good as any of the previous>stable releases. Before -rc4 I get a kernel oops after the radeon GPU>lockup + soft reset I get with SC2. Now I'm left with the GPU lockup but>previous kernels show the same problem.Hmmm... I have the 3.0-1.2.






Re: GSoC-2011: Implement Missing Mesh Functions in Wine’s D3DX9

2011-06-21 Thread Michael Mc Donnell
Here is my test and implementation of ConvertAdjacencyToPointReps.

Note that two of the helper functions and a struct in the test were
also included in my UpdateSemantics patch. I'll remove them once my
UpdateSemantics patch is in the official tree.

Any comments?

Thanks,
Michael Mc Donnell
From 012ccb29ee8360a33e0c6809ab00ab0ff352fb4a Mon Sep 17 00:00:00 2001
From: Michael Mc Donnell 
Date: Fri, 27 May 2011 16:24:18 +0200
Subject: d3dx9/tests: Implemented ConvertAdjacencyToPointReps test.

---
 dlls/d3dx9_36/tests/mesh.c |  335 
 1 files changed, 335 insertions(+), 0 deletions(-)

diff --git a/dlls/d3dx9_36/tests/mesh.c b/dlls/d3dx9_36/tests/mesh.c
index 668097f..6275511 100644
--- a/dlls/d3dx9_36/tests/mesh.c
+++ b/dlls/d3dx9_36/tests/mesh.c
@@ -2,6 +2,7 @@
  * Copyright 2008 David Adam
  * Copyright 2008 Luis Busquets
  * Copyright 2009 Henri Verbeet for CodeWeavers
+ * Copyright 2011 Michael Mc Donnell
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -89,6 +90,93 @@ static BOOL compare_face(face a, face b)
 return (a[0]==b[0] && a[1] == b[1] && a[2] == b[2]);
 }
 
+struct test_context
+{
+HWND hwnd;
+IDirect3D9 *d3d;
+IDirect3DDevice9 *device;
+};
+
+/* Initializes a test context struct. Use it to initialize DirectX.
+ *
+ * Returns NULL if an error occured.
+ */
+static struct test_context *new_test_context(void)
+{
+HRESULT hr;
+HWND hwnd = NULL;
+IDirect3D9 *d3d = NULL;
+IDirect3DDevice9 *device = NULL;
+D3DPRESENT_PARAMETERS d3dpp = {0};
+struct test_context *test_context;
+
+hwnd = CreateWindow("static", "d3dx9_test", 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL);
+if (!hwnd)
+{
+skip("Couldn't create application window\n");
+goto error;
+}
+
+d3d = Direct3DCreate9(D3D_SDK_VERSION);
+if (!d3d)
+{
+skip("Couldn't create IDirect3D9 object\n");
+goto error;
+}
+
+memset(&d3dpp, 0, sizeof(d3dpp));
+d3dpp.Windowed = TRUE;
+d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
+hr = IDirect3D9_CreateDevice(d3d, D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hwnd,
+ D3DCREATE_MIXED_VERTEXPROCESSING, &d3dpp, &device);
+if (FAILED(hr))
+{
+skip("Couldn't create IDirect3DDevice9 object %#x\n", hr);
+goto error;
+}
+
+test_context = HeapAlloc(GetProcessHeap(), 0, sizeof(*test_context));
+if (!test_context)
+{
+skip("Couldn't allocate memory for test_context\n");
+goto error;
+}
+test_context->hwnd = hwnd;
+test_context->d3d = d3d;
+test_context->device = device;
+
+return test_context;
+
+error:
+if (device)
+IDirect3DDevice9_Release(device);
+
+if (d3d)
+IDirect3D9_Release(d3d);
+
+if (hwnd)
+DestroyWindow(hwnd);
+
+return NULL;
+}
+
+static void free_test_context(struct test_context *test_context)
+{
+if (!test_context)
+return;
+
+if (test_context->device)
+IDirect3DDevice9_Release(test_context->device);
+
+if (test_context->d3d)
+IDirect3D9_Release(test_context->d3d);
+
+if (test_context->hwnd)
+DestroyWindow(test_context->hwnd);
+
+HeapFree(GetProcessHeap(), 0, test_context);
+}
+
 struct mesh
 {
 DWORD number_of_vertices;
@@ -4259,6 +4347,252 @@ static void D3DXGenerateAdjacencyTest(void)
 if (d3dxmesh) d3dxmesh->lpVtbl->Release(d3dxmesh);
 }
 
+static void test_convert_adjacency_to_point_reps(void)
+{
+HRESULT hr;
+struct test_context *test_context = NULL;
+DWORD options = D3DXMESH_32BIT | D3DXMESH_SYSTEMMEM;
+D3DVERTEXELEMENT9 declaration[] =
+{
+{0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0},
+{0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0},
+{0, 24, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR, 0},
+D3DDECL_END()
+};
+const unsigned int VERTICES_PER_FACE = 3;
+void *vertex_buffer;
+void *index_buffer;
+DWORD *attributes_buffer;
+int i, j;
+struct vertex_pnc
+{
+FLOAT x, y, z; /* Position */
+FLOAT nx, ny, nz; /* Normal */
+DWORD color; /* In case of manual visual inspection */
+};
+/* mesh0 (one face) */
+struct vertex_pnc vertices0[] =
+{
+{0.0f,  1.0f, 0.f,  0.0f, 0.0f, 1.0f, 0x},
+{1.0f, -1.0f, 0.f,  0.0f, 0.0f, 1.0f, 0xff00ff00},
+{-1.0f, -1.0f, 0.f, 0.0f, 0.0f, 1.0f, 0xffff},
+};
+DWORD indices0[] = {0, 1, 2};
+const unsigned int num_vertices0 = ARRAY_SIZE(vertices0);
+const unsigned int num_faces0 = num_vertices0 / VERTICES_PER_FACE;
+DWORD adjacency0[] = {-1, -1, -1};
+DWORD point_rep0[num_vertices0];
+DWORD exp_point_rep0[] = {0, 1, 2};
+/* mesh1 (right) */
+struct vertex_pnc vertices1[] =
+{
+

Re: Regression today?

2011-06-21 Thread Michael Stefaniuc
Susan Cragin wrote:
> I think a regression was introduced today. I got the following trying to run 
> NatSpeak 11.0 with today's git. 
> wine-1.3.22-255-g4c0c0d3
> Should I do a regression test and file a bug, or is it obvious from this? 
> Or is it me -- something to do with my new Oneiric Ocelot? Or the new 3.0 
> kernel?
The 3.0 kernel works for me now (3.0-rc4) as good as any of the previous
stable releases. Before -rc4 I get a kernel oops after the radeon GPU
lockup + soft reset I get with SC2. Now I'm left with the GPU lockup but
previous kernels show the same problem.


bye
michael