/* FIXME: temporaries must match D3DPSHADERCAPS2_0.NumTemps */
case20:This->baseShader.limits.temporary=32;
This->baseShader.limits.constant_float=32;
This->baseShader.limits.constant_int=16;
This->baseShader.limits.constant_bool=16;
This->baseShader.limits.texture=8;
break;
case30:This->baseShader.limits.temporary=32;
This->baseShader.limits.constant_float=224;
This->baseShader.limits.constant_int=16;
This->baseShader.limits.constant_bool=16;
This->baseShader.limits.texture=0;
break;
default:This->baseShader.limits.temporary=32;
This->baseShader.limits.constant_float=8;
This->baseShader.limits.constant_int=0;
This->baseShader.limits.constant_bool=0;
This->baseShader.limits.texture=8;
FIXME("Unrecognized pixel shader version %lu!\n",version);
}
}
/* NOTE: A description of how to parse tokens can be found at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/graphics/hh/graphics/usermodedisplaydriver_shader_cc8e4e05-f5c3-4ec0-8853-8ce07c1551b2.xml.asp */
/* FIXME: if there are no calls or loops then use ARBvp1 otherwise use GLSL instead
TODO: see if there are any operations in vs2/3 that aren't supported by ARBvp
TODO: only map the maximum possible number of constants supported by openGL and not the maximum required by d3d (even better only map the used constants)*/