Talk:High-Level Shader Language: Difference between revisions

Content deleted Content added
>= 256: signing the comments
Jae (talk | contribs)
 
(27 intermediate revisions by 14 users not shown)
Line 1:
{{WikiProject Computingbanner shell|class=Start|importance1=}}
{{WikiProject MicrosoftComputer graphics Windows|class=start|importance=midMid}}
{{WikiProject Computing|importance=Low |software=y |software-importance=Mid}}
{{WikiProject Microsoft|importance=Low}}
{{WikiProject Microsoft Windows|importance=mid}}
}}
 
==Merge discussion for [[ High Level Shader Language]]==
[[Image:Information.svg|25px]] An article that you have been involved in editing, [[ High Level Shader Language]], has been proposed for a [[Help:Merging and moving pages|merge]] with another article. If you are interested in the merge discussion, please participate by going {{ #if: Talk:Pixel shader |[[ Talk:Pixel shader|here]]|to the article and clicking on the (Discuss) link at the top of the article}}, and adding your comments on the discussion page. Thank you. [[Special:Contributions/76.64.117.68|76.64.117.68]] ([[User talk:76.64.117.68|talk]]) 01:01, 29 June 2011 (UTC) <!-- Template:mergenote -->
: [[Special:Contributions/76.64.117.68|Two-edit IP]]. – [[User:Wbm1058|wbm1058]] ([[User talk:Wbm1058|talk]]) 16:44, 29 January 2022 (UTC)
{{WikiProject Computing|class=Start|importance=}}
{{WikiProject Microsoft Windows|class=start|importance=mid}}
 
== No Shader Model 5.0 info ==
 
SM 5.0 (DX 11) has been along quite a bit of time, and still no info about it...not even a comment about it in this Talk page (besides mine, of course). {{<small><span class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:87.221.60.52|87.221.60.52]] ([[User talk:87.221.60.52|talk]] • [[Special:Contributions/87.221.60.52|contribs]]) 05:32, 26 January 2011 (UTC)}}</span></small><!-- Template:Unsigned -->
 
== This article is fairly lacking ==
Line 12 ⟶ 18:
HLSL was designed to be similar to the Renderman shading language, and it more useful to compare it against that. There are many differnces neccecitated by hardware architecture. However, many of the language features and intrinics are exactly the same as Renderman. In addition, the language has 2 distinct differnces from C. The first is that it is natively a vector and math language, thus all types are vectored. The 2nd difference is that there is no persistent state. That is, an HLSL program can't access any memory in read/write fasion, it may read from one peice of memory (e.g. textures), and write to another (e.g.) the backbuffer), and one shader cannot pass any information to another instance of a shader (unless it is further down the graphics pipeline.) [[User:Dankbaker|Dankbaker]] 15:45, 20 September 2007 (UTC)
 
[http://msdn2.microsoft.com/en-us/library/bb509626(en-us,VS.85).aspx Shader Models vs Shader Profiles] <small><span class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:88.218.166.45 |88.218.166.45 ]] ([[User talk:88.218.166.45 |talk]] • [[Special:Contributions/88.218.166.45 |contribs]]) 20:47, 19 April 2008 (UTC)</span></small><!-- Template:Unsigned -->
 
== Shader Model 4.0 info? ==
 
Could some info on Shader Model 4 be added, please? {{<small><span class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:Navstar|Navstar]] ([[User talk:Navstar|22talk]] • [[Special:Contributions/Navstar|contribs]]) 23:59, 25 April 2006 (UTC)}}</span></small><!-- Template:Unsigned -->
 
:I found some here: http://www.atomicmpc.com.au/forums.asp?s=2&c=7&t=10239&p=0. Interestingly, this info is not in Microsoft's own DirectX SDK help files - annoying. {{<small><span class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:Erich666|Erich666]] ([[User talk:Erich666|20talk]] • [[Special:Contributions/Erich666|contribs]]) 21:38, 14 June 2007 (UTC)}}</span></small><!-- Template:Unsigned -->
 
