mat_info

From Valve Developer Community
Jump to navigation Jump to search

mat_info is a console command available in all Source Source games. Prints material system info (which includes which Shader API the game is using, GPU driver DLL and graphics card capabilities including DirectX level) in the Developer Console.

Source games (Valve)

Source 2013 Singleplayer Source 2013 SP (HL2 20th Anniversary version)

ShaderAPI: shaderapidx9
Shader API Driver Info:

Driver : nvldumd.dll Version : 9007199255790630
Driver Description :  NVIDIA GeForce RTX 3060
Chipset version 4318 9476 964498530 161

Display mode : 1920 x 1080 (BGRX8888)
Vertex Shader Version : 3.0 Pixel Shader Version : 3.0

Device Caps :
CANBLTSYSTONONLOCAL  Y  CANRENDERAFTERFLIP  Y  HWRASTERIZATION  Y 
HWTRANSFORMANDLIGHT  Y  NPATCHES  N  PUREDEVICE  Y 
SEPARATETEXTUREMEMORIES  N  TEXTURENONLOCALVIDMEM  Y  TEXTURESYSTEMMEMORY  N 
TEXTUREVIDEOMEMORY  Y  TLVERTEXSYSTEMMEMORY  Y  TLVERTEXVIDEOMEMORY  Y 

Primitive Caps :
BLENDOP  Y  CLIPPLANESCALEDPOINTS  N  CLIPTLVERTS  Y 
COLORWRITEENABLE  Y  MASKZ  Y  TSSARGTEMP  Y 

Raster Caps :
FOGRANGE  Y  FOGTABLE  Y  FOGVERTEX  Y  ZFOG  Y  WFOG  Y 
MIPMAPLODBIAS  Y  WBUFFER  N  ZBIAS  Y  ZTEST  Y 
Size of Texture Memory : 0 kb
Max Texture Dimensions : 16384 x 16384
Max Texture Aspect Ratio : *16384*
Max Textures : 8 Max Stages : 8

