Directx 9 0 Shader Model 3 0

Vs30 - Direct3D Shader Model 3.0 vertex profile for DirectX 9. Synopsis vs30 Description. This Direct3D profile corresponds to the per-vertex functionality introduced by GeForce FX (NV3x) for DirectX 9. The compiler output for this profile conforms to the textual assembly defined by DirectX 9's Vertex Shader 3.0 shader format. Caps in addition to Shader Models. In DirectX 9, devices can express their abilities via a base shader version plus some optional caps. At this point, the only “base” shader versions beyond 1.xare the 2.0 and 3.0 shader versions. Other differences are expressed via caps: –D3DCAPS9.PS20Caps –D3DCAPS9.VS20Caps.

-->

To handle the diversity of video cards in new and existing machines, Microsoft Direct3D 11 introduces the concept of feature levels. This topic discusses Direct3D feature levels.

Each video card implements a certain level of Microsoft DirectX (DX) functionality depending on the graphics processing units (GPUs) installed. In prior versions of Microsoft Direct3D, you could find out the version of Direct3D the video card implemented, and then program your application accordingly.

With Direct3D 11, a new paradigm is introduced called feature levels. A feature level is a well-defined set of GPU functionality. For instance, the 9_1 feature level implements the functionality that was implemented in Microsoft Direct3D 9, which exposes the capabilities of shader models ps_2_x and vs_2_x, while the 11_0 feature level implements the functionality that was implemented in Direct3D 11.

Now when you create a device, you can attempt to create a device for the feature level that you want to request. If the device creation works, that feature level exists, if not, the hardware does not support that feature level. You can either try to recreate a device at a lower feature level or you can choose to exit the application. For more info about creating a device, see the D3D11CreateDevice function.

Using feature levels, you can develop an application for Direct3D 9, Microsoft Direct3D 10, or Direct3D 11, and then run it on 9, 10 or 11 hardware (with some exceptions; for example, new 11 features will not run on an existing 9 card). Here is a couple of other basic properties of feature levels:

  • A GPU that allows a device to be created meets or exceeds the functionality of that feature level.
  • A feature level always includes the functionality of previous or lower feature levels.
  • A feature level does not imply performance, only functionality. Performance is dependent on hardware implementation.
  • Choose a feature level when you create a Direct3D 11 device.

For information about limitations creating nonhardware-type devices on certain feature levels, see Limitations Creating WARP and Reference Devices.

To assist you in deciding what feature level to design with, compare the features for each feature level.

The 10Level9 Reference section lists the differences between how various ID3D11Device and ID3D11DeviceContext methods behave at various 10Level9 feature levels.

Formats of version numbers

Directx 9 0 Shader Model 3 0

There are three formats for Direct3D versions, shader models, and feature levels.

  • Direct3D versions use a period; for example, Direct3D 12.0.
  • Shader models use a period; for example, shader model 5.1.
  • Feature levels use an underscore; for example, feature level 12_0.

Feature support for feature levels 12_1 through 9_3

3d Shader 3.0 Video Driver

The following features are available for the feature levels listed. The headings across the top row are Direct3D feature levels. The headings in the left-hand column are features. Also see Footnotes for the tables.

Feature Feature Level12_1012_0011_1111_010_110_09_37
Shader Model (D3D11)5.025.025.025.024.x4.02.0 (4_0_level_9_3) [vs_2_a/ps_2_x]5
Shader Model (D3D12)5.125.125.125.12N/AN/AN/A
Tiled resourcesTier26Tier26OptionalOptionalNoNoNo
Conservative RasterizationTier16OptionalOptionalNoNoNoNo
Rasterizer Order ViewsYesOptionalOptionalNoNoNoNo
Min/Max FiltersYesYesOptionalNoNoNoNo
Map Default BufferOptionalOptionalOptionalOptionalNoNoNo
Shader Specified Stencil Reference ValueOptionalOptionalOptionalNoNoNoNo
Typed Unordered Access View Loads18 formats, more optional18 formats, more optional3 formats, more optional3 formats, more optionalNoNoNo
Geometry ShaderYesYesYesYesYesYesNo
Stream OutYesYesYesYesYesYesNo
DirectCompute / Compute ShaderYesYesYesYesOptionalOptionalN/A
Feature Feature Level12_1012_0011_1111_010_110_09_37
Hull and Domain ShadersYesYesYesYesNoNoNo
Texture Resource ArraysYesYesYesYesYesYesNo
Cubemap Resource ArraysYesYesYesYesYesNoNo
BC4/BC5 CompressionYesYesYesYesYesYesNo
BC6H/BC7 CompressionYesYesYesYesNoNoNo
Alpha-to-coverageYesYesYesYesYesYesNo
Extended Formats (BGRA, and so on)YesYesYesYesOptionalOptionalYes
10-bit XR High Color FormatYesYesYesYesOptionalOptionalN/A
Logic Operations (Output Merger)YesYesYesOptional1Optional1Optional1No
Target-independent rasterizationYesYesYesNoNoNoNo
Multiple render target(MRT) with ForcedSampleCount 1YesYesYesOptional1Optional1Optional1No
UAV slots646464811N/A
Feature Feature Level12_1012_0011_1111_010_110_09_37
UAVs at every stageYesYesYesNoNoNoN/A
Max forced sample count for UAV-only rendering1616168N/AN/AN/A
Constant buffer offsetting and partial updatesYesYesYesOptional1Optional1Optional1Yes1
16 bits per pixel (bpp) formatsYesYesYesOptional1Optional1Optional1Optional1
Max Texture Dimension16384163841638416384819281924096
Max Cubemap Dimension16384163841638416384819281924096
Max Volume Extent204820482048204820482048256
Max Texture Repeat16384163841638416384819281928192
Max Anisotropy16161616161616
Max Primitive Count2^32 – 12^32 – 12^32 – 12^32 – 12^32 – 12^32 – 11048575
Max Vertex Index2^32 – 12^32 – 12^32 – 12^32 – 12^32 – 12^32 – 11048575
Max Input Slots32323232321616
Simultaneous Render Targets8888884
Occlusion QueriesYesYesYesYesYesYesYes
Feature Feature Level12_1012_0011_1111_010_110_09_37
Separate Alpha BlendYesYesYesYesYesYesYes
Mirror OnceYesYesYesYesYesYesYes
Overlapping Vertex ElementsYesYesYesYesYesYesYes
Independent Write MasksYesYesYesYesYesYesYes
InstancingYesYesYesYesYesYesYes7
Nonpowers-of-2 conditionally3NoNoNoNoNoNoYes
Nonpowers-of-2 unconditionally4YesYesYesYesYesYesNo

