Unified shader model

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 18. juli 2021; checks kræver 2 redigeringer .

Unified shader model er et udtryk  , der bruges til at beskrive to ens, men samtidig adskilte begreber: en unified shader-arkitektur ( engelsk Unified Shading Architecture ), som beskriver hardwareniveauet, og en unified shader-model , som beskriver softwarelaget. .  

Unified shader model

Unified Shader Model, kendt i Direct3D 10 som Shader Model 4.0, bruger et ensartet (lignende) sæt kommandoer for alle shader- typer [1] . Shaders af alle typer har meget ens egenskaber - de kan "læse" teksturer , databuffere og udføre det samme sæt aritmetiske instruktioner.

Instruktionssættet er dog ikke helt det samme i alle shader-typer; for eksempel kan kun pixelskyggeren læse teksturer med implicitte koordinatgradienter; og kun geometriskyggeren kan gengive yderligere primitiver, og så videre [1] .

Tidlige shader-modeller (Shader Model 1.x) brugte meget forskellige instruktionssæt til vertex og pixel shaders, hvor vertex shaders havde et meget mere fleksibelt instruktionssæt. Senere shader-modeller (2.x og 3.0) reducerede i stigende grad forskellene, hvilket førte til en samlet shader-model.

Unified shader-arkitektur

Når en GPU understøtter en unified shader-model, giver det mening at designe dens computerenheder, så enhver af disse enheder kan udføre enhver form for shader. Når GPU-beregningsenhederne er "unified", det vil sige i stand til at udføre enhver form for shader-program, kaldes dette en "Unified Shader Architecture". Oftest er sådanne GPU'er sammensat af en række computerenheder og dynamiske planlægnings-/belastningsbalanceringsenheder for at fordele udførelse af shader-program på tværs af alle computerenheder.

Hardware er ikke påkrævet for at have en unified shader-arkitektur for at understøtte en unified shader-model og omvendt. Direct3D 10-kompatible GPU'er kan stadig have dedikerede geometri-, vertex- og pixelprocessorer. Teknologisk ældre GPU'er, der understøtter Shader Model 3.0, kan også delvist udføre Unified Shader Model, som det ses med Xenos GPU'en til Xbox 360 -spillekonsollen .

Den forenede shader-arkitektur tillader mere fleksibel brug af GPU-ressourcer [2] . For eksempel kan den forenede shader-arkitektur bruge alle GPU-enheder til at beregne vertex- og geometrishaders under forhold med simulering af tunge niveauer. Og omvendt; når geometrien ikke er kompleks, men mange komplekse pixeleffekter simuleres, såsom Parallax occlusion mapping , partikelsystem og så videre, kan alle beregningsenheder dirigeres til at udføre pixel shaders.

Den forenede shader-arkitektur understøttes af GeForce 8 , Radeon R600 , S3 Graphics Chrome 400 GPU'er, Intel GMA X3000, Xbox 360's GPU , Qualcomm Adreno 200-serien , Mali Midgard, PowerVR SGX GPU'er og mere.

Noter

  1. 1 2 Common Shader Core (DirectX HLSL) . Microsoft. Hentet 17. august 2008. Arkiveret fra originalen 4. april 2012.
  2. Loyd-sag. GeForce 8800 GTX: 3D-arkitekturoversigt . ExtremeTech (8. november 2006). Arkiveret fra originalen den 11. november 2006.

Links