Jump to content

  • Log in with Facebook Log in with Twitter Log In with Google      Sign In   
  • Create Account

Wine ATiFix Engine


  • Please log in to reply
110 replies to this topic

#1 thanoulas

thanoulas

    Champion Member

  • Database Moderators
  • 568 posts
  • LocationLondon
  • Graphics Card:nVidia GT750M 2GB
  • Operating System:OS X 10.9 (Mavericks)

Posted 15 October 2012 - 11:18 PM

Here's the patch for creating an ATiFix engine.
This will help balance the speed-to-glitches ratio that every modern game has when playing on an ATi/AMD GPU Mac.

A little background detail, and findings during our tests are here
http://portingteam.c...i-shader-issue/

Get a pre-built engine from here:
http://www.mediafire...qwvj8q2ded9namu

or build one yourself:
(NOTE: Avoid using 1.5.14 & 1.5.15 wine, it looks like it's crashing the O/S)

NEW PATCH, AVOIDS RESERVING 12 SHADERS FOR DRIVER USE WHEN THE TOTAL SHADERS ARE SET TO <270
WILL POSSIBLY HELP WITH CARDS WHICH HAVE 256 AVAILABLE FLOATS:

Link:
http://www.mediafire...6af01014wwguog4

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 36aafee..d432d90 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -767,13 +767,35 @@ static BOOL match_fglrx(const struct wined3d_gl_info *gl_info, const char *gl_re
	 return gl_vendor == GL_VENDOR_FGLRX;
}

+static void quirk_arb_constants(struct wined3d_gl_info *gl_info)
+{
+	/* MacOS always reports 4096 MAX_VERTEX_UNIFORM_COMPONENTS, which means
+	 * 1024 VS_FLOAT_CONSTANTS. This is fine with nVidia, but the ATi drivers
+	 * in OS X use some vertex shaders for internal calculations.
+	 * This number is never subtracted from the available ones, and OS X always
+	 * advertises 1024, so when an application tries to access these constants
+	 * they have incorrect values. This hack lets the user report a fixed number
+	 */
+	if (wined3d_settings.override_vertex_constants) {
+		FIXME("Using Constants Override\n");
+		gl_info->limits.glsl_vs_float_constants = wined3d_settings.vertex_constants_number;
+		FIXME("Constants Number is now set at %i\n", wined3d_settings.vertex_constants_number);
+	}
+}
+
static void quirk_apple_glsl_constants(struct wined3d_gl_info *gl_info)
{
+	quirk_arb_constants(gl_info);
	 /* MacOS needs uniforms for relative addressing offsets. This can accumulate to quite a few uniforms.
	  * Beyond that the general uniform isn't optimal, so reserve a number of uniforms. 12 vec4's should
	  * allow 48 different offsets or other helper immediate values. */
-	TRACE("Reserving 12 GLSL constants for compiler private use.\n");
-	gl_info->reserved_glsl_constants = max(gl_info->reserved_glsl_constants, 12);
+	
+	// Dont reserve anything if we're using the shader hack and the available shaders are less than 270
+	if (!wined3d_settings.override_vertex_constants &&
+		wined3d_settings.vertex_constants_number > 269) {
+		TRACE("Reserving 12 GLSL constants for compiler private use.\n");
+		gl_info->reserved_glsl_constants = max(gl_info->reserved_glsl_constants, 12);
+	}
}

static void quirk_amd_dx9(struct wined3d_gl_info *gl_info)
diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c
index 2247e9c..9435ee4 100644
--- a/dlls/wined3d/wined3d_main.c
+++ b/dlls/wined3d/wined3d_main.c
@@ -84,6 +84,8 @@ struct wined3d_settings wined3d_settings =
	 TRUE,		   /* Multisampling enabled by default. */
	 FALSE,		  /* No strict draw ordering. */
	 TRUE,		   /* Don't try to render onscreen by default. */
+	FALSE,		  /* Override vertex constants? */
+	1024,		   /* Number of vertex shaders to use */
};

/* Do not call while under the GL lock. */
@@ -323,6 +325,21 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL)
			 TRACE("Not always rendering backbuffers offscreen.\n");
			 wined3d_settings.always_offscreen = FALSE;
		 }
