Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Instrukcje sterowania przepływem cieniowania wierzchołków mają dwa specjalne ograniczenia. Głębokość zagnieżdżania ogranicza liczbę instrukcji, które mogą być wywoływane wewnątrz siebie. Ponadto każda instrukcja ma liczbę miejsc instrukcji, która ma zastosowanie do maksymalnej liczby instrukcji, które może obsługiwać cieniator.
Nuta
Jeśli używasz profilów cieniowania *_4_0_level_9_x HLSL, niejawnie używasz profilów Shader Model 2.x do obsługi sprzętu obsługującego usługę Direct3D 9. Profile Shader Model 2.x obsługują bardziej ograniczone zachowanie sterowania przepływem niż profile Shader Model 4.x i nowsze.
Liczba głębokości na instrukcję dla vs_2_0
Każda instrukcja jest liczone względem co najmniej jednego limitu głębokości zagnieżdżania. W tej tabeli przedstawiono liczbę głębokości, którą każda instrukcja dodaje lub odejmuje z istniejącej głębokości:
| Polecenie | Zagnieżdżanie statyczne | Dynamiczne zagnieżdżanie | zagnieżdżanie pętli/powtórzeń | zagnieżdżanie wywołań | Liczba przepływów statycznych |
|---|---|---|---|---|---|
| jeśli wartość logiczna — vs | 0 | 0 | 0 | 0 | 1 |
| if_comp — vs | N/a | N/a | N/a | N/a | N/a |
| , jeśli jest wstępnie pred — vs | N/a | N/a | N/a | N/a | N/a |
| else — vs | 0 | 0 | 0 | 0 | 1(jeśli wartość logiczna — a tylko) |
| endif — vs | -1 | 0 | 0 | 0 | 0 |
| rep — vs | 0 | 0 | 1 | 0 | 1 |
| endrep — vs | 0 | 0 | -1 | 0 | 0 |
| pętla — vs | 0 | 0 | 1 | 0 | 1 |
| endloop — vs | 0 | 0 | -1 | 0 | 0 |
| przerwanie — a | N/a | N/a | N/a | N/a | N/a |
| break_comp — a | N/a | N/a | N/a | N/a | N/a |
| breakp — vs | N/a | N/a | N/a | N/a | N/a |
| wywołanie — vs | 0 | 0 | 0 | 1 | 1 |
| callnz bool — vs | 0 | 0 | 0 | 1 | 1 |
| pred callnz — vs | N/a | N/a | N/a | N/a | N/a |
| ret — vs | 0 | 0 | 0 | -1 | 0 |
| setp_comp — vs | N/a | N/a | N/a | N/a | N/a |
Głębokość zagnieżdżania
Głębokość zagnieżdżania określa, ile instrukcji można wywołać wewnątrz siebie. Każdy typ instrukcji ma co najmniej jeden limit zagnieżdżania:
| Typ instrukcji | Maksimum |
|---|---|
| Zagnieżdżanie statyczne | Tylko ograniczone przez liczbę statycznych przepływów |
| Dynamiczne zagnieżdżanie | N/a |
| zagnieżdżanie pętli/powtórzeń | 1 |
| zagnieżdżanie wywołań | 1 |
| Liczba przepływów statycznych | 16 |
Liczba głębokości na instrukcję dla vs_2_x
Każda instrukcja jest liczone względem co najmniej jednego limitu głębokości zagnieżdżania. W tej tabeli przedstawiono liczbę głębokości, którą każda instrukcja dodaje lub odejmuje z istniejącej głębokości:
| Polecenie | Zagnieżdżanie statyczne | Dynamiczne zagnieżdżanie | zagnieżdżanie pętli/powtórzeń | zagnieżdżanie wywołań | Liczba przepływów statycznych |
|---|---|---|---|---|---|
| jeśli wartość logiczna — vs | 1 | 0 | 0 | 0 | 1 |
| if_comp — vs | 0 | 1 | 0 | 0 | 0 |
| , jeśli jest wstępnie pred — vs | 0 | 1 | 0 | 0 | 0 |
| else — vs | 0 | 0 | 0 | 0 | 1(jeśli wartość logiczna — a tylko) |
| endif — vs | -1(if bool - vs) | -1(, jeśli pred - vs lub if_comp - vs) | 0 | 0 | 0 |
| rep — vs | 0 | 0 | 1 | 0 | 1 |
| endrep — vs | 0 | 0 | -1 | 0 | 0 |
| pętla — vs | 0 | 0 | 1 | 0 | 1 |
| endloop — vs | 0 | 0 | -1 | 0 | 0 |
| przerwanie — a | 0 | 0 | 0 | 0 | 0 |
| break_comp — a | 0 | 1, -1 | 0 | 0 | 0 |
| breakp — vs | 0 | 0 | 0 | 0 | 0 |
| wywołanie — vs | 0 | 0 | 0 | 1 | 1 |
| callnz bool — vs | 0 | 0 | 0 | 1 | 1 |
| pred callnz — vs | 0 | 1 | 0 | 1 | 0 |
| ret — vs | 0 | -1 (callnz pred - vs) | 0 | -1 | 0 |
| setp_comp — vs | 0 | 0 | 0 | 0 | 0 |
Głębokość zagnieżdżania
Głębokość zagnieżdżania określa, ile instrukcji można wywołać wewnątrz siebie. Każdy typ instrukcji ma co najmniej jeden limit zagnieżdżania:
| Typ instrukcji | Maksimum |
|---|---|
| Zagnieżdżanie statyczne | Tylko ograniczone przez liczbę statycznych przepływów |
| Dynamiczne zagnieżdżanie | 0 lub 24, zobacz D3DCAPS9. VS20Caps.DynamicFlowControlDepth |
| zagnieżdżanie pętli/powtórzeń | Od 1 do 4, zobacz D3DCAPS9. VS20Caps.StaticFlowControlDepth |
| zagnieżdżanie wywołań | Od 1 do 4, zobacz D3DCAPS9. VS20Caps.StaticFlowControlDepth (niezależny od limitu pętli/rep) |
| Liczba przepływów statycznych | 16 |
Liczba głębokości na instrukcję dla vs_2_sw
Każda instrukcja jest liczone względem co najmniej jednego limitu głębokości zagnieżdżania. W tej tabeli przedstawiono liczbę głębokości, którą każda instrukcja dodaje lub odejmuje z istniejącej głębokości:
| Polecenie | Zagnieżdżanie statyczne | Dynamiczne zagnieżdżanie | zagnieżdżanie pętli/powtórzeń | zagnieżdżanie wywołań | Liczba przepływów statycznych |
|---|---|---|---|---|---|
| jeśli wartość logiczna — vs | 1 | 0 | 0 | 0 | N/a |
| if_comp — vs | 0 | 1 | 0 | 0 | N/a |
| , jeśli jest wstępnie pred — vs | 0 | 1 | 0 | 0 | N/a |
| else — vs | 0 | 0 | 0 | 0 | N/a |
| endif — vs | -1(if bool - vs) | -1(, jeśli pred - vs lub if_comp - vs) | 0 | 0 | N/a |
| rep — vs | 0 | 0 | 1 | 0 | N/a |
| endrep — vs | 0 | 0 | -1 | 0 | N/a |
| pętla — vs | 0 | 0 | 1 | 0 | N/a |
| endloop — vs | 0 | 0 | -1 | 0 | N/a |
| przerwanie — a | 0 | 0 | 0 | 0 | N/a |
| break_comp — a | 0 | 1, -1 | 0 | 0 | N/a |
| breakp — vs | 0 | 0 | 0 | 0 | N/a |
| wywołanie — vs | 0 | 0 | 0 | 1 | N/a |
| callnz bool — vs | 0 | 0 | 0 | 1 | N/a |
| pred callnz — vs | 0 | 1 | 0 | 1 | N/a |
| ret — vs | 0 | -1 (callnz pred - vs) | 0 | -1 | N/a |
| setp_comp — vs | 0 | 0 | 0 | 0 | N/a |
Głębokość zagnieżdżania
Głębokość zagnieżdżania określa, ile instrukcji można wywołać wewnątrz siebie. Każdy typ instrukcji ma co najmniej jeden limit zagnieżdżania:
| Typ instrukcji | Maksimum |
|---|---|
| Zagnieżdżanie statyczne | 24 |
| Dynamiczne zagnieżdżanie | 24 |
| zagnieżdżanie pętli/powtórzeń | 4 |
| zagnieżdżanie wywołań | 4 |
| Liczba przepływów statycznych | Brak limitu |
Liczba głębokości na instrukcję dla vs_3_0
Każda instrukcja jest liczone względem co najmniej jednego limitu głębokości zagnieżdżania. W tej tabeli przedstawiono liczbę głębokości, którą każda instrukcja dodaje lub odejmuje z istniejącej głębokości:
| Polecenie | Zagnieżdżanie statyczne | Dynamiczne zagnieżdżanie | zagnieżdżanie pętli/powtórzeń | zagnieżdżanie wywołań | Liczba przepływów statycznych |
|---|---|---|---|---|---|
| jeśli wartość logiczna — vs | 1 | 0 | 0 | 0 | N/a |
| if_comp — vs | 0 | 1 | 0 | 0 | N/a |
| , jeśli jest wstępnie pred — vs | 0 | 1 | 0 | 0 | N/a |
| else — vs | 0 | 0 | 0 | 0 | N/a |
| endif — vs | -1(if bool - vs) | -1(, jeśli pred - vs lub if_comp - vs) | 0 | 0 | N/a |
| rep — vs | 0 | 0 | 1 | 0 | N/a |
| endrep — vs | 0 | 0 | -1 | 0 | N/a |
| pętla — vs | 0 | 0 | 1 | 0 | N/a |
| endloop — vs | 0 | 0 | -1 | 0 | N/a |
| przerwanie — a | 0 | 0 | 0 | 0 | N/a |
| break_comp — a | 0 | 1, -1 | 0 | 0 | N/a |
| breakp — vs | 0 | 0 | 0 | 0 | N/a |
| wywołanie — vs | 0 | 0 | 0 | 1 | N/a |
| callnz bool — vs | 0 | 0 | 0 | 1 | N/a |
| pred callnz — vs | 0 | 1 | 0 | 1 | N/a |
| ret — vs | 0 | -1 (callnz pred - vs) | 0 | -1 | N/a |
| setp_comp — vs | 0 | 0 | 0 | 0 | N/a |
Głębokość zagnieżdżania
Głębokość zagnieżdżania określa, ile instrukcji można wywołać wewnątrz siebie. Każdy typ instrukcji ma co najmniej jeden limit zagnieżdżania:
| Typ instrukcji | Maksimum |
|---|---|
| Zagnieżdżanie statyczne | 24 |
| Dynamiczne zagnieżdżanie | 24 |
| zagnieżdżanie pętli/powtórzeń | 4 |
| zagnieżdżanie wywołań | 4 |
| Liczba przepływów statycznych | Brak limitu |
Liczba głębokości na instrukcję dla vs_3_sw
Każda instrukcja jest liczone względem co najmniej jednego limitu głębokości zagnieżdżania. W tej tabeli przedstawiono liczbę głębokości, którą każda instrukcja dodaje lub odejmuje z istniejącej głębokości:
| Polecenie | Zagnieżdżanie statyczne | Dynamiczne zagnieżdżanie | zagnieżdżanie pętli/powtórzeń | zagnieżdżanie wywołań | Liczba przepływów statycznych |
|---|---|---|---|---|---|
| jeśli wartość logiczna — vs | 1 | 0 | 0 | 0 | N/a |
| if_comp — vs | 0 | 1 | 0 | 0 | N/a |
| , jeśli jest wstępnie pred — vs | 0 | 1 | 0 | 0 | N/a |
| else — vs | 0 | 0 | 0 | 0 | N/a |
| endif — vs | -1(if bool - vs) | -1(, jeśli pred - vs lub if_comp - vs) | 0 | 0 | N/a |
| rep — vs | 0 | 0 | 1 | 0 | N/a |
| endrep — vs | 0 | 0 | -1 | 0 | N/a |
| pętla — vs | 0 | 0 | 1 | 0 | N/a |
| endloop — vs | 0 | 0 | -1 | 0 | N/a |
| przerwanie — a | 0 | 0 | 0 | 0 | N/a |
| break_comp — a | 0 | 1, -1 | 0 | 0 | N/a |
| breakp — vs | 0 | 0 | 0 | 0 | N/a |
| wywołanie — vs | 0 | 0 | 0 | 1 | N/a |
| callnz bool — vs | 0 | 0 | 0 | 1 | N/a |
| pred callnz — vs | 0 | 1 | 0 | 1 | N/a |
| ret — vs | 0 | -1 (callnz pred - vs) | 0 | -1 | N/a |
| setp_comp — vs | 0 | 0 | 0 | 0 | N/a |
Głębokość zagnieżdżania
Głębokość zagnieżdżania określa, ile instrukcji można wywołać wewnątrz siebie. Każdy typ instrukcji ma co najmniej jeden limit zagnieżdżania:
| Typ instrukcji | Maksimum |
|---|---|
| Zagnieżdżanie statyczne | 24 |
| Dynamiczne zagnieżdżanie | 24 |
| zagnieżdżanie pętli/powtórzeń | 4 |
| zagnieżdżanie wywołań | 4 |
| Liczba przepływów statycznych | Brak limitu |
Tematy pokrewne