WineHQ
Bug Tracking Database – Bug 45508

 Bugzilla

 

Last modified: 2019-10-02 19:27:09 UTC  

Provide an interface to the Gallium "Nine" statetracker

Bug 45508 - Provide an interface to the Gallium "Nine" statetracker
Provide an interface to the Gallium "Nine" statetracker
Status: UNCONFIRMED
AppDB: Show Apps affected by this bug
Product: Wine-staging
Classification: Unclassified
Component: -unknown
3.13
x86 Linux
: P2 enhancement
: ---
Assigned To: Mr. Bugs
https://github.com/sarnex/wine-d3d9-p...
:
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2018-07-25 07:47 UTC by hasculdr
Modified: 2019-10-02 19:27 UTC (History)
12 users (show)

See Also:
Regression SHA1:
Fixed by SHA1:
Distribution: ---
Staged patchset:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description hasculdr 2018-07-25 07:47:23 UTC
Hello. It's possible to add this patches:
https://github.com/sarnex/wine-d3d9-patches
to wine-staging project? Thanks.
Comment 1 Zeb Figura 2018-07-25 13:25:42 UTC
Henri Verbeet has expressed his doubts that the Gallium statetracker will be acceptable upstream. Accordingly I don't think we can accept it into Staging.
Comment 2 Alistair Leslie-Hughes 2018-07-25 22:47:16 UTC
Some observation after a brief look at the patches.

* The patches aren't broken up into a manageable chucks.

* There is a ntdll change, without any comment as to why it needed, which affects *all* of wine.

* IDirect3D9Ex structure is defined and yet the structure is full of casts.
  - Indicates to me, that something isn't quite right.
....
+    (void *)d3dadapter9_QueryInterface,

* The use of the memory helper functions would be nice.

* The IDirect3DShaderValidator9/ID3DPresentGroup aren't documented anywhere, how were these worked out?
  - In either case, they should be an in an internal IDL, so that proper structures are created.
  - Are these interfaces really needed?

* It's unrealistic to expect everyone to install these libraries just for nine support which they might never use.

* In it's current form, the effort to maintain this patchset is too high and wont be accepted upstream easily.

Thinks to consider.
* Can any of the changes be broken up and merged upstream?
* Break the patch up into multiple well defined changes.


I'm not completely against having Proof on Concept patches in staging however this needs more work.
Comment 3 Zeb Figura 2018-07-26 10:27:10 UTC
The greater concern, as Henri gives it, is that the approach of directly replacing d3d9.dll isn't what we architecturally want upstream.
Comment 4 mirh 2018-08-09 10:18:11 UTC
https://github.com/wine-compholio/wine-staging/pull/333
AFAIK the original PR to staging was way more "compartmented" than those quick patches. 

And at the end of the day, iirc a separate dll was also totally proposed and all. 
But I'll leave the two direct concerned people discuss with you new maintainers.
Comment 5 mirh 2019-01-25 06:48:38 UTC
What kind of approach would be the right one then, perhaps similar to what upstream might be planning to do with bug 46506, comment 1 ?
Comment 6 Zeb Figura 2019-01-25 12:22:35 UTC
(In reply to mirh from comment #5)
> What kind of approach would be the right one then, perhaps similar to what
> upstream might be planning to do with bug 46506, comment 1 ?

If you are interested in merging the patches into Staging, Alistair has given some recommendations in comment 2.

If you are interested in merging the patches into upstream Wine, I would recommend that the Nine developers converse with Henri Verbeet about what kind of design the project should take.
Comment 7 Axel D 2019-01-25 13:12:49 UTC
As a gallium nine developper it is my understanding the plan is to not merge nine, which is why we worked on making it simpler to install on top of an already existing installation.

We have in our repo several wine version with our patches applied,
and with work such as:
https://github.com/dhewg/nine/

You can compile support for any wine installed on your system.


Note that the wine staging patch live in a separate space, we don't have any ntdll patch. In fact we don't patch wine anywhere since you can run on top of any precompiled wine.


As for IDirect3DShaderValidator9, while recent windows dlls are ok when it isn't implemented, we found The Sims2 requires it. We don't have any doc about what it should do so it is a shot in the dark to please The Sims2, while making everything else still work.


We already discussed with Henri on the mailing list. There is one place where we kinda require using an undocumented winex11 dll function to get the X drawable associated to a HWND. It would be better to have a proper documented function for that, but Henri instead suggested to have our presentation code live in winex11. Unfortunately the proposal requested some changes to our presentation code that are a no go for us, as it would have meant removing a lot of features, but would have simplified the interface. Henri suggested the maintainer of winex11 to discuss with us instead but we never got any reply from any of them.


Privacy Policy
If you have a privacy inquiry regarding this site, please write to [email protected]

Hosted By CodeWeavers