VOGONS


First post, by ih8registrations

User metadata
Rank Oldbie
Rank
Oldbie

As long this has existed I've never gotten it to work.

I've always met the hardware requirements; 6600gt, radeon 4850.

So, I've gone to gulikoza's page: http://www.si-gamer.net/gulikoza/

Downloaded and extracted/installed DOSBoxcvs-080914.zip and D3DX9_30_dll_update.zip.

Set output=direct3d, pixelshader=AdvancedAA.fx, fullresolution=original

Ran low resolution games as required; prince of persia & wolf3d, tried fullscreen as well as windowed, tried different shaders, but it always results with: "D3D:Pixel shader not needed."

If anyone has a working solution I'm all ears.

Reply 1 of 7, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Each shader defines a variable called SCALING:

float scaling : SCALING = 2.0;

This variable tells D3D output the minimum hardware scaling required for shader to activate. There is no point in running a 2x shader when only AR scaling is active for instance. Most shaders activate at 2x, HQ shader activates at 1.01, the color shaders are always active. The next step is to configure dosbox, so that hardware scaling is actually requested. You can do that by configuring windowresolution or fullresolution (there used to be a hwscale parameter once 😀). Similarly, you can use scaler=hardware2x in my builds which works the same way as normal2x but uses shaders instead (again, normal2x used to behave like this once...it uses hardware scaling when available, so the shaders can kick in).

http://www.si-gamer.net/gulikoza

Reply 2 of 7, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

The pixelshader= parameter (unlike scaler=) does not configure the amount of scaling, it only configures the algorithm IF there is scaling. Scaling has to be configured by other parameters: fullresolution, windowresolution or scaler=hardware2x...

http://www.si-gamer.net/gulikoza

Reply 3 of 7, by ih8registrations

User metadata
Rank Oldbie
Rank
Oldbie

BTW, belated thanks. Your explanation was a bit hard to follow though, and.. multiple methods to configure the same variable? Multiple variables needed to turn it on? I'd simplify, and add a default so that setting just pixelshader turns it on, and I'd group the variables together.

Reply 4 of 7, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Yeah I know...I'm not that good at explaining 😜

Well basically pixelshader option is tied to output. Just like you have openglnb and opengl which don't imply scaling just set different scaling algorithms. Because I'd rather not have a gazillion direct3d-somescaling outputs I chose to split that to a seperate option.

http://www.si-gamer.net/gulikoza

Reply 5 of 7, by ih8registrations

User metadata
Rank Oldbie
Rank
Oldbie

I'm not talking about changing the nomenclature, just when setting pixelshader, "pixelshader=AdvancedAA.fx," it has an associated/set default if scaler wasn't defined or defined correctly, handling it like other dosbox options are done. Look at dosbox.cpp for an example, all the variables for sound devices have defaults if not set in dosbox.conf. Merely do the same. One difference would be, since there's so many shaders, rather than putting it in dosbox.cpp I would define the default in the .fx shader file, and barring not putting in a default, an error message that isn't meaningless. Something like "Scaler variable in dosbox.conf needs to be set. for example 'scaler=2.0', check 'whatever file' for range."

Reply 6 of 7, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Well...the scaler setting is not required to get pixel shader output. Actually, plain cvs doesn't even have a scaler setting which would activate the (scaling)shaders. What is required (not for all though) is a certain amount of hardware scaling...which is usually the result of windowresolution or fullresolution settings. I created hardwareXx scalers because I got used to it 😀

The error message seems perfectly clear to me, perhaps I'd just need to add an explanation "D3D:Pixel shader not needed because the current hardware scaling Xx in less then Yx which is what the shader needs to look ok" 😀

Somewhat offtopic, somebody has sent me a gallery of all the shader effects. You can see it here: http://www.si-gamer.net/gulikoza/gallery

http://www.si-gamer.net/gulikoza

Reply 7 of 7, by ih8registrations

User metadata
Rank Oldbie
Rank
Oldbie

"D3D:Pixel shader not needed" is not clear at all(and wrong for that matter.) That's the disinformative error message when trying to use a shader that won't run unless scaler is set, on an applicable "needed" resolution.

In this situation, instead of "D3D:Pixel shader not needed", have "D3D: scaler needs to be set in dosbox.conf (ex. scaler=hardware2x), using default: <blah>", then run with the minimum required scaler as defined in the fx file.