Texture Caps :
ALPHA  Y  CUBEMAP  Y  MIPCUBEMAP  Y  SQUAREONLY  N 
vendor id: 0x10de
device id: 0x2504
SHADERAPI CAPS:
m_NumSamplers: 16
m_NumTextureStages: 2
m_HasSetDeviceGammaRamp: no
m_SupportsVertexShaders (1.1): yes
m_SupportsVertexShaders_2_0: yes
m_SupportsPixelShaders (1.1): yes
m_SupportsPixelShaders_1_4: yes
m_SupportsPixelShaders_2_0: yes
m_SupportsPixelShaders_2_b: yes
m_SupportsShaderModel_3_0: yes
m_SupportsCompressedTextures: COMPRESSED_TEXTURES_ON
m_SupportsCompressedVertices: 1
m_bSupportsAnisotropicFiltering: yes
m_nMaxAnisotropy: 16
m_MaxTextureWidth: 16384
m_MaxTextureHeight: 16384
m_MaxTextureAspectRatio: 16384
m_MaxPrimitiveCount: 16777215
m_ZBiasAndSlopeScaledDepthBiasSupported: yes
m_SupportsMipmapping: yes
m_SupportsOverbright: yes
m_SupportsCubeMaps: yes
m_NumPixelShaderConstants: 32
m_NumVertexShaderConstants: 256
m_NumBooleanVertexShaderConstants: 16
m_NumIntegerVertexShaderConstants: 16
m_TextureMemorySize: 0
m_MaxNumLights: 4
m_SupportsHardwareLighting: yes
m_MaxBlendMatrices: 4
m_MaxBlendMatrixIndices: 0
m_MaxVertexShaderBlendMatrices: 53
m_SupportsMipmappedCubemaps: yes
m_SupportsNonPow2Textures: yes
m_nDXSupportLevel: 95
m_PreferDynamicTextures: yes
m_HasProjectedBumpEnv: yes
m_MaxUserClipPlanes: 6
m_SupportsSRGB: yes
m_HDRType: HDR_TYPE_INTEGER
m_bSupportsSpheremapping: yes
m_UseFastClipping: no
m_pShaderDLL: 
m_bNeedsATICentroidHack: yes
m_bDisableShaderOptimizations: no
m_bColorOnSecondStream: yes
m_MaxSimultaneousRenderTargets: 4
Note.pngNote: From Portal, but will be the same for majority of Source 2013 Singleplayer games (running on HL2 20th Anniversary Update build). This includes Half-Life 2 (and it's episodes), Half-Life: Source (both since November 16, 2024) and Portal (May 20, 2025 update).

Portal 2 Portal 2

ShaderAPI: shaderapidx9
Shader API Driver Info:

Driver : nvldumd.dll Version : 9007199255790630
Driver Description :  NVIDIA GeForce RTX 3060
Chipset version 4318 9476 964498530 161

Display mode : 1920 x 1080 @75Hz (BGRX8888)
Vertex Shader Version : 3.0 Pixel Shader Version : 3.0

Device Caps :
CANBLTSYSTONONLOCAL  Y  CANRENDERAFTERFLIP  Y  HWRASTERIZATION  Y 
HWTRANSFORMANDLIGHT  Y  NPATCHES  N  PUREDEVICE  Y 
SEPARATETEXTUREMEMORIES  N  TEXTURENONLOCALVIDMEM  Y  TEXTURESYSTEMMEMORY  N 
TEXTUREVIDEOMEMORY  Y  TLVERTEXSYSTEMMEMORY  Y  TLVERTEXVIDEOMEMORY  Y 

Primitive Caps :
BLENDOP  Y  CLIPPLANESCALEDPOINTS  N  CLIPTLVERTS  Y 
COLORWRITEENABLE  Y  MASKZ  Y  TSSARGTEMP  Y 

Raster Caps :
FOGRANGE  Y  FOGTABLE  Y  FOGVERTEX  Y  ZFOG  Y  WFOG  Y 
MIPMAPLODBIAS  Y  WBUFFER  N  ZBIAS  Y  ZTEST  Y 
Size of Texture Memory : 0 kb
Max Texture Dimensions : 16384 x 16384
Max Texture Aspect Ratio : *16384*
Max Textures : 8

Texture Caps :
ALPHA  Y  CUBEMAP  Y  MIPCUBEMAP  Y  SQUAREONLY  N 
vendor id: 0x10de
device id: 0x2504
SHADERAPI CAPS:
m_NumSamplers: 16
m_NumVertexSamplers: 4
m_HasSetDeviceGammaRamp: no
m_SupportsPixelShaders_2_b: yes
m_SupportsShaderModel_3_0: yes
m_SupportsCompressedVertices: 1
m_bSupportsAnisotropicFiltering: yes
m_nMaxAnisotropy: 16
m_MaxTextureWidth: 16384
m_MaxTextureHeight: 16384
m_MaxTextureAspectRatio: 16384
m_MaxPrimitiveCount: 16777215
m_ZBiasAndSlopeScaledDepthBiasSupported: yes
m_NumPixelShaderConstants: 224
m_NumVertexShaderConstants: 256
m_NumBooleanVertexShaderConstants: 16
m_NumIntegerVertexShaderConstants: 16
m_TextureMemorySize: 0
m_MaxNumLights: 4
m_MaxVertexShaderBlendMatrices: 53
m_SupportsMipmappedCubemaps: yes
m_nDXSupportLevel: 100
m_PreferDynamicTextures: yes
m_MaxUserClipPlanes: 6
m_SupportsSRGB: yes
m_HDRType: HDR_TYPE_INTEGER
m_UseFastClipping: no
m_pShaderDLL: 
m_bNeedsATICentroidHack: no
m_bDisableShaderOptimizations: no
m_MaxSimultaneousRenderTargets: 4
m_bPreferZPrepass: yes
m_bSuppressPixelShaderCentroidHackFixup: no
m_bPreferTexturesInHWMemory: no
m_bPreferHardwareSync: yes
m_bUnsupported: no
Note.pngNote: Differences from Portal 2's printed mat_info with previous Source branches (Orange Box series - includes Source 2007 to Source 2013, and Team Fortress 2 branch):
Added

"Display mode" now lists refresh rate.

  • "m_NumVertexSamplers"
  • "m_bPreferZPrepass"
  • "m_bSuppressPixelShaderCentroidHackFixup"
  • "m_bPreferTexturesInHWMemory"
  • "m_bPreferHardwareSync"
  • "m_bUnsupported"
Changed
  • "m_bNeedsATICentroidHack" - was set to "no", atleast on a Nvidia GPUs (on Orange Box this was set to "yes", even though this was intended for ATI/AMD Radeon GPUs).
  • "m_nDXSupportLevel: 100" - in L4D branch and above (except CS:GO), mat_dxlevel was set to 100 (atleast confirmed to be used on PC with modern DX10 or later GPUs like GeForce 8 series), but the game still uses Direct3D 9 for rendering. Other Source games would max this out at 95.
Removed
  • "Max Stages : (x)"
  • "m_NumTextureStages"
  • "m_SupportsPixelShaders(1.1, _1_4, _2_0)" (detects if the GPU support Pixel Shader 2.0 or earlier. Detection for Pixel Shader 2.0 or earlier was removed, but Pixel Shader 2.0b detection is still present.)
  • "m_SupportsVertexShaders" (Source still support Vertex shaders but this detection was unnecessary for branches that was designed to support full DX9 GPU only (which all supports it) so it has been removed)
  • "m_SupportsMipmapping"
  • "m_SupportsOverbright"
  • "m_SupportsCubeMaps"
  • "m_SupportsHardwareLighting"
  • "m_MaxBlendMatrices"
  • "m_MaxBlendMatrixIndices"
  • "m_SupportsNonPow2Textures" (checks if the GPU supports non-power-of-two textures)
  • "m_HasProjectedBumpEnv"
  • "m_bSupportsSpheremapping"
  • "m_bColorOnSecondStream"