1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

DGPUShaderManager - Problem when starting a race or selecting a car

Discussion in 'Racer Problems & Fixes' started by ksMafia, May 9, 2010.

  1. Hi,

    when I start Racer and I want to select a car or start a race I get the attached error message. It's about the DPGUShaderManager and it has problems creating a "cg fragment program". I'm running Win XP 2 GHz, 1 GB Ram.
    I hope there is a possibility to fix this.
    Have a nice day.

    Attached Files:

  2. Stereo

    Premium Member

    Looks like your graphics card can't handle the bumpmap shader...

    You could adjust the shader program to use less instructions, or go into the car folder, open "car.shd" with a text editor.
    Find where it says "dyn_standard_bump_reflect_f.cg" and replace it with "dyn_standard_reflect_f.cg". Find "dyn_standard_bump_reflect_v.cg" and replace with "dyn_standard_reflect_v.cg". This uses a simpler cg shader.

    I don't know which version of Racer you're using but it might also be fixed by getting updated. This problem has come up before so the recent default shaders should be more compatible with older cards.
  3. The second option seems quite uncomfortable because i haven't installed new cars so I guess if I have to change this at the default cars I would need to do this whenever I install a new car -> quite time consuming.
    But the first one: How do I do it? :confused:
    I run 0.8.8 so there's no possibility to update:)
  4. Same Problem

    I am experiencing the same issue. I just installed Racer.V088 on a Toshiba Satellite A135-S2326 Laptop with ATI Radeon Xpress 200M integrated video.

    Here is the Error:

    DGPUShaderManager:MakeObject(dyn_standard_bump_reflect_f.cg): can't create CG fragment shader program
    CG ERROR : "The combile returned an error."
    data/renderer/shaders_ldr/dyn_standard_bump_reflect_f.cg(86) : warning C7011: implicit cast from "float3" to "float"
    ...similar 4 lines...
    (0) : error C6003 : Arithmetic instruction limit of 64 exceeded; 72 arithmetic instructions needed to complile program
  5. Tried this and it dropped down to 69 instructions needed from 72, looks like I have to get it down to 64 to run though, anything else I can adjust?
  6. Stereo

    Premium Member

    Well, the .cg files are text files, and they're in data\renderer\shaders_hdr.

    One thing you can drop without significant visual differences is the sky color. It mostly affects distant objects, so as long as the car stays near the camera it won't be an issue.

      // Get sky gradient color
    Comment this line out (// at the start) as well as this line further down:
    Should hopefully reduce the number instructions enough for it to run.
  7. What else isn't needed so much? It's 65 at a limit of 64 instead of 66 at a limit of 64.