[Bug 8051] Sims 2 demo exits prematurely

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Jul 14 20:48:55 CDT 2010


http://bugs.winehq.org/show_bug.cgi?id=8051





--- Comment #101 from Robert Wm Ruedisueli <esd45 at earthlink.net>  2010-07-14 20:48:52 ---
I was thinking about this bug and came up with two solutions.

One, we could utilize a modified version of libmesa to handle creating vertex
shaders.

Second, probably better is the following psuedocode to multiplex the hardware
capability to produce vertex shaders:

If vertex shaders necessary are under number of supported do not multiplex, and
use full hardware.
Else multiplexing is neccessary routine as follows:

Load all shaders into virtual driver.

Whenever shaders change do as follows or are given modifications do the
following loop.
|----------|
Load supported number of vertex shaders from buffer into video memory.
Do any hardware based modifications necessary while loaded in video driver
Copy image of loaded vertex shaders into pixel-based shaders.
Unload and save vertex shaders into storage.
Keep the pixel-based shaders in video driver buffer for use instead of vertex
shaders.
repeat loop until all modifications are processed.
|----------|


The quality of the produced images should be based on the stored OpenGL
settings.  If such a routine is not stored, it should use texture settings used
for other pixel shaders on the program.

When rendering of those vertex shaders is called for, simply translate the
calls to use the pixel shader renderings of the vertex shaders.

This is probably the fastest, and most efficient method I can think of, as it
doesn't have to reload the vertex shaders unless they are changed.

If someone has the skill to translate this pseudo-code onto an actual
programming language for a patch, it would be appreciated.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list