+		if (!get_config_key(hkey, appkey, "OverrideVertexShaders", buffer, size)
+				&& !strcmp(buffer,"enabled"))
+		{
+			TRACE("Override Vertex Shader Constants\n");
+			wined3d_settings.override_vertex_constants = TRUE;
+		}
+		if (!get_config_key(hkey, appkey, "VertexShaderConstants", buffer, size))
+		{
+			int TmpVertexShaderConstants = atoi(buffer);
+			if (TmpVertexShaderConstants > 0)
+			{
+				wined3d_settings.vertex_constants_number = TmpVertexShaderConstants;
+				TRACE("Use %i Vertex Shader Constants\n", TmpVertexShaderConstants);
+			}
+		}
	 }
	 if (wined3d_settings.vs_mode == VS_HW)
		 TRACE("Allow HW vertex shaders\n");
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 5ea23b4..0e79f5d 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -281,6 +281,8 @@ struct wined3d_settings
	 int allow_multisampling;
	 BOOL strict_draw_ordering;
	 BOOL always_offscreen;
+	BOOL override_vertex_constants;
+	int vertex_constants_number;
};

extern struct wined3d_settings wined3d_settings DECLSPEC_HIDDEN;

Moving on to the patch:

Spoiler
if applying the patch fails, download it from:
http://www.mediafire...aef4vgk8drdp7nc

After you create an engine with the patch, and create a wrapper with it, you will still have to enable the hack within wine's registry.
Open regedit and go to HKEY_CURRENT_USER\Software\Wine\Direct3D

Create a new "String Value" named "OverrideVertexShaders", and set its value to "enabled"
Create another "String Value" named "VertexShaderConstants", and set the number of constants to use.
For ATi's I'd suggest values between 450 - 1000, but of course feel free to experiment.
The lower you go, the faster the framerate, but you'll get more graphical glitches
The higher you go, the less glitches, but slower framerate.

Gool luck and welcome back those ATi users!

Posted Image
If I helped in any way, you can always click the Like button! | All my Ports | Download Barrel: The Wine Port Manager for Mac OS X


#2 hmtinc

hmtinc

    Someone

  • Members
  • 1315 posts
  • LocationCanada
  • Graphics Card:Nvidia GTX 760 (2048mb)
    Intel HD 4000 (512mb)
    Nvidia geforce 9400 (264mb)
  • Operating System:OS X 10.8 (Mountain Lion)
  • I like to play:Games
Author

Posted 15 October 2012 - 11:22 PM

Can i use this in a Infinity Engine ? :D
so users don't have to manually patch the engine them selves
--
HM

#3 thanoulas

thanoulas

    Champion Member

  • Database Moderators
  • 568 posts
  • LocationLondon
  • Graphics Card:nVidia GT750M 2GB
  • Operating System:OS X 10.9 (Mavericks)

Posted 15 October 2012 - 11:24 PM

 hmtinc, on 15 October 2012 - 11:22 PM, said:

Can i use this in a Infinity Engine ? :D
so users don't have to manually patch the engine them selves
Of course, I posted the source code for everyone to use, no need to ask :)

Posted Image
If I helped in any way, you can always click the Like button! | All my Ports | Download Barrel: The Wine Port Manager for Mac OS X


#4 rynotheking14

rynotheking14

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 475 posts
  • LocationCanada
  • Graphics Card:ATI Radeon 6750M
  • Operating System:OS X 10.8 (Mountain Lion)
  • I like to play:Shooters, Action-RPG, Some-strategy

Posted 15 October 2012 - 11:36 PM

wait isn't it a .patch and not a .diff?  im going to try this right away...

oh yea.  and do i build with the standard wine engines (this makes sense) or the AMDSpeedHack ones???

#5 thanoulas

thanoulas

    Champion Member

  • Database Moderators
  • 568 posts
  • LocationLondon
  • Graphics Card:nVidia GT750M 2GB
  • Operating System:OS X 10.9 (Mavericks)

Posted 15 October 2012 - 11:45 PM

 rynotheking14, on 15 October 2012 - 11:36 PM, said:

wait isn't it a .patch and not a .diff?  im going to try this right away...

oh yea.  and do i build with the standard wine engines (this makes sense) or the AMDSpeedHack ones???
I think it's the same type of file, easiest way to do it is download SourceTree (best git client out there) and apply the diff file. You'll need to do it with the standard version of wine, not the atifix one

Posted Image
If I helped in any way, you can always click the Like button! | All my Ports | Download Barrel: The Wine Port Manager for Mac OS X


#6 rynotheking14

rynotheking14

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 475 posts
  • LocationCanada
  • Graphics Card:ATI Radeon 6750M
  • Operating System:OS X 10.8 (Mountain Lion)
  • I like to play:Shooters, Action-RPG, Some-strategy

Posted 15 October 2012 - 11:55 PM

so i can't just use the usual patching wine method?

#7 thanoulas

thanoulas

    Champion Member

  • Database Moderators
  • 568 posts
  • LocationLondon
  • Graphics Card:nVidia GT750M 2GB
  • Operating System:OS X 10.9 (Mavericks)

Posted 15 October 2012 - 11:59 PM

 rynotheking14, on 15 October 2012 - 11:55 PM, said:

so i can't just use the usual patching wine method?
I'm pretty sure you can, I just suggested a good free client for git that will make your life easier when applying patches

Posted Image
If I helped in any way, you can always click the Like button! | All my Ports | Download Barrel: The Wine Port Manager for Mac OS X


#8 hmtinc

hmtinc

    Someone

  • Members
  • 1315 posts
  • LocationCanada
  • Graphics Card:Nvidia GTX 760 (2048mb)
    Intel HD 4000 (512mb)
    Nvidia geforce 9400 (264mb)
  • Operating System:OS X 10.8 (Mountain Lion)
  • I like to play:Games
Author

Posted 16 October 2012 - 12:11 AM

 rynotheking14, on 15 October 2012 - 11:55 PM, said:

so i can't just use the usual patching wine method?
Ryno i am compiling a pre patched engine for those who have troubles with patching wine . So you could try that when i put it up in the next few hours :P
--
HM

#9 rynotheking14

rynotheking14

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 475 posts
  • LocationCanada
  • Graphics Card:ATI Radeon 6750M
  • Operating System:OS X 10.8 (Mountain Lion)
  • I like to play:Shooters, Action-RPG, Some-strategy

Posted 16 October 2012 - 12:26 AM

yea wine patching always works for me.  its building the damn custom engine that sometimes just decides not to work.  unless i need a specific version of Xcode...

#10 hmtinc

hmtinc

    Someone

  • Members
  • 1315 posts
  • LocationCanada
  • Graphics Card:Nvidia GTX 760 (2048mb)
    Intel HD 4000 (512mb)
    Nvidia geforce 9400 (264mb)
  • Operating System:OS X 10.8 (Mountain Lion)
  • I like to play:Games
Author

Posted 16 October 2012 - 12:38 AM

 rynotheking14, on 16 October 2012 - 12:26 AM, said:

yea wine patching always works for me.  its building the damn custom engine that sometimes just decides not to work.  unless i need a specific version of Xcode...
That happens to me alot . In fact just a few seconds ago the wine build process crashed. The errors are usally caused by conflicting wine arguments .
--
HM

#11 doh123

doh123

    Wineskin Developer

  • Members
  • 4279 posts
  • LocationOver here
  • Graphics Card:Geforce GT 650M, Intel HD 4000, Radeon 6750, Intel HD 3000, Geforce 320m (in 3 machines)
  • Operating System:OS X 10.8 (Mountain Lion)
  • I like to play:RPG and Strategy

Posted 16 October 2012 - 01:50 AM

I need to know from users how good this works overall... and replace the old AMD Speed Hack junk with this if its much better.

#12 rynotheking14

rynotheking14

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 475 posts
  • LocationCanada
  • Graphics Card:ATI Radeon 6750M
  • Operating System:OS X 10.8 (Mountain Lion)
  • I like to play:Shooters, Action-RPG, Some-strategy

Posted 16 October 2012 - 02:17 AM

