Game Development Community

Radeon 9800 SE and compile pixel shader error

by arteria3d · in Torque Game Engine Advanced · 12/30/2004 (5:11 pm) · 16 replies

Hi,

I get the following error with my Radeon 9800 SE card - which i know for sure supports shader 2 stuff:



The error i now get is : When i run the demo, as it is trying to load the datablocks the following error appears:

Unable to compile pixel shader/planarReflectP.hlsl for target ps_1_4.

A look in the console log reveals:
error X4512: accessing texture coordinate w-component not yet implemented in ps_1_4

Anyone got any ideas why this is happening?

About the author

Owner of uk based Ltd company ArteriaMediaLtd. with a trading name of Arteria3d Website;arteria3d.com


#1
12/31/2004 (6:58 am)
Strange.. Well, try this.

In shaders.cs, change pixVersion = 1.4; to pixVersion = 2.0; in the 'Reflect' datablock.
#2
12/31/2004 (7:06 am)
Well Welll

Thanks Westy - that did the trick!!!!

A further look at the shaders.cs file revealed that, that was the only datablock to use the 1.4 setting. All other datablocks were set to shader=2. I wonder why this would make a difference

I Apreciate your help,

Thanls

Steve
#3
12/31/2004 (9:09 am)
Glad to see this got solved. But i'm curious... why was this not set to 2.0 already?
#4
12/31/2004 (9:11 am)
Yeah very odd isnt it.

Even though as my card can support shader 2 stuff, why wouldnt it compile for the previous one - which is for an earlier shader! Crazy

I wonder when milestone 2 will be finished - i am eagerly awaiting the reflective water and new terrain

Steve
#5
12/31/2004 (10:05 am)
It wouldn't compile because when the version is set to 1.4, it compiles for a 1.4 pixel shader target, regardless of the capabilities of the card. Compiling for the minimum necessary target is good because while a card _can_ run 2.0, it often does so more slowly than it would run an identical shader on a 1.4 or lower target.

So it's good practice to compile for the minimum target. It's curious it didn't work properly for your system, as it runs fine on our systems at work.
#6
12/31/2004 (10:46 am)
Runs fine on mine too (fx 5700 le).
#7
12/31/2004 (2:42 pm)
Maybe it's related to the version of DirectX you have?
#8
12/31/2004 (2:43 pm)
Direct X 9c
#9
01/01/2005 (2:33 pm)
Which update?
#10
01/05/2005 (3:56 pm)
Arggh, that's really annoying it doesn't compile for you. Like Ben said, you want to compile to the minimum target, especially since 1.1-1.4 targets actually run faster on than 2.0 targets (at least on the FX series of cards). I actually wrote that shader specifically for 1.4 cards.

Are you running on a laptop by chance Stevie?
#11
01/05/2005 (4:01 pm)
Hi,

No not using a laptop. My system is a 2.8 P4 with 1.5 gig ram and the Radeon 9800 se card
I had to change it to 2.0 - it would compile with 1.4 but would not run with 1.4.


Steve
#12
01/15/2005 (9:44 pm)
This is odd. Im getting the EXACT same error on my machine right now and I didnt get it the first time I compiled TSE (which was some months ago). In fact, I compiled it several times between the time of my purchase and now and it ran without problems.

This afternoon I grabbed it again so I could have a fresh install on my machine and Im getting this error.

I have a amd 64FX with a gig of ram and a GeForce 5900.

This is beyond nutty.
#13
01/17/2005 (1:21 pm)
Can you guys having problems with this download the Dojo Demo and see if you are getting the same problem?

ftp://demos.garagegames.com/tse/TSEDojoDemo-Installer.exe

Thanks!
#14
01/18/2005 (2:41 am)
Hi

I downloaded the demo and *it worked fine. I was very excited to see reflective surfaces, and the amazin environment mapping on the character and the FPS was still at 80!!

Steve
#15
06/14/2005 (10:40 pm)
Gahhh!!! I'm getting the same thing the original poster got. I tried all the fixes suggested (chaging pixel version number on the shader datablock, etc, to no avail). I finally just commented out the entire offending shader datablock:

//datablock ShaderData( Reflect )
//{
// DXVertexShaderFile = "shaders/planarReflectV.hlsl";
// DXPixelShaderFile = "shaders/planarReflectP.hlsl";
//pixVersion = 1.4;
// pixVersion = 2.0;
//};

That 'fixed' that problem, but then I got another error saying it could not compile a vertex shader. Grrrr!

I am running on a P4 3GHz laptop with an nVidia GeForce Go 6800.
#16
06/16/2005 (11:53 am)
Man I hate laptop cards. Comment out all Materials that use the Reflect shader and you should be OK to run.