To create an image on the screen, the CPU provides the necessary information of the objects: coordinates, color and alpha channel values, textures etc. From these data the Graphical Processing Unit (GPU) calculates the image through complex operations. The exact architecture may vary by manufacturers and by GPU families as well, but the general ideas are the same. The DirectX 10 pipeline stages to produce an image are:

  1. It says that my graphics card doesn't have DX9 Shader Model 3.0, and that my graphics card doesnt meet the minimum requirements some ♥♥♥♥♥♥♥♥ like that. In fact, this whole thing is ♥♥♥♥♥♥♥♥ because i have directx 11, and a 900 series card, as if THAT isnt enough. Funny, it used to work before but for some reason now it doesn't.
  2. BUT some graphic hardware doesn't support shader model 3.0 ( even with installing proper directx ), the thing is i want to determine it by checking the hardware. Thanks in advance. EDIT: OK I did figure it out( Thanks to people on gamedev) Using GPU-Z, Command line. Gpu-z.exe -dump gpuz.xml.
Gpu shader 3.0GpuDirectx 9 0 Shader Model 3 0
  1. Input-Assembler Stage - Gets the input data (the vertex information) of the virtual world.
  2. Vertex-Shader Stage - Transforms the vertices to camera-space, lighting calculations, optimizations etc.
  3. Geometry-Shader Stage - For limited transformation of the vertex-geometry.
  4. Stream-Output Stage - Makes for Executed Instructions means '32 texture instructions and 64 arithmetic instructions.'
    Vertex shader comparison
    VS_2_0VS_2_aVS_3_0VS_4_0
    # of instruction slots256256≥ 5124096
    Max # of instructions executed65536655366553665536
    Instruction PredicationNoYesYesYes
    Temp Registers1213324096
    # constant registers≥ 256≥ 256≥ 25616x4096
    Static Flow ControlYesYesYesYes
    Dynamic Flow ControlNoYesYesYes
    Dynamic Flow Control DepthNo2424Yes
    Vertex Texture FetchNoNoYesYes
    # of texture samplersN/AN/A4128
    Geometry instancing supportNoNoYesYes
    Bitwise OperatorsNoNoNoYes
    Native IntegersNoNoNoYes

    VS_2_0 = DirectX 9.0 original Shader Model 2 specification.
    VS_2_a = NVIDIA GeForce FX-optimized model.
    VS_3_0 = Shader Model 3.
    VS_4_0 = Shader Model 4.

    The source of the comparison tables is Wikipedia.
    Intrinsic Functions (DirectX HLSL) (Source: MSDN)

    The following table lists the intrinsic functions available in HLSL. Each function has a brief description, and a link to a reference page that has more detail about the input argument and return type.

    NameSyntaxDescription
    absabs(x)Absolute value (per component).
    acosacos(x)Returns the arccosine of each component of x.
    allall(x)Test if all components of x are nonzero.
    anyany(x)Test if any component of x is nonzero.
    asdoubleasdouble(x)Convert the input type to a double.
    asfloatasfloat(x)Convert the input type to a float.
    asinasin(x)Returns the arcsine of each component of x.
    asintasint(x)Convert the input type to an integer.
    asuintasuint(x)Convert the input type to an unsigned integer.
    atanatan(x)Returns the arctangent of x.
    atan2atan2(y, x)Returns the arctangent of of two values (x,y).
    ceilceil(x)Returns the smallest integer which is greater than or equal to x.
    clampclamp(x, min, max)Clamps x to the range [min, max].
    clipclip(x)Discards the current pixel, if any component of x is less than zero.
    coscos(x)Returns the cosine of x.
    coshcosh(x)Returns the hyperbolic cosine of x.
    crosscross(x, y)Returns the cross product of two 3D vectors.
    D3DCOLORtoUBYTE4D3DCOLORtoUBYTE4(x)Swizzles and scales components of the 4D vector x to compensate for the lack of UBYTE4 support in some hardware.
    ddxddx(x)Returns the partial derivative of x with respect to the screen-space x-coordinate.
    ddyddy(x)Returns the partial derivative of x with respect to the screen-space y-coordinate.
    degreesdegrees(x)Converts x from radians to degrees.
    determinantdeterminant(m)Returns the determinant of the square matrix m.
    distancedistance(x, y)Returns the distance between two points.
    dotdot(x, y)Returns the dot product of two vectors.
    expexp(x)Returns the base-e exponent.
    exp2exp2(x)Base 2 exponent (per component).
    faceforwardfaceforward(n, i, ng)Returns -n * sign(•(i, ng)).
    floorfloor(x)Returns the greatest integer which is less than or equal to x.
    fmodfmod(x, y)Returns the floating point remainder of x/y.
    fracfrac(x)Returns the fractional part of x.
    frexpfrexp(x, exp)Returns the mantissa and exponent of x.
    fwidthfwidth(x)Returns abs(ddx(x)) + abs(ddy(x))
    GetRenderTargetSampleCountGetRenderTargetSampleCount()Returns the number of render-target samples.
    GetRenderTargetSamplePositionGetRenderTargetSamplePosition(x)Returns a sample position (x,y) for a given sample index.
    isfiniteisfinite(x)Returns true if x is finite, false otherwise.
    isinfisinf(x)Returns true if x is +INF or -INF, false otherwise.
    isnanisnan(x)Returns true if x is NAN or QNAN, false otherwise.
    ldexpldexp(x, exp)Returns x * 2exp
    lengthlength(v)Returns the length of the vector v.
    lerplerp(x, y, s)Returns x + s(y - x).
    litlit(n • l, n • h, m)Returns a lighting vector (ambient, diffuse, specular, 1)
    loglog(x)Returns the base-e logarithm of x.
    log10log10(x)Returns the base-10 logarithm of x.
    log2log2(x)Returns the base-2 logarithm of x.
    maxmax(x, y)Selects the greater of x and y.
    minmin(x, y)Selects the lesser of x and y.
    modfmodf(x, out ip)Splits the value x into fractional and integer parts.
    mulmul(x, y)Performs matrix multiplication using x and y.
    noisenoise(x)Generates a random value using the Perlin-noise algorithm.
    normalizenormalize(x)Returns a normalized vector.
    powpow(x, y)Returns xy.
    radiansradians(x)Converts x from degrees to radians.
    reflectreflect(i, n)Returns a reflection vector.
    refractrefract(i, n, R)Returns the refraction vector.
    roundround(x)Rounds x to the nearest integer
    rsqrtrsqrt(x)Returns 1 / sqrt(x)
    saturatesaturate(x)Clamps x to the range [0, 1]
    signsign(x)Computes the sign of x.
    sinsin(x)Returns the sine of x
    sincossincos(x, out s, out c)Returns the sine and cosine of x.
    sinhsinh(x)Returns the hyperbolic sine of x
    smoothstepsmoothstep(min, max, x)Returns a smooth Hermite interpolation between 0 and 1.
    sqrtsqrt(x)Square root (per component)
    stepstep(a, x)Returns (x >= a) ? 1 : 0
    tantan(x)Returns the tangent of x
    tanhtanh(x)Returns the hyperbolic tangent of x
    tex1Dtex1D(s, t)1D texture lookup.
    tex1Dbiastex1Dbias(s, t)1D texture lookup with bias.
    tex1Dgradtex1Dgrad(s, t, ddx, ddy)1D texture lookup with a gradient.
    tex1Dlodtex1Dlod(s, t)1D texture lookup with LOD.
    tex1Dprojtex1Dproj(s, t)1D texture lookup with projective divide.
    tex2Dtex2D(s, t)2D texture lookup.
    tex2Dbiastex2Dbias(s, t)2D texture lookup with bias.
    tex2Dgradtex2Dgrad(s, t, ddx, ddy)2D texture lookup with a gradient.
    tex2Dlodtex2Dlod(s, t)2D texture lookup with LOD.
    tex2Dprojtex2Dproj(s, t)2D texture lookup with projective divide.
    tex3Dtex3D(s, t)3D texture lookup.
    tex3Dbiastex3Dbias(s, t)3D texture lookup with bias.
    tex3Dgradtex3Dgrad(s, t, ddx, ddy)3D texture lookup with a gradient.
    tex3Dlodtex3Dlod(s, t)3D texture lookup with LOD.
    tex3Dprojtex3Dproj(s, t)3D texture lookup with projective divide.
    texCUBEtexCUBE(s, t)Cube texture lookup.
    texCUBEbiastexCUBEbias(s, t)Cube texture lookup with bias.
    texCUBEgradtexCUBEgrad(s, t, ddx, ddy)Cube texture lookup with a gradient.
    texCUBElodtex3Dlod(s, t)Cube texture lookup with LOD.
    texCUBEprojtexCUBEproj(s, t)Cube texture lookup with projective divide.
    transposetranspose(m)Returns the transpose of the matrix m.
    trunctrunc(x)Truncates floating-point value(s) to integer value(s)

    Links:

    1. Uni Düsseldorf - Geometry Shaders - full source reference
    2. Craig Peeper, Jason L. Mitchell: Introduction to the DirectX® 9 High Level Shading Language
    4. HLSL Introduction
    6. Bryan Dudash: Next Generation Shading and Rendering
    7. James C. Leiterman: Learn Vertex and Pixel Shader Programming with DirectX® 9
    8. Ron Fosner: Real-Time Shader Programming (Morgan Kaufmann Publishers © 2003)

Directx Runtime Download Windows 10 X64

DirectX 9.0c includes support for Pixel Shader and Vertex Shader 3.0, along with many new features across all technologies, which can be accessed by applications using the DirectX 9.0 APIs. This download provides the DirectX 9.0c end-user redistributable that developers may include with their products.