@doh remind me, can i use the version from the MAS to build custom engines?  And if i can are there any workarounds I must do?

#13 hmtinc

hmtinc

    Someone

  • Members
  • 1315 posts
  • LocationCanada
  • Graphics Card:Nvidia GTX 760 (2048mb)
    Intel HD 4000 (512mb)
    Nvidia geforce 9400 (264mb)
  • Operating System:OS X 10.8 (Mountain Lion)
  • I like to play:Games
Author

Posted 16 October 2012 - 02:41 AM

For those of you who dont know how to patch engines or cant get the source to compile in wineskin ... I have made a ready made/ pre - built version available for download here : http://portingteam.c...infinity-green/

 doh123, on 16 October 2012 - 01:50 AM, said:

I need to know from users how good this works overall... and replace the old AMD Speed Hack junk with this if its much better.
I wouldn't replace the amd speed hack with this just yet because this patch requires you to performs regedit's  after the engine is installed
--
HM

#14 doh123

doh123

    Wineskin Developer

  • Members
  • 4279 posts
  • LocationOver here
  • Graphics Card:Geforce GT 650M, Intel HD 4000, Radeon 6750, Intel HD 3000, Geforce 320m (in 3 machines)
  • Operating System:OS X 10.8 (Mountain Lion)
  • I like to play:RPG and Strategy

Posted 16 October 2012 - 03:10 AM

 rynotheking14, on 16 October 2012 - 02:17 AM, said:

@doh remind me, can i use the version from the MAS to build custom engines?  And if i can are there any workarounds I must do?

the what?  Theres nothing in the MAS... no idea what you are talking about.

#15 ValkTuna

ValkTuna

    Imitator, Intimidator, Stimulator, Simulator of Data, Eliminator

  • Members
  • 770 posts
  • LocationIn the deep dark depths of the earth... :P
  • Graphics Card:nVidia GeForce 320M 256MB.
  • Operating System:OS X 10.9 (Mavericks)
  • I like to play:SMITE, LoL, and other games that catch my attention. Usually a wide range of genres.

Posted 16 October 2012 - 04:41 AM

 doh123, on 16 October 2012 - 03:10 AM, said:

the what?  Theres nothing in the MAS... no idea what you are talking about.
I think he's asking about XCode. To build engines...
Posted Image
Main banner thanks to RazorPro
Avatar thanks to adini

I don't have anything else to say, I guess.

#16 rynotheking14

rynotheking14

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 475 posts
  • LocationCanada
  • Graphics Card:ATI Radeon 6750M
  • Operating System:OS X 10.8 (Mountain Lion)
  • I like to play:Shooters, Action-RPG, Some-strategy

Posted 16 October 2012 - 05:49 AM

MAS = Mac App Store...

#17 ValkTuna

ValkTuna

    Imitator, Intimidator, Stimulator, Simulator of Data, Eliminator

  • Members
  • 770 posts
  • LocationIn the deep dark depths of the earth... :P
  • Graphics Card:nVidia GeForce 320M 256MB.
  • Operating System:OS X 10.9 (Mavericks)
  • I like to play:SMITE, LoL, and other games that catch my attention. Usually a wide range of genres.

Posted 16 October 2012 - 06:39 AM

 rynotheking14, on 16 October 2012 - 05:49 AM, said:

MAS = Mac App Store...

I think doh knows what MAS is, but she doesn't know what "version" of anything you were talking about to build custom engines.

 rynotheking14, on 16 October 2012 - 02:17 AM, said:

@doh remind me, can i use the version from the MAS to build custom engines?  And if i can are there any workarounds I must do?

Posted Image
Main banner thanks to RazorPro
Avatar thanks to adini

I don't have anything else to say, I guess.

#18 thanoulas

thanoulas

    Champion Member

  • Database Moderators
  • 568 posts
  • LocationLondon
  • Graphics Card:nVidia GT750M 2GB
  • Operating System:OS X 10.9 (Mavericks)

Posted 16 October 2012 - 08:46 AM

 rynotheking14, on 16 October 2012 - 02:17 AM, said:

