Hallo!
Habe wieder ein Problem. Irgendwie funktioniert bei mir das Dynamic Branching nicht. Wenn ich mit PIX den Shader debugge, dann stellt sich raus, dass der den immer komplett abarbeitet. Muss man noch irgendwas besonderes beachten, außer dass es mindestens PS 3.0 sein muss?
Gruß
Zudo
[DX9] Dynamic Branching
Re: [DX9] Dynamic Branching
Hat sich erledigt. Der hat den da immer ein statisches branching benutzt, weil ich da drin gradiants benutzt hatte. Leider hatte der Compiler das aber nicht angemerkt. Erst als ich es mit [branch] erzwungen habe, hat er gemeckert.
Re: [DX9] Dynamic Branching
Bei bedingten Sprüngen verwenden Shader-Compiler gerne Instruktionen wie SGE, SGN, CND(http://msdn.microsoft.com/en-us/library/ms800266.aspx) oder SLT(http://msdn.microsoft.com/en-us/library/ms800348.aspx), um die Sprünge zu vermeiden (abhängig vom Umfang des eingeschlossenen Codes). Funktionen werden meistens geinlined.
Gibt es [branch] nicht nur für die Xbox360?
Gibt es [branch] nicht nur für die Xbox360?
- Schrompf
- Moderator
- Beiträge: 5163
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: [DX9] Dynamic Branching
Nein, die [tag]-Markierungen gibt es seit einer Weile im HLSL-Standard, die funktionieren auch auf Windows. [unroll] bzw. [loop] sind ja die Klassiker :-)
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.