Hi,
Myself I have written similar code before just for testing but something like this can't be easily added to Wine. First of all adding new ExtEscape calls is not an option, second in the near future I will drop all X code from wined3d. I was planning to add videoram detection code once I'm done with the opengl32 and wined3d rewrite. A new function call needs to be exported in a win32-like way from winex11.drv.
The use of NV-CONTROL and friends is in the end a little better than what we do now (just setting the ram to a fixed value). The problem is that we don't want the amount of memory on the videocard but the amount of available video memory which also includes (direct accessable) system memory (AGP, TurboCache) aswell. Further even if this special type of system memory wasn't included things like the framebuffer and other things are part of it aswell.
Roderick
On Fr, 2006-10-06 at 01:05 +0200, Fabian Bieler wrote:
Alternatively, I attached a small test program which just prints the amount of videoram to stdout and uses the same code as
the
patch.
PCI-ID: 1002:4e45 ATI Technologies Inc Radeon R300 NE [Radeon 9500 Pro] (Text on the Label is ATI Radeon 9700) 128MB is correct for this card.
Tested with current HEAD: WINEDEBUG="+x11drv,+d3d,+d3d_caps,+opengl,+wgl,+fps" wine \ explorer.exe /desktop=xxx,800x600 Magic_of_stonehenge.exe
trace:d3d:IWineD3DImpl_FillGLCaps FOUND (fake) card: 0x1002 (vendor id), 0x4144 (device id)
trace:d3d:IWineD3DDeviceImpl_GetAvailableTextureMem (0x18a3c0) : emulating 0Mib, returning 0Mib Detected DirectDraw driver DirectDraw HAL ----- DirectDraw Detection Ends
detlef@p4:~/t$ getvram Probing videoram... Found ATI driver version 8.29 Got 134217728 kByte from ATIFGLEXTENSION 131072 MB
--- /dev/null +++ b/dlls/winex11.drv/vendor_specific.c +//#define sz_xnvCtrlQueryAttributeReply 32
C++ comments are not allowed
--
By by ... Detlef