::There is a fair amount of material in the SDK concerning shader model 4.0. The main language feature differences are templated texture types, input and output signatures (to prevent runtime linkage), bitwise operators, native integer support (prevous versions were emmulated), and switch statements. There are few more minor features, such as the presence of attributes as in C#, but unlike C# attributes can be specified before any statement and are ignored if unrecoginized. They can be used to specifiy. Additionally, the precision required is near IEEE, with NANs and INFS and the like. There are a few differences, I can't remember them all, but the precision isn't quite as high. 1 bit ULP instead of a half bit that IEEE requires. [[User:Dankbaker|Dankbaker]] 15:45, 20 September 2007 (UTC)
Line 29 ⟶ 35:
 
== >= 256 ==
at some places there is a specification of ">= 256" which makes no sense to me. it should be "<=256". maybe it would be even better to be able to express the same without <>= just by using max (or min?) in the specs? {{<small><span class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:85.178.238.194|85.178.238.194]] ([[User talk:85.178.238.194|13talk]] • [[Special:Contributions/85.178.238.194|contribs]]) 14:56, 22 May 2007 (UTC)}}</span></small><!-- Template:Unsigned -->
 
:Actually, ≥ 256 is correct. This shows up here http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/graphics/reference/Shaders/VertexShader3_0/Registers/Registers.asp in a footnote, "256 is the minimum c# register count required by vs_2_x. The MaxVertexShaderConst cap contains the actual c# register count supported by the device"
:It also shows up here: ftp://download.nvidia.com/developer/presentations/2004/GPU_Jackpot/Shader_Model_3.pdf {{<small><span class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:Erich666|Erich666]] ([[User talk:Erich666|20talk]] • [[Special:Contributions/Erich666|contribs]]) 21:41, 14 June 2007 (UTC)}}</span></small><!-- Template:Unsigned -->
 
== Unfamiliar terms ==
Line 42 ⟶ 48:
== vandalism/typos? 13, 513 ==
 
In PS 2.0b the instruction slots are listed as 513, and in VS 2.0a temp registers are listed at 13, are these typos or vandalism? <small><span class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:164.106.249.254|164.106.249.254]] ([[User talk:164.106.249.254|talk]] • [[Special:Contributions/164.106.249.254|contribs]]) 16:00, 26 August 2010 (UTC)</span></small><!-- Template:Unsigned -->
 
:Oddly, 13 seems to be correct as per [[Hlsl#cite_note-SM2-2|Microsoft DirectX High Level Shader Language (HLSL) presentation]], 512 was probably a typo and is now corrected. [[User:Fredbc|Fredbc]] ([[User talk:Fredbc|talk]]) 10:45, 15 August 2011 (UTC)
 
== Add shader model 4.1 and 5 ==
 
note, see above. SM 4.1 corresponds to DX 10.1, and supported by the radeon 4k series rather than the competing geforce 200[[User:TeeTylerToe|TeeTylerToe]] ([[User talk:TeeTylerToe|talk]]) 09:53, 1 July 2013 (UTC)
 
== Radeon 9500 and up support Geometry instancing on top of VS2.0 spec ==
[[Geometry_instancing]]<!-- Template:Unsigned IP --><small class="autosigned">—&nbsp;Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/195.212.58.199|195.212.58.199]] ([[User talk:195.212.58.199#top|talk]]) 15:44, 25 November 2015 (UTC)</small>
 
== Proposed merge of [[Cg (programming language)]] with [[High-Level Shading Language]] ==
 
The two articles describe two main implementations of the same core language. The HLSL article goes deep into the compile target profiles while the language-level information goes missing; the Cg article is basically the opposite of that. Given the copying needed to improve either article, it makes more sense to just merge them. Merging also help bring out the idea of other targets such as [[SPIR-V]] (either from MS DXC or from Kronos GLslang). --[[User:Artoria2e5|Artoria]][[User talk:Artoria2e5|2e5]] <small style="font-weight:lighter">[[Special:Contributions/Artoria2e5|🌉]]</small> 02:41, 26 April 2020 (UTC)
 
== History… at least someone add some dates/years ==
 
I came here from Google hoping for some info on when which model was introduced, but came up empty. Ah, Wikipedia… [[User:Jae|jae]] ([[User talk:Jae|talk]]) 15:42, 5 May 2025 (UTC)