@doh remind me, can i use the version from the MAS to build custom engines?  And if i can are there any workarounds I must do?

Yeah you can use it, you just need the 10.6.sdk headers. Download xCode, install command line tools, and download MacOSX10.6.sdk from the net, put it in your /Developer/SDKs folder and build an engine for 10.6

Posted Image
If I helped in any way, you can always click the Like button! | All my Ports | Download Barrel: The Wine Port Manager for Mac OS X


#19 thanoulas

thanoulas

    Champion Member

  • Database Moderators
  • 568 posts
  • LocationLondon
  • Graphics Card:nVidia GT750M 2GB
  • Operating System:OS X 10.9 (Mavericks)

Posted 16 October 2012 - 09:26 AM

 doh123, on 16 October 2012 - 01:50 AM, said:

I need to know from users how good this works overall... and replace the old AMD Speed Hack junk with this if its much better.
I'm not saying this because I built the patch, but this is much much better.
It does pretty much the same thing as the AMD Speed Hack, but instead of setting a fixed value of 256 (which is what the hack does) it gives the user the option to set the value himself. All ATi's > 5xxx support 1024 constants, so wine is fully working with them. Pre 5xxx ati's still don't work, as they don't have enough shader constants (only 128 - 256).

And here's an idea. You can add a switch in wineskin to enable the AMD patch, and give a textfield to enter the amount of shaders. You just need to change two registry values in the .reg file of the wrapper to achieve this. This makes the patch very user friendly.
What do you think?

Posted Image
If I helped in any way, you can always click the Like button! | All my Ports | Download Barrel: The Wine Port Manager for Mac OS X


#20 ovvldc

ovvldc

    Master Member

  • Members
  • 1259 posts
  • LocationEurope
  • Graphics Card:Intel Iris Plus
  • Operating System:Other OS/Not specified
  • I like to play:stories

Posted 16 October 2012 - 09:39 AM

Isn't it possible to just put a list of appropriate values into the patch? I think Wine recognises lots of different cards, so the card ID could be used to pick the right set automatically... Of course, that isn't quite future proof, so maybe have the switch as a backup :(.

#21 Random

Random

    Professional Member

  • Members
  • PipPipPipPip
  • 106 posts
  • Graphics Card:AMD Radeon HD6490M
  • Operating System:OS X 10.8 (Mountain Lion)

Posted 16 October 2012 - 09:47 AM

 doh123, on 16 October 2012 - 01:50 AM, said:

I need to know from users how good this works overall... and replace the old AMD Speed Hack junk with this if its much better.


 thanoulas, on 16 October 2012 - 09:26 AM, said:

I'm not saying this because I built the patch, but this is much much better.
It does pretty much the same thing as the AMD Speed Hack, but instead of setting a fixed value of 256 (which is what the hack does) it gives the user the option to set the value himself. All ATi's > 5xxx support 1024 constants, so wine is fully working with them. Pre 5xxx ati's still don't work, as they don't have enough shader constants (only 128 - 256).

I second this, Dishonored wouldn't run on any of the engines so far, producing glsl errors - except with this patch. I will try it on some other games I had shader errors with and give further feedback.

Oh and thanks thanoulas, great stuff :)

#22 Random

Random

    Professional Member

  • Members
  • PipPipPipPip
  • 106 posts
  • Graphics Card:AMD Radeon HD6490M
  • Operating System:OS X 10.8 (Mountain Lion)

Posted 16 October 2012 - 09:49 AM

 thanoulas, on 16 October 2012 - 09:26 AM, said:

And here's an idea. You can add a switch in wineskin to enable the AMD patch, and give a textfield to enter the amount of shaders. You just need to change two registry values in the .reg file of the wrapper to achieve this. This makes the patch very user friendly.
What do you think?

Why don't just add it to winetricks settings?

#23 thanoulas

thanoulas

    Champion Member

  • Database Moderators
  • 568 posts
  • LocationLondon
  • Graphics Card:nVidia GT750M 2GB
  • Operating System:OS X 10.9 (Mavericks)

Posted 16 October 2012 - 10:42 AM

 ovvldc, on 16 October 2012 - 09:39 AM, said:

