> > > I guess it should perform better with a vidmem buffer if the buffer is holding static data and not locked after the initial upload.
>
> Maybe, yeah. Though I'd be surprised if a ddraw application did that...
That was basically the original idea behind vertex buffers: to hold static data in video memory so that's faster to access by the GPU (mostly in the sense of avoiding data transfers from SYSMEM).
Similar idea behind ProcessVertices(). If you wanted to draw with dynamic data, you'd use the non-VB Draw[Indexed]Primitive variant.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2404#note_68209
Previously, `SetupDiGetINFClassW()` read INF files
with `GetPrivateProfileString()`, which does not substitute %strkey%
tokens.
This caused device installation to fail for devices which had driver
INF files using %strkey% tokens in Version section.
An example of such device is Vernier LabQuest Mini (08f7:0008) for
which Vernier's LoggerPro application includes a driver.
The INF file in question adds a new device setup class and has
following entries in Version section:
```
Class = %ClassName%
ClassGuid = %DeviceClassGUID%
```
Strings section includes following entries:
```
DeviceClassGUID = "{6B8429BF-10AD-4b66-9FBA-2FE72B891721}"
ClassName = "VST_WinUSB"
```
Previously, when LoggerPro was installed and LabQuest Mini was
hotplugged, device installation failed with the following error:
```
fixme:setupapi:SetupDiGetINFClassW failed to convert "L"%DeviceClassGUID"" into a guid
```
This caused GUID_NULL to be used and Class was not set to the registry
for the device.
With this commit, correct class GUID and names are set to the device
registry entry.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56579
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5519
> It may be worth including a call to GetVertexBufferDesc() in the tests. As Matteo mentioned in an earlier comment, the docs seem to suggest that omitting D3DVBCAPS_SYSTEMMEMORY allows the driver/runtime to place the buffer as it sees fit.
I mentioned earlier that GetVertexBufferDesc() never returns anything other than the flags used to create the buffer. That holds for both cards. I'll add a test the the suite.
> I guess it should perform better with a vidmem buffer if the buffer is holding static data and not locked after the initial upload.
Maybe, yeah. Though I'd be surprised if a ddraw application did that...
> Can you check D3DDEVICEDESC.dwMaxVertexCount on these cards? Regardless of what we do with these two patches I think we should reduce it to whatever Windows reports. (1024 in my case on Windows 11)
For both cards, the RGB device has 0 in the HAL caps, and 2021 in the HEL caps.
The NVidia card has 32768 (both HAL and HEL), and the ATI card has 2048 (both HAL and HEL).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2404#note_68208
Overriding the SDL_VIDEODRIVER variable (for Wayland support as an example)
on the Linux side can lead to some games under Wine failing to load (so treat
that variable as special).
--
v3: ntdll: Add SDL_AUDIO*/SDL_VIDEO* to the special variables list.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5231