Native sampled color functions

Natywny renderer Cairo ewaluuje próbkowane funkcje kolorów FunctionType 0 z Order 1 albo Order 3, łącznie z wieloma wejściami tint i wieloma wyjściami kolorów alternatywnych

Ewaluacja sześcienna rozszerza istniejącą konwencję interpolacji skalarnej czterech węzłów o iloczyn tensorowy wzdłuż wymiarów wejścia; okna przesuwają się do środka na krawędziach tabel, wymiary z mniej niż czterema próbkami zachowują istniejący fallback liniowy, a Size 1 pozostaje stałe

Ścieżka skalarnej funkcji transferowej jedno-wejściowej i jedno-wyjściowej zachowuje istniejące zachowanie

Sample processing

Wejścia są przycinane do Domain, mapowane przez Encode i przycinane do granic tabeli; interpolacja czyta ciągłe próbki najpierw najbardziej znaczący bit, stosuje Decode i przycina ukończone składowe do Range

Obsługiwane głębokości próbek to 1, 2, 4, 8, 12, 16, 24 i 32 bity, przy czym pierwszy wymiar wejścia zmienia się najszybciej

ISO 32000-1 sekcja 7.10.2 definiuje layout i sekwencję przetwarzania funkcji próbkowanych; numeryczny wzór akceptacyjny zapisuje istniejącą konwencję czterech węzłów biblioteki bez roszczenia, że standard wybiera unikalne jądro sześcienne

Resource limits

Ewaluacja tensorowa może odwiedzić cztery gałęzie na wymiar wejścia; każdy odwiedzony węzeł i każdy bit próbki sześciennej wlicza się do zagregowanych limitów operacji i odpytania anulowania, podczas gdy gałęzie o zerowej wadze nie wykonują pracy próbkowania

Zdekodowane strumienie, zachowane dane funkcji i storage ewaluacji wliczają się do przyjmowania zdekodowanych bajtów i aktywnych bajtów roboczych; duże poprawne tabele mogą wymagać wybranego przez wywołującego limitu operacji

Awarie występują przed publikacją PNG, a kolejne renderowanie może ponownie użyć tego samego wątku i API załadowanego dokumentu

Acceptance

Niezależne równania tensorowe rozwiązują wagi interpolacji przez układ Vandermonde'a i weryfikują natywne piksele dla upakowanych głębokości próbek, wielowymiarowych okien, krótkich wymiarów, kodowań i przycinania wyjścia

Różnice źródłowe MuPDF i Poppler są zachowywane oddzielnie od natywnej akceptacji tensorowej; oba czytniki weryfikują też towarzyszy jawnego równania RGB

Zobacz Tests/Linux/HeadlessSampledCubic.en-us.md po fiksowane fixture'y i odtworzenie limitów, oraz Native Linux Cairo renderer po kontrakty renderowania i własności