Feature support for feature levels 9_2 and 9_1

The following features are available for the feature levels listed. The headings across the top row are Direct3D feature levels. The headings in the left-hand column are features. Also see Footnotes for the tables.

Feature Feature Level9_29_1
Shader Model (D3D11)2.0 (4_0_level_9_1)2.0 (4_0_level_9_1)
Shader Model (D3D12)N/AN/A
Tiled resourcesNoNo
Conservative RasterizationNoNo
Rasterizer Order ViewsNoNo
Min/Max FiltersNoNo
Map Default BufferNoNo
Shader Specified Stencil Reference ValueNoNo
Typed Unordered Access View LoadsNoNo
Geometry ShaderNoNo
Stream OutNoNo
DirectCompute / Compute ShaderN/AN/A
Hull and Domain ShadersNoNo
Texture Resource ArraysNoNo
Cubemap Resource ArraysNoNo
BC4/BC5 CompressionNoNo
Feature Feature Level9_29_1
BC6H/BC7 CompressionNoNo
Alpha-to-coverageNoNo
Extended Formats (BGRA, and so on)YesYes
10-bit XR High Color FormatN/AN/A
Logic Operations (Output Merger)NoNo
Target-independent rasterizationNoNo
Multiple render target(MRT) with ForcedSampleCount 1NoNo
UAV slotsN/AN/A
UAVs at every stageN/AN/A
Max forced sample count for UAV-only renderingN/AN/A
Constant buffer offsetting and partial updatesYes1Yes1
16 bits per pixel (bpp) formatsOptional1Optional1
Max Texture Dimension20482048
Max Cubemap Dimension512512
Max Volume Extent256256
Max Texture Repeat2048128
Feature Feature Level9_29_1
Max Anisotropy162
Max Primitive Count104857565535
Max Vertex Index104857565534
Max Input Slots1616
Simultaneous Render Targets11
Occlusion QueriesYesNo
Separate Alpha BlendYesNo
Mirror OnceYesNo
Overlapping Vertex ElementsYesNo
Independent Write MasksNoNo
InstancingNoNo
Nonpowers-of-2 conditionally3YesYes
Nonpowers-of-2 unconditionally4NoNo

Footnotes for the tables

3d shader 3.0 video driver

0 Requires the Direct3D 11.3 or Direct3D 12 runtime.

1 Requires the Direct3D 11.1 runtime.

2 Shader model 5.0 and above can optionally support double-precision shaders, extended double-precision shaders, the SAD4 shader instruction, and partial-precision shaders. To determine the shader model 5.0 options that are available for DirectX 11, call ID3D11Device::CheckFeatureSupport. Some compatibility depends on what hardware you are running on. Shader model 5.1 and above are only supported through the DirectX 12 API, regardless of the feature level that's being used. DirectX 11 only supports up to shader model 5.0. The DirectX 12 API only goes down to feature level 11_0.

3 At feature levels 9_1, 9_2 and 9_3, the display device supports the use of 2-D textures with dimensions that are not powers of two under two conditions. First, only one MIP-map level for each texture can be created, and second, no wrap sampler modes for textures are allowed (that is, the AddressU, AddressV, and AddressW members of D3D11_SAMPLER_DESC cannot be set to D3D11_TEXTURE_ADDRESS_WRAP).

4 At feature levels 10_0, 10_1 and 11_0, the display device unconditionally supports the use of 2-D textures with dimensions that are not powers of two.

5 Vertex Shader 2a with 256 instructions, 32 temporary registers, static flow control of depth 4, dynamic flow control of depth 24, and D3DVS20CAPS_PREDICATION. Pixel Shader 2x with 512 instructions, 32 temporary registers, static flow control of depth 4, dynamic flow control of depth 24, D3DPS20CAPS_ARBITRARYSWIZZLE, D3DPS20CAPS_GRADIENTINSTRUCTIONS, D3DPS20CAPS_PREDICATION, D3DPS20CAPS_NODEPENDENTREADLIMIT, and D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT.

6 Higher tiers optional.

Shader Model 30

7 For Feature Level 9_3, the only rendering methods supported are Draw, DrawIndexed, and DrawIndexInstanced. Also for Feature Level 9_3, point list rendering is supported only for rendering via Draw.

For details of format support at different hardware feature levels, refer to:

Directx 9.0 Shader Model 3.0

Related topics