Isn't it possible to just put a list of appropriate values into the patch? I think Wine recognises lots of different cards, so the card ID could be used to pick the right set automatically... Of course, that isn't quite future proof, so maybe have the switch as a backup :(.
While wine detects the card, it doesn't detect the game. I cannot hard code something like this in wine, as it would probably create problems with games that are not affected by the bug

Posted Image
If I helped in any way, you can always click the Like button! | All my Ports | Download Barrel: The Wine Port Manager for Mac OS X


#24 doh123

doh123

    Wineskin Developer

  • Members
  • 4279 posts
  • LocationOver here
  • Graphics Card:Geforce GT 650M, Intel HD 4000, Radeon 6750, Intel HD 3000, Geforce 320m (in 3 machines)
  • Operating System:OS X 10.8 (Mountain Lion)
  • I like to play:RPG and Strategy

Posted 16 October 2012 - 10:59 AM

 thanoulas, on 16 October 2012 - 09:26 AM, said:

I'm not saying this because I built the patch, but this is much much better.
It does pretty much the same thing as the AMD Speed Hack, but instead of setting a fixed value of 256 (which is what the hack does) it gives the user the option to set the value himself. All ATi's > 5xxx support 1024 constants, so wine is fully working with them. Pre 5xxx ati's still don't work, as they don't have enough shader constants (only 128 - 256).

And here's an idea. You can add a switch in wineskin to enable the AMD patch, and give a textfield to enter the amount of shaders. You just need to change two registry values in the .reg file of the wrapper to achieve this. This makes the patch very user friendly.
What do you think?
Sounds like a good idea... might need some help in there to tell people common numbers to use though?  Maybe just in the FAQ with some info on which cards use best with which numbers... if you have that info from some of the testing.

 SouthTuna, on 16 October 2012 - 04:41 AM, said:

I think he's asking about XCode. To build engines...
oh... yes of course the MAS Xcode is fine, but best to use the 10.6 SDK that Apple killed off.

 ovvldc, on 16 October 2012 - 09:39 AM, said:

Isn't it possible to just put a list of appropriate values into the patch? I think Wine recognises lots of different cards, so the card ID could be used to pick the right set automatically... Of course, that isn't quite future proof, so maybe have the switch as a backup :(.
Probably not in Wine itself, but this detection could be in Wineskin, as the "detect GPU info for direct3d" already gets the card info, and makes registry changes... it could do a couple more quickly and easily.  We'd need to set up something like a plist of cards and values... don't wanna hard-code that in, so people can add card info later without having to get a whole new Wineskin update.

 Random, on 16 October 2012 - 09:49 AM, said:

Why don't just add it to winetricks settings?
If its not in normal Wine, it won't go into Winetricks... but we could try doing this ourselves in a customized Winetricks... but I'd really rather just build in something to Wineskin to handle things....

#25 thanoulas

thanoulas

    Champion Member

  • Database Moderators
  • 568 posts
  • LocationLondon
  • Graphics Card:nVidia GT750M 2GB
  • Operating System:OS X 10.9 (Mavericks)

Posted 16 October 2012 - 11:14 AM

 doh123, on 16 October 2012 - 10:59 AM, said:

Sounds like a good idea... might need some help in there to tell people common numbers to use though?  Maybe just in the FAQ with some info on which cards use best with which numbers... if you have that info from some of the testing.

I can build a list of cards with the correct number of supported uniform shaders because os x always reports 4096.
Let's say this patch supports only R600 cards and up.

So you basically need to detect if the engine is an ATiFix engine. (a plist entry for example)
Then if that's true, you reveal a tickbox to enable the patch (the "enabled" value in the registry)
and have a slider which starts at "auto" (the recommended by us depending on the card)
and then slides from min (set by us depending on the card) to max (set by us again)

I'll compile a list of cards for you

Posted Image
If I helped in any way, you can always click the Like button! | All my Ports | Download Barrel: The Wine Port Manager for Mac OS X


#26 thanoulas

thanoulas

    Champion Member

  • Database Moderators
  • 568 posts
  • LocationLondon
  • Graphics Card:nVidia GT750M 2GB
  • Operating System:OS X 10.9 (Mavericks)

Posted 16 October 2012 - 11:49 AM

Gathering the card's MAX_VERTEX_UNIFORM_COMPONENTS value is pointless...
It relies on the profile version of the OpenGL running on the system.

For example, my card reports 4096 uniform components on OpenGL 2.1 profile
and 1024 on OpenGL 3.2 (but with 12 channels, which means 12x1024)

There is no way to get the actual card supported value, it's what OpenGL can do for that card.

My recommendations would be:
CardAuto ValueMin ValueMax Value
ATi R600, R700245230256
ATi R800, ATi 6xxx4992301024
ATi 7xxx10002304096

Posted Image
If I helped in any way, you can always click the Like button! | All my Ports | Download Barrel: The Wine Port Manager for Mac OS X


#27 Reboot

Reboot

    I am Darkstar

  • Database Moderators
  • 2381 posts
  • Graphics Card:Nvidia EVGA GTX 980 SC 4GB
  • Operating System:OS X 10.9 (Mavericks)
Author

Posted 16 October 2012 - 02:33 PM

Testing table bbcode.

Column 1Column 2
Cell 1Cell 2
Cell 3Cell 4


Mine is works fine. Here is info: http://portingteam.c...0-bbcode-table/

Posted Image


~ ~ ~ Hackintosh Spec ~ ~ ~

Intel Core i5-3570K 4.20GHz -- Patriot Viper Xtreme 8GB DDR3 1600MHz -- Nvidia EVGA GTX 980 4GB VRAM GDDR5 SC


#28 cluthz

cluthz

    Senior Hall monitor!

  • Super Forum Moderators
  • 2836 posts
  • LocationNorway
  • Graphics Card:Nvidia GTX780 GHz Edition
  • Operating System:OS X 10.9 (Mavericks)
Author

Posted 16 October 2012 - 03:04 PM

 thanoulas, on 16 October 2012 - 11:49 AM, said:

Here's the cards I've gathered so far.
??? means if you have the card and can check the number of max_vertex_uniform_components for openGL 2.x profile, please post it here
I'll continue adding some other cards in a while

Are you using the wrapper to find these constants or opengl extension viewer?

[HackPro i7-4790K, 3x SSD + 5TB HDD • 16GB RAM • NVidia GTX 780 GHz Edition • OSX 10.10] . [MacBookAir 13 1.7GHz • Intel HD 3000 • OSX 10.9.5]


How to port Steam games .... My Youtube Porting videos ... Play my RPG


#29 thanoulas

thanoulas

    Champion Member

  • Database Moderators
  • 568 posts
  • LocationLondon
  • Graphics Card:nVidia GT750M 2GB
  • Operating System:OS X 10.9 (Mavericks)

Posted 16 October 2012 - 03:20 PM

 cluthz, on 16 October 2012 - 03:04 PM, said:

Are you using the wrapper to find these constants or opengl extension viewer?

Either of them will report what the driver reports, not what the card is capable of. There is no real way to get a proper number. Read my previous edited post.

Posted Image
If I helped in any way, you can always click the Like button! | All my Ports | Download Barrel: The Wine Port Manager for Mac OS X


#30 Dyadic

Dyadic

    Lurker

  • Members
  • 1 posts

Posted 16 October 2012 - 09:00 PM

 doh123, on 16 October 2012 - 01:50 AM, said:

I need to know from users how good this works overall... and replace the old AMD Speed Hack junk with this if its much better.

First off, I want to thank thanoulas for the amazing work! This patch is a lifesaver for users (like myself) who were virtually marooned by the latest Wine updates (thanks to AMD and Apple).

I applied the patch to 1.5.13, and swapped out engines in my Mass Effect 2 & 3 wrappers. Both of these games (especially ME3) suffered significant slowdowns in the 1.4.1+ Wine builds thanks to the longstanding GLSL bug.

The patched engines showed major performance increases (comparable with Cider), as well as eliminating several graphics glitches (related to rendering semi-transparent textures). While I did notice a few lag spikes (in between cutscenes or combat), the games are now quite playable.

MUCH better than the old speedhack.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users