diff --git a/CMakeLists.txt b/CMakeLists.txt index 28adff8..b2191a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,9 +14,8 @@ set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/../lib) set(INCLUDE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/../include) set(CMAKE_CACHEFILE_DIR ${PROJECT_BINARY_DIR}) -Option(MIRROR_OPENMP "openmp support" ON) -Option(MIRROR_VULKAN "vulkan compute used" ON) -Option(MIRROR_BUILD_CLASSIFIER "build classifier test" ON) +Option(OV_OPENMP "openmp support" ON) +# Option(OV_VULKAN "vulkan compute used" ON) add_subdirectory(ncnn) diff --git a/README.md b/README.md new file mode 100644 index 0000000..bd04740 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# libopenvision deep learning visualization C liberay + +## Prerequest + +- ncnn [Install](http://github.com/Tencent/ncnn/wiki/how-to-build) +- openmp +- vulkan(optional) + +## Build + +```bash +git submodule update --init --recursuve +cd build +cmake .. # optional -DNCNN_VULKAN=OFF -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang +``` + +## Features + +- face + - detecter (for face location and keypoints detection) + - mtcnn + - centerface + - retainface + - anticonv (for mask detection) + - recognizer (face feature extration for classification) + - mobilenet + - landmarker (for face landmarkers extraction) + - insightface + - zq + - tracker (for face IOU calculation bettween frames) + - hopenet (for head pose detection) +- golang binding (github.com/bububa/openvision/go) diff --git a/go/common/cgo.go b/go/common/cgo.go index 9086aad..a16f9b4 100644 --- a/go/common/cgo.go +++ b/go/common/cgo.go @@ -1,3 +1,5 @@ +// +build !vulkan + package common /* @@ -5,32 +7,5 @@ package common #cgo CPPFLAGS: -I ${SRCDIR}/../../include -I /usr/local/include #cgo LDFLAGS: -lstdc++ -lncnn -lomp -lopenvision #cgo LDFLAGS: -L /usr/local/lib -L ${SRCDIR}/../../lib -#include -#include -#include "openvision/common/common.h" */ import "C" -import "unsafe" - -// NewCFloatVector returns C.FloatVector pointer -func NewCFloatVector() *C.FloatVector { - return (*C.FloatVector)(C.malloc(C.sizeof_FloatVector)) -} - -// GoFloatVector convert C.FloatVector to []float64 -func GoFloatVector(cVector *C.FloatVector) []float64 { - l := int(cVector.length) - ret := make([]float64, 0, l) - ptr := unsafe.Pointer(cVector.values) - for i := 0; i < l; i++ { - v := (*float32)(unsafe.Pointer(uintptr(ptr) + uintptr(C.int(i)*C.sizeof_float))) - ret = append(ret, float64(*v)) - } - return ret -} - -// FreeCFloatVector release C.FloatVector memory -func FreeCFloatVector(c *C.FloatVector) { - C.FreeFloatVector(c) - C.free(unsafe.Pointer(c)) -} diff --git a/go/common/cgo_vulkan.go b/go/common/cgo_vulkan.go new file mode 100644 index 0000000..cd7a5ba --- /dev/null +++ b/go/common/cgo_vulkan.go @@ -0,0 +1,12 @@ +// +build vulkan + +package common + +/* +#cgo CXXFLAGS: --std=c++11 -fopenmp +#cgo CFLAGS: -DMIRROR_VULKAN=ON -DMIRROR_OPENMP=ON +#cgo CPPFLAGS: -I ${SRCDIR}/../../include -I /usr/local/include +#cgo LDFLAGS: -lstdc++ -lncnn -lomp -lopenvision -lglslang -lvulkan -lSPIRV -lOGLCompiler -lMachineIndependent -lGenericCodeGen -lOSDependent +#cgo LDFLAGS: -L /usr/local/lib -L ${SRCDIR}/../../lib +*/ +import "C" diff --git a/go/common/color.go b/go/common/color.go index 1042b4a..734329f 100644 --- a/go/common/color.go +++ b/go/common/color.go @@ -41,4 +41,5 @@ const ( Green = "#64DD17" Pink = "#E91E63" Red = "#FF1744" + Blue = "#2196F3" ) diff --git a/go/common/ctype.go b/go/common/ctype.go new file mode 100644 index 0000000..856d05b --- /dev/null +++ b/go/common/ctype.go @@ -0,0 +1,45 @@ +package common + +/* +#include +#include +#include "openvision/common/common.h" +*/ +import "C" +import "unsafe" + +// NewCFloatVector returns C.FloatVector pointer +func NewCFloatVector() *C.FloatVector { + return (*C.FloatVector)(C.malloc(C.sizeof_FloatVector)) +} + +// GoFloatVector convert C.FloatVector to []float64 +func GoFloatVector(cVector *C.FloatVector) []float64 { + l := int(cVector.length) + ret := make([]float64, 0, l) + ptr := unsafe.Pointer(cVector.values) + for i := 0; i < l; i++ { + v := (*float32)(unsafe.Pointer(uintptr(ptr) + uintptr(C.int(i)*C.sizeof_float))) + ret = append(ret, float64(*v)) + } + return ret +} + +// FreeCFloatVector release C.FloatVector memory +func FreeCFloatVector(c *C.FloatVector) { + C.FreeFloatVector(c) + C.free(unsafe.Pointer(c)) +} + +func NewCBytes() *C.Bytes { + return (*C.Bytes)(C.malloc(C.sizeof_Bytes)) +} + +func GoBytes(c *C.Bytes) []byte { + return C.GoBytes(unsafe.Pointer(c.values), c.length) +} + +func FreeCBytes(c *C.Bytes) { + C.FreeBytes(c) + C.free(unsafe.Pointer(c)) +} diff --git a/go/common/gpu.go b/go/common/gpu.go new file mode 100644 index 0000000..39263e5 --- /dev/null +++ b/go/common/gpu.go @@ -0,0 +1,22 @@ +package common + +/* +#include +#include +#include "openvision/common/common.h" +*/ +import "C" + +func GetGPUCount() int { + count := C.get_gpu_count() + return int(count) +} + +func CreateGPUInstance() int { + i := C.create_gpu_instance() + return int(i) +} + +func DestroyGPUInstance() { + C.destroy_gpu_instance() +} diff --git a/go/common/image.go b/go/common/image.go index 312a365..6b14b1a 100644 --- a/go/common/image.go +++ b/go/common/image.go @@ -34,6 +34,13 @@ func (i Image) Bytes() []byte { return i.buffer.Bytes() } +// RGBABytes returns image bytes in rgba +func (i Image) RGBABytes() []byte { + buf := new(bytes.Buffer) + Image2RGBA(buf, i.Image) + return buf.Bytes() +} + // Width returns image width func (i Image) Width() int { return i.Bounds().Dx() @@ -105,6 +112,17 @@ func Image2RGB(buf io.Writer, img image.Image) { } } +// Image2RGBA write image rgbdata to buffer +func Image2RGBA(buf io.Writer, img image.Image) { + bounds := img.Bounds() + for j := bounds.Min.Y; j < bounds.Max.Y; j++ { + for i := bounds.Min.X; i < bounds.Max.X; i++ { + r, g, b, a := img.At(i, j).RGBA() + buf.Write([]byte{byte(b >> 8), byte(g >> 8), byte(r >> 8), byte(a >> 8)}) + } + } +} + // Image2BGR write image bgrdata to buffer func Image2BGR(buf io.Writer, img image.Image) { bounds := img.Bounds() diff --git a/go/error.go b/go/error.go index bc14c47..d4fb35c 100644 --- a/go/error.go +++ b/go/error.go @@ -44,4 +44,16 @@ var ( Message: "track face failed", } } + DetectHeadPoseError = func(code int) Error { + return Error{ + Code: code, + Message: "detect head pose failed", + } + } + RealsrError = func(code int) Error { + return Error{ + Code: code, + Message: "super-resolution process error", + } + } ) diff --git a/go/examples/detecter/main.go b/go/examples/detecter/main.go index 601460f..6e0a949 100644 --- a/go/examples/detecter/main.go +++ b/go/examples/detecter/main.go @@ -21,6 +21,8 @@ func main() { dataPath := cleanPath(wd, "~/go/src/github.com/bububa/openvision/data") imgPath := filepath.Join(dataPath, "./images") modelPath := filepath.Join(dataPath, "./models") + common.CreateGPUInstance() + defer common.DestroyGPUInstance() test_detect(imgPath, modelPath) test_mask(imgPath, modelPath) } diff --git a/go/examples/hopenet/main.go b/go/examples/hopenet/main.go new file mode 100644 index 0000000..aeefee6 --- /dev/null +++ b/go/examples/hopenet/main.go @@ -0,0 +1,120 @@ +package main + +import ( + "bytes" + "fmt" + "image" + "image/jpeg" + "log" + "os" + "os/user" + "path/filepath" + "strings" + + "github.com/bububa/openvision/go/common" + "github.com/bububa/openvision/go/face/detecter" + facedrawer "github.com/bububa/openvision/go/face/drawer" + "github.com/bububa/openvision/go/face/hopenet" +) + +func main() { + wd, _ := os.Getwd() + dataPath := cleanPath(wd, "~/go/src/github.com/bububa/openvision/data") + imgPath := filepath.Join(dataPath, "./images") + modelPath := filepath.Join(dataPath, "./models") + common.CreateGPUInstance() + defer common.DestroyGPUInstance() + d := retinaface(modelPath) + defer d.Destroy() + h := processer(modelPath) + defer h.Destroy() + for _, fn := range []string{"robocop.jpg", "terminator.jpg"} { + process(d, h, imgPath, fn) + } +} + +func processer(modelPath string) *hopenet.Hopenet { + gpuCount := common.GetGPUCount() + log.Printf("gpu: %d\n", gpuCount) + modelPath = filepath.Join(modelPath, "hopenet") + d := hopenet.NewHopenet() + if err := d.LoadModel(modelPath); err != nil { + log.Fatalln(err) + } + return d +} + +func retinaface(modelPath string) detecter.Detecter { + modelPath = filepath.Join(modelPath, "fd") + d := detecter.NewRetinaFace() + if err := d.LoadModel(modelPath); err != nil { + log.Fatalln(err) + } + return d +} + +func process(d detecter.Detecter, h *hopenet.Hopenet, imgPath string, filename string) { + inPath := filepath.Join(imgPath, filename) + imgLoaded, err := loadImage(inPath) + if err != nil { + log.Fatalln("load image failed,", err) + } + img := common.NewImage(imgLoaded) + faces, err := d.DetectFace(img) + if err != nil { + log.Fatalln(err) + } + drawer := facedrawer.New(facedrawer.WithBorderStrokeWidth(4)) + for _, face := range faces { + pose, err := h.Detect(img, face.Rect) + if err != nil { + log.Fatalln(err) + } + log.Printf("pose: %+v\n", pose) + out := drawer.DrawHeadPose(imgLoaded, pose, face.Rect) + outPath := filepath.Join(imgPath, "./results", fmt.Sprintf("hopenet-%s", filename)) + + if err := saveImage(out, outPath); err != nil { + log.Fatalln(err) + } + } + +} + +func loadImage(filePath string) (image.Image, error) { + fn, err := os.Open(filePath) + if err != nil { + return nil, err + } + defer fn.Close() + img, _, err := image.Decode(fn) + if err != nil { + return nil, err + } + return img, nil +} + +func saveImage(img image.Image, filePath string) error { + buf := new(bytes.Buffer) + if err := jpeg.Encode(buf, img, nil); err != nil { + return err + } + fn, err := os.Create(filePath) + if err != nil { + return err + } + defer fn.Close() + fn.Write(buf.Bytes()) + return nil +} + +func cleanPath(wd string, path string) string { + usr, _ := user.Current() + dir := usr.HomeDir + if path == "~" { + return dir + } else if strings.HasPrefix(path, "~/") { + return filepath.Join(dir, path[2:]) + } + return filepath.Join(wd, path) +} diff --git a/go/examples/landmarker/main.go b/go/examples/landmarker/main.go index 6d4b307..32d3727 100644 --- a/go/examples/landmarker/main.go +++ b/go/examples/landmarker/main.go @@ -21,6 +21,8 @@ func main() { dataPath := cleanPath(wd, "~/go/src/github.com/bububa/openvision/data") imgPath := filepath.Join(dataPath, "./images") modelPath := filepath.Join(dataPath, "./models") + common.CreateGPUInstance() + defer common.DestroyGPUInstance() d := retinaface(modelPath) defer d.Destroy() m := insightface(modelPath) diff --git a/go/examples/realrs/main.go b/go/examples/realrs/main.go new file mode 100644 index 0000000..316e5cf --- /dev/null +++ b/go/examples/realrs/main.go @@ -0,0 +1,97 @@ +package main + +import ( + "bytes" + "fmt" + "image" + "image/jpeg" + "log" + "os" + "os/user" + "path/filepath" + "strings" + + "github.com/bububa/openvision/go/common" + "github.com/bububa/openvision/go/realsr" + "github.com/bububa/openvision/go/realsr/realesrgan" +) + +func main() { + wd, _ := os.Getwd() + dataPath := cleanPath(wd, "~/go/src/github.com/bububa/openvision/data") + imgPath := filepath.Join(dataPath, "./images") + modelPath := filepath.Join(dataPath, "./models") + common.CreateGPUInstance() + defer common.DestroyGPUInstance() + d := real_esrgan(modelPath) + defer d.Destroy() + process(d, imgPath, "realsr-1.jpg") +} + +func real_esrgan(modelPath string) realsr.Processer { + gpuCount := common.GetGPUCount() + log.Printf("gpu: %d\n", gpuCount) + modelPath = filepath.Join(modelPath, "realesrgan/x4-jpeg") + d := realesrgan.NewRealERSGAN(1, false) + if err := d.LoadModel(modelPath); err != nil { + log.Fatalln(err) + } + return d +} + +func process(d realsr.Processer, imgPath string, filename string) { + inPath := filepath.Join(imgPath, filename) + imgLoaded, err := loadImage(inPath) + if err != nil { + log.Fatalln("load image failed,", err) + } + img := common.NewImage(imgLoaded) + out, err := d.Process(img, 4) + if err != nil { + log.Fatalln(err) + } + outPath := filepath.Join(imgPath, "./results", fmt.Sprintf("realrs-%s", filename)) + + if err := saveImage(out, outPath); err != nil { + log.Fatalln(err) + } + +} + +func loadImage(filePath string) (image.Image, error) { + fn, err := os.Open(filePath) + if err != nil { + return nil, err + } + defer fn.Close() + img, _, err := image.Decode(fn) + if err != nil { + return nil, err + } + return img, nil +} + +func saveImage(img image.Image, filePath string) error { + buf := new(bytes.Buffer) + if err := jpeg.Encode(buf, img, nil); err != nil { + return err + } + fn, err := os.Create(filePath) + if err != nil { + return err + } + defer fn.Close() + fn.Write(buf.Bytes()) + return nil +} + +func cleanPath(wd string, path string) string { + usr, _ := user.Current() + dir := usr.HomeDir + if path == "~" { + return dir + } else if strings.HasPrefix(path, "~/") { + return filepath.Join(dir, path[2:]) + } + return filepath.Join(wd, path) +} diff --git a/go/examples/recognizer/main.go b/go/examples/recognizer/main.go index c87923f..332ad44 100644 --- a/go/examples/recognizer/main.go +++ b/go/examples/recognizer/main.go @@ -20,6 +20,8 @@ func main() { dataPath := cleanPath(wd, "~/go/src/github.com/bububa/openvision/data") imgPath := filepath.Join(dataPath, "./images") modelPath := filepath.Join(dataPath, "./models") + common.CreateGPUInstance() + defer common.DestroyGPUInstance() d := retinaface(modelPath) defer d.Destroy() m := mobilefacenet(modelPath) diff --git a/go/examples/tracker/main.go b/go/examples/tracker/main.go index 1bc0585..7f4a785 100644 --- a/go/examples/tracker/main.go +++ b/go/examples/tracker/main.go @@ -23,6 +23,8 @@ func main() { dataPath := cleanPath(wd, "~/go/src/github.com/bububa/openvision/data") imgPath := filepath.Join(dataPath, "./images") modelPath := filepath.Join(dataPath, "./models") + common.CreateGPUInstance() + defer common.DestroyGPUInstance() d := retinaface(modelPath) defer d.Destroy() t := tracker.NewTracker() diff --git a/go/face/cgo.go b/go/face/cgo.go index 22b4849..85fca25 100644 --- a/go/face/cgo.go +++ b/go/face/cgo.go @@ -1,3 +1,5 @@ +// +build !vulkan + package face /* diff --git a/go/face/cgo_vulkan.go b/go/face/cgo_vulkan.go new file mode 100644 index 0000000..a898de2 --- /dev/null +++ b/go/face/cgo_vulkan.go @@ -0,0 +1,11 @@ +// +build vulkan + +package face + +/* +#cgo CXXFLAGS: --std=c++11 -fopenmp +#cgo CPPFLAGS: -I ${SRCDIR}/../../include -I /usr/local/include +#cgo LDFLAGS: -lstdc++ -lncnn -lomp -lopenvision -lglslang -lvulkan -lSPIRV -lOGLCompiler -lMachineIndependent -lGenericCodeGen -lOSDependent +#cgo LDFLAGS: -L /usr/local/lib -L ${SRCDIR}/../../lib +*/ +import "C" diff --git a/go/face/detecter/cgo.go b/go/face/detecter/cgo.go index ea95b10..db3b071 100644 --- a/go/face/detecter/cgo.go +++ b/go/face/detecter/cgo.go @@ -1,3 +1,5 @@ +// +build !vulkan + package detecter /* diff --git a/go/face/detecter/cgo_vulkan.go b/go/face/detecter/cgo_vulkan.go new file mode 100644 index 0000000..dc55054 --- /dev/null +++ b/go/face/detecter/cgo_vulkan.go @@ -0,0 +1,11 @@ +// +build vulkan + +package detecter + +/* +#cgo CXXFLAGS: --std=c++11 -fopenmp +#cgo CPPFLAGS: -I ${SRCDIR}/../../../include -I /usr/local/include +#cgo LDFLAGS: -lstdc++ -lncnn -lomp -lopenvision -lglslang -lvulkan -lSPIRV -lOGLCompiler -lMachineIndependent -lGenericCodeGen -lOSDependent +#cgo LDFLAGS: -L /usr/local/lib -L ${SRCDIR}/../../../lib +*/ +import "C" diff --git a/go/face/drawer/const.go b/go/face/drawer/const.go index a646261..d96d45c 100644 --- a/go/face/drawer/const.go +++ b/go/face/drawer/const.go @@ -1,4 +1,4 @@ -package face +package drawer import ( "github.com/bububa/openvision/go/common" diff --git a/go/face/drawer/drawer.go b/go/face/drawer/drawer.go index cbe2683..2db51c8 100644 --- a/go/face/drawer/drawer.go +++ b/go/face/drawer/drawer.go @@ -1,7 +1,8 @@ -package face +package drawer import ( "image" + "log" "github.com/llgcode/draw2d/draw2dimg" @@ -84,3 +85,41 @@ func (d *Drawer) DrawLandmark(img image.Image, points []common.Point) image.Imag } return out } + +// DrawHeadPose draw head pose +func (d *Drawer) DrawHeadPose(img image.Image, pose face.HeadPose, rect common.Rectangle) image.Image { + imgW := float64(img.Bounds().Dx()) + imgH := float64(img.Bounds().Dy()) + rect.X *= imgW + rect.Y *= imgH + rect.Width *= imgW + rect.Height *= imgH + xOffset := rect.X + rect.Width/2 + yOffset := rect.Y + rect.Height/2 + dist := rect.Height / 2 + axises := EulrToAxisPoints(pose.Yaw, pose.Pitch, pose.Roll, dist) + log.Printf("%+v\n", axises) + out := image.NewRGBA(img.Bounds()) + gc := draw2dimg.NewGraphicContext(out) + gc.DrawImage(img) + gc.SetLineWidth(d.BorderStrokeWidth) + gc.SetStrokeColor(common.ColorFromHex(common.Red)) + gc.BeginPath() + gc.MoveTo(xOffset, yOffset) + gc.LineTo(axises[0][0]+xOffset, axises[0][1]+yOffset) + gc.Stroke() + gc.Close() + gc.SetStrokeColor(common.ColorFromHex(common.Green)) + gc.BeginPath() + gc.MoveTo(xOffset, yOffset) + gc.LineTo(axises[1][0]+xOffset, axises[1][1]+yOffset) + gc.Stroke() + gc.Close() + gc.SetStrokeColor(common.ColorFromHex(common.Blue)) + gc.BeginPath() + gc.MoveTo(xOffset, yOffset) + gc.LineTo(axises[2][0]+xOffset, axises[2][1]+yOffset) + gc.Stroke() + gc.Close() + return out +} diff --git a/go/face/drawer/eulr.go b/go/face/drawer/eulr.go new file mode 100644 index 0000000..ff23bd5 --- /dev/null +++ b/go/face/drawer/eulr.go @@ -0,0 +1,34 @@ +package drawer + +import "math" + +// EulrToAxisPoints returns a transformation roll/pitch/yaw to Axis in 2d +// intrinsic rotations around the (local) axis Y, X, Z, in that order. +func EulrToAxisPoints(yaw float64, pitch float64, roll float64, distance float64) [3][2]float64 { + pitch *= math.Pi / 180 + yaw *= -1 * math.Pi / 180 + roll *= math.Pi / 180 + + cYaw := math.Cos(yaw) + cPitch := math.Cos(pitch) + cRoll := math.Cos(roll) + + sYaw := math.Sin(yaw) + sPitch := math.Sin(pitch) + sRoll := math.Sin(roll) + + xAxisX := distance * cYaw * cRoll + xAxisY := distance * (cPitch*sRoll + cRoll*sPitch*sYaw) + + yAxisX := distance * -1 * cYaw * sRoll + yAxisY := distance * (cPitch*cRoll - sPitch*sYaw*sRoll) + + zAxisX := distance * sYaw + zAxisY := distance * -1 * cYaw * sPitch + + return [3][2]float64{ + {xAxisX, xAxisY}, + {yAxisX, yAxisY}, + {zAxisX, zAxisY}, + } +} diff --git a/go/face/drawer/option.go b/go/face/drawer/option.go index 6c43fa4..a7fc784 100644 --- a/go/face/drawer/option.go +++ b/go/face/drawer/option.go @@ -1,4 +1,4 @@ -package face +package drawer // Option represents Drawer option interface type Option interface { diff --git a/go/face/head_pose.go b/go/face/head_pose.go new file mode 100644 index 0000000..576eb0a --- /dev/null +++ b/go/face/head_pose.go @@ -0,0 +1,29 @@ +package face + +/* +#include +#include +#include "openvision/common/common.h" +*/ +import "C" + +// HeadPose represents detected head pose +type HeadPose struct { + Roll float64 + Pitch float64 + Yaw float64 +} + +// GoHeadPose convert C.HeadPose to go type +func GoHeadPose(c *C.HeadPose) HeadPose { + return HeadPose{ + Roll: float64(c.roll), + Pitch: float64(c.pitch), + Yaw: float64(c.yaw), + } +} + +// NewCHeadPose retruns a new C.HeadPose +func NewCHeadPose() *C.HeadPose { + return (*C.HeadPose)(C.malloc(C.sizeof_HeadPose)) +} diff --git a/go/face/hopenet/cgo.go b/go/face/hopenet/cgo.go new file mode 100644 index 0000000..b254f83 --- /dev/null +++ b/go/face/hopenet/cgo.go @@ -0,0 +1,11 @@ +// +build !vulkan + +package hopenet + +/* +#cgo CXXFLAGS: --std=c++11 -fopenmp +#cgo CPPFLAGS: -I ${SRCDIR}/../../../include -I /usr/local/include +#cgo LDFLAGS: -lstdc++ -lncnn -lomp -lopenvision +#cgo LDFLAGS: -L /usr/local/lib -L ${SRCDIR}/../../../lib +*/ +import "C" diff --git a/go/face/hopenet/cgo_vulkan.go b/go/face/hopenet/cgo_vulkan.go new file mode 100644 index 0000000..4910141 --- /dev/null +++ b/go/face/hopenet/cgo_vulkan.go @@ -0,0 +1,11 @@ +// +build vulkan + +package hopenet + +/* +#cgo CXXFLAGS: --std=c++11 -fopenmp +#cgo CPPFLAGS: -I ${SRCDIR}/../../../include -I /usr/local/include +#cgo LDFLAGS: -lstdc++ -lncnn -lomp -lopenvision -lglslang -lvulkan -lSPIRV -lOGLCompiler -lMachineIndependent -lGenericCodeGen -lOSDependent +#cgo LDFLAGS: -L /usr/local/lib -L ${SRCDIR}/../../../lib +*/ +import "C" diff --git a/go/face/hopenet/doc.go b/go/face/hopenet/doc.go new file mode 100644 index 0000000..723a6e5 --- /dev/null +++ b/go/face/hopenet/doc.go @@ -0,0 +1,2 @@ +// Package hopenet head pose detecter +package hopenet diff --git a/go/face/hopenet/hopenet.go b/go/face/hopenet/hopenet.go new file mode 100644 index 0000000..9413a2e --- /dev/null +++ b/go/face/hopenet/hopenet.go @@ -0,0 +1,69 @@ +package hopenet + +/* +#include +#include +#include "openvision/common/common.h" +#include "openvision/face/hopenet.h" +*/ +import "C" +import ( + "unsafe" + + openvision "github.com/bububa/openvision/go" + "github.com/bububa/openvision/go/common" + "github.com/bububa/openvision/go/face" +) + +// Hopenet represents Hopenet detecter +type Hopenet struct { + d C.IHopeNet +} + +// NewHopenet returns a new Hopenet +func NewHopenet() *Hopenet { + return &Hopenet{ + d: C.new_hopenet(), + } +} + +// Destroy destroy C.IHopeNet +func (h *Hopenet) Destroy() { + C.destroy_hopenet(h.d) +} + +func (h *Hopenet) LoadModel(modelPath string) error { + cpath := C.CString(modelPath) + defer C.free(unsafe.Pointer(cpath)) + retCode := C.hopenet_load_model(h.d, cpath) + if retCode != 0 { + return openvision.LoadModelError(int(retCode)) + } + return nil +} + +// Detect +func (h *Hopenet) Detect(img *common.Image, faceRect common.Rectangle) (face.HeadPose, error) { + imgWidth := img.WidthF64() + imgHeight := img.HeightF64() + faceRect.X *= imgWidth + faceRect.Y *= imgHeight + faceRect.Width *= imgWidth + faceRect.Height *= imgHeight + data := img.Bytes() + CRect := faceRect.CRect() + CHeadPose := face.NewCHeadPose() + defer C.free(unsafe.Pointer(CHeadPose)) + errCode := C.hopenet_detect( + h.d, + (*C.uchar)(unsafe.Pointer(&data[0])), + C.int(imgWidth), C.int(imgHeight), + (*C.Rect)(unsafe.Pointer(CRect)), + (*C.HeadPose)(unsafe.Pointer(CHeadPose)), + ) + C.free(unsafe.Pointer(CRect)) + if errCode != 0 { + return face.HeadPose{}, openvision.DetectHeadPoseError(int(errCode)) + } + return face.GoHeadPose(CHeadPose), nil +} diff --git a/go/face/landmarker/cgo.go b/go/face/landmarker/cgo.go index eb3dc0b..70e4b26 100644 --- a/go/face/landmarker/cgo.go +++ b/go/face/landmarker/cgo.go @@ -1,3 +1,5 @@ +// +build !vulkan + package landmarker /* diff --git a/go/face/landmarker/cgo_vulkan.go b/go/face/landmarker/cgo_vulkan.go new file mode 100644 index 0000000..eaae6e0 --- /dev/null +++ b/go/face/landmarker/cgo_vulkan.go @@ -0,0 +1,11 @@ +// +build vulkan + +package landmarker + +/* +#cgo CXXFLAGS: --std=c++11 -fopenmp +#cgo CPPFLAGS: -I ${SRCDIR}/../../../include -I /usr/local/include +#cgo LDFLAGS: -lstdc++ -lncnn -lomp -lopenvision -lglslang -lvulkan -lSPIRV -lOGLCompiler -lMachineIndependent -lGenericCodeGen -lOSDependent +#cgo LDFLAGS: -L /usr/local/lib -L ${SRCDIR}/../../../lib +*/ +import "C" diff --git a/go/face/recognizer/cgo.go b/go/face/recognizer/cgo.go index 619d81d..05f982e 100644 --- a/go/face/recognizer/cgo.go +++ b/go/face/recognizer/cgo.go @@ -1,3 +1,5 @@ +// +build !vulkan + package recognizer /* diff --git a/go/face/recognizer/cgo_vulkan.go b/go/face/recognizer/cgo_vulkan.go new file mode 100644 index 0000000..f554f6b --- /dev/null +++ b/go/face/recognizer/cgo_vulkan.go @@ -0,0 +1,11 @@ +// +build vulkan + +package recognizer + +/* +#cgo CXXFLAGS: --std=c++11 -fopenmp +#cgo CPPFLAGS: -I ${SRCDIR}/../../../include -I /usr/local/include +#cgo LDFLAGS: -lstdc++ -lncnn -lomp -lopenvision -lglslang -lvulkan -lSPIRV -lOGLCompiler -lMachineIndependent -lGenericCodeGen -lOSDependent +#cgo LDFLAGS: -L /usr/local/lib -L ${SRCDIR}/../../../lib +*/ +import "C" diff --git a/go/face/tracker/cgo.go b/go/face/tracker/cgo.go index 8c464cb..0f33239 100644 --- a/go/face/tracker/cgo.go +++ b/go/face/tracker/cgo.go @@ -1,3 +1,5 @@ +// +build !vulkan + package tracker /* diff --git a/go/face/tracker/cgo_vulkan.go b/go/face/tracker/cgo_vulkan.go new file mode 100644 index 0000000..6a2935b --- /dev/null +++ b/go/face/tracker/cgo_vulkan.go @@ -0,0 +1,11 @@ +// +build vulkan + +package tracker + +/* +#cgo CXXFLAGS: --std=c++11 -fopenmp +#cgo CPPFLAGS: -I ${SRCDIR}/../../../include -I /usr/local/include +#cgo LDFLAGS: -lstdc++ -lncnn -lomp -lopenvision -lglslang -lvulkan -lSPIRV -lOGLCompiler -lMachineIndependent -lGenericCodeGen -lOSDependent +#cgo LDFLAGS: -L /usr/local/lib -L ${SRCDIR}/../../../lib +*/ +import "C" diff --git a/go/realsr/doc.go b/go/realsr/doc.go new file mode 100644 index 0000000..dcd58f8 --- /dev/null +++ b/go/realsr/doc.go @@ -0,0 +1,2 @@ +// Package realsr image super-resolution +package realsr diff --git a/go/realsr/processer.go b/go/realsr/processer.go new file mode 100644 index 0000000..5bfb45a --- /dev/null +++ b/go/realsr/processer.go @@ -0,0 +1,14 @@ +package realsr + +import ( + "image" + + "github.com/bububa/openvision/go/common" +) + +// Processer super-resolution processer interface +type Processer interface { + LoadModel(modelPath string) error + Destroy() + Process(img *common.Image, scale int) (image.Image, error) +} diff --git a/go/realsr/realesrgan/cgo.go b/go/realsr/realesrgan/cgo.go new file mode 100644 index 0000000..0d98d1d --- /dev/null +++ b/go/realsr/realesrgan/cgo.go @@ -0,0 +1,11 @@ +// +build !vulkan + +package realesrgan + +/* +#cgo CXXFLAGS: --std=c++11 -fopenmp +#cgo CPPFLAGS: -I ${SRCDIR}/../../../include -I /usr/local/include +#cgo LDFLAGS: -lstdc++ -lncnn -lomp -lopenvision -lglslang -lvulkan -lSPIRV -lOGLCompiler -lMachineIndependent -lGenericCodeGen -lOSDependent +#cgo LDFLAGS: -L /usr/local/lib -L ${SRCDIR}/../../../lib +*/ +import "C" diff --git a/go/realsr/realesrgan/cgo_vulkan.go b/go/realsr/realesrgan/cgo_vulkan.go new file mode 100644 index 0000000..6568123 --- /dev/null +++ b/go/realsr/realesrgan/cgo_vulkan.go @@ -0,0 +1,11 @@ +// +build vulkan + +package realesrgan + +/* +#cgo CXXFLAGS: --std=c++11 -fopenmp +#cgo CPPFLAGS: -I ${SRCDIR}/../../../include -I /usr/local/include +#cgo LDFLAGS: -lstdc++ -lncnn -lomp -lopenvision -lglslang -lvulkan -lSPIRV -lOGLCompiler -lMachineIndependent -lGenericCodeGen -lOSDependent +#cgo LDFLAGS: -L /usr/local/lib -L ${SRCDIR}/../../../lib +*/ +import "C" diff --git a/go/realsr/realesrgan/doc.go b/go/realsr/realesrgan/doc.go new file mode 100644 index 0000000..6baf60d --- /dev/null +++ b/go/realsr/realesrgan/doc.go @@ -0,0 +1,2 @@ +// Package realesrgan RealESRGAN +package realesrgan diff --git a/go/realsr/realesrgan/real_esrgan.go b/go/realsr/realesrgan/real_esrgan.go new file mode 100644 index 0000000..b067546 --- /dev/null +++ b/go/realsr/realesrgan/real_esrgan.go @@ -0,0 +1,78 @@ +package realesrgan + +/* +#include +#include +#include "openvision/realsr/realesrgan.h" +*/ +import "C" +import ( + "image" + "image/color" + "log" + "unsafe" + + openvision "github.com/bububa/openvision/go" + "github.com/bububa/openvision/go/common" +) + +// RealESRGAN represents RealESRGAN processer +type RealESRGAN struct { + d C.RealEsrgan +} + +// NewRealERSGAN returns a new RealESRGAN +func NewRealERSGAN(gpuid int, ttaMode bool) *RealESRGAN { + return &RealESRGAN{ + d: C.new_realesrgan(C.int(gpuid), C.bool(ttaMode)), + } +} + +// Destroy a detecter +func (d *RealESRGAN) Destroy() { + C.destroy_realesrgan(d.d) +} + +// LoadModel load processer model +func (d *RealESRGAN) LoadModel(modelPath string) error { + cpath := C.CString(modelPath) + defer C.free(unsafe.Pointer(cpath)) + retCode := C.realesrgan_load_model(d.d, cpath) + if retCode != 0 { + return openvision.LoadModelError(int(retCode)) + } + return nil +} + +// Process run super-resolution process +func (d *RealESRGAN) Process(img *common.Image, scale int) (image.Image, error) { + imgWidth := img.WidthF64() + imgHeight := img.HeightF64() + data := img.Bytes() + COutput := common.NewCBytes() + defer common.FreeCBytes(COutput) + // defer C.free(unsafe.Pointer(COutput)) + errCode := C.realesrgan_process( + d.d, + (*C.uchar)(unsafe.Pointer(&data[0])), + C.int(imgWidth), C.int(imgHeight), + C.int(scale), + (*C.Bytes)(unsafe.Pointer(COutput)), + ) + if errCode != 0 { + return nil, openvision.RealsrError(int(errCode)) + } + outData := common.GoBytes(COutput) + log.Printf("w:%d, h:%d, l:%d\n", int(imgWidth)*scale, int(imgHeight)*scale, len(outData)) + outW := int(imgWidth) * scale + outH := int(imgHeight) * scale + outImg := image.NewRGBA(image.Rect(0, 0, int(imgWidth)*scale, int(imgHeight)*scale)) + for y := 0; y < outH; y++ { + for x := 0; x < outW; x++ { + pt := y*outW*3 + x + log.Printf("r:%d, g:%d, b:%d\n", outData[pt], outData[pt+1], outData[pt+2]) + outImg.SetRGBA(x, y, color.RGBA{outData[pt], outData[pt+1], outData[pt+2], 255}) + } + } + return outImg, nil +} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2e7c4ab..f3adb83 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -9,23 +9,99 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -fPIC -std=c++11 -fopenmp") add_library(openvision STATIC ${SRC_FILES}) target_link_libraries(openvision PUBLIC ncnn) -if(MIRROR_OPENMP) +if(OV_OPENMP) find_package(OpenMP) if(NOT TARGET OpenMP::OpenMP_CXX AND (OpenMP_CXX_FOUND OR OPENMP_FOUND)) target_compile_options(openvision PRIVATE ${OpenMP_CXX_FLAGS}) endif() endif() -if(MIRROR_OPENMP AND OpenMP_CXX_FOUND) +if(OV_OPENMP AND OpenMP_CXX_FOUND) message("Building with OpenMP") target_link_libraries(openvision PUBLIC OpenMP::OpenMP_CXX) endif() -if(MIRROR_VULKAN) +if(NCNN_VULKAN) find_package(Vulkan REQUIRED) target_link_libraries(openvision PUBLIC Vulkan::Vulkan) + set(OV_VULKAN ON) +else() + set(OV_VULKAN OFF) endif() +configure_file ( + "${CMAKE_CURRENT_SOURCE_DIR}/common/config.h.in" + "${CMAKE_CURRENT_SOURCE_DIR}/common/config.h" +) + +if (OV_VULKAN) +# Begin compile realsgran shader +find_program(GLSLANGVALIDATOR_EXECUTABLE NAMES glslangValidator PATHS $ENV{VULKAN_SDK}/bin NO_CMAKE_FIND_ROOT_PATH) +message(STATUS "Found glslangValidator: ${GLSLANGVALIDATOR_EXECUTABLE}") + +macro(compile_shader SHADER_SRC) + set(SHADER_SRC_FULLPATH ${CMAKE_CURRENT_SOURCE_DIR}/realesrgan/${SHADER_SRC}) + set(SHADER_OUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/realesrgan/shader) + + get_filename_component(SHADER_SRC_NAME_WE ${SHADER_SRC} NAME_WE) + set(SHADER_SPV_HEX_FILE ${SHADER_OUT_PATH}/${SHADER_SRC_NAME_WE}.spv.hex.h) + add_custom_command( + OUTPUT ${SHADER_SPV_HEX_FILE} + COMMAND ${GLSLANGVALIDATOR_EXECUTABLE} + ARGS -V -s -x -o ${SHADER_SPV_HEX_FILE} ${SHADER_SRC_FULLPATH} + DEPENDS ${SHADER_SRC_FULLPATH} + COMMENT "Building SPIR-V module ${SHADER_SRC_NAME_WE}.spv" + VERBATIM + ) + set_source_files_properties(${SHADER_SPV_HEX_FILE} PROPERTIES GENERATED TRUE) + list(APPEND SHADER_SPV_HEX_FILES ${SHADER_SPV_HEX_FILE}) + + # fp16 storage + set(SHADER_fp16s_SRC_NAME_WE "${SHADER_SRC_NAME_WE}_fp16s") + + set(SHADER_fp16s_SPV_HEX_FILE ${SHADER_OUT_PATH}/${SHADER_fp16s_SRC_NAME_WE}.spv.hex.h) + add_custom_command( + OUTPUT ${SHADER_fp16s_SPV_HEX_FILE} + COMMAND ${GLSLANGVALIDATOR_EXECUTABLE} + ARGS -DNCNN_fp16_storage=1 -V -s -x -o ${SHADER_fp16s_SPV_HEX_FILE} ${SHADER_SRC_FULLPATH} + DEPENDS ${SHADER_SRC_FULLPATH} + COMMENT "Building SPIR-V module ${SHADER_fp16s_SRC_NAME_WE}.spv" + VERBATIM + ) + set_source_files_properties(${SHADER_fp16s_SPV_HEX_FILE} PROPERTIES GENERATED TRUE) + list(APPEND SHADER_SPV_HEX_FILES ${SHADER_fp16s_SPV_HEX_FILE}) + + # int8 storage + set(SHADER_int8s_SRC_NAME_WE "${SHADER_SRC_NAME_WE}_int8s") + + set(SHADER_int8s_SPV_HEX_FILE ${SHADER_OUT_PATH}/${SHADER_int8s_SRC_NAME_WE}.spv.hex.h) + add_custom_command( + OUTPUT ${SHADER_int8s_SPV_HEX_FILE} + COMMAND ${GLSLANGVALIDATOR_EXECUTABLE} + ARGS -DNCNN_fp16_storage=1 -DNCNN_int8_storage=1 -V -s -x -o ${SHADER_int8s_SPV_HEX_FILE} ${SHADER_SRC_FULLPATH} + DEPENDS ${SHADER_SRC_FULLPATH} + COMMENT "Building SPIR-V module ${SHADER_int8s_SRC_NAME_WE}.spv" + VERBATIM + ) + set_source_files_properties(${SHADER_int8s_SPV_HEX_FILE} PROPERTIES GENERATED TRUE) + list(APPEND SHADER_SPV_HEX_FILES ${SHADER_int8s_SPV_HEX_FILE}) +endmacro() + +# look for vulkan compute shader and compile +set(SHADER_SPV_HEX_FILES) + +compile_shader(realesrgan_preproc.comp) +compile_shader(realesrgan_postproc.comp) +compile_shader(realesrgan_preproc_tta.comp) +compile_shader(realesrgan_postproc_tta.comp) + +add_custom_target(generate-spirv DEPENDS ${SHADER_SPV_HEX_FILES}) + +add_dependencies(openvision generate-spirv) +# End compile realesrgan shader +endif() + + target_include_directories(openvision PUBLIC $ @@ -46,7 +122,7 @@ target_include_directories(openvision $ $ - #$ + $ ) #install(TARGETS openvision EXPORT openvision ARCHIVE DESTINATION ${LIBRARY_OUTPUT_PATH}) @@ -59,5 +135,11 @@ file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/face/landmarker/landmarker.h ${CMAKE_CURRENT_SOURCE_DIR}/face/recognizer/recognizer.h ${CMAKE_CURRENT_SOURCE_DIR}/face/tracker/tracker.h + ${CMAKE_CURRENT_SOURCE_DIR}/face/hopenet/hopenet.h DESTINATION ${INCLUDE_OUTPUT_PATH}/openvision/face ) + +file(COPY + ${CMAKE_CURRENT_SOURCE_DIR}/realesrgan/realesrgan.h + DESTINATION ${INCLUDE_OUTPUT_PATH}/openvision/realsr +) diff --git a/src/common/common.cpp b/src/common/common.cpp index 2b6482d..075001a 100644 --- a/src/common/common.cpp +++ b/src/common/common.cpp @@ -3,6 +3,30 @@ #include #include +#ifdef OV_VULKAN +#include "gpu.h" +#endif // OV_VULKAN + +int get_gpu_count() { +#ifdef OV_VULKAN + return ncnn::get_gpu_count(); +#endif // OV_VULKAN + return 0; +} + +int create_gpu_instance() { +#ifdef OV_VULKAN + return ncnn::create_gpu_instance(); +#endif // OV_VULKAN + return 0; +} + +void destroy_gpu_instance() { +#ifdef OV_VULKAN + ncnn::destroy_gpu_instance(); +#endif // OV_VULKAN +} + void FreePoint2fVector(Point2fVector* p) { if (p->points != NULL) { free(p->points); @@ -43,7 +67,14 @@ void FreeFloatVector(FloatVector *p) { } } -namespace mirror { +void FreeBytes(Bytes *p) { + if (p->values != NULL) { + free(p->values); + p->values = NULL; + } +} + +namespace ov { int RatioAnchors(const Rect & anchor, const std::vector& ratios, @@ -52,7 +83,7 @@ int RatioAnchors(const Rect & anchor, Point center = Point(anchor.x + (anchor.width - 1) * 0.5f, anchor.y + (anchor.height - 1) * 0.5f); float anchor_size = anchor.width * anchor.height; -#if defined(_OPENMP) +#ifdef OV_OPENMP #pragma omp parallel for num_threads(threads_num) #endif for (int i = 0; i < static_cast(ratios.size()); ++i) { @@ -138,7 +169,7 @@ float CalculateSimilarity(const std::vector&feature1, const std::vector #include -#if defined(_OPENMP) +#include "config.h" +#ifdef OV_OPENMP #include #endif -namespace mirror { +namespace ov { #define kFaceFeatureDim 128 #define kFaceNameDim 256 const int threads_num = 2; @@ -93,6 +94,13 @@ struct TrackedFaceInfo { float iou_score_; }; +struct HeadPose +{ + float roll; + float pitch; + float yaw; +}; + struct QueryResult { std::string name_; float sim_; diff --git a/src/common/config.h b/src/common/config.h new file mode 100644 index 0000000..8a53103 --- /dev/null +++ b/src/common/config.h @@ -0,0 +1,2 @@ +#define OV_VULKAN +#define OV_OPENMP diff --git a/src/common/config.h.in b/src/common/config.h.in new file mode 100644 index 0000000..e7f8431 --- /dev/null +++ b/src/common/config.h.in @@ -0,0 +1,2 @@ +#cmakedefine OV_VULKAN +#cmakedefine OV_OPENMP diff --git a/src/face/detecter/anticonv/anticonv.cpp b/src/face/detecter/anticonv/anticonv.cpp index 84ddb1e..f6bb5b1 100644 --- a/src/face/detecter/anticonv/anticonv.cpp +++ b/src/face/detecter/anticonv/anticonv.cpp @@ -1,17 +1,16 @@ #include "anticonv.hpp" -#if MIRROR_VULKAN +#ifdef OV_VULKAN #include "gpu.h" -#endif // MIRROR_VULKAN +#endif // OV_VULKAN -namespace mirror { +namespace ov { AntiConv::AntiConv() : anticonv_net_(new ncnn::Net()), initialized_(false) { -#if MIRROR_VULKAN - ncnn::create_gpu_instance(); +#ifdef OV_VULKAN anticonv_net_->opt.use_vulkan_compute = true; -#endif // MIRROR_VULKAN +#endif // OV_VULKAN } @@ -19,9 +18,6 @@ AntiConv::~AntiConv() { if (anticonv_net_) { anticonv_net_->clear(); } -#if MIRROR_VULKAN - ncnn::destroy_gpu_instance(); -#endif // MIRROR_VULKAN } int AntiConv::LoadModel(const char * root_path) { diff --git a/src/face/detecter/anticonv/anticonv.hpp b/src/face/detecter/anticonv/anticonv.hpp index 3815912..0aa9a13 100644 --- a/src/face/detecter/anticonv/anticonv.hpp +++ b/src/face/detecter/anticonv/anticonv.hpp @@ -4,7 +4,7 @@ #include "../detecter.hpp" #include "net.h" -namespace mirror { +namespace ov { using ANCHORS = std::vector; class AntiConv : public Detecter { public: diff --git a/src/face/detecter/centerface/centerface.cpp b/src/face/detecter/centerface/centerface.cpp index 3dfb73c..7568deb 100644 --- a/src/face/detecter/centerface/centerface.cpp +++ b/src/face/detecter/centerface/centerface.cpp @@ -1,15 +1,14 @@ #include "centerface.hpp" -#if MIRROR_VULKAN +#ifdef OV_VULKAN #include "gpu.h" -#endif // MIRROR_VULKAN +#endif // OV_VULKAN -namespace mirror { +namespace ov { CenterFace::CenterFace() { centernet_ = new ncnn::Net(); initialized_ = false; -#if MIRROR_VULKAN - ncnn::create_gpu_instance(); +#ifdef OV_VULKAN centernet_->opt.use_vulkan_compute = true; #endif // MIRROR_VULKAN } @@ -18,9 +17,6 @@ CenterFace::~CenterFace(){ if (centernet_) { centernet_->clear(); } -#if MIRROR_VULKAN - ncnn::destroy_gpu_instance(); -#endif // MIRROR_VULKAN } int CenterFace::LoadModel(const char* root_path) { diff --git a/src/face/detecter/centerface/centerface.hpp b/src/face/detecter/centerface/centerface.hpp index bfad3f7..ce1a027 100644 --- a/src/face/detecter/centerface/centerface.hpp +++ b/src/face/detecter/centerface/centerface.hpp @@ -5,7 +5,7 @@ #include #include "net.h" -namespace mirror { +namespace ov{ class CenterFace : public Detecter { public: CenterFace(); diff --git a/src/face/detecter/detecter.cpp b/src/face/detecter/detecter.cpp index 66368fc..55094ba 100644 --- a/src/face/detecter/detecter.cpp +++ b/src/face/detecter/detecter.cpp @@ -5,32 +5,32 @@ #include "anticonv/anticonv.hpp" IDetecter new_retinaface() { - return new mirror::RetinaFace(); + return new ov::RetinaFace(); } IDetecter new_centerface() { - return new mirror::CenterFace(); + return new ov::CenterFace(); } IDetecter new_mtcnn() { - return new mirror::Mtcnn(); + return new ov::Mtcnn(); } IDetecter new_anticonv() { - return new mirror::AntiConv(); + return new ov::AntiConv(); } void destroy_detecter(IDetecter d) { - delete static_cast(d); + delete static_cast(d); } int detecter_load_model(IDetecter d, const char *root_path){ - return static_cast(d)->LoadModel(root_path); + return static_cast(d)->LoadModel(root_path); } int detect_face(IDetecter d, const unsigned char* rgbdata, int img_width, int img_height, FaceInfoVector* faces) { std::vector detected; - int ret = static_cast(d)->DetectFace(rgbdata, img_width, img_height, &detected); + int ret = static_cast(d)->DetectFace(rgbdata, img_width, img_height, &detected); if (ret != 0) { return ret; } @@ -44,7 +44,7 @@ int detect_face(IDetecter d, const unsigned char* rgbdata, int img_width, int im return 0; } -namespace mirror { +namespace ov{ Detecter* CenterfaceFactory::CreateDetecter() { return new CenterFace(); } diff --git a/src/face/detecter/detecter.hpp b/src/face/detecter/detecter.hpp index 473322d..2018789 100644 --- a/src/face/detecter/detecter.hpp +++ b/src/face/detecter/detecter.hpp @@ -3,7 +3,7 @@ #include "../common/common.hpp" -namespace mirror { +namespace ov { // 抽象类 class Detecter { public: diff --git a/src/face/detecter/mtcnn/mtcnn.cpp b/src/face/detecter/mtcnn/mtcnn.cpp index 924454f..b71b80e 100644 --- a/src/face/detecter/mtcnn/mtcnn.cpp +++ b/src/face/detecter/mtcnn/mtcnn.cpp @@ -1,10 +1,10 @@ #include "mtcnn.hpp" -#if MIRROR_VULKAN +#ifdef OV_VULKAN #include "gpu.h" -#endif // MIRROR_VULKAN +#endif // OV_VULKAN -namespace mirror { +namespace ov{ Mtcnn::Mtcnn() : pnet_(new ncnn::Net()), rnet_(new ncnn::Net()), @@ -13,8 +13,7 @@ Mtcnn::Mtcnn() : min_face_size_(40), scale_factor_(0.709f), initialized_(false) { -#if MIRROR_VULKAN - ncnn::create_gpu_instance(); +#ifdef OV_VULKAN pnet_->opt.use_vulkan_compute = true; rnet_->opt.use_vulkan_compute = true; onet_->opt.use_vulkan_compute = true; @@ -31,9 +30,6 @@ Mtcnn::~Mtcnn() { if (onet_) { onet_->clear(); } -#if MIRROR_VULKAN - ncnn::destroy_gpu_instance(); -#endif // MIRROR_VULKAN } int Mtcnn::LoadModel(const char * root_path) { diff --git a/src/face/detecter/mtcnn/mtcnn.hpp b/src/face/detecter/mtcnn/mtcnn.hpp index 0a1bb6d..a9ef267 100644 --- a/src/face/detecter/mtcnn/mtcnn.hpp +++ b/src/face/detecter/mtcnn/mtcnn.hpp @@ -5,7 +5,7 @@ #include #include "net.h" -namespace mirror { +namespace ov { class Mtcnn : public Detecter { public: Mtcnn(); diff --git a/src/face/detecter/retinaface/retinaface.cpp b/src/face/detecter/retinaface/retinaface.cpp index 9bf1627..b6aa930 100644 --- a/src/face/detecter/retinaface/retinaface.cpp +++ b/src/face/detecter/retinaface/retinaface.cpp @@ -1,18 +1,16 @@ #include "retinaface.hpp" -#include -#if MIRROR_VULKAN +#ifdef OV_VULKAN #include "gpu.h" -#endif // MIRROR_VULKAN +#endif // OV_VULKAN -namespace mirror { +namespace ov{ RetinaFace::RetinaFace() : retina_net_(new ncnn::Net()), initialized_(false) { -#if MIRROR_VULKAN - ncnn::create_gpu_instance(); +#ifdef OV_VULKAN retina_net_->opt.use_vulkan_compute = true; -#endif // MIRROR_VULKAN +#endif // OV_VULKAN } @@ -20,9 +18,6 @@ RetinaFace::~RetinaFace() { if (retina_net_) { retina_net_->clear(); } -#if MIRROR_VULKAN - ncnn::destroy_gpu_instance(); -#endif // MIRROR_VULKAN } int RetinaFace::LoadModel(const char * root_path) { diff --git a/src/face/detecter/retinaface/retinaface.hpp b/src/face/detecter/retinaface/retinaface.hpp index 3e164e7..beb392c 100644 --- a/src/face/detecter/retinaface/retinaface.hpp +++ b/src/face/detecter/retinaface/retinaface.hpp @@ -4,7 +4,7 @@ #include "../detecter.hpp" #include "net.h" -namespace mirror { +namespace ov{ using ANCHORS = std::vector; class RetinaFace : public Detecter { public: diff --git a/src/face/hopenet/hopenet.cpp b/src/face/hopenet/hopenet.cpp new file mode 100644 index 0000000..40d8d31 --- /dev/null +++ b/src/face/hopenet/hopenet.cpp @@ -0,0 +1,120 @@ +#include "hopenet.h" + +#include +#include + +#ifdef OV_VULKAN +#include "gpu.h" +#endif // OV_VULKAN + +#define NEAR_0 1e-10 +#define ODIM 66 + +IHopeNet new_hopenet() { + return new ov::HopeNet(); +} + +void destroy_hopenet(IHopeNet h) { + delete static_cast(h); +} + +int hopenet_load_model(IHopeNet h, const char* root_path) { + return static_cast(h)->LoadModel(root_path); +} + +int hopenet_detect(IHopeNet h, const unsigned char* rgbdata, int img_width, int img_height, const Rect* roi, HeadPose* euler_angles) { + return static_cast(h)->Detect(rgbdata, img_width, img_height, *roi, static_cast(euler_angles)); +} + +namespace ov { +HopeNet::HopeNet(): + net_(new ncnn::Net()), + initialized_(false) { +#ifdef OV_VULKAN + net_->opt.use_vulkan_compute = true; +#endif // OV_VULKAN +} + +HopeNet::~HopeNet() { + if (net_) { + net_->clear(); + } +} + +int HopeNet::LoadModel(const char * root_path) { + std::string param_file = std::string(root_path) + "/param"; + std::string bin_file = std::string(root_path) + "/bin"; + if (net_->load_param(param_file.c_str()) == -1 || + net_->load_model(bin_file.c_str()) == -1) { + return 10000; + } + for (uint i=1; i<67; i++) idx_tensor[i-1] = i; + initialized_ = true; + + return 0; +} + + +int HopeNet::Detect(const unsigned char* rgbdata, + int img_width, int img_height, + Rect roi, HeadPose* head_angles) { + float diff = fabs(roi.height-roi.width); + if (roi.height > roi.width) { + roi.x -= diff/2; + roi.width = roi.height; + } else if (roi.height < roi.width) { + roi.y -= diff/2; + roi.height = roi.width; + } + + size_t total_size = roi.width * roi.height * 3 * sizeof(unsigned char); + unsigned char* img_face = (unsigned char*)malloc(total_size); + const unsigned char *start_ptr = rgbdata; + for(size_t i = 0; i < roi.height; ++i) { + const unsigned char* srcCursor = start_ptr + ((i + roi.y) * img_width + roi.x) * 3; + unsigned char* dstCursor = img_face + i * roi.width * 3; + memcpy(dstCursor, srcCursor, sizeof(unsigned char) * 3 * roi.width); + } + + ncnn::Mat in = ncnn::Mat::from_pixels_resize(img_face, ncnn::Mat::PIXEL_RGB2GRAY, roi.width, roi.height, 48, 48); + ncnn::Extractor ex = net_->create_extractor(); + ex.input("data", in); + + ncnn::Mat output; + ex.extract("hybridsequential0_multitask0_dense0_fwd", output); + float* pred_pitch = output.range(0, ODIM); + float* pred_roll = output.range(ODIM, ODIM*2); + float* pred_yaw = output.range(ODIM*2, ODIM*3); + + softmax(pred_pitch, ODIM); + softmax(pred_roll, ODIM); + softmax(pred_yaw, ODIM); + + // printArray(pred_pitch, ODIM); + + head_angles->pitch = getAngle(pred_pitch, ODIM); + head_angles->roll = getAngle(pred_roll, ODIM); + head_angles->yaw = getAngle(pred_yaw, ODIM); + + free(img_face); + + return 0; +} + +void HopeNet::softmax(float* z, size_t el) { + double zmax = -INFINITY; + double zsum = 0; + for (size_t i = 0; i < el; i++) if (z[i] > zmax) zmax=z[i]; + for (size_t i=0; i #include "../../common/common.hpp" -#if MIRROR_VULKAN +#ifdef OV_VULKAN #include "gpu.h" -#endif // MIRROR_VULKAN +#endif // OV_VULKAN -namespace mirror { +namespace ov { InsightfaceLandmarker::InsightfaceLandmarker() { insightface_landmarker_net_ = new ncnn::Net(); initialized = false; -#if MIRROR_VULKAN - ncnn::create_gpu_instance(); +#ifdef OV_VULKAN insightface_landmarker_net_->opt.use_vulkan_compute = true; -#endif // MIRROR_VULKAN +#endif // OV_VULKAN } InsightfaceLandmarker::~InsightfaceLandmarker() { insightface_landmarker_net_->clear(); -#if MIRROR_VULKAN - ncnn::destroy_gpu_instance(); -#endif // MIRROR_VULKAN } int InsightfaceLandmarker::LoadModel(const char * root_path) { diff --git a/src/face/landmarker/insightface/insightface.hpp b/src/face/landmarker/insightface/insightface.hpp index 270f3ff..444c877 100644 --- a/src/face/landmarker/insightface/insightface.hpp +++ b/src/face/landmarker/insightface/insightface.hpp @@ -4,7 +4,7 @@ #include "../landmarker.hpp" #include "net.h" -namespace mirror { +namespace ov{ class InsightfaceLandmarker : public Landmarker { public: InsightfaceLandmarker(); diff --git a/src/face/landmarker/landmarker.cpp b/src/face/landmarker/landmarker.cpp index fe1af11..c963f70 100644 --- a/src/face/landmarker/landmarker.cpp +++ b/src/face/landmarker/landmarker.cpp @@ -3,19 +3,19 @@ #include "insightface/insightface.hpp" ILandmarker new_zq() { - return new mirror::ZQLandmarker(); + return new ov::ZQLandmarker(); } ILandmarker new_insightface() { - return new mirror::InsightfaceLandmarker(); + return new ov::InsightfaceLandmarker(); } void destroy_landmarker(ILandmarker m) { - delete static_cast(m); + delete static_cast(m); } int landmarker_load_model(ILandmarker m, const char *root_path) { - return static_cast(m)->LoadModel(root_path); + return static_cast(m)->LoadModel(root_path); } int extract_keypoints( @@ -26,7 +26,7 @@ int extract_keypoints( const Rect* face, Point2fVector* keypoints) { std::vector points; - int ret = static_cast(m)->ExtractKeypoints(rgbdata, img_width, img_height, *face, &points); + int ret = static_cast(m)->ExtractKeypoints(rgbdata, img_width, img_height, *face, &points); if (ret != 0) { return ret; } @@ -38,7 +38,7 @@ int extract_keypoints( return 0; } -namespace mirror { +namespace ov { Landmarker* ZQLandmarkerFactory::CreateLandmarker() { return new ZQLandmarker(); } diff --git a/src/face/landmarker/landmarker.hpp b/src/face/landmarker/landmarker.hpp index ce9e7a8..67eb35e 100644 --- a/src/face/landmarker/landmarker.hpp +++ b/src/face/landmarker/landmarker.hpp @@ -3,7 +3,7 @@ #include "../common/common.hpp" -namespace mirror { +namespace ov{ // 抽象类 class Landmarker { public: diff --git a/src/face/landmarker/zqlandmarker/zqlandmarker.cpp b/src/face/landmarker/zqlandmarker/zqlandmarker.cpp index 2b8b0ce..fe50c83 100644 --- a/src/face/landmarker/zqlandmarker/zqlandmarker.cpp +++ b/src/face/landmarker/zqlandmarker/zqlandmarker.cpp @@ -1,25 +1,21 @@ #include "zqlandmarker.hpp" #include -#if MIRROR_VULKAN +#ifdef OV_VULKAN #include "gpu.h" -#endif // MIRROR_VULKAN +#endif // OV_VULKAN -namespace mirror { +namespace ov{ ZQLandmarker::ZQLandmarker() { zq_landmarker_net_ = new ncnn::Net(); initialized = false; -#if MIRROR_VULKAN - ncnn::create_gpu_instance(); +#ifdef OV_VULKAN zq_landmarker_net_->opt.use_vulkan_compute = true; -#endif // MIRROR_VULKAN +#endif // OV_VULKAN } ZQLandmarker::~ZQLandmarker() { zq_landmarker_net_->clear(); -#if MIRROR_VULKAN - ncnn::destroy_gpu_instance(); -#endif // MIRROR_VULKAN } int ZQLandmarker::LoadModel(const char * root_path) { diff --git a/src/face/landmarker/zqlandmarker/zqlandmarker.hpp b/src/face/landmarker/zqlandmarker/zqlandmarker.hpp index cf3b849..cacadae 100644 --- a/src/face/landmarker/zqlandmarker/zqlandmarker.hpp +++ b/src/face/landmarker/zqlandmarker/zqlandmarker.hpp @@ -4,7 +4,7 @@ #include "../landmarker.hpp" #include "net.h" -namespace mirror { +namespace ov { class ZQLandmarker : public Landmarker { public: ZQLandmarker(); diff --git a/src/face/recognizer/mobilefacenet/mobilefacenet.cpp b/src/face/recognizer/mobilefacenet/mobilefacenet.cpp index 47553a2..e587cf0 100644 --- a/src/face/recognizer/mobilefacenet/mobilefacenet.cpp +++ b/src/face/recognizer/mobilefacenet/mobilefacenet.cpp @@ -1,24 +1,20 @@ #include "mobilefacenet.hpp" #include -#if MIRROR_VULKAN +#ifdef OV_VULKAN #include "gpu.h" -#endif // MIRROR_VULKAN +#endif // OV_VULKAN -namespace mirror { +namespace ov { Mobilefacenet::Mobilefacenet() { mobileface_net_ = new ncnn::Net(); initialized_ = false; -#if MIRROR_VULKAN - ncnn::create_gpu_instance(); +#ifdef OV_VULKAN mobileface_net_->opt.use_vulkan_compute = true; -#endif // MIRROR_VULKAN +#endif // OV_VULKAN } Mobilefacenet::~Mobilefacenet() { mobileface_net_->clear(); -#if MIRROR_VULKAN - ncnn::destroy_gpu_instance(); -#endif // MIRROR_VULKAN } int Mobilefacenet::LoadModel(const char * root_path) { diff --git a/src/face/recognizer/mobilefacenet/mobilefacenet.hpp b/src/face/recognizer/mobilefacenet/mobilefacenet.hpp index c790d1c..3eb0f21 100644 --- a/src/face/recognizer/mobilefacenet/mobilefacenet.hpp +++ b/src/face/recognizer/mobilefacenet/mobilefacenet.hpp @@ -5,7 +5,7 @@ #include #include "net.h" -namespace mirror { +namespace ov { class Mobilefacenet : public Recognizer { public: diff --git a/src/face/recognizer/recognizer.cpp b/src/face/recognizer/recognizer.cpp index aec578c..5b82b70 100644 --- a/src/face/recognizer/recognizer.cpp +++ b/src/face/recognizer/recognizer.cpp @@ -2,20 +2,20 @@ #include "./mobilefacenet/mobilefacenet.hpp" IRecognizer new_mobilefacenet() { - return new mirror::Mobilefacenet(); + return new ov::Mobilefacenet(); } void destroy_recognizer(IRecognizer r) { - delete static_cast(r); + delete static_cast(r); } int recognizer_load_model(IRecognizer r, const char* root_path) { - return static_cast(r)->LoadModel(root_path); + return static_cast(r)->LoadModel(root_path); } int extract_feature(IRecognizer r, const unsigned char* rgbdata, int img_width, int img_height, const Rect* face, FloatVector* feature) { std::vectorfeatures; - int ret = static_cast(r)->ExtractFeature(rgbdata, img_width, img_height, *face, &features); + int ret = static_cast(r)->ExtractFeature(rgbdata, img_width, img_height, *face, &features); if (ret != 0) { return ret; } @@ -27,7 +27,7 @@ int extract_feature(IRecognizer r, const unsigned char* rgbdata, int img_width, return 0; } -namespace mirror { +namespace ov { Recognizer* MobilefacenetRecognizerFactory::CreateRecognizer() { return new Mobilefacenet(); } diff --git a/src/face/recognizer/recognizer.hpp b/src/face/recognizer/recognizer.hpp index f558af2..ea1f3a1 100644 --- a/src/face/recognizer/recognizer.hpp +++ b/src/face/recognizer/recognizer.hpp @@ -4,7 +4,7 @@ #include #include "../common/common.hpp" -namespace mirror { +namespace ov { class Recognizer { public: virtual ~Recognizer() {}; diff --git a/src/face/tracker/tracker.cpp b/src/face/tracker/tracker.cpp index 62e9e13..855f129 100644 --- a/src/face/tracker/tracker.cpp +++ b/src/face/tracker/tracker.cpp @@ -2,11 +2,11 @@ #include ITracker new_tracker() { - return new mirror::Tracker(); + return new ov::Tracker(); } void destroy_tracker(ITracker t) { - delete static_cast(t); + delete static_cast(t); } int track(ITracker t, const FaceInfoVector* curr_faces, TrackedFaceInfoVector* faces) { @@ -15,7 +15,7 @@ int track(ITracker t, const FaceInfoVector* curr_faces, TrackedFaceInfoVector* f cfaces.push_back(static_cast(curr_faces->faces[i])); } std::vector tfaces; - int ret = static_cast(t)->Track(cfaces, &tfaces); + int ret = static_cast(t)->Track(cfaces, &tfaces); if (ret != 0) { return ret; } @@ -27,7 +27,7 @@ int track(ITracker t, const FaceInfoVector* curr_faces, TrackedFaceInfoVector* f return 0; } -namespace mirror { +namespace ov { Tracker::Tracker() { } diff --git a/src/face/tracker/tracker.hpp b/src/face/tracker/tracker.hpp index c682bf2..b3f1faa 100644 --- a/src/face/tracker/tracker.hpp +++ b/src/face/tracker/tracker.hpp @@ -4,7 +4,7 @@ #include #include "../common/common.h" -namespace mirror { +namespace ov { class Tracker { public: Tracker(); diff --git a/src/realesrgan/realersgan.cpp b/src/realesrgan/realersgan.cpp new file mode 100644 index 0000000..99857bb --- /dev/null +++ b/src/realesrgan/realersgan.cpp @@ -0,0 +1,589 @@ +// realesrgan implemented with ncnn library + +#include "realesrgan.h" + +#ifdef OV_VULKAN +#include "gpu.h" +#endif + +#include +#include +#include + +#ifdef OV_VULKAN +static const uint32_t realesrgan_preproc_spv_data[] = { + #include "shader/realesrgan_preproc.spv.hex.h" +}; +static const uint32_t realesrgan_preproc_fp16s_spv_data[] = { + #include "shader/realesrgan_preproc_fp16s.spv.hex.h" +}; +static const uint32_t realesrgan_preproc_int8s_spv_data[] = { + #include "shader/realesrgan_preproc_int8s.spv.hex.h" +}; +static const uint32_t realesrgan_postproc_spv_data[] = { + #include "shader/realesrgan_postproc.spv.hex.h" +}; +static const uint32_t realesrgan_postproc_fp16s_spv_data[] = { + #include "shader/realesrgan_postproc_fp16s.spv.hex.h" +}; +static const uint32_t realesrgan_postproc_int8s_spv_data[] = { + #include "shader/realesrgan_postproc_int8s.spv.hex.h" +}; + +static const uint32_t realesrgan_preproc_tta_spv_data[] = { + #include "shader/realesrgan_preproc_tta.spv.hex.h" +}; +static const uint32_t realesrgan_preproc_tta_fp16s_spv_data[] = { + #include "shader/realesrgan_preproc_tta_fp16s.spv.hex.h" +}; +static const uint32_t realesrgan_preproc_tta_int8s_spv_data[] = { + #include "shader/realesrgan_preproc_tta_int8s.spv.hex.h" +}; +static const uint32_t realesrgan_postproc_tta_spv_data[] = { + #include "shader/realesrgan_postproc_tta.spv.hex.h" +}; +static const uint32_t realesrgan_postproc_tta_fp16s_spv_data[] = { + #include "shader/realesrgan_postproc_tta_fp16s.spv.hex.h" +}; +static const uint32_t realesrgan_postproc_tta_int8s_spv_data[] = { + #include "shader/realesrgan_postproc_tta_int8s.spv.hex.h" +}; +#endif + +RealEsrgan new_realesrgan(int gpuid, bool _tta_model) { + return new ov::RealESRGAN(gpuid, _tta_model); +} + +void destroy_realesrgan(RealEsrgan r) { + delete static_cast(r); +} + +int realesrgan_load_model(RealEsrgan r, const char* root_path) { + return static_cast(r)->LoadModel(root_path); +} + +int realesrgan_process(RealEsrgan r, const unsigned char* rgbdata, int img_width, int img_height, int scale, Bytes* output) { + size_t total_size = img_width * img_height * scale * scale * 3; +#ifdef OV_VULKAN + // const ncnn::Mat in = ncnn::Mat::from_pixels(rgbdata, ncnn::Mat::PIXEL_RGB,img_width, img_height); + const ncnn::Mat in = ncnn::Mat(img_width, img_height, (void *)rgbdata, (size_t)3, 3); + ncnn::Mat out = ncnn::Mat(img_width * scale, img_height * scale, (size_t)3, 3); + int ret = static_cast(r)->process(in, out); + if (ret != 0) { + return ret; + } + output->values = (unsigned char *)(malloc(total_size * sizeof(unsigned char))); + memcpy(output->values, out.data, total_size * sizeof(unsigned char)); + output->length = total_size; +#endif + return 0; +} + +namespace ov { +RealESRGAN::RealESRGAN(int gpuid, bool _tta_mode) +{ + net = new ncnn::Net(); + initialized_ = false; + net->opt.use_vulkan_compute = true; + net->opt.use_fp16_packed = true; + net->opt.use_fp16_storage = true; + net->opt.use_fp16_arithmetic = false; + net->opt.use_int8_storage = true; + net->opt.use_int8_arithmetic = false; + +#ifdef OV_VULKAN + net->set_vulkan_device(gpuid); + realesrgan_preproc = 0; + realesrgan_postproc = 0; + uint32_t heap_budget = ncnn::get_gpu_device(gpuid)->get_heap_budget(); + if (heap_budget > 1900) + tilesize = 200; + else if (heap_budget > 550) + tilesize = 100; + else if (heap_budget > 190) + tilesize = 64; + else + tilesize = 32; +#endif + prepadding = 10; + bicubic_4x = 0; + tta_mode = _tta_mode; +} + +RealESRGAN::~RealESRGAN() +{ +#ifdef OV_VULKAN + // cleanup preprocess and postprocess pipeline + { + delete realesrgan_preproc; + delete realesrgan_postproc; + } +#endif + bicubic_4x->destroy_pipeline(net->opt); + delete bicubic_4x; + if (net) { + net->clear(); + } +} + +int RealESRGAN::LoadModel(const char* root_path) +{ + std::string param_file = std::string(root_path) + "/param"; + std::string model_file = std::string(root_path) + "/bin"; + if (net->load_param(param_file.c_str()) == -1 || + net->load_model(model_file.c_str()) == -1) { + return 10000; + } + + initialized_ = true; + +#ifdef OV_VULKAN + // initialize preprocess and postprocess pipeline + { + std::vector specializations(1); +#if _WIN32 + specializations[0].i = 1; +#else + specializations[0].i = 0; +#endif + + realesrgan_preproc = new ncnn::Pipeline(net->vulkan_device()); + realesrgan_preproc->set_optimal_local_size_xyz(32, 32, 3); + + realesrgan_postproc = new ncnn::Pipeline(net->vulkan_device()); + realesrgan_postproc->set_optimal_local_size_xyz(32, 32, 3); + + if (tta_mode) + { + if (net->opt.use_fp16_storage && net->opt.use_int8_storage) + realesrgan_preproc->create(realesrgan_preproc_tta_int8s_spv_data, sizeof(realesrgan_preproc_tta_int8s_spv_data), specializations); + else if (net->opt.use_fp16_storage) + realesrgan_preproc->create(realesrgan_preproc_tta_fp16s_spv_data, sizeof(realesrgan_preproc_tta_fp16s_spv_data), specializations); + else + realesrgan_preproc->create(realesrgan_preproc_tta_spv_data, sizeof(realesrgan_preproc_tta_spv_data), specializations); + + if (net->opt.use_fp16_storage && net->opt.use_int8_storage) + realesrgan_postproc->create(realesrgan_postproc_tta_int8s_spv_data, sizeof(realesrgan_postproc_tta_int8s_spv_data), specializations); + else if (net->opt.use_fp16_storage) + realesrgan_postproc->create(realesrgan_postproc_tta_fp16s_spv_data, sizeof(realesrgan_postproc_tta_fp16s_spv_data), specializations); + else + realesrgan_postproc->create(realesrgan_postproc_tta_spv_data, sizeof(realesrgan_postproc_tta_spv_data), specializations); + } + else + { + if (net->opt.use_fp16_storage && net->opt.use_int8_storage) + realesrgan_preproc->create(realesrgan_preproc_int8s_spv_data, sizeof(realesrgan_preproc_int8s_spv_data), specializations); + else if (net->opt.use_fp16_storage) + realesrgan_preproc->create(realesrgan_preproc_fp16s_spv_data, sizeof(realesrgan_preproc_fp16s_spv_data), specializations); + else + realesrgan_preproc->create(realesrgan_preproc_spv_data, sizeof(realesrgan_preproc_spv_data), specializations); + + if (net->opt.use_fp16_storage && net->opt.use_int8_storage) + realesrgan_postproc->create(realesrgan_postproc_int8s_spv_data, sizeof(realesrgan_postproc_int8s_spv_data), specializations); + else if (net->opt.use_fp16_storage) + realesrgan_postproc->create(realesrgan_postproc_fp16s_spv_data, sizeof(realesrgan_postproc_fp16s_spv_data), specializations); + else + realesrgan_postproc->create(realesrgan_postproc_spv_data, sizeof(realesrgan_postproc_spv_data), specializations); + } + } +#endif + + // bicubic 4x for alpha channel + { + bicubic_4x = ncnn::create_layer("Interp"); + bicubic_4x->vkdev = net->vulkan_device(); + + ncnn::ParamDict pd; + pd.set(0, 3);// bicubic + pd.set(1, 4.f); + pd.set(2, 4.f); + bicubic_4x->load_param(pd); + + bicubic_4x->create_pipeline(net->opt); + } + + return 0; +} + +int RealESRGAN::process(const ncnn::Mat& inimage, ncnn::Mat& outimage) const +{ + const unsigned char* pixeldata = (const unsigned char*)inimage.data; + const int w = inimage.w; + const int h = inimage.h; + const int channels = inimage.elempack; + + const int TILE_SIZE_X = tilesize; + const int TILE_SIZE_Y = tilesize; + + ncnn::VkAllocator* blob_vkallocator = net->vulkan_device()->acquire_blob_allocator(); + ncnn::VkAllocator* staging_vkallocator = net->vulkan_device()->acquire_staging_allocator(); + + ncnn::Option opt = net->opt; + opt.blob_vkallocator = blob_vkallocator; + opt.workspace_vkallocator = blob_vkallocator; + opt.staging_vkallocator = staging_vkallocator; + + // each tile 100x100 + const int xtiles = (w + TILE_SIZE_X - 1) / TILE_SIZE_X; + const int ytiles = (h + TILE_SIZE_Y - 1) / TILE_SIZE_Y; + + const size_t in_out_tile_elemsize = opt.use_fp16_storage ? 2u : 4u; + + //#pragma omp parallel for num_threads(2) + for (int yi = 0; yi < ytiles; yi++) + { + const int tile_h_nopad = std::min((yi + 1) * TILE_SIZE_Y, h) - yi * TILE_SIZE_Y; + + int in_tile_y0 = std::max(yi * TILE_SIZE_Y - prepadding, 0); + int in_tile_y1 = std::min((yi + 1) * TILE_SIZE_Y + prepadding, h); + + ncnn::Mat in; + if (opt.use_fp16_storage && opt.use_int8_storage) + { + in = ncnn::Mat(w, (in_tile_y1 - in_tile_y0), (unsigned char*)pixeldata + in_tile_y0 * w * channels, (size_t)channels, 1); + } + else + { + if (channels == 3) + { +#if _WIN32 + in = ncnn::Mat::from_pixels(pixeldata + in_tile_y0 * w * channels, ncnn::Mat::PIXEL_BGR2RGB, w, (in_tile_y1 - in_tile_y0)); +#else + in = ncnn::Mat::from_pixels(pixeldata + in_tile_y0 * w * channels, ncnn::Mat::PIXEL_RGB, w, (in_tile_y1 - in_tile_y0)); +#endif + } + if (channels == 4) + { +#if _WIN32 + in = ncnn::Mat::from_pixels(pixeldata + in_tile_y0 * w * channels, ncnn::Mat::PIXEL_BGRA2RGBA, w, (in_tile_y1 - in_tile_y0)); +#else + in = ncnn::Mat::from_pixels(pixeldata + in_tile_y0 * w * channels, ncnn::Mat::PIXEL_RGBA, w, (in_tile_y1 - in_tile_y0)); +#endif + } + } + + ncnn::VkCompute cmd(net->vulkan_device()); + + // upload + ncnn::VkMat in_gpu; + { + cmd.record_clone(in, in_gpu, opt); + + if (xtiles > 1) + { + cmd.submit_and_wait(); + cmd.reset(); + } + } + + int out_tile_y0 = std::max(yi * TILE_SIZE_Y, 0); + int out_tile_y1 = std::min((yi + 1) * TILE_SIZE_Y, h); + + ncnn::VkMat out_gpu; + if (opt.use_fp16_storage && opt.use_int8_storage) + { + out_gpu.create(w * scale, (out_tile_y1 - out_tile_y0) * scale, (size_t)channels, 1, blob_vkallocator); + } + else + { + out_gpu.create(w * scale, (out_tile_y1 - out_tile_y0) * scale, channels, (size_t)4u, 1, blob_vkallocator); + } + + for (int xi = 0; xi < xtiles; xi++) + { + const int tile_w_nopad = std::min((xi + 1) * TILE_SIZE_X, w) - xi * TILE_SIZE_X; + + if (tta_mode) + { + // preproc + ncnn::VkMat in_tile_gpu[8]; + ncnn::VkMat in_alpha_tile_gpu; + { + // crop tile + int tile_x0 = xi * TILE_SIZE_X - prepadding; + int tile_x1 = std::min((xi + 1) * TILE_SIZE_X, w) + prepadding; + int tile_y0 = yi * TILE_SIZE_Y - prepadding; + int tile_y1 = std::min((yi + 1) * TILE_SIZE_Y, h) + prepadding; + + in_tile_gpu[0].create(tile_x1 - tile_x0, tile_y1 - tile_y0, 3, in_out_tile_elemsize, 1, blob_vkallocator); + in_tile_gpu[1].create(tile_x1 - tile_x0, tile_y1 - tile_y0, 3, in_out_tile_elemsize, 1, blob_vkallocator); + in_tile_gpu[2].create(tile_x1 - tile_x0, tile_y1 - tile_y0, 3, in_out_tile_elemsize, 1, blob_vkallocator); + in_tile_gpu[3].create(tile_x1 - tile_x0, tile_y1 - tile_y0, 3, in_out_tile_elemsize, 1, blob_vkallocator); + in_tile_gpu[4].create(tile_y1 - tile_y0, tile_x1 - tile_x0, 3, in_out_tile_elemsize, 1, blob_vkallocator); + in_tile_gpu[5].create(tile_y1 - tile_y0, tile_x1 - tile_x0, 3, in_out_tile_elemsize, 1, blob_vkallocator); + in_tile_gpu[6].create(tile_y1 - tile_y0, tile_x1 - tile_x0, 3, in_out_tile_elemsize, 1, blob_vkallocator); + in_tile_gpu[7].create(tile_y1 - tile_y0, tile_x1 - tile_x0, 3, in_out_tile_elemsize, 1, blob_vkallocator); + + if (channels == 4) + { + in_alpha_tile_gpu.create(tile_w_nopad, tile_h_nopad, 1, in_out_tile_elemsize, 1, blob_vkallocator); + } + + std::vector bindings(10); + bindings[0] = in_gpu; + bindings[1] = in_tile_gpu[0]; + bindings[2] = in_tile_gpu[1]; + bindings[3] = in_tile_gpu[2]; + bindings[4] = in_tile_gpu[3]; + bindings[5] = in_tile_gpu[4]; + bindings[6] = in_tile_gpu[5]; + bindings[7] = in_tile_gpu[6]; + bindings[8] = in_tile_gpu[7]; + bindings[9] = in_alpha_tile_gpu; + + std::vector constants(13); + constants[0].i = in_gpu.w; + constants[1].i = in_gpu.h; + constants[2].i = in_gpu.cstep; + constants[3].i = in_tile_gpu[0].w; + constants[4].i = in_tile_gpu[0].h; + constants[5].i = in_tile_gpu[0].cstep; + constants[6].i = prepadding; + constants[7].i = prepadding; + constants[8].i = xi * TILE_SIZE_X; + constants[9].i = std::min(yi * TILE_SIZE_Y, prepadding); + constants[10].i = channels; + constants[11].i = in_alpha_tile_gpu.w; + constants[12].i = in_alpha_tile_gpu.h; + + ncnn::VkMat dispatcher; + dispatcher.w = in_tile_gpu[0].w; + dispatcher.h = in_tile_gpu[0].h; + dispatcher.c = channels; +#ifdef OV_VULKAN + cmd.record_pipeline(realesrgan_preproc, bindings, constants, dispatcher); +#endif + } + + // realesrgan + ncnn::VkMat out_tile_gpu[8]; + for (int ti = 0; ti < 8; ti++) + { + ncnn::Extractor ex = net->create_extractor(); + + ex.set_blob_vkallocator(blob_vkallocator); + ex.set_workspace_vkallocator(blob_vkallocator); + ex.set_staging_vkallocator(staging_vkallocator); + + ex.input("data", in_tile_gpu[ti]); + + ex.extract("output", out_tile_gpu[ti], cmd); + + { + cmd.submit_and_wait(); + cmd.reset(); + } + } + + ncnn::VkMat out_alpha_tile_gpu; + if (channels == 4) + { + if (scale == 1) + { + out_alpha_tile_gpu = in_alpha_tile_gpu; + } + if (scale == 4) + { + bicubic_4x->forward(in_alpha_tile_gpu, out_alpha_tile_gpu, cmd, opt); + } + } + + // postproc + { + std::vector bindings(10); + bindings[0] = out_tile_gpu[0]; + bindings[1] = out_tile_gpu[1]; + bindings[2] = out_tile_gpu[2]; + bindings[3] = out_tile_gpu[3]; + bindings[4] = out_tile_gpu[4]; + bindings[5] = out_tile_gpu[5]; + bindings[6] = out_tile_gpu[6]; + bindings[7] = out_tile_gpu[7]; + bindings[8] = out_alpha_tile_gpu; + bindings[9] = out_gpu; + + std::vector constants(13); + constants[0].i = out_tile_gpu[0].w; + constants[1].i = out_tile_gpu[0].h; + constants[2].i = out_tile_gpu[0].cstep; + constants[3].i = out_gpu.w; + constants[4].i = out_gpu.h; + constants[5].i = out_gpu.cstep; + constants[6].i = xi * TILE_SIZE_X * scale; + constants[7].i = std::min(TILE_SIZE_X * scale, out_gpu.w - xi * TILE_SIZE_X * scale); + constants[8].i = prepadding * scale; + constants[9].i = prepadding * scale; + constants[10].i = channels; + constants[11].i = out_alpha_tile_gpu.w; + constants[12].i = out_alpha_tile_gpu.h; + + ncnn::VkMat dispatcher; + dispatcher.w = std::min(TILE_SIZE_X * scale, out_gpu.w - xi * TILE_SIZE_X * scale); + dispatcher.h = out_gpu.h; + dispatcher.c = channels; +#ifdef OV_VULKAN + cmd.record_pipeline(realesrgan_postproc, bindings, constants, dispatcher); +#endif + } + } + else + { + // preproc + ncnn::VkMat in_tile_gpu; + ncnn::VkMat in_alpha_tile_gpu; + { + // crop tile + int tile_x0 = xi * TILE_SIZE_X - prepadding; + int tile_x1 = std::min((xi + 1) * TILE_SIZE_X, w) + prepadding; + int tile_y0 = yi * TILE_SIZE_Y - prepadding; + int tile_y1 = std::min((yi + 1) * TILE_SIZE_Y, h) + prepadding; + + in_tile_gpu.create(tile_x1 - tile_x0, tile_y1 - tile_y0, 3, in_out_tile_elemsize, 1, blob_vkallocator); + + if (channels == 4) + { + in_alpha_tile_gpu.create(tile_w_nopad, tile_h_nopad, 1, in_out_tile_elemsize, 1, blob_vkallocator); + } + + std::vector bindings(3); + bindings[0] = in_gpu; + bindings[1] = in_tile_gpu; + bindings[2] = in_alpha_tile_gpu; + + std::vector constants(13); + constants[0].i = in_gpu.w; + constants[1].i = in_gpu.h; + constants[2].i = in_gpu.cstep; + constants[3].i = in_tile_gpu.w; + constants[4].i = in_tile_gpu.h; + constants[5].i = in_tile_gpu.cstep; + constants[6].i = prepadding; + constants[7].i = prepadding; + constants[8].i = xi * TILE_SIZE_X; + constants[9].i = std::min(yi * TILE_SIZE_Y, prepadding); + constants[10].i = channels; + constants[11].i = in_alpha_tile_gpu.w; + constants[12].i = in_alpha_tile_gpu.h; + + ncnn::VkMat dispatcher; + dispatcher.w = in_tile_gpu.w; + dispatcher.h = in_tile_gpu.h; + dispatcher.c = channels; + +#ifdef OV_VULKAN + cmd.record_pipeline(realesrgan_preproc, bindings, constants, dispatcher); +#endif + } + + // realesrgan + ncnn::VkMat out_tile_gpu; + { + ncnn::Extractor ex = net->create_extractor(); + + ex.set_blob_vkallocator(blob_vkallocator); + ex.set_workspace_vkallocator(blob_vkallocator); + ex.set_staging_vkallocator(staging_vkallocator); + + ex.input("data", in_tile_gpu); + + ex.extract("output", out_tile_gpu, cmd); + } + + ncnn::VkMat out_alpha_tile_gpu; + if (channels == 4) + { + if (scale == 1) + { + out_alpha_tile_gpu = in_alpha_tile_gpu; + } + if (scale == 4) + { + bicubic_4x->forward(in_alpha_tile_gpu, out_alpha_tile_gpu, cmd, opt); + } + } + + // postproc + { + std::vector bindings(3); + bindings[0] = out_tile_gpu; + bindings[1] = out_alpha_tile_gpu; + bindings[2] = out_gpu; + + std::vector constants(13); + constants[0].i = out_tile_gpu.w; + constants[1].i = out_tile_gpu.h; + constants[2].i = out_tile_gpu.cstep; + constants[3].i = out_gpu.w; + constants[4].i = out_gpu.h; + constants[5].i = out_gpu.cstep; + constants[6].i = xi * TILE_SIZE_X * scale; + constants[7].i = std::min(TILE_SIZE_X * scale, out_gpu.w - xi * TILE_SIZE_X * scale); + constants[8].i = prepadding * scale; + constants[9].i = prepadding * scale; + constants[10].i = channels; + constants[11].i = out_alpha_tile_gpu.w; + constants[12].i = out_alpha_tile_gpu.h; + + ncnn::VkMat dispatcher; + dispatcher.w = std::min(TILE_SIZE_X * scale, out_gpu.w - xi * TILE_SIZE_X * scale); + dispatcher.h = out_gpu.h; + dispatcher.c = channels; + +#ifdef OV_VULKAN + cmd.record_pipeline(realesrgan_postproc, bindings, constants, dispatcher); +#endif + } + } + + if (xtiles > 1) + { + cmd.submit_and_wait(); + cmd.reset(); + } + + fprintf(stderr, "%.2f%%\n", (float)(yi * xtiles + xi) / (ytiles * xtiles) * 100); + } + + // download + { + ncnn::Mat out; + + if (opt.use_fp16_storage && opt.use_int8_storage) + { + out = ncnn::Mat(out_gpu.w, out_gpu.h, (unsigned char*)outimage.data + yi * scale * TILE_SIZE_Y * w * scale * channels, (size_t)channels, 1); + } + + cmd.record_clone(out_gpu, out, opt); + + cmd.submit_and_wait(); + + if (!(opt.use_fp16_storage && opt.use_int8_storage)) + { + if (channels == 3) + { +#if _WIN32 + out.to_pixels((unsigned char*)outimage.data + yi * scale * TILE_SIZE_Y * w * scale * channels, ncnn::Mat::PIXEL_RGB2BGR); +#else + out.to_pixels((unsigned char*)outimage.data + yi * scale * TILE_SIZE_Y * w * scale * channels, ncnn::Mat::PIXEL_RGB); +#endif + } + if (channels == 4) + { +#if _WIN32 + out.to_pixels((unsigned char*)outimage.data + yi * scale * TILE_SIZE_Y * w * scale * channels, ncnn::Mat::PIXEL_RGBA2BGRA); +#else + out.to_pixels((unsigned char*)outimage.data + yi * scale * TILE_SIZE_Y * w * scale * channels, ncnn::Mat::PIXEL_RGBA); +#endif + } + } + } + } + +#ifdef OV_VULKAN + net->vulkan_device()->reclaim_blob_allocator(blob_vkallocator); + net->vulkan_device()->reclaim_staging_allocator(staging_vkallocator); +#endif + + return 0; +} +} diff --git a/src/realesrgan/realesrgan.h b/src/realesrgan/realesrgan.h new file mode 100644 index 0000000..1764d52 --- /dev/null +++ b/src/realesrgan/realesrgan.h @@ -0,0 +1,18 @@ +#ifndef _REALESRGAN_C_H +#define _REALESRGAN_C_H + +#include "../common/common.h" + +#ifdef __cplusplus +#include "realesrgan.hpp" +extern "C" { +#endif + typedef void* RealEsrgan; + RealEsrgan new_realesrgan(int gpuid, bool _ttad_model); + void destroy_realesrgan(RealEsrgan r); + int realesrgan_load_model(RealEsrgan r, const char* root_path); + int realesrgan_process(RealEsrgan r, const unsigned char* rgbdata, int img_width, int img_height, int scale, Bytes* output); +#ifdef __cplusplus +} +#endif +#endif // _REALESRGAN_C_H diff --git a/src/realesrgan/realesrgan.hpp b/src/realesrgan/realesrgan.hpp new file mode 100644 index 0000000..11f9c6c --- /dev/null +++ b/src/realesrgan/realesrgan.hpp @@ -0,0 +1,42 @@ +#ifndef _REALESRGAN_H +#define _REALESRGAN_H + +// ncnn +#include "net.h" +#include "layer.h" +#ifdef OV_VULKAN +#include "gpu.h" +#endif + +namespace ov { + +class RealESRGAN +{ +public: + RealESRGAN(int gpuid, bool tta_mode = false); + ~RealESRGAN(); + + int LoadModel(const char* root_path); + + int process(const ncnn::Mat& inimage, ncnn::Mat& outimage) const; + +public: + // realesrgan parameters + int scale; + int tilesize; + int prepadding; + +private: + ncnn::Net* net = nullptr; +#ifdef OV_VULKAN + ncnn::Pipeline* realesrgan_preproc; + ncnn::Pipeline* realesrgan_postproc; +#endif + ncnn::Layer* bicubic_4x; + bool tta_mode; + bool initialized_; +}; + +} + +#endif // _REALESRGAN_H diff --git a/src/realesrgan/realesrgan_postproc.comp b/src/realesrgan/realesrgan_postproc.comp new file mode 100644 index 0000000..39eda23 --- /dev/null +++ b/src/realesrgan/realesrgan_postproc.comp @@ -0,0 +1,89 @@ + +#version 450 + +#if NCNN_fp16_storage +#extension GL_EXT_shader_16bit_storage: require +#define sfp float16_t +#else +#define sfp float +#endif + +#if NCNN_int8_storage +#extension GL_EXT_shader_8bit_storage: require +#endif + +layout (constant_id = 0) const int bgr = 0; + +layout (binding = 0) readonly buffer bottom_blob { sfp bottom_blob_data[]; }; +layout (binding = 1) readonly buffer alpha_blob { sfp alpha_blob_data[]; }; +#if NCNN_int8_storage +layout (binding = 2) writeonly buffer top_blob { uint8_t top_blob_data[]; }; +#else +layout (binding = 2) writeonly buffer top_blob { float top_blob_data[]; }; +#endif + +layout (push_constant) uniform parameter +{ + int w; + int h; + int cstep; + + int outw; + int outh; + int outcstep; + + int offset_x; + int gx_max; + + int crop_x; + int crop_y; + + int channels; + + int alphaw; + int alphah; +} p; + +void main() +{ + int gx = int(gl_GlobalInvocationID.x); + int gy = int(gl_GlobalInvocationID.y); + int gz = int(gl_GlobalInvocationID.z); + + if (gx >= p.gx_max || gy >= p.outh || gz >= p.channels) + return; + + float v; + + if (gz == 3) + { + v = float(alpha_blob_data[gy * p.alphaw + gx]); + } + else + { + v = float(bottom_blob_data[gz * p.cstep + (gy + p.crop_y) * p.w + gx + p.crop_x]); + + const float denorm_val = 255.f; + + v = v * denorm_val; + } + + const float clip_eps = 0.5f; + + v = v + clip_eps; + +#if NCNN_int8_storage + int v_offset = gy * p.outw + gx + p.offset_x; + + uint v32 = clamp(uint(floor(v)), 0, 255); + + if (bgr == 1 && gz != 3) + top_blob_data[v_offset * p.channels + 2 - gz] = uint8_t(v32); + else + top_blob_data[v_offset * p.channels + gz] = uint8_t(v32); +#else + int v_offset = gz * p.outcstep + gy * p.outw + gx + p.offset_x; + + top_blob_data[v_offset] = v; +#endif +} diff --git a/src/realesrgan/realesrgan_postproc_tta.comp b/src/realesrgan/realesrgan_postproc_tta.comp new file mode 100644 index 0000000..22a65ba --- /dev/null +++ b/src/realesrgan/realesrgan_postproc_tta.comp @@ -0,0 +1,110 @@ + +#version 450 + +#if NCNN_fp16_storage +#extension GL_EXT_shader_16bit_storage: require +#define sfp float16_t +#else +#define sfp float +#endif + +#if NCNN_int8_storage +#extension GL_EXT_shader_8bit_storage: require +#endif + +layout (constant_id = 0) const int bgr = 0; + +layout (binding = 0) readonly buffer bottom_blob0 { sfp bottom_blob0_data[]; }; +layout (binding = 1) readonly buffer bottom_blob1 { sfp bottom_blob1_data[]; }; +layout (binding = 2) readonly buffer bottom_blob2 { sfp bottom_blob2_data[]; }; +layout (binding = 3) readonly buffer bottom_blob3 { sfp bottom_blob3_data[]; }; +layout (binding = 4) readonly buffer bottom_blob4 { sfp bottom_blob4_data[]; }; +layout (binding = 5) readonly buffer bottom_blob5 { sfp bottom_blob5_data[]; }; +layout (binding = 6) readonly buffer bottom_blob6 { sfp bottom_blob6_data[]; }; +layout (binding = 7) readonly buffer bottom_blob7 { sfp bottom_blob7_data[]; }; +layout (binding = 8) readonly buffer alpha_blob { sfp alpha_blob_data[]; }; +#if NCNN_int8_storage +layout (binding = 9) writeonly buffer top_blob { uint8_t top_blob_data[]; }; +#else +layout (binding = 9) writeonly buffer top_blob { float top_blob_data[]; }; +#endif + +layout (push_constant) uniform parameter +{ + int w; + int h; + int cstep; + + int outw; + int outh; + int outcstep; + + int offset_x; + int gx_max; + + int crop_x; + int crop_y; + + int channels; + + int alphaw; + int alphah; +} p; + +void main() +{ + int gx = int(gl_GlobalInvocationID.x); + int gy = int(gl_GlobalInvocationID.y); + int gz = int(gl_GlobalInvocationID.z); + + if (gx >= p.gx_max || gy >= p.outh || gz >= p.channels) + return; + + float v; + + if (gz == 3) + { + v = float(alpha_blob_data[gy * p.alphaw + gx]); + } + else + { + int gzi = gz * p.cstep; + + int sy = gy + p.crop_y; + int sx = gx + p.crop_x; + + float v0 = float(bottom_blob0_data[gzi + sy * p.w + sx]); + float v1 = float(bottom_blob1_data[gzi + sy * p.w + (p.w - 1 - sx)]); + float v2 = float(bottom_blob2_data[gzi + (p.h - 1 - sy) * p.w + (p.w - 1 - sx)]); + float v3 = float(bottom_blob3_data[gzi + (p.h - 1 - sy) * p.w + sx]); + float v4 = float(bottom_blob4_data[gzi + sx * p.h + sy]); + float v5 = float(bottom_blob5_data[gzi + sx * p.h + (p.h - 1 - sy)]); + float v6 = float(bottom_blob6_data[gzi + (p.w - 1 - sx) * p.h + (p.h - 1 - sy)]); + float v7 = float(bottom_blob7_data[gzi + (p.w - 1 - sx) * p.h + sy]); + + v = (v0 + v1 + v2 + v3 + v4 + v5 + v6 + v7) * 0.125f; + + const float denorm_val = 255.f; + + v = v * denorm_val; + } + + const float clip_eps = 0.5f; + + v = v + clip_eps; + +#if NCNN_int8_storage + int v_offset = gy * p.outw + gx + p.offset_x; + + uint v32 = clamp(uint(floor(v)), 0, 255); + + if (bgr == 1 && gz != 3) + top_blob_data[v_offset * p.channels + 2 - gz] = uint8_t(v32); + else + top_blob_data[v_offset * p.channels + gz] = uint8_t(v32); +#else + int v_offset = gz * p.outcstep + gy * p.outw + gx + p.offset_x; + + top_blob_data[v_offset] = v; +#endif +} diff --git a/src/realesrgan/realesrgan_preproc.comp b/src/realesrgan/realesrgan_preproc.comp new file mode 100644 index 0000000..b9e7f71 --- /dev/null +++ b/src/realesrgan/realesrgan_preproc.comp @@ -0,0 +1,95 @@ + +#version 450 + +#if NCNN_fp16_storage +#extension GL_EXT_shader_16bit_storage: require +#define sfp float16_t +#else +#define sfp float +#endif + +#if NCNN_int8_storage +#extension GL_EXT_shader_8bit_storage: require +#endif + +layout (constant_id = 0) const int bgr = 0; + +#if NCNN_int8_storage +layout (binding = 0) readonly buffer bottom_blob { uint8_t bottom_blob_data[]; }; +#else +layout (binding = 0) readonly buffer bottom_blob { float bottom_blob_data[]; }; +#endif +layout (binding = 1) writeonly buffer top_blob { sfp top_blob_data[]; }; +layout (binding = 2) writeonly buffer alpha_blob { sfp alpha_blob_data[]; }; + +layout (push_constant) uniform parameter +{ + int w; + int h; + int cstep; + + int outw; + int outh; + int outcstep; + + int pad_top; + int pad_left; + + int crop_x; + int crop_y; + + int channels; + + int alphaw; + int alphah; +} p; + +void main() +{ + int gx = int(gl_GlobalInvocationID.x); + int gy = int(gl_GlobalInvocationID.y); + int gz = int(gl_GlobalInvocationID.z); + + if (gx >= p.outw || gy >= p.outh || gz >= p.channels) + return; + + int x = gx + p.crop_x - p.pad_left; + int y = gy + p.crop_y - p.pad_top; + + x = abs(x); + y = abs(y); + x = (p.w - 1) - abs(x - (p.w - 1)); + y = (p.h - 1) - abs(y - (p.h - 1)); + +#if NCNN_int8_storage + int v_offset = y * p.w + x; + + float v; + + if (bgr == 1 && gz != 3) + v = float(uint(bottom_blob_data[v_offset * p.channels + 2 - gz])); + else + v = float(uint(bottom_blob_data[v_offset * p.channels + gz])); +#else + int v_offset = gz * p.cstep + y * p.w + x; + + float v = bottom_blob_data[v_offset]; +#endif + + if (gz == 3) + { + gx -= p.pad_left; + gy -= p.pad_top; + + if (gx >= 0 && gx < p.alphaw && gy >= 0 && gy < p.alphah) + { + alpha_blob_data[gy * p.alphaw + gx] = sfp(v); + } + } + else + { + const float norm_val = 1 / 255.f; + + top_blob_data[gz * p.outcstep + gy * p.outw + gx] = sfp(v * norm_val); + } +} diff --git a/src/realesrgan/realesrgan_preproc_tta.comp b/src/realesrgan/realesrgan_preproc_tta.comp new file mode 100644 index 0000000..b3af689 --- /dev/null +++ b/src/realesrgan/realesrgan_preproc_tta.comp @@ -0,0 +1,113 @@ + +#version 450 + +#if NCNN_fp16_storage +#extension GL_EXT_shader_16bit_storage: require +#define sfp float16_t +#else +#define sfp float +#endif + +#if NCNN_int8_storage +#extension GL_EXT_shader_8bit_storage: require +#endif + +layout (constant_id = 0) const int bgr = 0; + +#if NCNN_int8_storage +layout (binding = 0) readonly buffer bottom_blob { uint8_t bottom_blob_data[]; }; +#else +layout (binding = 0) readonly buffer bottom_blob { float bottom_blob_data[]; }; +#endif +layout (binding = 1) writeonly buffer top_blob0 { sfp top_blob0_data[]; }; +layout (binding = 2) writeonly buffer top_blob1 { sfp top_blob1_data[]; }; +layout (binding = 3) writeonly buffer top_blob2 { sfp top_blob2_data[]; }; +layout (binding = 4) writeonly buffer top_blob3 { sfp top_blob3_data[]; }; +layout (binding = 5) writeonly buffer top_blob4 { sfp top_blob4_data[]; }; +layout (binding = 6) writeonly buffer top_blob5 { sfp top_blob5_data[]; }; +layout (binding = 7) writeonly buffer top_blob6 { sfp top_blob6_data[]; }; +layout (binding = 8) writeonly buffer top_blob7 { sfp top_blob7_data[]; }; +layout (binding = 9) writeonly buffer alpha_blob { sfp alpha_blob_data[]; }; + +layout (push_constant) uniform parameter +{ + int w; + int h; + int cstep; + + int outw; + int outh; + int outcstep; + + int pad_top; + int pad_left; + + int crop_x; + int crop_y; + + int channels; + + int alphaw; + int alphah; +} p; + +void main() +{ + int gx = int(gl_GlobalInvocationID.x); + int gy = int(gl_GlobalInvocationID.y); + int gz = int(gl_GlobalInvocationID.z); + + if (gx >= p.outw || gy >= p.outh || gz >= p.channels) + return; + + int x = gx + p.crop_x - p.pad_left; + int y = gy + p.crop_y - p.pad_top; + + x = abs(x); + y = abs(y); + x = (p.w - 1) - abs(x - (p.w - 1)); + y = (p.h - 1) - abs(y - (p.h - 1)); + +#if NCNN_int8_storage + int v_offset = y * p.w + x; + + float v; + + if (bgr == 1 && gz != 3) + v = float(uint(bottom_blob_data[v_offset * p.channels + 2 - gz])); + else + v = float(uint(bottom_blob_data[v_offset * p.channels + gz])); +#else + int v_offset = gz * p.cstep + y * p.w + x; + + float v = bottom_blob_data[v_offset]; +#endif + + if (gz == 3) + { + gx -= p.pad_left; + gy -= p.pad_top; + + if (gx >= 0 && gx < p.alphaw && gy >= 0 && gy < p.alphah) + { + alpha_blob_data[gy * p.alphaw + gx] = sfp(v); + } + } + else + { + const float norm_val = 1 / 255.f; + + v = v * norm_val; + + int gzi = gz * p.outcstep; + + top_blob0_data[gzi + gy * p.outw + gx] = sfp(v); + top_blob1_data[gzi + gy * p.outw + (p.outw - 1 - gx)] = sfp(v); + top_blob2_data[gzi + (p.outh - 1 - gy) * p.outw + (p.outw - 1 - gx)] = sfp(v); + top_blob3_data[gzi + (p.outh - 1 - gy) * p.outw + gx] = sfp(v); + top_blob4_data[gzi + gx * p.outh + gy] = sfp(v); + top_blob5_data[gzi + gx * p.outh + (p.outh - 1 - gy)] = sfp(v); + top_blob6_data[gzi + (p.outw - 1 - gx) * p.outh + (p.outh - 1 - gy)] = sfp(v); + top_blob7_data[gzi + (p.outw - 1 - gx) * p.outh + gy] = sfp(v); + } +} diff --git a/src/realesrgan/shader/realesrgan_postproc.spv.hex.h b/src/realesrgan/shader/realesrgan_postproc.spv.hex.h new file mode 100644 index 0000000..5b0bed2 --- /dev/null +++ b/src/realesrgan/shader/realesrgan_postproc.spv.hex.h @@ -0,0 +1,123 @@ + // 1011.6.0 + 0x07230203,0x00010000,0x0008000a,0x0000008c,0x00000000,0x00020011,0x00000001,0x0006000b, + 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001, + 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00060010,0x00000004, + 0x00000011,0x00000001,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005, + 0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000008,0x00007867,0x00080005,0x0000000c, + 0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00030005,0x00000012, + 0x00007967,0x00030005,0x00000017,0x00007a67,0x00050005,0x0000001e,0x61726170,0x6574656d, + 0x00000072,0x00040006,0x0000001e,0x00000000,0x00000077,0x00040006,0x0000001e,0x00000001, + 0x00000068,0x00050006,0x0000001e,0x00000002,0x65747363,0x00000070,0x00050006,0x0000001e, + 0x00000003,0x7774756f,0x00000000,0x00050006,0x0000001e,0x00000004,0x6874756f,0x00000000, + 0x00060006,0x0000001e,0x00000005,0x6374756f,0x70657473,0x00000000,0x00060006,0x0000001e, + 0x00000006,0x7366666f,0x785f7465,0x00000000,0x00050006,0x0000001e,0x00000007,0x6d5f7867, + 0x00007861,0x00050006,0x0000001e,0x00000008,0x706f7263,0x0000785f,0x00050006,0x0000001e, + 0x00000009,0x706f7263,0x0000795f,0x00060006,0x0000001e,0x0000000a,0x6e616863,0x736c656e, + 0x00000000,0x00050006,0x0000001e,0x0000000b,0x68706c61,0x00007761,0x00050006,0x0000001e, + 0x0000000c,0x68706c61,0x00006861,0x00030005,0x00000020,0x00000070,0x00030005,0x00000042, + 0x00000076,0x00050005,0x00000044,0x68706c61,0x6c625f61,0x0000626f,0x00070006,0x00000044, + 0x00000000,0x68706c61,0x6c625f61,0x645f626f,0x00617461,0x00030005,0x00000046,0x00000000, + 0x00050005,0x00000054,0x74746f62,0x625f6d6f,0x00626f6c,0x00080006,0x00000054,0x00000000, + 0x74746f62,0x625f6d6f,0x5f626f6c,0x61746164,0x00000000,0x00030005,0x00000056,0x00000000, + 0x00050005,0x00000073,0x666f5f76,0x74657366,0x00000000,0x00050005,0x00000085,0x5f706f74, + 0x626f6c62,0x00000000,0x00070006,0x00000085,0x00000000,0x5f706f74,0x626f6c62,0x7461645f, + 0x00000061,0x00030005,0x00000087,0x00000000,0x00030005,0x0000008b,0x00726762,0x00040047, + 0x0000000c,0x0000000b,0x0000001c,0x00050048,0x0000001e,0x00000000,0x00000023,0x00000000, + 0x00050048,0x0000001e,0x00000001,0x00000023,0x00000004,0x00050048,0x0000001e,0x00000002, + 0x00000023,0x00000008,0x00050048,0x0000001e,0x00000003,0x00000023,0x0000000c,0x00050048, + 0x0000001e,0x00000004,0x00000023,0x00000010,0x00050048,0x0000001e,0x00000005,0x00000023, + 0x00000014,0x00050048,0x0000001e,0x00000006,0x00000023,0x00000018,0x00050048,0x0000001e, + 0x00000007,0x00000023,0x0000001c,0x00050048,0x0000001e,0x00000008,0x00000023,0x00000020, + 0x00050048,0x0000001e,0x00000009,0x00000023,0x00000024,0x00050048,0x0000001e,0x0000000a, + 0x00000023,0x00000028,0x00050048,0x0000001e,0x0000000b,0x00000023,0x0000002c,0x00050048, + 0x0000001e,0x0000000c,0x00000023,0x00000030,0x00030047,0x0000001e,0x00000002,0x00040047, + 0x00000043,0x00000006,0x00000004,0x00040048,0x00000044,0x00000000,0x00000018,0x00050048, + 0x00000044,0x00000000,0x00000023,0x00000000,0x00030047,0x00000044,0x00000003,0x00040047, + 0x00000046,0x00000022,0x00000000,0x00040047,0x00000046,0x00000021,0x00000001,0x00040047, + 0x00000053,0x00000006,0x00000004,0x00040048,0x00000054,0x00000000,0x00000018,0x00050048, + 0x00000054,0x00000000,0x00000023,0x00000000,0x00030047,0x00000054,0x00000003,0x00040047, + 0x00000056,0x00000022,0x00000000,0x00040047,0x00000056,0x00000021,0x00000000,0x00040047, + 0x00000084,0x00000006,0x00000004,0x00040048,0x00000085,0x00000000,0x00000019,0x00050048, + 0x00000085,0x00000000,0x00000023,0x00000000,0x00030047,0x00000085,0x00000003,0x00040047, + 0x00000087,0x00000022,0x00000000,0x00040047,0x00000087,0x00000021,0x00000002,0x00040047, + 0x0000008b,0x00000001,0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002, + 0x00040015,0x00000006,0x00000020,0x00000001,0x00040020,0x00000007,0x00000007,0x00000006, + 0x00040015,0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a,0x00000009,0x00000003, + 0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001, + 0x0004002b,0x00000009,0x0000000d,0x00000000,0x00040020,0x0000000e,0x00000001,0x00000009, + 0x0004002b,0x00000009,0x00000013,0x00000001,0x0004002b,0x00000009,0x00000018,0x00000002, + 0x00020014,0x0000001c,0x000f001e,0x0000001e,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00040020,0x0000001f,0x00000009,0x0000001e,0x0004003b,0x0000001f,0x00000020, + 0x00000009,0x0004002b,0x00000006,0x00000021,0x00000007,0x00040020,0x00000022,0x00000009, + 0x00000006,0x0004002b,0x00000006,0x0000002a,0x00000004,0x0004002b,0x00000006,0x00000033, + 0x0000000a,0x0004002b,0x00000006,0x0000003c,0x00000003,0x00030016,0x00000040,0x00000020, + 0x00040020,0x00000041,0x00000007,0x00000040,0x0003001d,0x00000043,0x00000040,0x0003001e, + 0x00000044,0x00000043,0x00040020,0x00000045,0x00000002,0x00000044,0x0004003b,0x00000045, + 0x00000046,0x00000002,0x0004002b,0x00000006,0x00000047,0x00000000,0x0004002b,0x00000006, + 0x00000049,0x0000000b,0x00040020,0x0000004f,0x00000002,0x00000040,0x0003001d,0x00000053, + 0x00000040,0x0003001e,0x00000054,0x00000053,0x00040020,0x00000055,0x00000002,0x00000054, + 0x0004003b,0x00000055,0x00000056,0x00000002,0x0004002b,0x00000006,0x00000058,0x00000002, + 0x0004002b,0x00000006,0x0000005d,0x00000009,0x0004002b,0x00000006,0x00000067,0x00000008, + 0x0004002b,0x00000040,0x0000006e,0x437f0000,0x0004002b,0x00000040,0x00000071,0x3f000000, + 0x0004002b,0x00000006,0x00000075,0x00000005,0x0004002b,0x00000006,0x00000080,0x00000006, + 0x0003001d,0x00000084,0x00000040,0x0003001e,0x00000085,0x00000084,0x00040020,0x00000086, + 0x00000002,0x00000085,0x0004003b,0x00000086,0x00000087,0x00000002,0x00040032,0x00000006, + 0x0000008b,0x00000000,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8, + 0x00000005,0x0004003b,0x00000007,0x00000008,0x00000007,0x0004003b,0x00000007,0x00000012, + 0x00000007,0x0004003b,0x00000007,0x00000017,0x00000007,0x0004003b,0x00000041,0x00000042, + 0x00000007,0x0004003b,0x00000007,0x00000073,0x00000007,0x00050041,0x0000000e,0x0000000f, + 0x0000000c,0x0000000d,0x0004003d,0x00000009,0x00000010,0x0000000f,0x0004007c,0x00000006, + 0x00000011,0x00000010,0x0003003e,0x00000008,0x00000011,0x00050041,0x0000000e,0x00000014, + 0x0000000c,0x00000013,0x0004003d,0x00000009,0x00000015,0x00000014,0x0004007c,0x00000006, + 0x00000016,0x00000015,0x0003003e,0x00000012,0x00000016,0x00050041,0x0000000e,0x00000019, + 0x0000000c,0x00000018,0x0004003d,0x00000009,0x0000001a,0x00000019,0x0004007c,0x00000006, + 0x0000001b,0x0000001a,0x0003003e,0x00000017,0x0000001b,0x0004003d,0x00000006,0x0000001d, + 0x00000008,0x00050041,0x00000022,0x00000023,0x00000020,0x00000021,0x0004003d,0x00000006, + 0x00000024,0x00000023,0x000500af,0x0000001c,0x00000025,0x0000001d,0x00000024,0x000400a8, + 0x0000001c,0x00000026,0x00000025,0x000300f7,0x00000028,0x00000000,0x000400fa,0x00000026, + 0x00000027,0x00000028,0x000200f8,0x00000027,0x0004003d,0x00000006,0x00000029,0x00000012, + 0x00050041,0x00000022,0x0000002b,0x00000020,0x0000002a,0x0004003d,0x00000006,0x0000002c, + 0x0000002b,0x000500af,0x0000001c,0x0000002d,0x00000029,0x0000002c,0x000200f9,0x00000028, + 0x000200f8,0x00000028,0x000700f5,0x0000001c,0x0000002e,0x00000025,0x00000005,0x0000002d, + 0x00000027,0x000400a8,0x0000001c,0x0000002f,0x0000002e,0x000300f7,0x00000031,0x00000000, + 0x000400fa,0x0000002f,0x00000030,0x00000031,0x000200f8,0x00000030,0x0004003d,0x00000006, + 0x00000032,0x00000017,0x00050041,0x00000022,0x00000034,0x00000020,0x00000033,0x0004003d, + 0x00000006,0x00000035,0x00000034,0x000500af,0x0000001c,0x00000036,0x00000032,0x00000035, + 0x000200f9,0x00000031,0x000200f8,0x00000031,0x000700f5,0x0000001c,0x00000037,0x0000002e, + 0x00000028,0x00000036,0x00000030,0x000300f7,0x00000039,0x00000000,0x000400fa,0x00000037, + 0x00000038,0x00000039,0x000200f8,0x00000038,0x000100fd,0x000200f8,0x00000039,0x0004003d, + 0x00000006,0x0000003b,0x00000017,0x000500aa,0x0000001c,0x0000003d,0x0000003b,0x0000003c, + 0x000300f7,0x0000003f,0x00000000,0x000400fa,0x0000003d,0x0000003e,0x00000052,0x000200f8, + 0x0000003e,0x0004003d,0x00000006,0x00000048,0x00000012,0x00050041,0x00000022,0x0000004a, + 0x00000020,0x00000049,0x0004003d,0x00000006,0x0000004b,0x0000004a,0x00050084,0x00000006, + 0x0000004c,0x00000048,0x0000004b,0x0004003d,0x00000006,0x0000004d,0x00000008,0x00050080, + 0x00000006,0x0000004e,0x0000004c,0x0000004d,0x00060041,0x0000004f,0x00000050,0x00000046, + 0x00000047,0x0000004e,0x0004003d,0x00000040,0x00000051,0x00000050,0x0003003e,0x00000042, + 0x00000051,0x000200f9,0x0000003f,0x000200f8,0x00000052,0x0004003d,0x00000006,0x00000057, + 0x00000017,0x00050041,0x00000022,0x00000059,0x00000020,0x00000058,0x0004003d,0x00000006, + 0x0000005a,0x00000059,0x00050084,0x00000006,0x0000005b,0x00000057,0x0000005a,0x0004003d, + 0x00000006,0x0000005c,0x00000012,0x00050041,0x00000022,0x0000005e,0x00000020,0x0000005d, + 0x0004003d,0x00000006,0x0000005f,0x0000005e,0x00050080,0x00000006,0x00000060,0x0000005c, + 0x0000005f,0x00050041,0x00000022,0x00000061,0x00000020,0x00000047,0x0004003d,0x00000006, + 0x00000062,0x00000061,0x00050084,0x00000006,0x00000063,0x00000060,0x00000062,0x00050080, + 0x00000006,0x00000064,0x0000005b,0x00000063,0x0004003d,0x00000006,0x00000065,0x00000008, + 0x00050080,0x00000006,0x00000066,0x00000064,0x00000065,0x00050041,0x00000022,0x00000068, + 0x00000020,0x00000067,0x0004003d,0x00000006,0x00000069,0x00000068,0x00050080,0x00000006, + 0x0000006a,0x00000066,0x00000069,0x00060041,0x0000004f,0x0000006b,0x00000056,0x00000047, + 0x0000006a,0x0004003d,0x00000040,0x0000006c,0x0000006b,0x0003003e,0x00000042,0x0000006c, + 0x0004003d,0x00000040,0x0000006d,0x00000042,0x00050085,0x00000040,0x0000006f,0x0000006d, + 0x0000006e,0x0003003e,0x00000042,0x0000006f,0x000200f9,0x0000003f,0x000200f8,0x0000003f, + 0x0004003d,0x00000040,0x00000070,0x00000042,0x00050081,0x00000040,0x00000072,0x00000070, + 0x00000071,0x0003003e,0x00000042,0x00000072,0x0004003d,0x00000006,0x00000074,0x00000017, + 0x00050041,0x00000022,0x00000076,0x00000020,0x00000075,0x0004003d,0x00000006,0x00000077, + 0x00000076,0x00050084,0x00000006,0x00000078,0x00000074,0x00000077,0x0004003d,0x00000006, + 0x00000079,0x00000012,0x00050041,0x00000022,0x0000007a,0x00000020,0x0000003c,0x0004003d, + 0x00000006,0x0000007b,0x0000007a,0x00050084,0x00000006,0x0000007c,0x00000079,0x0000007b, + 0x00050080,0x00000006,0x0000007d,0x00000078,0x0000007c,0x0004003d,0x00000006,0x0000007e, + 0x00000008,0x00050080,0x00000006,0x0000007f,0x0000007d,0x0000007e,0x00050041,0x00000022, + 0x00000081,0x00000020,0x00000080,0x0004003d,0x00000006,0x00000082,0x00000081,0x00050080, + 0x00000006,0x00000083,0x0000007f,0x00000082,0x0003003e,0x00000073,0x00000083,0x0004003d, + 0x00000006,0x00000088,0x00000073,0x0004003d,0x00000040,0x00000089,0x00000042,0x00060041, + 0x0000004f,0x0000008a,0x00000087,0x00000047,0x00000088,0x0003003e,0x0000008a,0x00000089, + 0x000100fd,0x00010038 diff --git a/src/realesrgan/shader/realesrgan_postproc_fp16s.spv.hex.h b/src/realesrgan/shader/realesrgan_postproc_fp16s.spv.hex.h new file mode 100644 index 0000000..47d4307 --- /dev/null +++ b/src/realesrgan/shader/realesrgan_postproc_fp16s.spv.hex.h @@ -0,0 +1,127 @@ + // 1011.6.0 + 0x07230203,0x00010000,0x0008000a,0x00000090,0x00000000,0x00020011,0x00000001,0x00020011, + 0x00001151,0x0007000a,0x5f565053,0x5f52484b,0x69623631,0x74735f74,0x6761726f,0x00000065, + 0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000, + 0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00060010, + 0x00000004,0x00000011,0x00000001,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2, + 0x00080004,0x455f4c47,0x735f5458,0x65646168,0x36315f72,0x5f746962,0x726f7473,0x00656761, + 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000008,0x00007867,0x00080005, + 0x0000000c,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00030005, + 0x00000012,0x00007967,0x00030005,0x00000017,0x00007a67,0x00050005,0x0000001e,0x61726170, + 0x6574656d,0x00000072,0x00040006,0x0000001e,0x00000000,0x00000077,0x00040006,0x0000001e, + 0x00000001,0x00000068,0x00050006,0x0000001e,0x00000002,0x65747363,0x00000070,0x00050006, + 0x0000001e,0x00000003,0x7774756f,0x00000000,0x00050006,0x0000001e,0x00000004,0x6874756f, + 0x00000000,0x00060006,0x0000001e,0x00000005,0x6374756f,0x70657473,0x00000000,0x00060006, + 0x0000001e,0x00000006,0x7366666f,0x785f7465,0x00000000,0x00050006,0x0000001e,0x00000007, + 0x6d5f7867,0x00007861,0x00050006,0x0000001e,0x00000008,0x706f7263,0x0000785f,0x00050006, + 0x0000001e,0x00000009,0x706f7263,0x0000795f,0x00060006,0x0000001e,0x0000000a,0x6e616863, + 0x736c656e,0x00000000,0x00050006,0x0000001e,0x0000000b,0x68706c61,0x00007761,0x00050006, + 0x0000001e,0x0000000c,0x68706c61,0x00006861,0x00030005,0x00000020,0x00000070,0x00030005, + 0x00000042,0x00000076,0x00050005,0x00000045,0x68706c61,0x6c625f61,0x0000626f,0x00070006, + 0x00000045,0x00000000,0x68706c61,0x6c625f61,0x645f626f,0x00617461,0x00030005,0x00000047, + 0x00000000,0x00050005,0x00000056,0x74746f62,0x625f6d6f,0x00626f6c,0x00080006,0x00000056, + 0x00000000,0x74746f62,0x625f6d6f,0x5f626f6c,0x61746164,0x00000000,0x00030005,0x00000058, + 0x00000000,0x00050005,0x00000076,0x666f5f76,0x74657366,0x00000000,0x00050005,0x00000088, + 0x5f706f74,0x626f6c62,0x00000000,0x00070006,0x00000088,0x00000000,0x5f706f74,0x626f6c62, + 0x7461645f,0x00000061,0x00030005,0x0000008a,0x00000000,0x00030005,0x0000008f,0x00726762, + 0x00040047,0x0000000c,0x0000000b,0x0000001c,0x00050048,0x0000001e,0x00000000,0x00000023, + 0x00000000,0x00050048,0x0000001e,0x00000001,0x00000023,0x00000004,0x00050048,0x0000001e, + 0x00000002,0x00000023,0x00000008,0x00050048,0x0000001e,0x00000003,0x00000023,0x0000000c, + 0x00050048,0x0000001e,0x00000004,0x00000023,0x00000010,0x00050048,0x0000001e,0x00000005, + 0x00000023,0x00000014,0x00050048,0x0000001e,0x00000006,0x00000023,0x00000018,0x00050048, + 0x0000001e,0x00000007,0x00000023,0x0000001c,0x00050048,0x0000001e,0x00000008,0x00000023, + 0x00000020,0x00050048,0x0000001e,0x00000009,0x00000023,0x00000024,0x00050048,0x0000001e, + 0x0000000a,0x00000023,0x00000028,0x00050048,0x0000001e,0x0000000b,0x00000023,0x0000002c, + 0x00050048,0x0000001e,0x0000000c,0x00000023,0x00000030,0x00030047,0x0000001e,0x00000002, + 0x00040047,0x00000044,0x00000006,0x00000002,0x00040048,0x00000045,0x00000000,0x00000018, + 0x00050048,0x00000045,0x00000000,0x00000023,0x00000000,0x00030047,0x00000045,0x00000003, + 0x00040047,0x00000047,0x00000022,0x00000000,0x00040047,0x00000047,0x00000021,0x00000001, + 0x00040047,0x00000055,0x00000006,0x00000002,0x00040048,0x00000056,0x00000000,0x00000018, + 0x00050048,0x00000056,0x00000000,0x00000023,0x00000000,0x00030047,0x00000056,0x00000003, + 0x00040047,0x00000058,0x00000022,0x00000000,0x00040047,0x00000058,0x00000021,0x00000000, + 0x00040047,0x00000087,0x00000006,0x00000004,0x00040048,0x00000088,0x00000000,0x00000019, + 0x00050048,0x00000088,0x00000000,0x00000023,0x00000000,0x00030047,0x00000088,0x00000003, + 0x00040047,0x0000008a,0x00000022,0x00000000,0x00040047,0x0000008a,0x00000021,0x00000002, + 0x00040047,0x0000008f,0x00000001,0x00000000,0x00020013,0x00000002,0x00030021,0x00000003, + 0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040020,0x00000007,0x00000007, + 0x00000006,0x00040015,0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a,0x00000009, + 0x00000003,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c, + 0x00000001,0x0004002b,0x00000009,0x0000000d,0x00000000,0x00040020,0x0000000e,0x00000001, + 0x00000009,0x0004002b,0x00000009,0x00000013,0x00000001,0x0004002b,0x00000009,0x00000018, + 0x00000002,0x00020014,0x0000001c,0x000f001e,0x0000001e,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00040020,0x0000001f,0x00000009,0x0000001e,0x0004003b,0x0000001f, + 0x00000020,0x00000009,0x0004002b,0x00000006,0x00000021,0x00000007,0x00040020,0x00000022, + 0x00000009,0x00000006,0x0004002b,0x00000006,0x0000002a,0x00000004,0x0004002b,0x00000006, + 0x00000033,0x0000000a,0x0004002b,0x00000006,0x0000003c,0x00000003,0x00030016,0x00000040, + 0x00000020,0x00040020,0x00000041,0x00000007,0x00000040,0x00030016,0x00000043,0x00000010, + 0x0003001d,0x00000044,0x00000043,0x0003001e,0x00000045,0x00000044,0x00040020,0x00000046, + 0x00000002,0x00000045,0x0004003b,0x00000046,0x00000047,0x00000002,0x0004002b,0x00000006, + 0x00000048,0x00000000,0x0004002b,0x00000006,0x0000004a,0x0000000b,0x00040020,0x00000050, + 0x00000002,0x00000043,0x0003001d,0x00000055,0x00000043,0x0003001e,0x00000056,0x00000055, + 0x00040020,0x00000057,0x00000002,0x00000056,0x0004003b,0x00000057,0x00000058,0x00000002, + 0x0004002b,0x00000006,0x0000005a,0x00000002,0x0004002b,0x00000006,0x0000005f,0x00000009, + 0x0004002b,0x00000006,0x00000069,0x00000008,0x0004002b,0x00000040,0x00000071,0x437f0000, + 0x0004002b,0x00000040,0x00000074,0x3f000000,0x0004002b,0x00000006,0x00000078,0x00000005, + 0x0004002b,0x00000006,0x00000083,0x00000006,0x0003001d,0x00000087,0x00000040,0x0003001e, + 0x00000088,0x00000087,0x00040020,0x00000089,0x00000002,0x00000088,0x0004003b,0x00000089, + 0x0000008a,0x00000002,0x00040020,0x0000008d,0x00000002,0x00000040,0x00040032,0x00000006, + 0x0000008f,0x00000000,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8, + 0x00000005,0x0004003b,0x00000007,0x00000008,0x00000007,0x0004003b,0x00000007,0x00000012, + 0x00000007,0x0004003b,0x00000007,0x00000017,0x00000007,0x0004003b,0x00000041,0x00000042, + 0x00000007,0x0004003b,0x00000007,0x00000076,0x00000007,0x00050041,0x0000000e,0x0000000f, + 0x0000000c,0x0000000d,0x0004003d,0x00000009,0x00000010,0x0000000f,0x0004007c,0x00000006, + 0x00000011,0x00000010,0x0003003e,0x00000008,0x00000011,0x00050041,0x0000000e,0x00000014, + 0x0000000c,0x00000013,0x0004003d,0x00000009,0x00000015,0x00000014,0x0004007c,0x00000006, + 0x00000016,0x00000015,0x0003003e,0x00000012,0x00000016,0x00050041,0x0000000e,0x00000019, + 0x0000000c,0x00000018,0x0004003d,0x00000009,0x0000001a,0x00000019,0x0004007c,0x00000006, + 0x0000001b,0x0000001a,0x0003003e,0x00000017,0x0000001b,0x0004003d,0x00000006,0x0000001d, + 0x00000008,0x00050041,0x00000022,0x00000023,0x00000020,0x00000021,0x0004003d,0x00000006, + 0x00000024,0x00000023,0x000500af,0x0000001c,0x00000025,0x0000001d,0x00000024,0x000400a8, + 0x0000001c,0x00000026,0x00000025,0x000300f7,0x00000028,0x00000000,0x000400fa,0x00000026, + 0x00000027,0x00000028,0x000200f8,0x00000027,0x0004003d,0x00000006,0x00000029,0x00000012, + 0x00050041,0x00000022,0x0000002b,0x00000020,0x0000002a,0x0004003d,0x00000006,0x0000002c, + 0x0000002b,0x000500af,0x0000001c,0x0000002d,0x00000029,0x0000002c,0x000200f9,0x00000028, + 0x000200f8,0x00000028,0x000700f5,0x0000001c,0x0000002e,0x00000025,0x00000005,0x0000002d, + 0x00000027,0x000400a8,0x0000001c,0x0000002f,0x0000002e,0x000300f7,0x00000031,0x00000000, + 0x000400fa,0x0000002f,0x00000030,0x00000031,0x000200f8,0x00000030,0x0004003d,0x00000006, + 0x00000032,0x00000017,0x00050041,0x00000022,0x00000034,0x00000020,0x00000033,0x0004003d, + 0x00000006,0x00000035,0x00000034,0x000500af,0x0000001c,0x00000036,0x00000032,0x00000035, + 0x000200f9,0x00000031,0x000200f8,0x00000031,0x000700f5,0x0000001c,0x00000037,0x0000002e, + 0x00000028,0x00000036,0x00000030,0x000300f7,0x00000039,0x00000000,0x000400fa,0x00000037, + 0x00000038,0x00000039,0x000200f8,0x00000038,0x000100fd,0x000200f8,0x00000039,0x0004003d, + 0x00000006,0x0000003b,0x00000017,0x000500aa,0x0000001c,0x0000003d,0x0000003b,0x0000003c, + 0x000300f7,0x0000003f,0x00000000,0x000400fa,0x0000003d,0x0000003e,0x00000054,0x000200f8, + 0x0000003e,0x0004003d,0x00000006,0x00000049,0x00000012,0x00050041,0x00000022,0x0000004b, + 0x00000020,0x0000004a,0x0004003d,0x00000006,0x0000004c,0x0000004b,0x00050084,0x00000006, + 0x0000004d,0x00000049,0x0000004c,0x0004003d,0x00000006,0x0000004e,0x00000008,0x00050080, + 0x00000006,0x0000004f,0x0000004d,0x0000004e,0x00060041,0x00000050,0x00000051,0x00000047, + 0x00000048,0x0000004f,0x0004003d,0x00000043,0x00000052,0x00000051,0x00040073,0x00000040, + 0x00000053,0x00000052,0x0003003e,0x00000042,0x00000053,0x000200f9,0x0000003f,0x000200f8, + 0x00000054,0x0004003d,0x00000006,0x00000059,0x00000017,0x00050041,0x00000022,0x0000005b, + 0x00000020,0x0000005a,0x0004003d,0x00000006,0x0000005c,0x0000005b,0x00050084,0x00000006, + 0x0000005d,0x00000059,0x0000005c,0x0004003d,0x00000006,0x0000005e,0x00000012,0x00050041, + 0x00000022,0x00000060,0x00000020,0x0000005f,0x0004003d,0x00000006,0x00000061,0x00000060, + 0x00050080,0x00000006,0x00000062,0x0000005e,0x00000061,0x00050041,0x00000022,0x00000063, + 0x00000020,0x00000048,0x0004003d,0x00000006,0x00000064,0x00000063,0x00050084,0x00000006, + 0x00000065,0x00000062,0x00000064,0x00050080,0x00000006,0x00000066,0x0000005d,0x00000065, + 0x0004003d,0x00000006,0x00000067,0x00000008,0x00050080,0x00000006,0x00000068,0x00000066, + 0x00000067,0x00050041,0x00000022,0x0000006a,0x00000020,0x00000069,0x0004003d,0x00000006, + 0x0000006b,0x0000006a,0x00050080,0x00000006,0x0000006c,0x00000068,0x0000006b,0x00060041, + 0x00000050,0x0000006d,0x00000058,0x00000048,0x0000006c,0x0004003d,0x00000043,0x0000006e, + 0x0000006d,0x00040073,0x00000040,0x0000006f,0x0000006e,0x0003003e,0x00000042,0x0000006f, + 0x0004003d,0x00000040,0x00000070,0x00000042,0x00050085,0x00000040,0x00000072,0x00000070, + 0x00000071,0x0003003e,0x00000042,0x00000072,0x000200f9,0x0000003f,0x000200f8,0x0000003f, + 0x0004003d,0x00000040,0x00000073,0x00000042,0x00050081,0x00000040,0x00000075,0x00000073, + 0x00000074,0x0003003e,0x00000042,0x00000075,0x0004003d,0x00000006,0x00000077,0x00000017, + 0x00050041,0x00000022,0x00000079,0x00000020,0x00000078,0x0004003d,0x00000006,0x0000007a, + 0x00000079,0x00050084,0x00000006,0x0000007b,0x00000077,0x0000007a,0x0004003d,0x00000006, + 0x0000007c,0x00000012,0x00050041,0x00000022,0x0000007d,0x00000020,0x0000003c,0x0004003d, + 0x00000006,0x0000007e,0x0000007d,0x00050084,0x00000006,0x0000007f,0x0000007c,0x0000007e, + 0x00050080,0x00000006,0x00000080,0x0000007b,0x0000007f,0x0004003d,0x00000006,0x00000081, + 0x00000008,0x00050080,0x00000006,0x00000082,0x00000080,0x00000081,0x00050041,0x00000022, + 0x00000084,0x00000020,0x00000083,0x0004003d,0x00000006,0x00000085,0x00000084,0x00050080, + 0x00000006,0x00000086,0x00000082,0x00000085,0x0003003e,0x00000076,0x00000086,0x0004003d, + 0x00000006,0x0000008b,0x00000076,0x0004003d,0x00000040,0x0000008c,0x00000042,0x00060041, + 0x0000008d,0x0000008e,0x0000008a,0x00000048,0x0000008b,0x0003003e,0x0000008e,0x0000008c, + 0x000100fd,0x00010038 diff --git a/src/realesrgan/shader/realesrgan_postproc_int8s.spv.hex.h b/src/realesrgan/shader/realesrgan_postproc_int8s.spv.hex.h new file mode 100644 index 0000000..36710c2 --- /dev/null +++ b/src/realesrgan/shader/realesrgan_postproc_int8s.spv.hex.h @@ -0,0 +1,146 @@ + // 1011.6.0 + 0x07230203,0x00010000,0x0008000a,0x000000aa,0x00000000,0x00020011,0x00000001,0x00020011, + 0x00001151,0x00020011,0x00001161,0x0007000a,0x5f565053,0x5f52484b,0x69623631,0x74735f74, + 0x6761726f,0x00000065,0x0007000a,0x5f565053,0x5f52484b,0x74696238,0x6f74735f,0x65676172, + 0x00000000,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e, + 0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000c, + 0x00060010,0x00000004,0x00000011,0x00000001,0x00000001,0x00000001,0x00030003,0x00000002, + 0x000001c2,0x00080004,0x455f4c47,0x735f5458,0x65646168,0x36315f72,0x5f746962,0x726f7473, + 0x00656761,0x00080004,0x455f4c47,0x735f5458,0x65646168,0x62385f72,0x735f7469,0x61726f74, + 0x00006567,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000008,0x00007867, + 0x00080005,0x0000000c,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044, + 0x00030005,0x00000012,0x00007967,0x00030005,0x00000017,0x00007a67,0x00050005,0x0000001e, + 0x61726170,0x6574656d,0x00000072,0x00040006,0x0000001e,0x00000000,0x00000077,0x00040006, + 0x0000001e,0x00000001,0x00000068,0x00050006,0x0000001e,0x00000002,0x65747363,0x00000070, + 0x00050006,0x0000001e,0x00000003,0x7774756f,0x00000000,0x00050006,0x0000001e,0x00000004, + 0x6874756f,0x00000000,0x00060006,0x0000001e,0x00000005,0x6374756f,0x70657473,0x00000000, + 0x00060006,0x0000001e,0x00000006,0x7366666f,0x785f7465,0x00000000,0x00050006,0x0000001e, + 0x00000007,0x6d5f7867,0x00007861,0x00050006,0x0000001e,0x00000008,0x706f7263,0x0000785f, + 0x00050006,0x0000001e,0x00000009,0x706f7263,0x0000795f,0x00060006,0x0000001e,0x0000000a, + 0x6e616863,0x736c656e,0x00000000,0x00050006,0x0000001e,0x0000000b,0x68706c61,0x00007761, + 0x00050006,0x0000001e,0x0000000c,0x68706c61,0x00006861,0x00030005,0x00000020,0x00000070, + 0x00030005,0x00000042,0x00000076,0x00050005,0x00000045,0x68706c61,0x6c625f61,0x0000626f, + 0x00070006,0x00000045,0x00000000,0x68706c61,0x6c625f61,0x645f626f,0x00617461,0x00030005, + 0x00000047,0x00000000,0x00050005,0x00000056,0x74746f62,0x625f6d6f,0x00626f6c,0x00080006, + 0x00000056,0x00000000,0x74746f62,0x625f6d6f,0x5f626f6c,0x61746164,0x00000000,0x00030005, + 0x00000058,0x00000000,0x00050005,0x00000076,0x666f5f76,0x74657366,0x00000000,0x00030005, + 0x00000082,0x00323376,0x00030005,0x00000088,0x00726762,0x00050005,0x00000092,0x5f706f74, + 0x626f6c62,0x00000000,0x00070006,0x00000092,0x00000000,0x5f706f74,0x626f6c62,0x7461645f, + 0x00000061,0x00030005,0x00000094,0x00000000,0x00040047,0x0000000c,0x0000000b,0x0000001c, + 0x00050048,0x0000001e,0x00000000,0x00000023,0x00000000,0x00050048,0x0000001e,0x00000001, + 0x00000023,0x00000004,0x00050048,0x0000001e,0x00000002,0x00000023,0x00000008,0x00050048, + 0x0000001e,0x00000003,0x00000023,0x0000000c,0x00050048,0x0000001e,0x00000004,0x00000023, + 0x00000010,0x00050048,0x0000001e,0x00000005,0x00000023,0x00000014,0x00050048,0x0000001e, + 0x00000006,0x00000023,0x00000018,0x00050048,0x0000001e,0x00000007,0x00000023,0x0000001c, + 0x00050048,0x0000001e,0x00000008,0x00000023,0x00000020,0x00050048,0x0000001e,0x00000009, + 0x00000023,0x00000024,0x00050048,0x0000001e,0x0000000a,0x00000023,0x00000028,0x00050048, + 0x0000001e,0x0000000b,0x00000023,0x0000002c,0x00050048,0x0000001e,0x0000000c,0x00000023, + 0x00000030,0x00030047,0x0000001e,0x00000002,0x00040047,0x00000044,0x00000006,0x00000002, + 0x00040048,0x00000045,0x00000000,0x00000018,0x00050048,0x00000045,0x00000000,0x00000023, + 0x00000000,0x00030047,0x00000045,0x00000003,0x00040047,0x00000047,0x00000022,0x00000000, + 0x00040047,0x00000047,0x00000021,0x00000001,0x00040047,0x00000055,0x00000006,0x00000002, + 0x00040048,0x00000056,0x00000000,0x00000018,0x00050048,0x00000056,0x00000000,0x00000023, + 0x00000000,0x00030047,0x00000056,0x00000003,0x00040047,0x00000058,0x00000022,0x00000000, + 0x00040047,0x00000058,0x00000021,0x00000000,0x00040047,0x00000088,0x00000001,0x00000000, + 0x00040047,0x00000091,0x00000006,0x00000001,0x00040048,0x00000092,0x00000000,0x00000019, + 0x00050048,0x00000092,0x00000000,0x00000023,0x00000000,0x00030047,0x00000092,0x00000003, + 0x00040047,0x00000094,0x00000022,0x00000000,0x00040047,0x00000094,0x00000021,0x00000002, + 0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020, + 0x00000001,0x00040020,0x00000007,0x00000007,0x00000006,0x00040015,0x00000009,0x00000020, + 0x00000000,0x00040017,0x0000000a,0x00000009,0x00000003,0x00040020,0x0000000b,0x00000001, + 0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x0004002b,0x00000009,0x0000000d, + 0x00000000,0x00040020,0x0000000e,0x00000001,0x00000009,0x0004002b,0x00000009,0x00000013, + 0x00000001,0x0004002b,0x00000009,0x00000018,0x00000002,0x00020014,0x0000001c,0x000f001e, + 0x0000001e,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x0000001f, + 0x00000009,0x0000001e,0x0004003b,0x0000001f,0x00000020,0x00000009,0x0004002b,0x00000006, + 0x00000021,0x00000007,0x00040020,0x00000022,0x00000009,0x00000006,0x0004002b,0x00000006, + 0x0000002a,0x00000004,0x0004002b,0x00000006,0x00000033,0x0000000a,0x0004002b,0x00000006, + 0x0000003c,0x00000003,0x00030016,0x00000040,0x00000020,0x00040020,0x00000041,0x00000007, + 0x00000040,0x00030016,0x00000043,0x00000010,0x0003001d,0x00000044,0x00000043,0x0003001e, + 0x00000045,0x00000044,0x00040020,0x00000046,0x00000002,0x00000045,0x0004003b,0x00000046, + 0x00000047,0x00000002,0x0004002b,0x00000006,0x00000048,0x00000000,0x0004002b,0x00000006, + 0x0000004a,0x0000000b,0x00040020,0x00000050,0x00000002,0x00000043,0x0003001d,0x00000055, + 0x00000043,0x0003001e,0x00000056,0x00000055,0x00040020,0x00000057,0x00000002,0x00000056, + 0x0004003b,0x00000057,0x00000058,0x00000002,0x0004002b,0x00000006,0x0000005a,0x00000002, + 0x0004002b,0x00000006,0x0000005f,0x00000009,0x0004002b,0x00000006,0x00000069,0x00000008, + 0x0004002b,0x00000040,0x00000071,0x437f0000,0x0004002b,0x00000040,0x00000074,0x3f000000, + 0x0004002b,0x00000006,0x0000007d,0x00000006,0x00040020,0x00000081,0x00000007,0x00000009, + 0x0004002b,0x00000009,0x00000086,0x000000ff,0x00040032,0x00000006,0x00000088,0x00000000, + 0x0004002b,0x00000006,0x00000089,0x00000001,0x00060034,0x0000001c,0x0000008a,0x000000aa, + 0x00000088,0x00000089,0x00040015,0x00000090,0x00000008,0x00000000,0x0003001d,0x00000091, + 0x00000090,0x0003001e,0x00000092,0x00000091,0x00040020,0x00000093,0x00000002,0x00000092, + 0x0004003b,0x00000093,0x00000094,0x00000002,0x00040020,0x0000009e,0x00000002,0x00000090, + 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b, + 0x00000007,0x00000008,0x00000007,0x0004003b,0x00000007,0x00000012,0x00000007,0x0004003b, + 0x00000007,0x00000017,0x00000007,0x0004003b,0x00000041,0x00000042,0x00000007,0x0004003b, + 0x00000007,0x00000076,0x00000007,0x0004003b,0x00000081,0x00000082,0x00000007,0x00050041, + 0x0000000e,0x0000000f,0x0000000c,0x0000000d,0x0004003d,0x00000009,0x00000010,0x0000000f, + 0x0004007c,0x00000006,0x00000011,0x00000010,0x0003003e,0x00000008,0x00000011,0x00050041, + 0x0000000e,0x00000014,0x0000000c,0x00000013,0x0004003d,0x00000009,0x00000015,0x00000014, + 0x0004007c,0x00000006,0x00000016,0x00000015,0x0003003e,0x00000012,0x00000016,0x00050041, + 0x0000000e,0x00000019,0x0000000c,0x00000018,0x0004003d,0x00000009,0x0000001a,0x00000019, + 0x0004007c,0x00000006,0x0000001b,0x0000001a,0x0003003e,0x00000017,0x0000001b,0x0004003d, + 0x00000006,0x0000001d,0x00000008,0x00050041,0x00000022,0x00000023,0x00000020,0x00000021, + 0x0004003d,0x00000006,0x00000024,0x00000023,0x000500af,0x0000001c,0x00000025,0x0000001d, + 0x00000024,0x000400a8,0x0000001c,0x00000026,0x00000025,0x000300f7,0x00000028,0x00000000, + 0x000400fa,0x00000026,0x00000027,0x00000028,0x000200f8,0x00000027,0x0004003d,0x00000006, + 0x00000029,0x00000012,0x00050041,0x00000022,0x0000002b,0x00000020,0x0000002a,0x0004003d, + 0x00000006,0x0000002c,0x0000002b,0x000500af,0x0000001c,0x0000002d,0x00000029,0x0000002c, + 0x000200f9,0x00000028,0x000200f8,0x00000028,0x000700f5,0x0000001c,0x0000002e,0x00000025, + 0x00000005,0x0000002d,0x00000027,0x000400a8,0x0000001c,0x0000002f,0x0000002e,0x000300f7, + 0x00000031,0x00000000,0x000400fa,0x0000002f,0x00000030,0x00000031,0x000200f8,0x00000030, + 0x0004003d,0x00000006,0x00000032,0x00000017,0x00050041,0x00000022,0x00000034,0x00000020, + 0x00000033,0x0004003d,0x00000006,0x00000035,0x00000034,0x000500af,0x0000001c,0x00000036, + 0x00000032,0x00000035,0x000200f9,0x00000031,0x000200f8,0x00000031,0x000700f5,0x0000001c, + 0x00000037,0x0000002e,0x00000028,0x00000036,0x00000030,0x000300f7,0x00000039,0x00000000, + 0x000400fa,0x00000037,0x00000038,0x00000039,0x000200f8,0x00000038,0x000100fd,0x000200f8, + 0x00000039,0x0004003d,0x00000006,0x0000003b,0x00000017,0x000500aa,0x0000001c,0x0000003d, + 0x0000003b,0x0000003c,0x000300f7,0x0000003f,0x00000000,0x000400fa,0x0000003d,0x0000003e, + 0x00000054,0x000200f8,0x0000003e,0x0004003d,0x00000006,0x00000049,0x00000012,0x00050041, + 0x00000022,0x0000004b,0x00000020,0x0000004a,0x0004003d,0x00000006,0x0000004c,0x0000004b, + 0x00050084,0x00000006,0x0000004d,0x00000049,0x0000004c,0x0004003d,0x00000006,0x0000004e, + 0x00000008,0x00050080,0x00000006,0x0000004f,0x0000004d,0x0000004e,0x00060041,0x00000050, + 0x00000051,0x00000047,0x00000048,0x0000004f,0x0004003d,0x00000043,0x00000052,0x00000051, + 0x00040073,0x00000040,0x00000053,0x00000052,0x0003003e,0x00000042,0x00000053,0x000200f9, + 0x0000003f,0x000200f8,0x00000054,0x0004003d,0x00000006,0x00000059,0x00000017,0x00050041, + 0x00000022,0x0000005b,0x00000020,0x0000005a,0x0004003d,0x00000006,0x0000005c,0x0000005b, + 0x00050084,0x00000006,0x0000005d,0x00000059,0x0000005c,0x0004003d,0x00000006,0x0000005e, + 0x00000012,0x00050041,0x00000022,0x00000060,0x00000020,0x0000005f,0x0004003d,0x00000006, + 0x00000061,0x00000060,0x00050080,0x00000006,0x00000062,0x0000005e,0x00000061,0x00050041, + 0x00000022,0x00000063,0x00000020,0x00000048,0x0004003d,0x00000006,0x00000064,0x00000063, + 0x00050084,0x00000006,0x00000065,0x00000062,0x00000064,0x00050080,0x00000006,0x00000066, + 0x0000005d,0x00000065,0x0004003d,0x00000006,0x00000067,0x00000008,0x00050080,0x00000006, + 0x00000068,0x00000066,0x00000067,0x00050041,0x00000022,0x0000006a,0x00000020,0x00000069, + 0x0004003d,0x00000006,0x0000006b,0x0000006a,0x00050080,0x00000006,0x0000006c,0x00000068, + 0x0000006b,0x00060041,0x00000050,0x0000006d,0x00000058,0x00000048,0x0000006c,0x0004003d, + 0x00000043,0x0000006e,0x0000006d,0x00040073,0x00000040,0x0000006f,0x0000006e,0x0003003e, + 0x00000042,0x0000006f,0x0004003d,0x00000040,0x00000070,0x00000042,0x00050085,0x00000040, + 0x00000072,0x00000070,0x00000071,0x0003003e,0x00000042,0x00000072,0x000200f9,0x0000003f, + 0x000200f8,0x0000003f,0x0004003d,0x00000040,0x00000073,0x00000042,0x00050081,0x00000040, + 0x00000075,0x00000073,0x00000074,0x0003003e,0x00000042,0x00000075,0x0004003d,0x00000006, + 0x00000077,0x00000012,0x00050041,0x00000022,0x00000078,0x00000020,0x0000003c,0x0004003d, + 0x00000006,0x00000079,0x00000078,0x00050084,0x00000006,0x0000007a,0x00000077,0x00000079, + 0x0004003d,0x00000006,0x0000007b,0x00000008,0x00050080,0x00000006,0x0000007c,0x0000007a, + 0x0000007b,0x00050041,0x00000022,0x0000007e,0x00000020,0x0000007d,0x0004003d,0x00000006, + 0x0000007f,0x0000007e,0x00050080,0x00000006,0x00000080,0x0000007c,0x0000007f,0x0003003e, + 0x00000076,0x00000080,0x0004003d,0x00000040,0x00000083,0x00000042,0x0006000c,0x00000040, + 0x00000084,0x00000001,0x00000008,0x00000083,0x0004006d,0x00000009,0x00000085,0x00000084, + 0x0008000c,0x00000009,0x00000087,0x00000001,0x0000002c,0x00000085,0x0000000d,0x00000086, + 0x0003003e,0x00000082,0x00000087,0x0004003d,0x00000006,0x0000008b,0x00000017,0x000500ab, + 0x0000001c,0x0000008c,0x0000008b,0x0000003c,0x000500a7,0x0000001c,0x0000008d,0x0000008a, + 0x0000008c,0x000300f7,0x0000008f,0x00000000,0x000400fa,0x0000008d,0x0000008e,0x000000a0, + 0x000200f8,0x0000008e,0x0004003d,0x00000006,0x00000095,0x00000076,0x00050041,0x00000022, + 0x00000096,0x00000020,0x00000033,0x0004003d,0x00000006,0x00000097,0x00000096,0x00050084, + 0x00000006,0x00000098,0x00000095,0x00000097,0x00050080,0x00000006,0x00000099,0x00000098, + 0x0000005a,0x0004003d,0x00000006,0x0000009a,0x00000017,0x00050082,0x00000006,0x0000009b, + 0x00000099,0x0000009a,0x0004003d,0x00000009,0x0000009c,0x00000082,0x00040071,0x00000090, + 0x0000009d,0x0000009c,0x00060041,0x0000009e,0x0000009f,0x00000094,0x00000048,0x0000009b, + 0x0003003e,0x0000009f,0x0000009d,0x000200f9,0x0000008f,0x000200f8,0x000000a0,0x0004003d, + 0x00000006,0x000000a1,0x00000076,0x00050041,0x00000022,0x000000a2,0x00000020,0x00000033, + 0x0004003d,0x00000006,0x000000a3,0x000000a2,0x00050084,0x00000006,0x000000a4,0x000000a1, + 0x000000a3,0x0004003d,0x00000006,0x000000a5,0x00000017,0x00050080,0x00000006,0x000000a6, + 0x000000a4,0x000000a5,0x0004003d,0x00000009,0x000000a7,0x00000082,0x00040071,0x00000090, + 0x000000a8,0x000000a7,0x00060041,0x0000009e,0x000000a9,0x00000094,0x00000048,0x000000a6, + 0x0003003e,0x000000a9,0x000000a8,0x000200f9,0x0000008f,0x000200f8,0x0000008f,0x000100fd, + 0x00010038 diff --git a/src/realesrgan/shader/realesrgan_postproc_tta.spv.hex.h b/src/realesrgan/shader/realesrgan_postproc_tta.spv.hex.h new file mode 100644 index 0000000..7ad1da3 --- /dev/null +++ b/src/realesrgan/shader/realesrgan_postproc_tta.spv.hex.h @@ -0,0 +1,255 @@ + // 1011.6.0 + 0x07230203,0x00010000,0x0008000a,0x0000012e,0x00000000,0x00020011,0x00000001,0x0006000b, + 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001, + 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00060010,0x00000004, + 0x00000011,0x00000001,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005, + 0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000008,0x00007867,0x00080005,0x0000000c, + 0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00030005,0x00000012, + 0x00007967,0x00030005,0x00000017,0x00007a67,0x00050005,0x0000001e,0x61726170,0x6574656d, + 0x00000072,0x00040006,0x0000001e,0x00000000,0x00000077,0x00040006,0x0000001e,0x00000001, + 0x00000068,0x00050006,0x0000001e,0x00000002,0x65747363,0x00000070,0x00050006,0x0000001e, + 0x00000003,0x7774756f,0x00000000,0x00050006,0x0000001e,0x00000004,0x6874756f,0x00000000, + 0x00060006,0x0000001e,0x00000005,0x6374756f,0x70657473,0x00000000,0x00060006,0x0000001e, + 0x00000006,0x7366666f,0x785f7465,0x00000000,0x00050006,0x0000001e,0x00000007,0x6d5f7867, + 0x00007861,0x00050006,0x0000001e,0x00000008,0x706f7263,0x0000785f,0x00050006,0x0000001e, + 0x00000009,0x706f7263,0x0000795f,0x00060006,0x0000001e,0x0000000a,0x6e616863,0x736c656e, + 0x00000000,0x00050006,0x0000001e,0x0000000b,0x68706c61,0x00007761,0x00050006,0x0000001e, + 0x0000000c,0x68706c61,0x00006861,0x00030005,0x00000020,0x00000070,0x00030005,0x00000042, + 0x00000076,0x00050005,0x00000044,0x68706c61,0x6c625f61,0x0000626f,0x00070006,0x00000044, + 0x00000000,0x68706c61,0x6c625f61,0x645f626f,0x00617461,0x00030005,0x00000046,0x00000000, + 0x00030005,0x00000053,0x00697a67,0x00030005,0x00000059,0x00007973,0x00030005,0x0000005f, + 0x00007873,0x00030005,0x00000065,0x00003076,0x00060005,0x00000067,0x74746f62,0x625f6d6f, + 0x30626f6c,0x00000000,0x00080006,0x00000067,0x00000000,0x74746f62,0x625f6d6f,0x30626f6c, + 0x7461645f,0x00000061,0x00030005,0x00000069,0x00000000,0x00030005,0x00000074,0x00003176, + 0x00060005,0x00000076,0x74746f62,0x625f6d6f,0x31626f6c,0x00000000,0x00080006,0x00000076, + 0x00000000,0x74746f62,0x625f6d6f,0x31626f6c,0x7461645f,0x00000061,0x00030005,0x00000078, + 0x00000000,0x00030005,0x00000088,0x00003276,0x00060005,0x0000008a,0x74746f62,0x625f6d6f, + 0x32626f6c,0x00000000,0x00080006,0x0000008a,0x00000000,0x74746f62,0x625f6d6f,0x32626f6c, + 0x7461645f,0x00000061,0x00030005,0x0000008c,0x00000000,0x00030005,0x0000009f,0x00003376, + 0x00060005,0x000000a1,0x74746f62,0x625f6d6f,0x33626f6c,0x00000000,0x00080006,0x000000a1, + 0x00000000,0x74746f62,0x625f6d6f,0x33626f6c,0x7461645f,0x00000061,0x00030005,0x000000a3, + 0x00000000,0x00030005,0x000000b2,0x00003476,0x00060005,0x000000b4,0x74746f62,0x625f6d6f, + 0x34626f6c,0x00000000,0x00080006,0x000000b4,0x00000000,0x74746f62,0x625f6d6f,0x34626f6c, + 0x7461645f,0x00000061,0x00030005,0x000000b6,0x00000000,0x00030005,0x000000c1,0x00003576, + 0x00060005,0x000000c3,0x74746f62,0x625f6d6f,0x35626f6c,0x00000000,0x00080006,0x000000c3, + 0x00000000,0x74746f62,0x625f6d6f,0x35626f6c,0x7461645f,0x00000061,0x00030005,0x000000c5, + 0x00000000,0x00030005,0x000000d4,0x00003676,0x00060005,0x000000d6,0x74746f62,0x625f6d6f, + 0x36626f6c,0x00000000,0x00080006,0x000000d6,0x00000000,0x74746f62,0x625f6d6f,0x36626f6c, + 0x7461645f,0x00000061,0x00030005,0x000000d8,0x00000000,0x00030005,0x000000eb,0x00003776, + 0x00060005,0x000000ed,0x74746f62,0x625f6d6f,0x37626f6c,0x00000000,0x00080006,0x000000ed, + 0x00000000,0x74746f62,0x625f6d6f,0x37626f6c,0x7461645f,0x00000061,0x00030005,0x000000ef, + 0x00000000,0x00050005,0x00000115,0x666f5f76,0x74657366,0x00000000,0x00050005,0x00000127, + 0x5f706f74,0x626f6c62,0x00000000,0x00070006,0x00000127,0x00000000,0x5f706f74,0x626f6c62, + 0x7461645f,0x00000061,0x00030005,0x00000129,0x00000000,0x00030005,0x0000012d,0x00726762, + 0x00040047,0x0000000c,0x0000000b,0x0000001c,0x00050048,0x0000001e,0x00000000,0x00000023, + 0x00000000,0x00050048,0x0000001e,0x00000001,0x00000023,0x00000004,0x00050048,0x0000001e, + 0x00000002,0x00000023,0x00000008,0x00050048,0x0000001e,0x00000003,0x00000023,0x0000000c, + 0x00050048,0x0000001e,0x00000004,0x00000023,0x00000010,0x00050048,0x0000001e,0x00000005, + 0x00000023,0x00000014,0x00050048,0x0000001e,0x00000006,0x00000023,0x00000018,0x00050048, + 0x0000001e,0x00000007,0x00000023,0x0000001c,0x00050048,0x0000001e,0x00000008,0x00000023, + 0x00000020,0x00050048,0x0000001e,0x00000009,0x00000023,0x00000024,0x00050048,0x0000001e, + 0x0000000a,0x00000023,0x00000028,0x00050048,0x0000001e,0x0000000b,0x00000023,0x0000002c, + 0x00050048,0x0000001e,0x0000000c,0x00000023,0x00000030,0x00030047,0x0000001e,0x00000002, + 0x00040047,0x00000043,0x00000006,0x00000004,0x00040048,0x00000044,0x00000000,0x00000018, + 0x00050048,0x00000044,0x00000000,0x00000023,0x00000000,0x00030047,0x00000044,0x00000003, + 0x00040047,0x00000046,0x00000022,0x00000000,0x00040047,0x00000046,0x00000021,0x00000008, + 0x00040047,0x00000066,0x00000006,0x00000004,0x00040048,0x00000067,0x00000000,0x00000018, + 0x00050048,0x00000067,0x00000000,0x00000023,0x00000000,0x00030047,0x00000067,0x00000003, + 0x00040047,0x00000069,0x00000022,0x00000000,0x00040047,0x00000069,0x00000021,0x00000000, + 0x00040047,0x00000075,0x00000006,0x00000004,0x00040048,0x00000076,0x00000000,0x00000018, + 0x00050048,0x00000076,0x00000000,0x00000023,0x00000000,0x00030047,0x00000076,0x00000003, + 0x00040047,0x00000078,0x00000022,0x00000000,0x00040047,0x00000078,0x00000021,0x00000001, + 0x00040047,0x00000089,0x00000006,0x00000004,0x00040048,0x0000008a,0x00000000,0x00000018, + 0x00050048,0x0000008a,0x00000000,0x00000023,0x00000000,0x00030047,0x0000008a,0x00000003, + 0x00040047,0x0000008c,0x00000022,0x00000000,0x00040047,0x0000008c,0x00000021,0x00000002, + 0x00040047,0x000000a0,0x00000006,0x00000004,0x00040048,0x000000a1,0x00000000,0x00000018, + 0x00050048,0x000000a1,0x00000000,0x00000023,0x00000000,0x00030047,0x000000a1,0x00000003, + 0x00040047,0x000000a3,0x00000022,0x00000000,0x00040047,0x000000a3,0x00000021,0x00000003, + 0x00040047,0x000000b3,0x00000006,0x00000004,0x00040048,0x000000b4,0x00000000,0x00000018, + 0x00050048,0x000000b4,0x00000000,0x00000023,0x00000000,0x00030047,0x000000b4,0x00000003, + 0x00040047,0x000000b6,0x00000022,0x00000000,0x00040047,0x000000b6,0x00000021,0x00000004, + 0x00040047,0x000000c2,0x00000006,0x00000004,0x00040048,0x000000c3,0x00000000,0x00000018, + 0x00050048,0x000000c3,0x00000000,0x00000023,0x00000000,0x00030047,0x000000c3,0x00000003, + 0x00040047,0x000000c5,0x00000022,0x00000000,0x00040047,0x000000c5,0x00000021,0x00000005, + 0x00040047,0x000000d5,0x00000006,0x00000004,0x00040048,0x000000d6,0x00000000,0x00000018, + 0x00050048,0x000000d6,0x00000000,0x00000023,0x00000000,0x00030047,0x000000d6,0x00000003, + 0x00040047,0x000000d8,0x00000022,0x00000000,0x00040047,0x000000d8,0x00000021,0x00000006, + 0x00040047,0x000000ec,0x00000006,0x00000004,0x00040048,0x000000ed,0x00000000,0x00000018, + 0x00050048,0x000000ed,0x00000000,0x00000023,0x00000000,0x00030047,0x000000ed,0x00000003, + 0x00040047,0x000000ef,0x00000022,0x00000000,0x00040047,0x000000ef,0x00000021,0x00000007, + 0x00040047,0x00000126,0x00000006,0x00000004,0x00040048,0x00000127,0x00000000,0x00000019, + 0x00050048,0x00000127,0x00000000,0x00000023,0x00000000,0x00030047,0x00000127,0x00000003, + 0x00040047,0x00000129,0x00000022,0x00000000,0x00040047,0x00000129,0x00000021,0x00000009, + 0x00040047,0x0000012d,0x00000001,0x00000000,0x00020013,0x00000002,0x00030021,0x00000003, + 0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040020,0x00000007,0x00000007, + 0x00000006,0x00040015,0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a,0x00000009, + 0x00000003,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c, + 0x00000001,0x0004002b,0x00000009,0x0000000d,0x00000000,0x00040020,0x0000000e,0x00000001, + 0x00000009,0x0004002b,0x00000009,0x00000013,0x00000001,0x0004002b,0x00000009,0x00000018, + 0x00000002,0x00020014,0x0000001c,0x000f001e,0x0000001e,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00040020,0x0000001f,0x00000009,0x0000001e,0x0004003b,0x0000001f, + 0x00000020,0x00000009,0x0004002b,0x00000006,0x00000021,0x00000007,0x00040020,0x00000022, + 0x00000009,0x00000006,0x0004002b,0x00000006,0x0000002a,0x00000004,0x0004002b,0x00000006, + 0x00000033,0x0000000a,0x0004002b,0x00000006,0x0000003c,0x00000003,0x00030016,0x00000040, + 0x00000020,0x00040020,0x00000041,0x00000007,0x00000040,0x0003001d,0x00000043,0x00000040, + 0x0003001e,0x00000044,0x00000043,0x00040020,0x00000045,0x00000002,0x00000044,0x0004003b, + 0x00000045,0x00000046,0x00000002,0x0004002b,0x00000006,0x00000047,0x00000000,0x0004002b, + 0x00000006,0x00000049,0x0000000b,0x00040020,0x0000004f,0x00000002,0x00000040,0x0004002b, + 0x00000006,0x00000055,0x00000002,0x0004002b,0x00000006,0x0000005b,0x00000009,0x0004002b, + 0x00000006,0x00000061,0x00000008,0x0003001d,0x00000066,0x00000040,0x0003001e,0x00000067, + 0x00000066,0x00040020,0x00000068,0x00000002,0x00000067,0x0004003b,0x00000068,0x00000069, + 0x00000002,0x0003001d,0x00000075,0x00000040,0x0003001e,0x00000076,0x00000075,0x00040020, + 0x00000077,0x00000002,0x00000076,0x0004003b,0x00000077,0x00000078,0x00000002,0x0004002b, + 0x00000006,0x00000081,0x00000001,0x0003001d,0x00000089,0x00000040,0x0003001e,0x0000008a, + 0x00000089,0x00040020,0x0000008b,0x00000002,0x0000008a,0x0004003b,0x0000008b,0x0000008c, + 0x00000002,0x0003001d,0x000000a0,0x00000040,0x0003001e,0x000000a1,0x000000a0,0x00040020, + 0x000000a2,0x00000002,0x000000a1,0x0004003b,0x000000a2,0x000000a3,0x00000002,0x0003001d, + 0x000000b3,0x00000040,0x0003001e,0x000000b4,0x000000b3,0x00040020,0x000000b5,0x00000002, + 0x000000b4,0x0004003b,0x000000b5,0x000000b6,0x00000002,0x0003001d,0x000000c2,0x00000040, + 0x0003001e,0x000000c3,0x000000c2,0x00040020,0x000000c4,0x00000002,0x000000c3,0x0004003b, + 0x000000c4,0x000000c5,0x00000002,0x0003001d,0x000000d5,0x00000040,0x0003001e,0x000000d6, + 0x000000d5,0x00040020,0x000000d7,0x00000002,0x000000d6,0x0004003b,0x000000d7,0x000000d8, + 0x00000002,0x0003001d,0x000000ec,0x00000040,0x0003001e,0x000000ed,0x000000ec,0x00040020, + 0x000000ee,0x00000002,0x000000ed,0x0004003b,0x000000ee,0x000000ef,0x00000002,0x0004002b, + 0x00000040,0x0000010d,0x3e000000,0x0004002b,0x00000040,0x00000110,0x437f0000,0x0004002b, + 0x00000040,0x00000113,0x3f000000,0x0004002b,0x00000006,0x00000117,0x00000005,0x0004002b, + 0x00000006,0x00000122,0x00000006,0x0003001d,0x00000126,0x00000040,0x0003001e,0x00000127, + 0x00000126,0x00040020,0x00000128,0x00000002,0x00000127,0x0004003b,0x00000128,0x00000129, + 0x00000002,0x00040032,0x00000006,0x0000012d,0x00000000,0x00050036,0x00000002,0x00000004, + 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000008,0x00000007, + 0x0004003b,0x00000007,0x00000012,0x00000007,0x0004003b,0x00000007,0x00000017,0x00000007, + 0x0004003b,0x00000041,0x00000042,0x00000007,0x0004003b,0x00000007,0x00000053,0x00000007, + 0x0004003b,0x00000007,0x00000059,0x00000007,0x0004003b,0x00000007,0x0000005f,0x00000007, + 0x0004003b,0x00000041,0x00000065,0x00000007,0x0004003b,0x00000041,0x00000074,0x00000007, + 0x0004003b,0x00000041,0x00000088,0x00000007,0x0004003b,0x00000041,0x0000009f,0x00000007, + 0x0004003b,0x00000041,0x000000b2,0x00000007,0x0004003b,0x00000041,0x000000c1,0x00000007, + 0x0004003b,0x00000041,0x000000d4,0x00000007,0x0004003b,0x00000041,0x000000eb,0x00000007, + 0x0004003b,0x00000007,0x00000115,0x00000007,0x00050041,0x0000000e,0x0000000f,0x0000000c, + 0x0000000d,0x0004003d,0x00000009,0x00000010,0x0000000f,0x0004007c,0x00000006,0x00000011, + 0x00000010,0x0003003e,0x00000008,0x00000011,0x00050041,0x0000000e,0x00000014,0x0000000c, + 0x00000013,0x0004003d,0x00000009,0x00000015,0x00000014,0x0004007c,0x00000006,0x00000016, + 0x00000015,0x0003003e,0x00000012,0x00000016,0x00050041,0x0000000e,0x00000019,0x0000000c, + 0x00000018,0x0004003d,0x00000009,0x0000001a,0x00000019,0x0004007c,0x00000006,0x0000001b, + 0x0000001a,0x0003003e,0x00000017,0x0000001b,0x0004003d,0x00000006,0x0000001d,0x00000008, + 0x00050041,0x00000022,0x00000023,0x00000020,0x00000021,0x0004003d,0x00000006,0x00000024, + 0x00000023,0x000500af,0x0000001c,0x00000025,0x0000001d,0x00000024,0x000400a8,0x0000001c, + 0x00000026,0x00000025,0x000300f7,0x00000028,0x00000000,0x000400fa,0x00000026,0x00000027, + 0x00000028,0x000200f8,0x00000027,0x0004003d,0x00000006,0x00000029,0x00000012,0x00050041, + 0x00000022,0x0000002b,0x00000020,0x0000002a,0x0004003d,0x00000006,0x0000002c,0x0000002b, + 0x000500af,0x0000001c,0x0000002d,0x00000029,0x0000002c,0x000200f9,0x00000028,0x000200f8, + 0x00000028,0x000700f5,0x0000001c,0x0000002e,0x00000025,0x00000005,0x0000002d,0x00000027, + 0x000400a8,0x0000001c,0x0000002f,0x0000002e,0x000300f7,0x00000031,0x00000000,0x000400fa, + 0x0000002f,0x00000030,0x00000031,0x000200f8,0x00000030,0x0004003d,0x00000006,0x00000032, + 0x00000017,0x00050041,0x00000022,0x00000034,0x00000020,0x00000033,0x0004003d,0x00000006, + 0x00000035,0x00000034,0x000500af,0x0000001c,0x00000036,0x00000032,0x00000035,0x000200f9, + 0x00000031,0x000200f8,0x00000031,0x000700f5,0x0000001c,0x00000037,0x0000002e,0x00000028, + 0x00000036,0x00000030,0x000300f7,0x00000039,0x00000000,0x000400fa,0x00000037,0x00000038, + 0x00000039,0x000200f8,0x00000038,0x000100fd,0x000200f8,0x00000039,0x0004003d,0x00000006, + 0x0000003b,0x00000017,0x000500aa,0x0000001c,0x0000003d,0x0000003b,0x0000003c,0x000300f7, + 0x0000003f,0x00000000,0x000400fa,0x0000003d,0x0000003e,0x00000052,0x000200f8,0x0000003e, + 0x0004003d,0x00000006,0x00000048,0x00000012,0x00050041,0x00000022,0x0000004a,0x00000020, + 0x00000049,0x0004003d,0x00000006,0x0000004b,0x0000004a,0x00050084,0x00000006,0x0000004c, + 0x00000048,0x0000004b,0x0004003d,0x00000006,0x0000004d,0x00000008,0x00050080,0x00000006, + 0x0000004e,0x0000004c,0x0000004d,0x00060041,0x0000004f,0x00000050,0x00000046,0x00000047, + 0x0000004e,0x0004003d,0x00000040,0x00000051,0x00000050,0x0003003e,0x00000042,0x00000051, + 0x000200f9,0x0000003f,0x000200f8,0x00000052,0x0004003d,0x00000006,0x00000054,0x00000017, + 0x00050041,0x00000022,0x00000056,0x00000020,0x00000055,0x0004003d,0x00000006,0x00000057, + 0x00000056,0x00050084,0x00000006,0x00000058,0x00000054,0x00000057,0x0003003e,0x00000053, + 0x00000058,0x0004003d,0x00000006,0x0000005a,0x00000012,0x00050041,0x00000022,0x0000005c, + 0x00000020,0x0000005b,0x0004003d,0x00000006,0x0000005d,0x0000005c,0x00050080,0x00000006, + 0x0000005e,0x0000005a,0x0000005d,0x0003003e,0x00000059,0x0000005e,0x0004003d,0x00000006, + 0x00000060,0x00000008,0x00050041,0x00000022,0x00000062,0x00000020,0x00000061,0x0004003d, + 0x00000006,0x00000063,0x00000062,0x00050080,0x00000006,0x00000064,0x00000060,0x00000063, + 0x0003003e,0x0000005f,0x00000064,0x0004003d,0x00000006,0x0000006a,0x00000053,0x0004003d, + 0x00000006,0x0000006b,0x00000059,0x00050041,0x00000022,0x0000006c,0x00000020,0x00000047, + 0x0004003d,0x00000006,0x0000006d,0x0000006c,0x00050084,0x00000006,0x0000006e,0x0000006b, + 0x0000006d,0x00050080,0x00000006,0x0000006f,0x0000006a,0x0000006e,0x0004003d,0x00000006, + 0x00000070,0x0000005f,0x00050080,0x00000006,0x00000071,0x0000006f,0x00000070,0x00060041, + 0x0000004f,0x00000072,0x00000069,0x00000047,0x00000071,0x0004003d,0x00000040,0x00000073, + 0x00000072,0x0003003e,0x00000065,0x00000073,0x0004003d,0x00000006,0x00000079,0x00000053, + 0x0004003d,0x00000006,0x0000007a,0x00000059,0x00050041,0x00000022,0x0000007b,0x00000020, + 0x00000047,0x0004003d,0x00000006,0x0000007c,0x0000007b,0x00050084,0x00000006,0x0000007d, + 0x0000007a,0x0000007c,0x00050080,0x00000006,0x0000007e,0x00000079,0x0000007d,0x00050041, + 0x00000022,0x0000007f,0x00000020,0x00000047,0x0004003d,0x00000006,0x00000080,0x0000007f, + 0x00050082,0x00000006,0x00000082,0x00000080,0x00000081,0x0004003d,0x00000006,0x00000083, + 0x0000005f,0x00050082,0x00000006,0x00000084,0x00000082,0x00000083,0x00050080,0x00000006, + 0x00000085,0x0000007e,0x00000084,0x00060041,0x0000004f,0x00000086,0x00000078,0x00000047, + 0x00000085,0x0004003d,0x00000040,0x00000087,0x00000086,0x0003003e,0x00000074,0x00000087, + 0x0004003d,0x00000006,0x0000008d,0x00000053,0x00050041,0x00000022,0x0000008e,0x00000020, + 0x00000081,0x0004003d,0x00000006,0x0000008f,0x0000008e,0x00050082,0x00000006,0x00000090, + 0x0000008f,0x00000081,0x0004003d,0x00000006,0x00000091,0x00000059,0x00050082,0x00000006, + 0x00000092,0x00000090,0x00000091,0x00050041,0x00000022,0x00000093,0x00000020,0x00000047, + 0x0004003d,0x00000006,0x00000094,0x00000093,0x00050084,0x00000006,0x00000095,0x00000092, + 0x00000094,0x00050080,0x00000006,0x00000096,0x0000008d,0x00000095,0x00050041,0x00000022, + 0x00000097,0x00000020,0x00000047,0x0004003d,0x00000006,0x00000098,0x00000097,0x00050082, + 0x00000006,0x00000099,0x00000098,0x00000081,0x0004003d,0x00000006,0x0000009a,0x0000005f, + 0x00050082,0x00000006,0x0000009b,0x00000099,0x0000009a,0x00050080,0x00000006,0x0000009c, + 0x00000096,0x0000009b,0x00060041,0x0000004f,0x0000009d,0x0000008c,0x00000047,0x0000009c, + 0x0004003d,0x00000040,0x0000009e,0x0000009d,0x0003003e,0x00000088,0x0000009e,0x0004003d, + 0x00000006,0x000000a4,0x00000053,0x00050041,0x00000022,0x000000a5,0x00000020,0x00000081, + 0x0004003d,0x00000006,0x000000a6,0x000000a5,0x00050082,0x00000006,0x000000a7,0x000000a6, + 0x00000081,0x0004003d,0x00000006,0x000000a8,0x00000059,0x00050082,0x00000006,0x000000a9, + 0x000000a7,0x000000a8,0x00050041,0x00000022,0x000000aa,0x00000020,0x00000047,0x0004003d, + 0x00000006,0x000000ab,0x000000aa,0x00050084,0x00000006,0x000000ac,0x000000a9,0x000000ab, + 0x00050080,0x00000006,0x000000ad,0x000000a4,0x000000ac,0x0004003d,0x00000006,0x000000ae, + 0x0000005f,0x00050080,0x00000006,0x000000af,0x000000ad,0x000000ae,0x00060041,0x0000004f, + 0x000000b0,0x000000a3,0x00000047,0x000000af,0x0004003d,0x00000040,0x000000b1,0x000000b0, + 0x0003003e,0x0000009f,0x000000b1,0x0004003d,0x00000006,0x000000b7,0x00000053,0x0004003d, + 0x00000006,0x000000b8,0x0000005f,0x00050041,0x00000022,0x000000b9,0x00000020,0x00000081, + 0x0004003d,0x00000006,0x000000ba,0x000000b9,0x00050084,0x00000006,0x000000bb,0x000000b8, + 0x000000ba,0x00050080,0x00000006,0x000000bc,0x000000b7,0x000000bb,0x0004003d,0x00000006, + 0x000000bd,0x00000059,0x00050080,0x00000006,0x000000be,0x000000bc,0x000000bd,0x00060041, + 0x0000004f,0x000000bf,0x000000b6,0x00000047,0x000000be,0x0004003d,0x00000040,0x000000c0, + 0x000000bf,0x0003003e,0x000000b2,0x000000c0,0x0004003d,0x00000006,0x000000c6,0x00000053, + 0x0004003d,0x00000006,0x000000c7,0x0000005f,0x00050041,0x00000022,0x000000c8,0x00000020, + 0x00000081,0x0004003d,0x00000006,0x000000c9,0x000000c8,0x00050084,0x00000006,0x000000ca, + 0x000000c7,0x000000c9,0x00050080,0x00000006,0x000000cb,0x000000c6,0x000000ca,0x00050041, + 0x00000022,0x000000cc,0x00000020,0x00000081,0x0004003d,0x00000006,0x000000cd,0x000000cc, + 0x00050082,0x00000006,0x000000ce,0x000000cd,0x00000081,0x0004003d,0x00000006,0x000000cf, + 0x00000059,0x00050082,0x00000006,0x000000d0,0x000000ce,0x000000cf,0x00050080,0x00000006, + 0x000000d1,0x000000cb,0x000000d0,0x00060041,0x0000004f,0x000000d2,0x000000c5,0x00000047, + 0x000000d1,0x0004003d,0x00000040,0x000000d3,0x000000d2,0x0003003e,0x000000c1,0x000000d3, + 0x0004003d,0x00000006,0x000000d9,0x00000053,0x00050041,0x00000022,0x000000da,0x00000020, + 0x00000047,0x0004003d,0x00000006,0x000000db,0x000000da,0x00050082,0x00000006,0x000000dc, + 0x000000db,0x00000081,0x0004003d,0x00000006,0x000000dd,0x0000005f,0x00050082,0x00000006, + 0x000000de,0x000000dc,0x000000dd,0x00050041,0x00000022,0x000000df,0x00000020,0x00000081, + 0x0004003d,0x00000006,0x000000e0,0x000000df,0x00050084,0x00000006,0x000000e1,0x000000de, + 0x000000e0,0x00050080,0x00000006,0x000000e2,0x000000d9,0x000000e1,0x00050041,0x00000022, + 0x000000e3,0x00000020,0x00000081,0x0004003d,0x00000006,0x000000e4,0x000000e3,0x00050082, + 0x00000006,0x000000e5,0x000000e4,0x00000081,0x0004003d,0x00000006,0x000000e6,0x00000059, + 0x00050082,0x00000006,0x000000e7,0x000000e5,0x000000e6,0x00050080,0x00000006,0x000000e8, + 0x000000e2,0x000000e7,0x00060041,0x0000004f,0x000000e9,0x000000d8,0x00000047,0x000000e8, + 0x0004003d,0x00000040,0x000000ea,0x000000e9,0x0003003e,0x000000d4,0x000000ea,0x0004003d, + 0x00000006,0x000000f0,0x00000053,0x00050041,0x00000022,0x000000f1,0x00000020,0x00000047, + 0x0004003d,0x00000006,0x000000f2,0x000000f1,0x00050082,0x00000006,0x000000f3,0x000000f2, + 0x00000081,0x0004003d,0x00000006,0x000000f4,0x0000005f,0x00050082,0x00000006,0x000000f5, + 0x000000f3,0x000000f4,0x00050041,0x00000022,0x000000f6,0x00000020,0x00000081,0x0004003d, + 0x00000006,0x000000f7,0x000000f6,0x00050084,0x00000006,0x000000f8,0x000000f5,0x000000f7, + 0x00050080,0x00000006,0x000000f9,0x000000f0,0x000000f8,0x0004003d,0x00000006,0x000000fa, + 0x00000059,0x00050080,0x00000006,0x000000fb,0x000000f9,0x000000fa,0x00060041,0x0000004f, + 0x000000fc,0x000000ef,0x00000047,0x000000fb,0x0004003d,0x00000040,0x000000fd,0x000000fc, + 0x0003003e,0x000000eb,0x000000fd,0x0004003d,0x00000040,0x000000fe,0x00000065,0x0004003d, + 0x00000040,0x000000ff,0x00000074,0x00050081,0x00000040,0x00000100,0x000000fe,0x000000ff, + 0x0004003d,0x00000040,0x00000101,0x00000088,0x00050081,0x00000040,0x00000102,0x00000100, + 0x00000101,0x0004003d,0x00000040,0x00000103,0x0000009f,0x00050081,0x00000040,0x00000104, + 0x00000102,0x00000103,0x0004003d,0x00000040,0x00000105,0x000000b2,0x00050081,0x00000040, + 0x00000106,0x00000104,0x00000105,0x0004003d,0x00000040,0x00000107,0x000000c1,0x00050081, + 0x00000040,0x00000108,0x00000106,0x00000107,0x0004003d,0x00000040,0x00000109,0x000000d4, + 0x00050081,0x00000040,0x0000010a,0x00000108,0x00000109,0x0004003d,0x00000040,0x0000010b, + 0x000000eb,0x00050081,0x00000040,0x0000010c,0x0000010a,0x0000010b,0x00050085,0x00000040, + 0x0000010e,0x0000010c,0x0000010d,0x0003003e,0x00000042,0x0000010e,0x0004003d,0x00000040, + 0x0000010f,0x00000042,0x00050085,0x00000040,0x00000111,0x0000010f,0x00000110,0x0003003e, + 0x00000042,0x00000111,0x000200f9,0x0000003f,0x000200f8,0x0000003f,0x0004003d,0x00000040, + 0x00000112,0x00000042,0x00050081,0x00000040,0x00000114,0x00000112,0x00000113,0x0003003e, + 0x00000042,0x00000114,0x0004003d,0x00000006,0x00000116,0x00000017,0x00050041,0x00000022, + 0x00000118,0x00000020,0x00000117,0x0004003d,0x00000006,0x00000119,0x00000118,0x00050084, + 0x00000006,0x0000011a,0x00000116,0x00000119,0x0004003d,0x00000006,0x0000011b,0x00000012, + 0x00050041,0x00000022,0x0000011c,0x00000020,0x0000003c,0x0004003d,0x00000006,0x0000011d, + 0x0000011c,0x00050084,0x00000006,0x0000011e,0x0000011b,0x0000011d,0x00050080,0x00000006, + 0x0000011f,0x0000011a,0x0000011e,0x0004003d,0x00000006,0x00000120,0x00000008,0x00050080, + 0x00000006,0x00000121,0x0000011f,0x00000120,0x00050041,0x00000022,0x00000123,0x00000020, + 0x00000122,0x0004003d,0x00000006,0x00000124,0x00000123,0x00050080,0x00000006,0x00000125, + 0x00000121,0x00000124,0x0003003e,0x00000115,0x00000125,0x0004003d,0x00000006,0x0000012a, + 0x00000115,0x0004003d,0x00000040,0x0000012b,0x00000042,0x00060041,0x0000004f,0x0000012c, + 0x00000129,0x00000047,0x0000012a,0x0003003e,0x0000012c,0x0000012b,0x000100fd,0x00010038 diff --git a/src/realesrgan/shader/realesrgan_postproc_tta_fp16s.spv.hex.h b/src/realesrgan/shader/realesrgan_postproc_tta_fp16s.spv.hex.h new file mode 100644 index 0000000..8aa95ed --- /dev/null +++ b/src/realesrgan/shader/realesrgan_postproc_tta_fp16s.spv.hex.h @@ -0,0 +1,263 @@ + // 1011.6.0 + 0x07230203,0x00010000,0x0008000a,0x00000139,0x00000000,0x00020011,0x00000001,0x00020011, + 0x00001151,0x0007000a,0x5f565053,0x5f52484b,0x69623631,0x74735f74,0x6761726f,0x00000065, + 0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000, + 0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00060010, + 0x00000004,0x00000011,0x00000001,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2, + 0x00080004,0x455f4c47,0x735f5458,0x65646168,0x36315f72,0x5f746962,0x726f7473,0x00656761, + 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000008,0x00007867,0x00080005, + 0x0000000c,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00030005, + 0x00000012,0x00007967,0x00030005,0x00000017,0x00007a67,0x00050005,0x0000001e,0x61726170, + 0x6574656d,0x00000072,0x00040006,0x0000001e,0x00000000,0x00000077,0x00040006,0x0000001e, + 0x00000001,0x00000068,0x00050006,0x0000001e,0x00000002,0x65747363,0x00000070,0x00050006, + 0x0000001e,0x00000003,0x7774756f,0x00000000,0x00050006,0x0000001e,0x00000004,0x6874756f, + 0x00000000,0x00060006,0x0000001e,0x00000005,0x6374756f,0x70657473,0x00000000,0x00060006, + 0x0000001e,0x00000006,0x7366666f,0x785f7465,0x00000000,0x00050006,0x0000001e,0x00000007, + 0x6d5f7867,0x00007861,0x00050006,0x0000001e,0x00000008,0x706f7263,0x0000785f,0x00050006, + 0x0000001e,0x00000009,0x706f7263,0x0000795f,0x00060006,0x0000001e,0x0000000a,0x6e616863, + 0x736c656e,0x00000000,0x00050006,0x0000001e,0x0000000b,0x68706c61,0x00007761,0x00050006, + 0x0000001e,0x0000000c,0x68706c61,0x00006861,0x00030005,0x00000020,0x00000070,0x00030005, + 0x00000042,0x00000076,0x00050005,0x00000045,0x68706c61,0x6c625f61,0x0000626f,0x00070006, + 0x00000045,0x00000000,0x68706c61,0x6c625f61,0x645f626f,0x00617461,0x00030005,0x00000047, + 0x00000000,0x00030005,0x00000055,0x00697a67,0x00030005,0x0000005b,0x00007973,0x00030005, + 0x00000061,0x00007873,0x00030005,0x00000067,0x00003076,0x00060005,0x00000069,0x74746f62, + 0x625f6d6f,0x30626f6c,0x00000000,0x00080006,0x00000069,0x00000000,0x74746f62,0x625f6d6f, + 0x30626f6c,0x7461645f,0x00000061,0x00030005,0x0000006b,0x00000000,0x00030005,0x00000077, + 0x00003176,0x00060005,0x00000079,0x74746f62,0x625f6d6f,0x31626f6c,0x00000000,0x00080006, + 0x00000079,0x00000000,0x74746f62,0x625f6d6f,0x31626f6c,0x7461645f,0x00000061,0x00030005, + 0x0000007b,0x00000000,0x00030005,0x0000008c,0x00003276,0x00060005,0x0000008e,0x74746f62, + 0x625f6d6f,0x32626f6c,0x00000000,0x00080006,0x0000008e,0x00000000,0x74746f62,0x625f6d6f, + 0x32626f6c,0x7461645f,0x00000061,0x00030005,0x00000090,0x00000000,0x00030005,0x000000a4, + 0x00003376,0x00060005,0x000000a6,0x74746f62,0x625f6d6f,0x33626f6c,0x00000000,0x00080006, + 0x000000a6,0x00000000,0x74746f62,0x625f6d6f,0x33626f6c,0x7461645f,0x00000061,0x00030005, + 0x000000a8,0x00000000,0x00030005,0x000000b8,0x00003476,0x00060005,0x000000ba,0x74746f62, + 0x625f6d6f,0x34626f6c,0x00000000,0x00080006,0x000000ba,0x00000000,0x74746f62,0x625f6d6f, + 0x34626f6c,0x7461645f,0x00000061,0x00030005,0x000000bc,0x00000000,0x00030005,0x000000c8, + 0x00003576,0x00060005,0x000000ca,0x74746f62,0x625f6d6f,0x35626f6c,0x00000000,0x00080006, + 0x000000ca,0x00000000,0x74746f62,0x625f6d6f,0x35626f6c,0x7461645f,0x00000061,0x00030005, + 0x000000cc,0x00000000,0x00030005,0x000000dc,0x00003676,0x00060005,0x000000de,0x74746f62, + 0x625f6d6f,0x36626f6c,0x00000000,0x00080006,0x000000de,0x00000000,0x74746f62,0x625f6d6f, + 0x36626f6c,0x7461645f,0x00000061,0x00030005,0x000000e0,0x00000000,0x00030005,0x000000f4, + 0x00003776,0x00060005,0x000000f6,0x74746f62,0x625f6d6f,0x37626f6c,0x00000000,0x00080006, + 0x000000f6,0x00000000,0x74746f62,0x625f6d6f,0x37626f6c,0x7461645f,0x00000061,0x00030005, + 0x000000f8,0x00000000,0x00050005,0x0000011f,0x666f5f76,0x74657366,0x00000000,0x00050005, + 0x00000131,0x5f706f74,0x626f6c62,0x00000000,0x00070006,0x00000131,0x00000000,0x5f706f74, + 0x626f6c62,0x7461645f,0x00000061,0x00030005,0x00000133,0x00000000,0x00030005,0x00000138, + 0x00726762,0x00040047,0x0000000c,0x0000000b,0x0000001c,0x00050048,0x0000001e,0x00000000, + 0x00000023,0x00000000,0x00050048,0x0000001e,0x00000001,0x00000023,0x00000004,0x00050048, + 0x0000001e,0x00000002,0x00000023,0x00000008,0x00050048,0x0000001e,0x00000003,0x00000023, + 0x0000000c,0x00050048,0x0000001e,0x00000004,0x00000023,0x00000010,0x00050048,0x0000001e, + 0x00000005,0x00000023,0x00000014,0x00050048,0x0000001e,0x00000006,0x00000023,0x00000018, + 0x00050048,0x0000001e,0x00000007,0x00000023,0x0000001c,0x00050048,0x0000001e,0x00000008, + 0x00000023,0x00000020,0x00050048,0x0000001e,0x00000009,0x00000023,0x00000024,0x00050048, + 0x0000001e,0x0000000a,0x00000023,0x00000028,0x00050048,0x0000001e,0x0000000b,0x00000023, + 0x0000002c,0x00050048,0x0000001e,0x0000000c,0x00000023,0x00000030,0x00030047,0x0000001e, + 0x00000002,0x00040047,0x00000044,0x00000006,0x00000002,0x00040048,0x00000045,0x00000000, + 0x00000018,0x00050048,0x00000045,0x00000000,0x00000023,0x00000000,0x00030047,0x00000045, + 0x00000003,0x00040047,0x00000047,0x00000022,0x00000000,0x00040047,0x00000047,0x00000021, + 0x00000008,0x00040047,0x00000068,0x00000006,0x00000002,0x00040048,0x00000069,0x00000000, + 0x00000018,0x00050048,0x00000069,0x00000000,0x00000023,0x00000000,0x00030047,0x00000069, + 0x00000003,0x00040047,0x0000006b,0x00000022,0x00000000,0x00040047,0x0000006b,0x00000021, + 0x00000000,0x00040047,0x00000078,0x00000006,0x00000002,0x00040048,0x00000079,0x00000000, + 0x00000018,0x00050048,0x00000079,0x00000000,0x00000023,0x00000000,0x00030047,0x00000079, + 0x00000003,0x00040047,0x0000007b,0x00000022,0x00000000,0x00040047,0x0000007b,0x00000021, + 0x00000001,0x00040047,0x0000008d,0x00000006,0x00000002,0x00040048,0x0000008e,0x00000000, + 0x00000018,0x00050048,0x0000008e,0x00000000,0x00000023,0x00000000,0x00030047,0x0000008e, + 0x00000003,0x00040047,0x00000090,0x00000022,0x00000000,0x00040047,0x00000090,0x00000021, + 0x00000002,0x00040047,0x000000a5,0x00000006,0x00000002,0x00040048,0x000000a6,0x00000000, + 0x00000018,0x00050048,0x000000a6,0x00000000,0x00000023,0x00000000,0x00030047,0x000000a6, + 0x00000003,0x00040047,0x000000a8,0x00000022,0x00000000,0x00040047,0x000000a8,0x00000021, + 0x00000003,0x00040047,0x000000b9,0x00000006,0x00000002,0x00040048,0x000000ba,0x00000000, + 0x00000018,0x00050048,0x000000ba,0x00000000,0x00000023,0x00000000,0x00030047,0x000000ba, + 0x00000003,0x00040047,0x000000bc,0x00000022,0x00000000,0x00040047,0x000000bc,0x00000021, + 0x00000004,0x00040047,0x000000c9,0x00000006,0x00000002,0x00040048,0x000000ca,0x00000000, + 0x00000018,0x00050048,0x000000ca,0x00000000,0x00000023,0x00000000,0x00030047,0x000000ca, + 0x00000003,0x00040047,0x000000cc,0x00000022,0x00000000,0x00040047,0x000000cc,0x00000021, + 0x00000005,0x00040047,0x000000dd,0x00000006,0x00000002,0x00040048,0x000000de,0x00000000, + 0x00000018,0x00050048,0x000000de,0x00000000,0x00000023,0x00000000,0x00030047,0x000000de, + 0x00000003,0x00040047,0x000000e0,0x00000022,0x00000000,0x00040047,0x000000e0,0x00000021, + 0x00000006,0x00040047,0x000000f5,0x00000006,0x00000002,0x00040048,0x000000f6,0x00000000, + 0x00000018,0x00050048,0x000000f6,0x00000000,0x00000023,0x00000000,0x00030047,0x000000f6, + 0x00000003,0x00040047,0x000000f8,0x00000022,0x00000000,0x00040047,0x000000f8,0x00000021, + 0x00000007,0x00040047,0x00000130,0x00000006,0x00000004,0x00040048,0x00000131,0x00000000, + 0x00000019,0x00050048,0x00000131,0x00000000,0x00000023,0x00000000,0x00030047,0x00000131, + 0x00000003,0x00040047,0x00000133,0x00000022,0x00000000,0x00040047,0x00000133,0x00000021, + 0x00000009,0x00040047,0x00000138,0x00000001,0x00000000,0x00020013,0x00000002,0x00030021, + 0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040020,0x00000007, + 0x00000007,0x00000006,0x00040015,0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a, + 0x00000009,0x00000003,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b, + 0x0000000c,0x00000001,0x0004002b,0x00000009,0x0000000d,0x00000000,0x00040020,0x0000000e, + 0x00000001,0x00000009,0x0004002b,0x00000009,0x00000013,0x00000001,0x0004002b,0x00000009, + 0x00000018,0x00000002,0x00020014,0x0000001c,0x000f001e,0x0000001e,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00040020,0x0000001f,0x00000009,0x0000001e,0x0004003b, + 0x0000001f,0x00000020,0x00000009,0x0004002b,0x00000006,0x00000021,0x00000007,0x00040020, + 0x00000022,0x00000009,0x00000006,0x0004002b,0x00000006,0x0000002a,0x00000004,0x0004002b, + 0x00000006,0x00000033,0x0000000a,0x0004002b,0x00000006,0x0000003c,0x00000003,0x00030016, + 0x00000040,0x00000020,0x00040020,0x00000041,0x00000007,0x00000040,0x00030016,0x00000043, + 0x00000010,0x0003001d,0x00000044,0x00000043,0x0003001e,0x00000045,0x00000044,0x00040020, + 0x00000046,0x00000002,0x00000045,0x0004003b,0x00000046,0x00000047,0x00000002,0x0004002b, + 0x00000006,0x00000048,0x00000000,0x0004002b,0x00000006,0x0000004a,0x0000000b,0x00040020, + 0x00000050,0x00000002,0x00000043,0x0004002b,0x00000006,0x00000057,0x00000002,0x0004002b, + 0x00000006,0x0000005d,0x00000009,0x0004002b,0x00000006,0x00000063,0x00000008,0x0003001d, + 0x00000068,0x00000043,0x0003001e,0x00000069,0x00000068,0x00040020,0x0000006a,0x00000002, + 0x00000069,0x0004003b,0x0000006a,0x0000006b,0x00000002,0x0003001d,0x00000078,0x00000043, + 0x0003001e,0x00000079,0x00000078,0x00040020,0x0000007a,0x00000002,0x00000079,0x0004003b, + 0x0000007a,0x0000007b,0x00000002,0x0004002b,0x00000006,0x00000084,0x00000001,0x0003001d, + 0x0000008d,0x00000043,0x0003001e,0x0000008e,0x0000008d,0x00040020,0x0000008f,0x00000002, + 0x0000008e,0x0004003b,0x0000008f,0x00000090,0x00000002,0x0003001d,0x000000a5,0x00000043, + 0x0003001e,0x000000a6,0x000000a5,0x00040020,0x000000a7,0x00000002,0x000000a6,0x0004003b, + 0x000000a7,0x000000a8,0x00000002,0x0003001d,0x000000b9,0x00000043,0x0003001e,0x000000ba, + 0x000000b9,0x00040020,0x000000bb,0x00000002,0x000000ba,0x0004003b,0x000000bb,0x000000bc, + 0x00000002,0x0003001d,0x000000c9,0x00000043,0x0003001e,0x000000ca,0x000000c9,0x00040020, + 0x000000cb,0x00000002,0x000000ca,0x0004003b,0x000000cb,0x000000cc,0x00000002,0x0003001d, + 0x000000dd,0x00000043,0x0003001e,0x000000de,0x000000dd,0x00040020,0x000000df,0x00000002, + 0x000000de,0x0004003b,0x000000df,0x000000e0,0x00000002,0x0003001d,0x000000f5,0x00000043, + 0x0003001e,0x000000f6,0x000000f5,0x00040020,0x000000f7,0x00000002,0x000000f6,0x0004003b, + 0x000000f7,0x000000f8,0x00000002,0x0004002b,0x00000040,0x00000117,0x3e000000,0x0004002b, + 0x00000040,0x0000011a,0x437f0000,0x0004002b,0x00000040,0x0000011d,0x3f000000,0x0004002b, + 0x00000006,0x00000121,0x00000005,0x0004002b,0x00000006,0x0000012c,0x00000006,0x0003001d, + 0x00000130,0x00000040,0x0003001e,0x00000131,0x00000130,0x00040020,0x00000132,0x00000002, + 0x00000131,0x0004003b,0x00000132,0x00000133,0x00000002,0x00040020,0x00000136,0x00000002, + 0x00000040,0x00040032,0x00000006,0x00000138,0x00000000,0x00050036,0x00000002,0x00000004, + 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000008,0x00000007, + 0x0004003b,0x00000007,0x00000012,0x00000007,0x0004003b,0x00000007,0x00000017,0x00000007, + 0x0004003b,0x00000041,0x00000042,0x00000007,0x0004003b,0x00000007,0x00000055,0x00000007, + 0x0004003b,0x00000007,0x0000005b,0x00000007,0x0004003b,0x00000007,0x00000061,0x00000007, + 0x0004003b,0x00000041,0x00000067,0x00000007,0x0004003b,0x00000041,0x00000077,0x00000007, + 0x0004003b,0x00000041,0x0000008c,0x00000007,0x0004003b,0x00000041,0x000000a4,0x00000007, + 0x0004003b,0x00000041,0x000000b8,0x00000007,0x0004003b,0x00000041,0x000000c8,0x00000007, + 0x0004003b,0x00000041,0x000000dc,0x00000007,0x0004003b,0x00000041,0x000000f4,0x00000007, + 0x0004003b,0x00000007,0x0000011f,0x00000007,0x00050041,0x0000000e,0x0000000f,0x0000000c, + 0x0000000d,0x0004003d,0x00000009,0x00000010,0x0000000f,0x0004007c,0x00000006,0x00000011, + 0x00000010,0x0003003e,0x00000008,0x00000011,0x00050041,0x0000000e,0x00000014,0x0000000c, + 0x00000013,0x0004003d,0x00000009,0x00000015,0x00000014,0x0004007c,0x00000006,0x00000016, + 0x00000015,0x0003003e,0x00000012,0x00000016,0x00050041,0x0000000e,0x00000019,0x0000000c, + 0x00000018,0x0004003d,0x00000009,0x0000001a,0x00000019,0x0004007c,0x00000006,0x0000001b, + 0x0000001a,0x0003003e,0x00000017,0x0000001b,0x0004003d,0x00000006,0x0000001d,0x00000008, + 0x00050041,0x00000022,0x00000023,0x00000020,0x00000021,0x0004003d,0x00000006,0x00000024, + 0x00000023,0x000500af,0x0000001c,0x00000025,0x0000001d,0x00000024,0x000400a8,0x0000001c, + 0x00000026,0x00000025,0x000300f7,0x00000028,0x00000000,0x000400fa,0x00000026,0x00000027, + 0x00000028,0x000200f8,0x00000027,0x0004003d,0x00000006,0x00000029,0x00000012,0x00050041, + 0x00000022,0x0000002b,0x00000020,0x0000002a,0x0004003d,0x00000006,0x0000002c,0x0000002b, + 0x000500af,0x0000001c,0x0000002d,0x00000029,0x0000002c,0x000200f9,0x00000028,0x000200f8, + 0x00000028,0x000700f5,0x0000001c,0x0000002e,0x00000025,0x00000005,0x0000002d,0x00000027, + 0x000400a8,0x0000001c,0x0000002f,0x0000002e,0x000300f7,0x00000031,0x00000000,0x000400fa, + 0x0000002f,0x00000030,0x00000031,0x000200f8,0x00000030,0x0004003d,0x00000006,0x00000032, + 0x00000017,0x00050041,0x00000022,0x00000034,0x00000020,0x00000033,0x0004003d,0x00000006, + 0x00000035,0x00000034,0x000500af,0x0000001c,0x00000036,0x00000032,0x00000035,0x000200f9, + 0x00000031,0x000200f8,0x00000031,0x000700f5,0x0000001c,0x00000037,0x0000002e,0x00000028, + 0x00000036,0x00000030,0x000300f7,0x00000039,0x00000000,0x000400fa,0x00000037,0x00000038, + 0x00000039,0x000200f8,0x00000038,0x000100fd,0x000200f8,0x00000039,0x0004003d,0x00000006, + 0x0000003b,0x00000017,0x000500aa,0x0000001c,0x0000003d,0x0000003b,0x0000003c,0x000300f7, + 0x0000003f,0x00000000,0x000400fa,0x0000003d,0x0000003e,0x00000054,0x000200f8,0x0000003e, + 0x0004003d,0x00000006,0x00000049,0x00000012,0x00050041,0x00000022,0x0000004b,0x00000020, + 0x0000004a,0x0004003d,0x00000006,0x0000004c,0x0000004b,0x00050084,0x00000006,0x0000004d, + 0x00000049,0x0000004c,0x0004003d,0x00000006,0x0000004e,0x00000008,0x00050080,0x00000006, + 0x0000004f,0x0000004d,0x0000004e,0x00060041,0x00000050,0x00000051,0x00000047,0x00000048, + 0x0000004f,0x0004003d,0x00000043,0x00000052,0x00000051,0x00040073,0x00000040,0x00000053, + 0x00000052,0x0003003e,0x00000042,0x00000053,0x000200f9,0x0000003f,0x000200f8,0x00000054, + 0x0004003d,0x00000006,0x00000056,0x00000017,0x00050041,0x00000022,0x00000058,0x00000020, + 0x00000057,0x0004003d,0x00000006,0x00000059,0x00000058,0x00050084,0x00000006,0x0000005a, + 0x00000056,0x00000059,0x0003003e,0x00000055,0x0000005a,0x0004003d,0x00000006,0x0000005c, + 0x00000012,0x00050041,0x00000022,0x0000005e,0x00000020,0x0000005d,0x0004003d,0x00000006, + 0x0000005f,0x0000005e,0x00050080,0x00000006,0x00000060,0x0000005c,0x0000005f,0x0003003e, + 0x0000005b,0x00000060,0x0004003d,0x00000006,0x00000062,0x00000008,0x00050041,0x00000022, + 0x00000064,0x00000020,0x00000063,0x0004003d,0x00000006,0x00000065,0x00000064,0x00050080, + 0x00000006,0x00000066,0x00000062,0x00000065,0x0003003e,0x00000061,0x00000066,0x0004003d, + 0x00000006,0x0000006c,0x00000055,0x0004003d,0x00000006,0x0000006d,0x0000005b,0x00050041, + 0x00000022,0x0000006e,0x00000020,0x00000048,0x0004003d,0x00000006,0x0000006f,0x0000006e, + 0x00050084,0x00000006,0x00000070,0x0000006d,0x0000006f,0x00050080,0x00000006,0x00000071, + 0x0000006c,0x00000070,0x0004003d,0x00000006,0x00000072,0x00000061,0x00050080,0x00000006, + 0x00000073,0x00000071,0x00000072,0x00060041,0x00000050,0x00000074,0x0000006b,0x00000048, + 0x00000073,0x0004003d,0x00000043,0x00000075,0x00000074,0x00040073,0x00000040,0x00000076, + 0x00000075,0x0003003e,0x00000067,0x00000076,0x0004003d,0x00000006,0x0000007c,0x00000055, + 0x0004003d,0x00000006,0x0000007d,0x0000005b,0x00050041,0x00000022,0x0000007e,0x00000020, + 0x00000048,0x0004003d,0x00000006,0x0000007f,0x0000007e,0x00050084,0x00000006,0x00000080, + 0x0000007d,0x0000007f,0x00050080,0x00000006,0x00000081,0x0000007c,0x00000080,0x00050041, + 0x00000022,0x00000082,0x00000020,0x00000048,0x0004003d,0x00000006,0x00000083,0x00000082, + 0x00050082,0x00000006,0x00000085,0x00000083,0x00000084,0x0004003d,0x00000006,0x00000086, + 0x00000061,0x00050082,0x00000006,0x00000087,0x00000085,0x00000086,0x00050080,0x00000006, + 0x00000088,0x00000081,0x00000087,0x00060041,0x00000050,0x00000089,0x0000007b,0x00000048, + 0x00000088,0x0004003d,0x00000043,0x0000008a,0x00000089,0x00040073,0x00000040,0x0000008b, + 0x0000008a,0x0003003e,0x00000077,0x0000008b,0x0004003d,0x00000006,0x00000091,0x00000055, + 0x00050041,0x00000022,0x00000092,0x00000020,0x00000084,0x0004003d,0x00000006,0x00000093, + 0x00000092,0x00050082,0x00000006,0x00000094,0x00000093,0x00000084,0x0004003d,0x00000006, + 0x00000095,0x0000005b,0x00050082,0x00000006,0x00000096,0x00000094,0x00000095,0x00050041, + 0x00000022,0x00000097,0x00000020,0x00000048,0x0004003d,0x00000006,0x00000098,0x00000097, + 0x00050084,0x00000006,0x00000099,0x00000096,0x00000098,0x00050080,0x00000006,0x0000009a, + 0x00000091,0x00000099,0x00050041,0x00000022,0x0000009b,0x00000020,0x00000048,0x0004003d, + 0x00000006,0x0000009c,0x0000009b,0x00050082,0x00000006,0x0000009d,0x0000009c,0x00000084, + 0x0004003d,0x00000006,0x0000009e,0x00000061,0x00050082,0x00000006,0x0000009f,0x0000009d, + 0x0000009e,0x00050080,0x00000006,0x000000a0,0x0000009a,0x0000009f,0x00060041,0x00000050, + 0x000000a1,0x00000090,0x00000048,0x000000a0,0x0004003d,0x00000043,0x000000a2,0x000000a1, + 0x00040073,0x00000040,0x000000a3,0x000000a2,0x0003003e,0x0000008c,0x000000a3,0x0004003d, + 0x00000006,0x000000a9,0x00000055,0x00050041,0x00000022,0x000000aa,0x00000020,0x00000084, + 0x0004003d,0x00000006,0x000000ab,0x000000aa,0x00050082,0x00000006,0x000000ac,0x000000ab, + 0x00000084,0x0004003d,0x00000006,0x000000ad,0x0000005b,0x00050082,0x00000006,0x000000ae, + 0x000000ac,0x000000ad,0x00050041,0x00000022,0x000000af,0x00000020,0x00000048,0x0004003d, + 0x00000006,0x000000b0,0x000000af,0x00050084,0x00000006,0x000000b1,0x000000ae,0x000000b0, + 0x00050080,0x00000006,0x000000b2,0x000000a9,0x000000b1,0x0004003d,0x00000006,0x000000b3, + 0x00000061,0x00050080,0x00000006,0x000000b4,0x000000b2,0x000000b3,0x00060041,0x00000050, + 0x000000b5,0x000000a8,0x00000048,0x000000b4,0x0004003d,0x00000043,0x000000b6,0x000000b5, + 0x00040073,0x00000040,0x000000b7,0x000000b6,0x0003003e,0x000000a4,0x000000b7,0x0004003d, + 0x00000006,0x000000bd,0x00000055,0x0004003d,0x00000006,0x000000be,0x00000061,0x00050041, + 0x00000022,0x000000bf,0x00000020,0x00000084,0x0004003d,0x00000006,0x000000c0,0x000000bf, + 0x00050084,0x00000006,0x000000c1,0x000000be,0x000000c0,0x00050080,0x00000006,0x000000c2, + 0x000000bd,0x000000c1,0x0004003d,0x00000006,0x000000c3,0x0000005b,0x00050080,0x00000006, + 0x000000c4,0x000000c2,0x000000c3,0x00060041,0x00000050,0x000000c5,0x000000bc,0x00000048, + 0x000000c4,0x0004003d,0x00000043,0x000000c6,0x000000c5,0x00040073,0x00000040,0x000000c7, + 0x000000c6,0x0003003e,0x000000b8,0x000000c7,0x0004003d,0x00000006,0x000000cd,0x00000055, + 0x0004003d,0x00000006,0x000000ce,0x00000061,0x00050041,0x00000022,0x000000cf,0x00000020, + 0x00000084,0x0004003d,0x00000006,0x000000d0,0x000000cf,0x00050084,0x00000006,0x000000d1, + 0x000000ce,0x000000d0,0x00050080,0x00000006,0x000000d2,0x000000cd,0x000000d1,0x00050041, + 0x00000022,0x000000d3,0x00000020,0x00000084,0x0004003d,0x00000006,0x000000d4,0x000000d3, + 0x00050082,0x00000006,0x000000d5,0x000000d4,0x00000084,0x0004003d,0x00000006,0x000000d6, + 0x0000005b,0x00050082,0x00000006,0x000000d7,0x000000d5,0x000000d6,0x00050080,0x00000006, + 0x000000d8,0x000000d2,0x000000d7,0x00060041,0x00000050,0x000000d9,0x000000cc,0x00000048, + 0x000000d8,0x0004003d,0x00000043,0x000000da,0x000000d9,0x00040073,0x00000040,0x000000db, + 0x000000da,0x0003003e,0x000000c8,0x000000db,0x0004003d,0x00000006,0x000000e1,0x00000055, + 0x00050041,0x00000022,0x000000e2,0x00000020,0x00000048,0x0004003d,0x00000006,0x000000e3, + 0x000000e2,0x00050082,0x00000006,0x000000e4,0x000000e3,0x00000084,0x0004003d,0x00000006, + 0x000000e5,0x00000061,0x00050082,0x00000006,0x000000e6,0x000000e4,0x000000e5,0x00050041, + 0x00000022,0x000000e7,0x00000020,0x00000084,0x0004003d,0x00000006,0x000000e8,0x000000e7, + 0x00050084,0x00000006,0x000000e9,0x000000e6,0x000000e8,0x00050080,0x00000006,0x000000ea, + 0x000000e1,0x000000e9,0x00050041,0x00000022,0x000000eb,0x00000020,0x00000084,0x0004003d, + 0x00000006,0x000000ec,0x000000eb,0x00050082,0x00000006,0x000000ed,0x000000ec,0x00000084, + 0x0004003d,0x00000006,0x000000ee,0x0000005b,0x00050082,0x00000006,0x000000ef,0x000000ed, + 0x000000ee,0x00050080,0x00000006,0x000000f0,0x000000ea,0x000000ef,0x00060041,0x00000050, + 0x000000f1,0x000000e0,0x00000048,0x000000f0,0x0004003d,0x00000043,0x000000f2,0x000000f1, + 0x00040073,0x00000040,0x000000f3,0x000000f2,0x0003003e,0x000000dc,0x000000f3,0x0004003d, + 0x00000006,0x000000f9,0x00000055,0x00050041,0x00000022,0x000000fa,0x00000020,0x00000048, + 0x0004003d,0x00000006,0x000000fb,0x000000fa,0x00050082,0x00000006,0x000000fc,0x000000fb, + 0x00000084,0x0004003d,0x00000006,0x000000fd,0x00000061,0x00050082,0x00000006,0x000000fe, + 0x000000fc,0x000000fd,0x00050041,0x00000022,0x000000ff,0x00000020,0x00000084,0x0004003d, + 0x00000006,0x00000100,0x000000ff,0x00050084,0x00000006,0x00000101,0x000000fe,0x00000100, + 0x00050080,0x00000006,0x00000102,0x000000f9,0x00000101,0x0004003d,0x00000006,0x00000103, + 0x0000005b,0x00050080,0x00000006,0x00000104,0x00000102,0x00000103,0x00060041,0x00000050, + 0x00000105,0x000000f8,0x00000048,0x00000104,0x0004003d,0x00000043,0x00000106,0x00000105, + 0x00040073,0x00000040,0x00000107,0x00000106,0x0003003e,0x000000f4,0x00000107,0x0004003d, + 0x00000040,0x00000108,0x00000067,0x0004003d,0x00000040,0x00000109,0x00000077,0x00050081, + 0x00000040,0x0000010a,0x00000108,0x00000109,0x0004003d,0x00000040,0x0000010b,0x0000008c, + 0x00050081,0x00000040,0x0000010c,0x0000010a,0x0000010b,0x0004003d,0x00000040,0x0000010d, + 0x000000a4,0x00050081,0x00000040,0x0000010e,0x0000010c,0x0000010d,0x0004003d,0x00000040, + 0x0000010f,0x000000b8,0x00050081,0x00000040,0x00000110,0x0000010e,0x0000010f,0x0004003d, + 0x00000040,0x00000111,0x000000c8,0x00050081,0x00000040,0x00000112,0x00000110,0x00000111, + 0x0004003d,0x00000040,0x00000113,0x000000dc,0x00050081,0x00000040,0x00000114,0x00000112, + 0x00000113,0x0004003d,0x00000040,0x00000115,0x000000f4,0x00050081,0x00000040,0x00000116, + 0x00000114,0x00000115,0x00050085,0x00000040,0x00000118,0x00000116,0x00000117,0x0003003e, + 0x00000042,0x00000118,0x0004003d,0x00000040,0x00000119,0x00000042,0x00050085,0x00000040, + 0x0000011b,0x00000119,0x0000011a,0x0003003e,0x00000042,0x0000011b,0x000200f9,0x0000003f, + 0x000200f8,0x0000003f,0x0004003d,0x00000040,0x0000011c,0x00000042,0x00050081,0x00000040, + 0x0000011e,0x0000011c,0x0000011d,0x0003003e,0x00000042,0x0000011e,0x0004003d,0x00000006, + 0x00000120,0x00000017,0x00050041,0x00000022,0x00000122,0x00000020,0x00000121,0x0004003d, + 0x00000006,0x00000123,0x00000122,0x00050084,0x00000006,0x00000124,0x00000120,0x00000123, + 0x0004003d,0x00000006,0x00000125,0x00000012,0x00050041,0x00000022,0x00000126,0x00000020, + 0x0000003c,0x0004003d,0x00000006,0x00000127,0x00000126,0x00050084,0x00000006,0x00000128, + 0x00000125,0x00000127,0x00050080,0x00000006,0x00000129,0x00000124,0x00000128,0x0004003d, + 0x00000006,0x0000012a,0x00000008,0x00050080,0x00000006,0x0000012b,0x00000129,0x0000012a, + 0x00050041,0x00000022,0x0000012d,0x00000020,0x0000012c,0x0004003d,0x00000006,0x0000012e, + 0x0000012d,0x00050080,0x00000006,0x0000012f,0x0000012b,0x0000012e,0x0003003e,0x0000011f, + 0x0000012f,0x0004003d,0x00000006,0x00000134,0x0000011f,0x0004003d,0x00000040,0x00000135, + 0x00000042,0x00060041,0x00000136,0x00000137,0x00000133,0x00000048,0x00000134,0x0003003e, + 0x00000137,0x00000135,0x000100fd,0x00010038 diff --git a/src/realesrgan/shader/realesrgan_postproc_tta_int8s.spv.hex.h b/src/realesrgan/shader/realesrgan_postproc_tta_int8s.spv.hex.h new file mode 100644 index 0000000..173655e --- /dev/null +++ b/src/realesrgan/shader/realesrgan_postproc_tta_int8s.spv.hex.h @@ -0,0 +1,281 @@ + // 1011.6.0 + 0x07230203,0x00010000,0x0008000a,0x00000152,0x00000000,0x00020011,0x00000001,0x00020011, + 0x00001151,0x00020011,0x00001161,0x0007000a,0x5f565053,0x5f52484b,0x69623631,0x74735f74, + 0x6761726f,0x00000065,0x0007000a,0x5f565053,0x5f52484b,0x74696238,0x6f74735f,0x65676172, + 0x00000000,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e, + 0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000c, + 0x00060010,0x00000004,0x00000011,0x00000001,0x00000001,0x00000001,0x00030003,0x00000002, + 0x000001c2,0x00080004,0x455f4c47,0x735f5458,0x65646168,0x36315f72,0x5f746962,0x726f7473, + 0x00656761,0x00080004,0x455f4c47,0x735f5458,0x65646168,0x62385f72,0x735f7469,0x61726f74, + 0x00006567,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000008,0x00007867, + 0x00080005,0x0000000c,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044, + 0x00030005,0x00000012,0x00007967,0x00030005,0x00000017,0x00007a67,0x00050005,0x0000001e, + 0x61726170,0x6574656d,0x00000072,0x00040006,0x0000001e,0x00000000,0x00000077,0x00040006, + 0x0000001e,0x00000001,0x00000068,0x00050006,0x0000001e,0x00000002,0x65747363,0x00000070, + 0x00050006,0x0000001e,0x00000003,0x7774756f,0x00000000,0x00050006,0x0000001e,0x00000004, + 0x6874756f,0x00000000,0x00060006,0x0000001e,0x00000005,0x6374756f,0x70657473,0x00000000, + 0x00060006,0x0000001e,0x00000006,0x7366666f,0x785f7465,0x00000000,0x00050006,0x0000001e, + 0x00000007,0x6d5f7867,0x00007861,0x00050006,0x0000001e,0x00000008,0x706f7263,0x0000785f, + 0x00050006,0x0000001e,0x00000009,0x706f7263,0x0000795f,0x00060006,0x0000001e,0x0000000a, + 0x6e616863,0x736c656e,0x00000000,0x00050006,0x0000001e,0x0000000b,0x68706c61,0x00007761, + 0x00050006,0x0000001e,0x0000000c,0x68706c61,0x00006861,0x00030005,0x00000020,0x00000070, + 0x00030005,0x00000042,0x00000076,0x00050005,0x00000045,0x68706c61,0x6c625f61,0x0000626f, + 0x00070006,0x00000045,0x00000000,0x68706c61,0x6c625f61,0x645f626f,0x00617461,0x00030005, + 0x00000047,0x00000000,0x00030005,0x00000055,0x00697a67,0x00030005,0x0000005b,0x00007973, + 0x00030005,0x00000061,0x00007873,0x00030005,0x00000067,0x00003076,0x00060005,0x00000069, + 0x74746f62,0x625f6d6f,0x30626f6c,0x00000000,0x00080006,0x00000069,0x00000000,0x74746f62, + 0x625f6d6f,0x30626f6c,0x7461645f,0x00000061,0x00030005,0x0000006b,0x00000000,0x00030005, + 0x00000077,0x00003176,0x00060005,0x00000079,0x74746f62,0x625f6d6f,0x31626f6c,0x00000000, + 0x00080006,0x00000079,0x00000000,0x74746f62,0x625f6d6f,0x31626f6c,0x7461645f,0x00000061, + 0x00030005,0x0000007b,0x00000000,0x00030005,0x0000008c,0x00003276,0x00060005,0x0000008e, + 0x74746f62,0x625f6d6f,0x32626f6c,0x00000000,0x00080006,0x0000008e,0x00000000,0x74746f62, + 0x625f6d6f,0x32626f6c,0x7461645f,0x00000061,0x00030005,0x00000090,0x00000000,0x00030005, + 0x000000a4,0x00003376,0x00060005,0x000000a6,0x74746f62,0x625f6d6f,0x33626f6c,0x00000000, + 0x00080006,0x000000a6,0x00000000,0x74746f62,0x625f6d6f,0x33626f6c,0x7461645f,0x00000061, + 0x00030005,0x000000a8,0x00000000,0x00030005,0x000000b8,0x00003476,0x00060005,0x000000ba, + 0x74746f62,0x625f6d6f,0x34626f6c,0x00000000,0x00080006,0x000000ba,0x00000000,0x74746f62, + 0x625f6d6f,0x34626f6c,0x7461645f,0x00000061,0x00030005,0x000000bc,0x00000000,0x00030005, + 0x000000c8,0x00003576,0x00060005,0x000000ca,0x74746f62,0x625f6d6f,0x35626f6c,0x00000000, + 0x00080006,0x000000ca,0x00000000,0x74746f62,0x625f6d6f,0x35626f6c,0x7461645f,0x00000061, + 0x00030005,0x000000cc,0x00000000,0x00030005,0x000000dc,0x00003676,0x00060005,0x000000de, + 0x74746f62,0x625f6d6f,0x36626f6c,0x00000000,0x00080006,0x000000de,0x00000000,0x74746f62, + 0x625f6d6f,0x36626f6c,0x7461645f,0x00000061,0x00030005,0x000000e0,0x00000000,0x00030005, + 0x000000f4,0x00003776,0x00060005,0x000000f6,0x74746f62,0x625f6d6f,0x37626f6c,0x00000000, + 0x00080006,0x000000f6,0x00000000,0x74746f62,0x625f6d6f,0x37626f6c,0x7461645f,0x00000061, + 0x00030005,0x000000f8,0x00000000,0x00050005,0x0000011f,0x666f5f76,0x74657366,0x00000000, + 0x00030005,0x0000012b,0x00323376,0x00030005,0x00000131,0x00726762,0x00050005,0x0000013a, + 0x5f706f74,0x626f6c62,0x00000000,0x00070006,0x0000013a,0x00000000,0x5f706f74,0x626f6c62, + 0x7461645f,0x00000061,0x00030005,0x0000013c,0x00000000,0x00040047,0x0000000c,0x0000000b, + 0x0000001c,0x00050048,0x0000001e,0x00000000,0x00000023,0x00000000,0x00050048,0x0000001e, + 0x00000001,0x00000023,0x00000004,0x00050048,0x0000001e,0x00000002,0x00000023,0x00000008, + 0x00050048,0x0000001e,0x00000003,0x00000023,0x0000000c,0x00050048,0x0000001e,0x00000004, + 0x00000023,0x00000010,0x00050048,0x0000001e,0x00000005,0x00000023,0x00000014,0x00050048, + 0x0000001e,0x00000006,0x00000023,0x00000018,0x00050048,0x0000001e,0x00000007,0x00000023, + 0x0000001c,0x00050048,0x0000001e,0x00000008,0x00000023,0x00000020,0x00050048,0x0000001e, + 0x00000009,0x00000023,0x00000024,0x00050048,0x0000001e,0x0000000a,0x00000023,0x00000028, + 0x00050048,0x0000001e,0x0000000b,0x00000023,0x0000002c,0x00050048,0x0000001e,0x0000000c, + 0x00000023,0x00000030,0x00030047,0x0000001e,0x00000002,0x00040047,0x00000044,0x00000006, + 0x00000002,0x00040048,0x00000045,0x00000000,0x00000018,0x00050048,0x00000045,0x00000000, + 0x00000023,0x00000000,0x00030047,0x00000045,0x00000003,0x00040047,0x00000047,0x00000022, + 0x00000000,0x00040047,0x00000047,0x00000021,0x00000008,0x00040047,0x00000068,0x00000006, + 0x00000002,0x00040048,0x00000069,0x00000000,0x00000018,0x00050048,0x00000069,0x00000000, + 0x00000023,0x00000000,0x00030047,0x00000069,0x00000003,0x00040047,0x0000006b,0x00000022, + 0x00000000,0x00040047,0x0000006b,0x00000021,0x00000000,0x00040047,0x00000078,0x00000006, + 0x00000002,0x00040048,0x00000079,0x00000000,0x00000018,0x00050048,0x00000079,0x00000000, + 0x00000023,0x00000000,0x00030047,0x00000079,0x00000003,0x00040047,0x0000007b,0x00000022, + 0x00000000,0x00040047,0x0000007b,0x00000021,0x00000001,0x00040047,0x0000008d,0x00000006, + 0x00000002,0x00040048,0x0000008e,0x00000000,0x00000018,0x00050048,0x0000008e,0x00000000, + 0x00000023,0x00000000,0x00030047,0x0000008e,0x00000003,0x00040047,0x00000090,0x00000022, + 0x00000000,0x00040047,0x00000090,0x00000021,0x00000002,0x00040047,0x000000a5,0x00000006, + 0x00000002,0x00040048,0x000000a6,0x00000000,0x00000018,0x00050048,0x000000a6,0x00000000, + 0x00000023,0x00000000,0x00030047,0x000000a6,0x00000003,0x00040047,0x000000a8,0x00000022, + 0x00000000,0x00040047,0x000000a8,0x00000021,0x00000003,0x00040047,0x000000b9,0x00000006, + 0x00000002,0x00040048,0x000000ba,0x00000000,0x00000018,0x00050048,0x000000ba,0x00000000, + 0x00000023,0x00000000,0x00030047,0x000000ba,0x00000003,0x00040047,0x000000bc,0x00000022, + 0x00000000,0x00040047,0x000000bc,0x00000021,0x00000004,0x00040047,0x000000c9,0x00000006, + 0x00000002,0x00040048,0x000000ca,0x00000000,0x00000018,0x00050048,0x000000ca,0x00000000, + 0x00000023,0x00000000,0x00030047,0x000000ca,0x00000003,0x00040047,0x000000cc,0x00000022, + 0x00000000,0x00040047,0x000000cc,0x00000021,0x00000005,0x00040047,0x000000dd,0x00000006, + 0x00000002,0x00040048,0x000000de,0x00000000,0x00000018,0x00050048,0x000000de,0x00000000, + 0x00000023,0x00000000,0x00030047,0x000000de,0x00000003,0x00040047,0x000000e0,0x00000022, + 0x00000000,0x00040047,0x000000e0,0x00000021,0x00000006,0x00040047,0x000000f5,0x00000006, + 0x00000002,0x00040048,0x000000f6,0x00000000,0x00000018,0x00050048,0x000000f6,0x00000000, + 0x00000023,0x00000000,0x00030047,0x000000f6,0x00000003,0x00040047,0x000000f8,0x00000022, + 0x00000000,0x00040047,0x000000f8,0x00000021,0x00000007,0x00040047,0x00000131,0x00000001, + 0x00000000,0x00040047,0x00000139,0x00000006,0x00000001,0x00040048,0x0000013a,0x00000000, + 0x00000019,0x00050048,0x0000013a,0x00000000,0x00000023,0x00000000,0x00030047,0x0000013a, + 0x00000003,0x00040047,0x0000013c,0x00000022,0x00000000,0x00040047,0x0000013c,0x00000021, + 0x00000009,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006, + 0x00000020,0x00000001,0x00040020,0x00000007,0x00000007,0x00000006,0x00040015,0x00000009, + 0x00000020,0x00000000,0x00040017,0x0000000a,0x00000009,0x00000003,0x00040020,0x0000000b, + 0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x0004002b,0x00000009, + 0x0000000d,0x00000000,0x00040020,0x0000000e,0x00000001,0x00000009,0x0004002b,0x00000009, + 0x00000013,0x00000001,0x0004002b,0x00000009,0x00000018,0x00000002,0x00020014,0x0000001c, + 0x000f001e,0x0000001e,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020, + 0x0000001f,0x00000009,0x0000001e,0x0004003b,0x0000001f,0x00000020,0x00000009,0x0004002b, + 0x00000006,0x00000021,0x00000007,0x00040020,0x00000022,0x00000009,0x00000006,0x0004002b, + 0x00000006,0x0000002a,0x00000004,0x0004002b,0x00000006,0x00000033,0x0000000a,0x0004002b, + 0x00000006,0x0000003c,0x00000003,0x00030016,0x00000040,0x00000020,0x00040020,0x00000041, + 0x00000007,0x00000040,0x00030016,0x00000043,0x00000010,0x0003001d,0x00000044,0x00000043, + 0x0003001e,0x00000045,0x00000044,0x00040020,0x00000046,0x00000002,0x00000045,0x0004003b, + 0x00000046,0x00000047,0x00000002,0x0004002b,0x00000006,0x00000048,0x00000000,0x0004002b, + 0x00000006,0x0000004a,0x0000000b,0x00040020,0x00000050,0x00000002,0x00000043,0x0004002b, + 0x00000006,0x00000057,0x00000002,0x0004002b,0x00000006,0x0000005d,0x00000009,0x0004002b, + 0x00000006,0x00000063,0x00000008,0x0003001d,0x00000068,0x00000043,0x0003001e,0x00000069, + 0x00000068,0x00040020,0x0000006a,0x00000002,0x00000069,0x0004003b,0x0000006a,0x0000006b, + 0x00000002,0x0003001d,0x00000078,0x00000043,0x0003001e,0x00000079,0x00000078,0x00040020, + 0x0000007a,0x00000002,0x00000079,0x0004003b,0x0000007a,0x0000007b,0x00000002,0x0004002b, + 0x00000006,0x00000084,0x00000001,0x0003001d,0x0000008d,0x00000043,0x0003001e,0x0000008e, + 0x0000008d,0x00040020,0x0000008f,0x00000002,0x0000008e,0x0004003b,0x0000008f,0x00000090, + 0x00000002,0x0003001d,0x000000a5,0x00000043,0x0003001e,0x000000a6,0x000000a5,0x00040020, + 0x000000a7,0x00000002,0x000000a6,0x0004003b,0x000000a7,0x000000a8,0x00000002,0x0003001d, + 0x000000b9,0x00000043,0x0003001e,0x000000ba,0x000000b9,0x00040020,0x000000bb,0x00000002, + 0x000000ba,0x0004003b,0x000000bb,0x000000bc,0x00000002,0x0003001d,0x000000c9,0x00000043, + 0x0003001e,0x000000ca,0x000000c9,0x00040020,0x000000cb,0x00000002,0x000000ca,0x0004003b, + 0x000000cb,0x000000cc,0x00000002,0x0003001d,0x000000dd,0x00000043,0x0003001e,0x000000de, + 0x000000dd,0x00040020,0x000000df,0x00000002,0x000000de,0x0004003b,0x000000df,0x000000e0, + 0x00000002,0x0003001d,0x000000f5,0x00000043,0x0003001e,0x000000f6,0x000000f5,0x00040020, + 0x000000f7,0x00000002,0x000000f6,0x0004003b,0x000000f7,0x000000f8,0x00000002,0x0004002b, + 0x00000040,0x00000117,0x3e000000,0x0004002b,0x00000040,0x0000011a,0x437f0000,0x0004002b, + 0x00000040,0x0000011d,0x3f000000,0x0004002b,0x00000006,0x00000126,0x00000006,0x00040020, + 0x0000012a,0x00000007,0x00000009,0x0004002b,0x00000009,0x0000012f,0x000000ff,0x00040032, + 0x00000006,0x00000131,0x00000000,0x00060034,0x0000001c,0x00000132,0x000000aa,0x00000131, + 0x00000084,0x00040015,0x00000138,0x00000008,0x00000000,0x0003001d,0x00000139,0x00000138, + 0x0003001e,0x0000013a,0x00000139,0x00040020,0x0000013b,0x00000002,0x0000013a,0x0004003b, + 0x0000013b,0x0000013c,0x00000002,0x00040020,0x00000146,0x00000002,0x00000138,0x00050036, + 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007, + 0x00000008,0x00000007,0x0004003b,0x00000007,0x00000012,0x00000007,0x0004003b,0x00000007, + 0x00000017,0x00000007,0x0004003b,0x00000041,0x00000042,0x00000007,0x0004003b,0x00000007, + 0x00000055,0x00000007,0x0004003b,0x00000007,0x0000005b,0x00000007,0x0004003b,0x00000007, + 0x00000061,0x00000007,0x0004003b,0x00000041,0x00000067,0x00000007,0x0004003b,0x00000041, + 0x00000077,0x00000007,0x0004003b,0x00000041,0x0000008c,0x00000007,0x0004003b,0x00000041, + 0x000000a4,0x00000007,0x0004003b,0x00000041,0x000000b8,0x00000007,0x0004003b,0x00000041, + 0x000000c8,0x00000007,0x0004003b,0x00000041,0x000000dc,0x00000007,0x0004003b,0x00000041, + 0x000000f4,0x00000007,0x0004003b,0x00000007,0x0000011f,0x00000007,0x0004003b,0x0000012a, + 0x0000012b,0x00000007,0x00050041,0x0000000e,0x0000000f,0x0000000c,0x0000000d,0x0004003d, + 0x00000009,0x00000010,0x0000000f,0x0004007c,0x00000006,0x00000011,0x00000010,0x0003003e, + 0x00000008,0x00000011,0x00050041,0x0000000e,0x00000014,0x0000000c,0x00000013,0x0004003d, + 0x00000009,0x00000015,0x00000014,0x0004007c,0x00000006,0x00000016,0x00000015,0x0003003e, + 0x00000012,0x00000016,0x00050041,0x0000000e,0x00000019,0x0000000c,0x00000018,0x0004003d, + 0x00000009,0x0000001a,0x00000019,0x0004007c,0x00000006,0x0000001b,0x0000001a,0x0003003e, + 0x00000017,0x0000001b,0x0004003d,0x00000006,0x0000001d,0x00000008,0x00050041,0x00000022, + 0x00000023,0x00000020,0x00000021,0x0004003d,0x00000006,0x00000024,0x00000023,0x000500af, + 0x0000001c,0x00000025,0x0000001d,0x00000024,0x000400a8,0x0000001c,0x00000026,0x00000025, + 0x000300f7,0x00000028,0x00000000,0x000400fa,0x00000026,0x00000027,0x00000028,0x000200f8, + 0x00000027,0x0004003d,0x00000006,0x00000029,0x00000012,0x00050041,0x00000022,0x0000002b, + 0x00000020,0x0000002a,0x0004003d,0x00000006,0x0000002c,0x0000002b,0x000500af,0x0000001c, + 0x0000002d,0x00000029,0x0000002c,0x000200f9,0x00000028,0x000200f8,0x00000028,0x000700f5, + 0x0000001c,0x0000002e,0x00000025,0x00000005,0x0000002d,0x00000027,0x000400a8,0x0000001c, + 0x0000002f,0x0000002e,0x000300f7,0x00000031,0x00000000,0x000400fa,0x0000002f,0x00000030, + 0x00000031,0x000200f8,0x00000030,0x0004003d,0x00000006,0x00000032,0x00000017,0x00050041, + 0x00000022,0x00000034,0x00000020,0x00000033,0x0004003d,0x00000006,0x00000035,0x00000034, + 0x000500af,0x0000001c,0x00000036,0x00000032,0x00000035,0x000200f9,0x00000031,0x000200f8, + 0x00000031,0x000700f5,0x0000001c,0x00000037,0x0000002e,0x00000028,0x00000036,0x00000030, + 0x000300f7,0x00000039,0x00000000,0x000400fa,0x00000037,0x00000038,0x00000039,0x000200f8, + 0x00000038,0x000100fd,0x000200f8,0x00000039,0x0004003d,0x00000006,0x0000003b,0x00000017, + 0x000500aa,0x0000001c,0x0000003d,0x0000003b,0x0000003c,0x000300f7,0x0000003f,0x00000000, + 0x000400fa,0x0000003d,0x0000003e,0x00000054,0x000200f8,0x0000003e,0x0004003d,0x00000006, + 0x00000049,0x00000012,0x00050041,0x00000022,0x0000004b,0x00000020,0x0000004a,0x0004003d, + 0x00000006,0x0000004c,0x0000004b,0x00050084,0x00000006,0x0000004d,0x00000049,0x0000004c, + 0x0004003d,0x00000006,0x0000004e,0x00000008,0x00050080,0x00000006,0x0000004f,0x0000004d, + 0x0000004e,0x00060041,0x00000050,0x00000051,0x00000047,0x00000048,0x0000004f,0x0004003d, + 0x00000043,0x00000052,0x00000051,0x00040073,0x00000040,0x00000053,0x00000052,0x0003003e, + 0x00000042,0x00000053,0x000200f9,0x0000003f,0x000200f8,0x00000054,0x0004003d,0x00000006, + 0x00000056,0x00000017,0x00050041,0x00000022,0x00000058,0x00000020,0x00000057,0x0004003d, + 0x00000006,0x00000059,0x00000058,0x00050084,0x00000006,0x0000005a,0x00000056,0x00000059, + 0x0003003e,0x00000055,0x0000005a,0x0004003d,0x00000006,0x0000005c,0x00000012,0x00050041, + 0x00000022,0x0000005e,0x00000020,0x0000005d,0x0004003d,0x00000006,0x0000005f,0x0000005e, + 0x00050080,0x00000006,0x00000060,0x0000005c,0x0000005f,0x0003003e,0x0000005b,0x00000060, + 0x0004003d,0x00000006,0x00000062,0x00000008,0x00050041,0x00000022,0x00000064,0x00000020, + 0x00000063,0x0004003d,0x00000006,0x00000065,0x00000064,0x00050080,0x00000006,0x00000066, + 0x00000062,0x00000065,0x0003003e,0x00000061,0x00000066,0x0004003d,0x00000006,0x0000006c, + 0x00000055,0x0004003d,0x00000006,0x0000006d,0x0000005b,0x00050041,0x00000022,0x0000006e, + 0x00000020,0x00000048,0x0004003d,0x00000006,0x0000006f,0x0000006e,0x00050084,0x00000006, + 0x00000070,0x0000006d,0x0000006f,0x00050080,0x00000006,0x00000071,0x0000006c,0x00000070, + 0x0004003d,0x00000006,0x00000072,0x00000061,0x00050080,0x00000006,0x00000073,0x00000071, + 0x00000072,0x00060041,0x00000050,0x00000074,0x0000006b,0x00000048,0x00000073,0x0004003d, + 0x00000043,0x00000075,0x00000074,0x00040073,0x00000040,0x00000076,0x00000075,0x0003003e, + 0x00000067,0x00000076,0x0004003d,0x00000006,0x0000007c,0x00000055,0x0004003d,0x00000006, + 0x0000007d,0x0000005b,0x00050041,0x00000022,0x0000007e,0x00000020,0x00000048,0x0004003d, + 0x00000006,0x0000007f,0x0000007e,0x00050084,0x00000006,0x00000080,0x0000007d,0x0000007f, + 0x00050080,0x00000006,0x00000081,0x0000007c,0x00000080,0x00050041,0x00000022,0x00000082, + 0x00000020,0x00000048,0x0004003d,0x00000006,0x00000083,0x00000082,0x00050082,0x00000006, + 0x00000085,0x00000083,0x00000084,0x0004003d,0x00000006,0x00000086,0x00000061,0x00050082, + 0x00000006,0x00000087,0x00000085,0x00000086,0x00050080,0x00000006,0x00000088,0x00000081, + 0x00000087,0x00060041,0x00000050,0x00000089,0x0000007b,0x00000048,0x00000088,0x0004003d, + 0x00000043,0x0000008a,0x00000089,0x00040073,0x00000040,0x0000008b,0x0000008a,0x0003003e, + 0x00000077,0x0000008b,0x0004003d,0x00000006,0x00000091,0x00000055,0x00050041,0x00000022, + 0x00000092,0x00000020,0x00000084,0x0004003d,0x00000006,0x00000093,0x00000092,0x00050082, + 0x00000006,0x00000094,0x00000093,0x00000084,0x0004003d,0x00000006,0x00000095,0x0000005b, + 0x00050082,0x00000006,0x00000096,0x00000094,0x00000095,0x00050041,0x00000022,0x00000097, + 0x00000020,0x00000048,0x0004003d,0x00000006,0x00000098,0x00000097,0x00050084,0x00000006, + 0x00000099,0x00000096,0x00000098,0x00050080,0x00000006,0x0000009a,0x00000091,0x00000099, + 0x00050041,0x00000022,0x0000009b,0x00000020,0x00000048,0x0004003d,0x00000006,0x0000009c, + 0x0000009b,0x00050082,0x00000006,0x0000009d,0x0000009c,0x00000084,0x0004003d,0x00000006, + 0x0000009e,0x00000061,0x00050082,0x00000006,0x0000009f,0x0000009d,0x0000009e,0x00050080, + 0x00000006,0x000000a0,0x0000009a,0x0000009f,0x00060041,0x00000050,0x000000a1,0x00000090, + 0x00000048,0x000000a0,0x0004003d,0x00000043,0x000000a2,0x000000a1,0x00040073,0x00000040, + 0x000000a3,0x000000a2,0x0003003e,0x0000008c,0x000000a3,0x0004003d,0x00000006,0x000000a9, + 0x00000055,0x00050041,0x00000022,0x000000aa,0x00000020,0x00000084,0x0004003d,0x00000006, + 0x000000ab,0x000000aa,0x00050082,0x00000006,0x000000ac,0x000000ab,0x00000084,0x0004003d, + 0x00000006,0x000000ad,0x0000005b,0x00050082,0x00000006,0x000000ae,0x000000ac,0x000000ad, + 0x00050041,0x00000022,0x000000af,0x00000020,0x00000048,0x0004003d,0x00000006,0x000000b0, + 0x000000af,0x00050084,0x00000006,0x000000b1,0x000000ae,0x000000b0,0x00050080,0x00000006, + 0x000000b2,0x000000a9,0x000000b1,0x0004003d,0x00000006,0x000000b3,0x00000061,0x00050080, + 0x00000006,0x000000b4,0x000000b2,0x000000b3,0x00060041,0x00000050,0x000000b5,0x000000a8, + 0x00000048,0x000000b4,0x0004003d,0x00000043,0x000000b6,0x000000b5,0x00040073,0x00000040, + 0x000000b7,0x000000b6,0x0003003e,0x000000a4,0x000000b7,0x0004003d,0x00000006,0x000000bd, + 0x00000055,0x0004003d,0x00000006,0x000000be,0x00000061,0x00050041,0x00000022,0x000000bf, + 0x00000020,0x00000084,0x0004003d,0x00000006,0x000000c0,0x000000bf,0x00050084,0x00000006, + 0x000000c1,0x000000be,0x000000c0,0x00050080,0x00000006,0x000000c2,0x000000bd,0x000000c1, + 0x0004003d,0x00000006,0x000000c3,0x0000005b,0x00050080,0x00000006,0x000000c4,0x000000c2, + 0x000000c3,0x00060041,0x00000050,0x000000c5,0x000000bc,0x00000048,0x000000c4,0x0004003d, + 0x00000043,0x000000c6,0x000000c5,0x00040073,0x00000040,0x000000c7,0x000000c6,0x0003003e, + 0x000000b8,0x000000c7,0x0004003d,0x00000006,0x000000cd,0x00000055,0x0004003d,0x00000006, + 0x000000ce,0x00000061,0x00050041,0x00000022,0x000000cf,0x00000020,0x00000084,0x0004003d, + 0x00000006,0x000000d0,0x000000cf,0x00050084,0x00000006,0x000000d1,0x000000ce,0x000000d0, + 0x00050080,0x00000006,0x000000d2,0x000000cd,0x000000d1,0x00050041,0x00000022,0x000000d3, + 0x00000020,0x00000084,0x0004003d,0x00000006,0x000000d4,0x000000d3,0x00050082,0x00000006, + 0x000000d5,0x000000d4,0x00000084,0x0004003d,0x00000006,0x000000d6,0x0000005b,0x00050082, + 0x00000006,0x000000d7,0x000000d5,0x000000d6,0x00050080,0x00000006,0x000000d8,0x000000d2, + 0x000000d7,0x00060041,0x00000050,0x000000d9,0x000000cc,0x00000048,0x000000d8,0x0004003d, + 0x00000043,0x000000da,0x000000d9,0x00040073,0x00000040,0x000000db,0x000000da,0x0003003e, + 0x000000c8,0x000000db,0x0004003d,0x00000006,0x000000e1,0x00000055,0x00050041,0x00000022, + 0x000000e2,0x00000020,0x00000048,0x0004003d,0x00000006,0x000000e3,0x000000e2,0x00050082, + 0x00000006,0x000000e4,0x000000e3,0x00000084,0x0004003d,0x00000006,0x000000e5,0x00000061, + 0x00050082,0x00000006,0x000000e6,0x000000e4,0x000000e5,0x00050041,0x00000022,0x000000e7, + 0x00000020,0x00000084,0x0004003d,0x00000006,0x000000e8,0x000000e7,0x00050084,0x00000006, + 0x000000e9,0x000000e6,0x000000e8,0x00050080,0x00000006,0x000000ea,0x000000e1,0x000000e9, + 0x00050041,0x00000022,0x000000eb,0x00000020,0x00000084,0x0004003d,0x00000006,0x000000ec, + 0x000000eb,0x00050082,0x00000006,0x000000ed,0x000000ec,0x00000084,0x0004003d,0x00000006, + 0x000000ee,0x0000005b,0x00050082,0x00000006,0x000000ef,0x000000ed,0x000000ee,0x00050080, + 0x00000006,0x000000f0,0x000000ea,0x000000ef,0x00060041,0x00000050,0x000000f1,0x000000e0, + 0x00000048,0x000000f0,0x0004003d,0x00000043,0x000000f2,0x000000f1,0x00040073,0x00000040, + 0x000000f3,0x000000f2,0x0003003e,0x000000dc,0x000000f3,0x0004003d,0x00000006,0x000000f9, + 0x00000055,0x00050041,0x00000022,0x000000fa,0x00000020,0x00000048,0x0004003d,0x00000006, + 0x000000fb,0x000000fa,0x00050082,0x00000006,0x000000fc,0x000000fb,0x00000084,0x0004003d, + 0x00000006,0x000000fd,0x00000061,0x00050082,0x00000006,0x000000fe,0x000000fc,0x000000fd, + 0x00050041,0x00000022,0x000000ff,0x00000020,0x00000084,0x0004003d,0x00000006,0x00000100, + 0x000000ff,0x00050084,0x00000006,0x00000101,0x000000fe,0x00000100,0x00050080,0x00000006, + 0x00000102,0x000000f9,0x00000101,0x0004003d,0x00000006,0x00000103,0x0000005b,0x00050080, + 0x00000006,0x00000104,0x00000102,0x00000103,0x00060041,0x00000050,0x00000105,0x000000f8, + 0x00000048,0x00000104,0x0004003d,0x00000043,0x00000106,0x00000105,0x00040073,0x00000040, + 0x00000107,0x00000106,0x0003003e,0x000000f4,0x00000107,0x0004003d,0x00000040,0x00000108, + 0x00000067,0x0004003d,0x00000040,0x00000109,0x00000077,0x00050081,0x00000040,0x0000010a, + 0x00000108,0x00000109,0x0004003d,0x00000040,0x0000010b,0x0000008c,0x00050081,0x00000040, + 0x0000010c,0x0000010a,0x0000010b,0x0004003d,0x00000040,0x0000010d,0x000000a4,0x00050081, + 0x00000040,0x0000010e,0x0000010c,0x0000010d,0x0004003d,0x00000040,0x0000010f,0x000000b8, + 0x00050081,0x00000040,0x00000110,0x0000010e,0x0000010f,0x0004003d,0x00000040,0x00000111, + 0x000000c8,0x00050081,0x00000040,0x00000112,0x00000110,0x00000111,0x0004003d,0x00000040, + 0x00000113,0x000000dc,0x00050081,0x00000040,0x00000114,0x00000112,0x00000113,0x0004003d, + 0x00000040,0x00000115,0x000000f4,0x00050081,0x00000040,0x00000116,0x00000114,0x00000115, + 0x00050085,0x00000040,0x00000118,0x00000116,0x00000117,0x0003003e,0x00000042,0x00000118, + 0x0004003d,0x00000040,0x00000119,0x00000042,0x00050085,0x00000040,0x0000011b,0x00000119, + 0x0000011a,0x0003003e,0x00000042,0x0000011b,0x000200f9,0x0000003f,0x000200f8,0x0000003f, + 0x0004003d,0x00000040,0x0000011c,0x00000042,0x00050081,0x00000040,0x0000011e,0x0000011c, + 0x0000011d,0x0003003e,0x00000042,0x0000011e,0x0004003d,0x00000006,0x00000120,0x00000012, + 0x00050041,0x00000022,0x00000121,0x00000020,0x0000003c,0x0004003d,0x00000006,0x00000122, + 0x00000121,0x00050084,0x00000006,0x00000123,0x00000120,0x00000122,0x0004003d,0x00000006, + 0x00000124,0x00000008,0x00050080,0x00000006,0x00000125,0x00000123,0x00000124,0x00050041, + 0x00000022,0x00000127,0x00000020,0x00000126,0x0004003d,0x00000006,0x00000128,0x00000127, + 0x00050080,0x00000006,0x00000129,0x00000125,0x00000128,0x0003003e,0x0000011f,0x00000129, + 0x0004003d,0x00000040,0x0000012c,0x00000042,0x0006000c,0x00000040,0x0000012d,0x00000001, + 0x00000008,0x0000012c,0x0004006d,0x00000009,0x0000012e,0x0000012d,0x0008000c,0x00000009, + 0x00000130,0x00000001,0x0000002c,0x0000012e,0x0000000d,0x0000012f,0x0003003e,0x0000012b, + 0x00000130,0x0004003d,0x00000006,0x00000133,0x00000017,0x000500ab,0x0000001c,0x00000134, + 0x00000133,0x0000003c,0x000500a7,0x0000001c,0x00000135,0x00000132,0x00000134,0x000300f7, + 0x00000137,0x00000000,0x000400fa,0x00000135,0x00000136,0x00000148,0x000200f8,0x00000136, + 0x0004003d,0x00000006,0x0000013d,0x0000011f,0x00050041,0x00000022,0x0000013e,0x00000020, + 0x00000033,0x0004003d,0x00000006,0x0000013f,0x0000013e,0x00050084,0x00000006,0x00000140, + 0x0000013d,0x0000013f,0x00050080,0x00000006,0x00000141,0x00000140,0x00000057,0x0004003d, + 0x00000006,0x00000142,0x00000017,0x00050082,0x00000006,0x00000143,0x00000141,0x00000142, + 0x0004003d,0x00000009,0x00000144,0x0000012b,0x00040071,0x00000138,0x00000145,0x00000144, + 0x00060041,0x00000146,0x00000147,0x0000013c,0x00000048,0x00000143,0x0003003e,0x00000147, + 0x00000145,0x000200f9,0x00000137,0x000200f8,0x00000148,0x0004003d,0x00000006,0x00000149, + 0x0000011f,0x00050041,0x00000022,0x0000014a,0x00000020,0x00000033,0x0004003d,0x00000006, + 0x0000014b,0x0000014a,0x00050084,0x00000006,0x0000014c,0x00000149,0x0000014b,0x0004003d, + 0x00000006,0x0000014d,0x00000017,0x00050080,0x00000006,0x0000014e,0x0000014c,0x0000014d, + 0x0004003d,0x00000009,0x0000014f,0x0000012b,0x00040071,0x00000138,0x00000150,0x0000014f, + 0x00060041,0x00000146,0x00000151,0x0000013c,0x00000048,0x0000014e,0x0003003e,0x00000151, + 0x00000150,0x000200f9,0x00000137,0x000200f8,0x00000137,0x000100fd,0x00010038 diff --git a/src/realesrgan/shader/realesrgan_preproc.spv.hex.h b/src/realesrgan/shader/realesrgan_preproc.spv.hex.h new file mode 100644 index 0000000..ae350ba --- /dev/null +++ b/src/realesrgan/shader/realesrgan_preproc.spv.hex.h @@ -0,0 +1,161 @@ + // 1011.6.0 + 0x07230203,0x00010000,0x0008000a,0x000000c6,0x00000000,0x00020011,0x00000001,0x0006000b, + 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001, + 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00060010,0x00000004, + 0x00000011,0x00000001,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005, + 0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000008,0x00007867,0x00080005,0x0000000c, + 0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00030005,0x00000012, + 0x00007967,0x00030005,0x00000017,0x00007a67,0x00050005,0x0000001e,0x61726170,0x6574656d, + 0x00000072,0x00040006,0x0000001e,0x00000000,0x00000077,0x00040006,0x0000001e,0x00000001, + 0x00000068,0x00050006,0x0000001e,0x00000002,0x65747363,0x00000070,0x00050006,0x0000001e, + 0x00000003,0x7774756f,0x00000000,0x00050006,0x0000001e,0x00000004,0x6874756f,0x00000000, + 0x00060006,0x0000001e,0x00000005,0x6374756f,0x70657473,0x00000000,0x00050006,0x0000001e, + 0x00000006,0x5f646170,0x00706f74,0x00060006,0x0000001e,0x00000007,0x5f646170,0x7466656c, + 0x00000000,0x00050006,0x0000001e,0x00000008,0x706f7263,0x0000785f,0x00050006,0x0000001e, + 0x00000009,0x706f7263,0x0000795f,0x00060006,0x0000001e,0x0000000a,0x6e616863,0x736c656e, + 0x00000000,0x00050006,0x0000001e,0x0000000b,0x68706c61,0x00007761,0x00050006,0x0000001e, + 0x0000000c,0x68706c61,0x00006861,0x00030005,0x00000020,0x00000070,0x00030005,0x0000003b, + 0x00000078,0x00030005,0x00000045,0x00000079,0x00050005,0x00000069,0x666f5f76,0x74657366, + 0x00000000,0x00030005,0x00000078,0x00000076,0x00050005,0x0000007a,0x74746f62,0x625f6d6f, + 0x00626f6c,0x00080006,0x0000007a,0x00000000,0x74746f62,0x625f6d6f,0x5f626f6c,0x61746164, + 0x00000000,0x00030005,0x0000007c,0x00000000,0x00050005,0x000000a5,0x68706c61,0x6c625f61, + 0x0000626f,0x00070006,0x000000a5,0x00000000,0x68706c61,0x6c625f61,0x645f626f,0x00617461, + 0x00030005,0x000000a7,0x00000000,0x00050005,0x000000b2,0x5f706f74,0x626f6c62,0x00000000, + 0x00070006,0x000000b2,0x00000000,0x5f706f74,0x626f6c62,0x7461645f,0x00000061,0x00030005, + 0x000000b4,0x00000000,0x00030005,0x000000c5,0x00726762,0x00040047,0x0000000c,0x0000000b, + 0x0000001c,0x00050048,0x0000001e,0x00000000,0x00000023,0x00000000,0x00050048,0x0000001e, + 0x00000001,0x00000023,0x00000004,0x00050048,0x0000001e,0x00000002,0x00000023,0x00000008, + 0x00050048,0x0000001e,0x00000003,0x00000023,0x0000000c,0x00050048,0x0000001e,0x00000004, + 0x00000023,0x00000010,0x00050048,0x0000001e,0x00000005,0x00000023,0x00000014,0x00050048, + 0x0000001e,0x00000006,0x00000023,0x00000018,0x00050048,0x0000001e,0x00000007,0x00000023, + 0x0000001c,0x00050048,0x0000001e,0x00000008,0x00000023,0x00000020,0x00050048,0x0000001e, + 0x00000009,0x00000023,0x00000024,0x00050048,0x0000001e,0x0000000a,0x00000023,0x00000028, + 0x00050048,0x0000001e,0x0000000b,0x00000023,0x0000002c,0x00050048,0x0000001e,0x0000000c, + 0x00000023,0x00000030,0x00030047,0x0000001e,0x00000002,0x00040047,0x00000079,0x00000006, + 0x00000004,0x00040048,0x0000007a,0x00000000,0x00000018,0x00050048,0x0000007a,0x00000000, + 0x00000023,0x00000000,0x00030047,0x0000007a,0x00000003,0x00040047,0x0000007c,0x00000022, + 0x00000000,0x00040047,0x0000007c,0x00000021,0x00000000,0x00040047,0x000000a4,0x00000006, + 0x00000004,0x00040048,0x000000a5,0x00000000,0x00000019,0x00050048,0x000000a5,0x00000000, + 0x00000023,0x00000000,0x00030047,0x000000a5,0x00000003,0x00040047,0x000000a7,0x00000022, + 0x00000000,0x00040047,0x000000a7,0x00000021,0x00000002,0x00040047,0x000000b1,0x00000006, + 0x00000004,0x00040048,0x000000b2,0x00000000,0x00000019,0x00050048,0x000000b2,0x00000000, + 0x00000023,0x00000000,0x00030047,0x000000b2,0x00000003,0x00040047,0x000000b4,0x00000022, + 0x00000000,0x00040047,0x000000b4,0x00000021,0x00000001,0x00040047,0x000000c5,0x00000001, + 0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006, + 0x00000020,0x00000001,0x00040020,0x00000007,0x00000007,0x00000006,0x00040015,0x00000009, + 0x00000020,0x00000000,0x00040017,0x0000000a,0x00000009,0x00000003,0x00040020,0x0000000b, + 0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x0004002b,0x00000009, + 0x0000000d,0x00000000,0x00040020,0x0000000e,0x00000001,0x00000009,0x0004002b,0x00000009, + 0x00000013,0x00000001,0x0004002b,0x00000009,0x00000018,0x00000002,0x00020014,0x0000001c, + 0x000f001e,0x0000001e,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020, + 0x0000001f,0x00000009,0x0000001e,0x0004003b,0x0000001f,0x00000020,0x00000009,0x0004002b, + 0x00000006,0x00000021,0x00000003,0x00040020,0x00000022,0x00000009,0x00000006,0x0004002b, + 0x00000006,0x0000002a,0x00000004,0x0004002b,0x00000006,0x00000033,0x0000000a,0x0004002b, + 0x00000006,0x0000003d,0x00000008,0x0004002b,0x00000006,0x00000041,0x00000007,0x0004002b, + 0x00000006,0x00000047,0x00000009,0x0004002b,0x00000006,0x0000004b,0x00000006,0x0004002b, + 0x00000006,0x00000053,0x00000000,0x0004002b,0x00000006,0x00000056,0x00000001,0x0004002b, + 0x00000006,0x0000006b,0x00000002,0x00030016,0x00000076,0x00000020,0x00040020,0x00000077, + 0x00000007,0x00000076,0x0003001d,0x00000079,0x00000076,0x0003001e,0x0000007a,0x00000079, + 0x00040020,0x0000007b,0x00000002,0x0000007a,0x0004003b,0x0000007b,0x0000007c,0x00000002, + 0x00040020,0x0000007e,0x00000002,0x00000076,0x0004002b,0x00000006,0x00000092,0x0000000b, + 0x0004002b,0x00000006,0x0000009d,0x0000000c,0x0003001d,0x000000a4,0x00000076,0x0003001e, + 0x000000a5,0x000000a4,0x00040020,0x000000a6,0x00000002,0x000000a5,0x0004003b,0x000000a6, + 0x000000a7,0x00000002,0x0003001d,0x000000b1,0x00000076,0x0003001e,0x000000b2,0x000000b1, + 0x00040020,0x000000b3,0x00000002,0x000000b2,0x0004003b,0x000000b3,0x000000b4,0x00000002, + 0x0004002b,0x00000006,0x000000b6,0x00000005,0x0004002b,0x00000076,0x000000c2,0x3b808081, + 0x00040032,0x00000006,0x000000c5,0x00000000,0x00050036,0x00000002,0x00000004,0x00000000, + 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000008,0x00000007,0x0004003b, + 0x00000007,0x00000012,0x00000007,0x0004003b,0x00000007,0x00000017,0x00000007,0x0004003b, + 0x00000007,0x0000003b,0x00000007,0x0004003b,0x00000007,0x00000045,0x00000007,0x0004003b, + 0x00000007,0x00000069,0x00000007,0x0004003b,0x00000077,0x00000078,0x00000007,0x00050041, + 0x0000000e,0x0000000f,0x0000000c,0x0000000d,0x0004003d,0x00000009,0x00000010,0x0000000f, + 0x0004007c,0x00000006,0x00000011,0x00000010,0x0003003e,0x00000008,0x00000011,0x00050041, + 0x0000000e,0x00000014,0x0000000c,0x00000013,0x0004003d,0x00000009,0x00000015,0x00000014, + 0x0004007c,0x00000006,0x00000016,0x00000015,0x0003003e,0x00000012,0x00000016,0x00050041, + 0x0000000e,0x00000019,0x0000000c,0x00000018,0x0004003d,0x00000009,0x0000001a,0x00000019, + 0x0004007c,0x00000006,0x0000001b,0x0000001a,0x0003003e,0x00000017,0x0000001b,0x0004003d, + 0x00000006,0x0000001d,0x00000008,0x00050041,0x00000022,0x00000023,0x00000020,0x00000021, + 0x0004003d,0x00000006,0x00000024,0x00000023,0x000500af,0x0000001c,0x00000025,0x0000001d, + 0x00000024,0x000400a8,0x0000001c,0x00000026,0x00000025,0x000300f7,0x00000028,0x00000000, + 0x000400fa,0x00000026,0x00000027,0x00000028,0x000200f8,0x00000027,0x0004003d,0x00000006, + 0x00000029,0x00000012,0x00050041,0x00000022,0x0000002b,0x00000020,0x0000002a,0x0004003d, + 0x00000006,0x0000002c,0x0000002b,0x000500af,0x0000001c,0x0000002d,0x00000029,0x0000002c, + 0x000200f9,0x00000028,0x000200f8,0x00000028,0x000700f5,0x0000001c,0x0000002e,0x00000025, + 0x00000005,0x0000002d,0x00000027,0x000400a8,0x0000001c,0x0000002f,0x0000002e,0x000300f7, + 0x00000031,0x00000000,0x000400fa,0x0000002f,0x00000030,0x00000031,0x000200f8,0x00000030, + 0x0004003d,0x00000006,0x00000032,0x00000017,0x00050041,0x00000022,0x00000034,0x00000020, + 0x00000033,0x0004003d,0x00000006,0x00000035,0x00000034,0x000500af,0x0000001c,0x00000036, + 0x00000032,0x00000035,0x000200f9,0x00000031,0x000200f8,0x00000031,0x000700f5,0x0000001c, + 0x00000037,0x0000002e,0x00000028,0x00000036,0x00000030,0x000300f7,0x00000039,0x00000000, + 0x000400fa,0x00000037,0x00000038,0x00000039,0x000200f8,0x00000038,0x000100fd,0x000200f8, + 0x00000039,0x0004003d,0x00000006,0x0000003c,0x00000008,0x00050041,0x00000022,0x0000003e, + 0x00000020,0x0000003d,0x0004003d,0x00000006,0x0000003f,0x0000003e,0x00050080,0x00000006, + 0x00000040,0x0000003c,0x0000003f,0x00050041,0x00000022,0x00000042,0x00000020,0x00000041, + 0x0004003d,0x00000006,0x00000043,0x00000042,0x00050082,0x00000006,0x00000044,0x00000040, + 0x00000043,0x0003003e,0x0000003b,0x00000044,0x0004003d,0x00000006,0x00000046,0x00000012, + 0x00050041,0x00000022,0x00000048,0x00000020,0x00000047,0x0004003d,0x00000006,0x00000049, + 0x00000048,0x00050080,0x00000006,0x0000004a,0x00000046,0x00000049,0x00050041,0x00000022, + 0x0000004c,0x00000020,0x0000004b,0x0004003d,0x00000006,0x0000004d,0x0000004c,0x00050082, + 0x00000006,0x0000004e,0x0000004a,0x0000004d,0x0003003e,0x00000045,0x0000004e,0x0004003d, + 0x00000006,0x0000004f,0x0000003b,0x0006000c,0x00000006,0x00000050,0x00000001,0x00000005, + 0x0000004f,0x0003003e,0x0000003b,0x00000050,0x0004003d,0x00000006,0x00000051,0x00000045, + 0x0006000c,0x00000006,0x00000052,0x00000001,0x00000005,0x00000051,0x0003003e,0x00000045, + 0x00000052,0x00050041,0x00000022,0x00000054,0x00000020,0x00000053,0x0004003d,0x00000006, + 0x00000055,0x00000054,0x00050082,0x00000006,0x00000057,0x00000055,0x00000056,0x0004003d, + 0x00000006,0x00000058,0x0000003b,0x00050041,0x00000022,0x00000059,0x00000020,0x00000053, + 0x0004003d,0x00000006,0x0000005a,0x00000059,0x00050082,0x00000006,0x0000005b,0x0000005a, + 0x00000056,0x00050082,0x00000006,0x0000005c,0x00000058,0x0000005b,0x0006000c,0x00000006, + 0x0000005d,0x00000001,0x00000005,0x0000005c,0x00050082,0x00000006,0x0000005e,0x00000057, + 0x0000005d,0x0003003e,0x0000003b,0x0000005e,0x00050041,0x00000022,0x0000005f,0x00000020, + 0x00000056,0x0004003d,0x00000006,0x00000060,0x0000005f,0x00050082,0x00000006,0x00000061, + 0x00000060,0x00000056,0x0004003d,0x00000006,0x00000062,0x00000045,0x00050041,0x00000022, + 0x00000063,0x00000020,0x00000056,0x0004003d,0x00000006,0x00000064,0x00000063,0x00050082, + 0x00000006,0x00000065,0x00000064,0x00000056,0x00050082,0x00000006,0x00000066,0x00000062, + 0x00000065,0x0006000c,0x00000006,0x00000067,0x00000001,0x00000005,0x00000066,0x00050082, + 0x00000006,0x00000068,0x00000061,0x00000067,0x0003003e,0x00000045,0x00000068,0x0004003d, + 0x00000006,0x0000006a,0x00000017,0x00050041,0x00000022,0x0000006c,0x00000020,0x0000006b, + 0x0004003d,0x00000006,0x0000006d,0x0000006c,0x00050084,0x00000006,0x0000006e,0x0000006a, + 0x0000006d,0x0004003d,0x00000006,0x0000006f,0x00000045,0x00050041,0x00000022,0x00000070, + 0x00000020,0x00000053,0x0004003d,0x00000006,0x00000071,0x00000070,0x00050084,0x00000006, + 0x00000072,0x0000006f,0x00000071,0x00050080,0x00000006,0x00000073,0x0000006e,0x00000072, + 0x0004003d,0x00000006,0x00000074,0x0000003b,0x00050080,0x00000006,0x00000075,0x00000073, + 0x00000074,0x0003003e,0x00000069,0x00000075,0x0004003d,0x00000006,0x0000007d,0x00000069, + 0x00060041,0x0000007e,0x0000007f,0x0000007c,0x00000053,0x0000007d,0x0004003d,0x00000076, + 0x00000080,0x0000007f,0x0003003e,0x00000078,0x00000080,0x0004003d,0x00000006,0x00000081, + 0x00000017,0x000500aa,0x0000001c,0x00000082,0x00000081,0x00000021,0x000300f7,0x00000084, + 0x00000000,0x000400fa,0x00000082,0x00000083,0x000000b0,0x000200f8,0x00000083,0x00050041, + 0x00000022,0x00000085,0x00000020,0x00000041,0x0004003d,0x00000006,0x00000086,0x00000085, + 0x0004003d,0x00000006,0x00000087,0x00000008,0x00050082,0x00000006,0x00000088,0x00000087, + 0x00000086,0x0003003e,0x00000008,0x00000088,0x00050041,0x00000022,0x00000089,0x00000020, + 0x0000004b,0x0004003d,0x00000006,0x0000008a,0x00000089,0x0004003d,0x00000006,0x0000008b, + 0x00000012,0x00050082,0x00000006,0x0000008c,0x0000008b,0x0000008a,0x0003003e,0x00000012, + 0x0000008c,0x0004003d,0x00000006,0x0000008d,0x00000008,0x000500af,0x0000001c,0x0000008e, + 0x0000008d,0x00000053,0x000300f7,0x00000090,0x00000000,0x000400fa,0x0000008e,0x0000008f, + 0x00000090,0x000200f8,0x0000008f,0x0004003d,0x00000006,0x00000091,0x00000008,0x00050041, + 0x00000022,0x00000093,0x00000020,0x00000092,0x0004003d,0x00000006,0x00000094,0x00000093, + 0x000500b1,0x0000001c,0x00000095,0x00000091,0x00000094,0x000200f9,0x00000090,0x000200f8, + 0x00000090,0x000700f5,0x0000001c,0x00000096,0x0000008e,0x00000083,0x00000095,0x0000008f, + 0x0004003d,0x00000006,0x00000097,0x00000012,0x000500af,0x0000001c,0x00000098,0x00000097, + 0x00000053,0x000500a7,0x0000001c,0x00000099,0x00000096,0x00000098,0x000300f7,0x0000009b, + 0x00000000,0x000400fa,0x00000099,0x0000009a,0x0000009b,0x000200f8,0x0000009a,0x0004003d, + 0x00000006,0x0000009c,0x00000012,0x00050041,0x00000022,0x0000009e,0x00000020,0x0000009d, + 0x0004003d,0x00000006,0x0000009f,0x0000009e,0x000500b1,0x0000001c,0x000000a0,0x0000009c, + 0x0000009f,0x000200f9,0x0000009b,0x000200f8,0x0000009b,0x000700f5,0x0000001c,0x000000a1, + 0x00000099,0x00000090,0x000000a0,0x0000009a,0x000300f7,0x000000a3,0x00000000,0x000400fa, + 0x000000a1,0x000000a2,0x000000a3,0x000200f8,0x000000a2,0x0004003d,0x00000006,0x000000a8, + 0x00000012,0x00050041,0x00000022,0x000000a9,0x00000020,0x00000092,0x0004003d,0x00000006, + 0x000000aa,0x000000a9,0x00050084,0x00000006,0x000000ab,0x000000a8,0x000000aa,0x0004003d, + 0x00000006,0x000000ac,0x00000008,0x00050080,0x00000006,0x000000ad,0x000000ab,0x000000ac, + 0x0004003d,0x00000076,0x000000ae,0x00000078,0x00060041,0x0000007e,0x000000af,0x000000a7, + 0x00000053,0x000000ad,0x0003003e,0x000000af,0x000000ae,0x000200f9,0x000000a3,0x000200f8, + 0x000000a3,0x000200f9,0x00000084,0x000200f8,0x000000b0,0x0004003d,0x00000006,0x000000b5, + 0x00000017,0x00050041,0x00000022,0x000000b7,0x00000020,0x000000b6,0x0004003d,0x00000006, + 0x000000b8,0x000000b7,0x00050084,0x00000006,0x000000b9,0x000000b5,0x000000b8,0x0004003d, + 0x00000006,0x000000ba,0x00000012,0x00050041,0x00000022,0x000000bb,0x00000020,0x00000021, + 0x0004003d,0x00000006,0x000000bc,0x000000bb,0x00050084,0x00000006,0x000000bd,0x000000ba, + 0x000000bc,0x00050080,0x00000006,0x000000be,0x000000b9,0x000000bd,0x0004003d,0x00000006, + 0x000000bf,0x00000008,0x00050080,0x00000006,0x000000c0,0x000000be,0x000000bf,0x0004003d, + 0x00000076,0x000000c1,0x00000078,0x00050085,0x00000076,0x000000c3,0x000000c1,0x000000c2, + 0x00060041,0x0000007e,0x000000c4,0x000000b4,0x00000053,0x000000c0,0x0003003e,0x000000c4, + 0x000000c3,0x000200f9,0x00000084,0x000200f8,0x00000084,0x000100fd,0x00010038 diff --git a/src/realesrgan/shader/realesrgan_preproc_fp16s.spv.hex.h b/src/realesrgan/shader/realesrgan_preproc_fp16s.spv.hex.h new file mode 100644 index 0000000..ff075cc --- /dev/null +++ b/src/realesrgan/shader/realesrgan_preproc_fp16s.spv.hex.h @@ -0,0 +1,165 @@ + // 1011.6.0 + 0x07230203,0x00010000,0x0008000a,0x000000ca,0x00000000,0x00020011,0x00000001,0x00020011, + 0x00001151,0x0007000a,0x5f565053,0x5f52484b,0x69623631,0x74735f74,0x6761726f,0x00000065, + 0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000, + 0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00060010, + 0x00000004,0x00000011,0x00000001,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2, + 0x00080004,0x455f4c47,0x735f5458,0x65646168,0x36315f72,0x5f746962,0x726f7473,0x00656761, + 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000008,0x00007867,0x00080005, + 0x0000000c,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00030005, + 0x00000012,0x00007967,0x00030005,0x00000017,0x00007a67,0x00050005,0x0000001e,0x61726170, + 0x6574656d,0x00000072,0x00040006,0x0000001e,0x00000000,0x00000077,0x00040006,0x0000001e, + 0x00000001,0x00000068,0x00050006,0x0000001e,0x00000002,0x65747363,0x00000070,0x00050006, + 0x0000001e,0x00000003,0x7774756f,0x00000000,0x00050006,0x0000001e,0x00000004,0x6874756f, + 0x00000000,0x00060006,0x0000001e,0x00000005,0x6374756f,0x70657473,0x00000000,0x00050006, + 0x0000001e,0x00000006,0x5f646170,0x00706f74,0x00060006,0x0000001e,0x00000007,0x5f646170, + 0x7466656c,0x00000000,0x00050006,0x0000001e,0x00000008,0x706f7263,0x0000785f,0x00050006, + 0x0000001e,0x00000009,0x706f7263,0x0000795f,0x00060006,0x0000001e,0x0000000a,0x6e616863, + 0x736c656e,0x00000000,0x00050006,0x0000001e,0x0000000b,0x68706c61,0x00007761,0x00050006, + 0x0000001e,0x0000000c,0x68706c61,0x00006861,0x00030005,0x00000020,0x00000070,0x00030005, + 0x0000003b,0x00000078,0x00030005,0x00000045,0x00000079,0x00050005,0x00000069,0x666f5f76, + 0x74657366,0x00000000,0x00030005,0x00000078,0x00000076,0x00050005,0x0000007a,0x74746f62, + 0x625f6d6f,0x00626f6c,0x00080006,0x0000007a,0x00000000,0x74746f62,0x625f6d6f,0x5f626f6c, + 0x61746164,0x00000000,0x00030005,0x0000007c,0x00000000,0x00050005,0x000000a6,0x68706c61, + 0x6c625f61,0x0000626f,0x00070006,0x000000a6,0x00000000,0x68706c61,0x6c625f61,0x645f626f, + 0x00617461,0x00030005,0x000000a8,0x00000000,0x00050005,0x000000b5,0x5f706f74,0x626f6c62, + 0x00000000,0x00070006,0x000000b5,0x00000000,0x5f706f74,0x626f6c62,0x7461645f,0x00000061, + 0x00030005,0x000000b7,0x00000000,0x00030005,0x000000c9,0x00726762,0x00040047,0x0000000c, + 0x0000000b,0x0000001c,0x00050048,0x0000001e,0x00000000,0x00000023,0x00000000,0x00050048, + 0x0000001e,0x00000001,0x00000023,0x00000004,0x00050048,0x0000001e,0x00000002,0x00000023, + 0x00000008,0x00050048,0x0000001e,0x00000003,0x00000023,0x0000000c,0x00050048,0x0000001e, + 0x00000004,0x00000023,0x00000010,0x00050048,0x0000001e,0x00000005,0x00000023,0x00000014, + 0x00050048,0x0000001e,0x00000006,0x00000023,0x00000018,0x00050048,0x0000001e,0x00000007, + 0x00000023,0x0000001c,0x00050048,0x0000001e,0x00000008,0x00000023,0x00000020,0x00050048, + 0x0000001e,0x00000009,0x00000023,0x00000024,0x00050048,0x0000001e,0x0000000a,0x00000023, + 0x00000028,0x00050048,0x0000001e,0x0000000b,0x00000023,0x0000002c,0x00050048,0x0000001e, + 0x0000000c,0x00000023,0x00000030,0x00030047,0x0000001e,0x00000002,0x00040047,0x00000079, + 0x00000006,0x00000004,0x00040048,0x0000007a,0x00000000,0x00000018,0x00050048,0x0000007a, + 0x00000000,0x00000023,0x00000000,0x00030047,0x0000007a,0x00000003,0x00040047,0x0000007c, + 0x00000022,0x00000000,0x00040047,0x0000007c,0x00000021,0x00000000,0x00040047,0x000000a5, + 0x00000006,0x00000002,0x00040048,0x000000a6,0x00000000,0x00000019,0x00050048,0x000000a6, + 0x00000000,0x00000023,0x00000000,0x00030047,0x000000a6,0x00000003,0x00040047,0x000000a8, + 0x00000022,0x00000000,0x00040047,0x000000a8,0x00000021,0x00000002,0x00040047,0x000000b4, + 0x00000006,0x00000002,0x00040048,0x000000b5,0x00000000,0x00000019,0x00050048,0x000000b5, + 0x00000000,0x00000023,0x00000000,0x00030047,0x000000b5,0x00000003,0x00040047,0x000000b7, + 0x00000022,0x00000000,0x00040047,0x000000b7,0x00000021,0x00000001,0x00040047,0x000000c9, + 0x00000001,0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00040015, + 0x00000006,0x00000020,0x00000001,0x00040020,0x00000007,0x00000007,0x00000006,0x00040015, + 0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a,0x00000009,0x00000003,0x00040020, + 0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001,0x0004002b, + 0x00000009,0x0000000d,0x00000000,0x00040020,0x0000000e,0x00000001,0x00000009,0x0004002b, + 0x00000009,0x00000013,0x00000001,0x0004002b,0x00000009,0x00000018,0x00000002,0x00020014, + 0x0000001c,0x000f001e,0x0000001e,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00040020,0x0000001f,0x00000009,0x0000001e,0x0004003b,0x0000001f,0x00000020,0x00000009, + 0x0004002b,0x00000006,0x00000021,0x00000003,0x00040020,0x00000022,0x00000009,0x00000006, + 0x0004002b,0x00000006,0x0000002a,0x00000004,0x0004002b,0x00000006,0x00000033,0x0000000a, + 0x0004002b,0x00000006,0x0000003d,0x00000008,0x0004002b,0x00000006,0x00000041,0x00000007, + 0x0004002b,0x00000006,0x00000047,0x00000009,0x0004002b,0x00000006,0x0000004b,0x00000006, + 0x0004002b,0x00000006,0x00000053,0x00000000,0x0004002b,0x00000006,0x00000056,0x00000001, + 0x0004002b,0x00000006,0x0000006b,0x00000002,0x00030016,0x00000076,0x00000020,0x00040020, + 0x00000077,0x00000007,0x00000076,0x0003001d,0x00000079,0x00000076,0x0003001e,0x0000007a, + 0x00000079,0x00040020,0x0000007b,0x00000002,0x0000007a,0x0004003b,0x0000007b,0x0000007c, + 0x00000002,0x00040020,0x0000007e,0x00000002,0x00000076,0x0004002b,0x00000006,0x00000092, + 0x0000000b,0x0004002b,0x00000006,0x0000009d,0x0000000c,0x00030016,0x000000a4,0x00000010, + 0x0003001d,0x000000a5,0x000000a4,0x0003001e,0x000000a6,0x000000a5,0x00040020,0x000000a7, + 0x00000002,0x000000a6,0x0004003b,0x000000a7,0x000000a8,0x00000002,0x00040020,0x000000b1, + 0x00000002,0x000000a4,0x0003001d,0x000000b4,0x000000a4,0x0003001e,0x000000b5,0x000000b4, + 0x00040020,0x000000b6,0x00000002,0x000000b5,0x0004003b,0x000000b6,0x000000b7,0x00000002, + 0x0004002b,0x00000006,0x000000b9,0x00000005,0x0004002b,0x00000076,0x000000c5,0x3b808081, + 0x00040032,0x00000006,0x000000c9,0x00000000,0x00050036,0x00000002,0x00000004,0x00000000, + 0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000008,0x00000007,0x0004003b, + 0x00000007,0x00000012,0x00000007,0x0004003b,0x00000007,0x00000017,0x00000007,0x0004003b, + 0x00000007,0x0000003b,0x00000007,0x0004003b,0x00000007,0x00000045,0x00000007,0x0004003b, + 0x00000007,0x00000069,0x00000007,0x0004003b,0x00000077,0x00000078,0x00000007,0x00050041, + 0x0000000e,0x0000000f,0x0000000c,0x0000000d,0x0004003d,0x00000009,0x00000010,0x0000000f, + 0x0004007c,0x00000006,0x00000011,0x00000010,0x0003003e,0x00000008,0x00000011,0x00050041, + 0x0000000e,0x00000014,0x0000000c,0x00000013,0x0004003d,0x00000009,0x00000015,0x00000014, + 0x0004007c,0x00000006,0x00000016,0x00000015,0x0003003e,0x00000012,0x00000016,0x00050041, + 0x0000000e,0x00000019,0x0000000c,0x00000018,0x0004003d,0x00000009,0x0000001a,0x00000019, + 0x0004007c,0x00000006,0x0000001b,0x0000001a,0x0003003e,0x00000017,0x0000001b,0x0004003d, + 0x00000006,0x0000001d,0x00000008,0x00050041,0x00000022,0x00000023,0x00000020,0x00000021, + 0x0004003d,0x00000006,0x00000024,0x00000023,0x000500af,0x0000001c,0x00000025,0x0000001d, + 0x00000024,0x000400a8,0x0000001c,0x00000026,0x00000025,0x000300f7,0x00000028,0x00000000, + 0x000400fa,0x00000026,0x00000027,0x00000028,0x000200f8,0x00000027,0x0004003d,0x00000006, + 0x00000029,0x00000012,0x00050041,0x00000022,0x0000002b,0x00000020,0x0000002a,0x0004003d, + 0x00000006,0x0000002c,0x0000002b,0x000500af,0x0000001c,0x0000002d,0x00000029,0x0000002c, + 0x000200f9,0x00000028,0x000200f8,0x00000028,0x000700f5,0x0000001c,0x0000002e,0x00000025, + 0x00000005,0x0000002d,0x00000027,0x000400a8,0x0000001c,0x0000002f,0x0000002e,0x000300f7, + 0x00000031,0x00000000,0x000400fa,0x0000002f,0x00000030,0x00000031,0x000200f8,0x00000030, + 0x0004003d,0x00000006,0x00000032,0x00000017,0x00050041,0x00000022,0x00000034,0x00000020, + 0x00000033,0x0004003d,0x00000006,0x00000035,0x00000034,0x000500af,0x0000001c,0x00000036, + 0x00000032,0x00000035,0x000200f9,0x00000031,0x000200f8,0x00000031,0x000700f5,0x0000001c, + 0x00000037,0x0000002e,0x00000028,0x00000036,0x00000030,0x000300f7,0x00000039,0x00000000, + 0x000400fa,0x00000037,0x00000038,0x00000039,0x000200f8,0x00000038,0x000100fd,0x000200f8, + 0x00000039,0x0004003d,0x00000006,0x0000003c,0x00000008,0x00050041,0x00000022,0x0000003e, + 0x00000020,0x0000003d,0x0004003d,0x00000006,0x0000003f,0x0000003e,0x00050080,0x00000006, + 0x00000040,0x0000003c,0x0000003f,0x00050041,0x00000022,0x00000042,0x00000020,0x00000041, + 0x0004003d,0x00000006,0x00000043,0x00000042,0x00050082,0x00000006,0x00000044,0x00000040, + 0x00000043,0x0003003e,0x0000003b,0x00000044,0x0004003d,0x00000006,0x00000046,0x00000012, + 0x00050041,0x00000022,0x00000048,0x00000020,0x00000047,0x0004003d,0x00000006,0x00000049, + 0x00000048,0x00050080,0x00000006,0x0000004a,0x00000046,0x00000049,0x00050041,0x00000022, + 0x0000004c,0x00000020,0x0000004b,0x0004003d,0x00000006,0x0000004d,0x0000004c,0x00050082, + 0x00000006,0x0000004e,0x0000004a,0x0000004d,0x0003003e,0x00000045,0x0000004e,0x0004003d, + 0x00000006,0x0000004f,0x0000003b,0x0006000c,0x00000006,0x00000050,0x00000001,0x00000005, + 0x0000004f,0x0003003e,0x0000003b,0x00000050,0x0004003d,0x00000006,0x00000051,0x00000045, + 0x0006000c,0x00000006,0x00000052,0x00000001,0x00000005,0x00000051,0x0003003e,0x00000045, + 0x00000052,0x00050041,0x00000022,0x00000054,0x00000020,0x00000053,0x0004003d,0x00000006, + 0x00000055,0x00000054,0x00050082,0x00000006,0x00000057,0x00000055,0x00000056,0x0004003d, + 0x00000006,0x00000058,0x0000003b,0x00050041,0x00000022,0x00000059,0x00000020,0x00000053, + 0x0004003d,0x00000006,0x0000005a,0x00000059,0x00050082,0x00000006,0x0000005b,0x0000005a, + 0x00000056,0x00050082,0x00000006,0x0000005c,0x00000058,0x0000005b,0x0006000c,0x00000006, + 0x0000005d,0x00000001,0x00000005,0x0000005c,0x00050082,0x00000006,0x0000005e,0x00000057, + 0x0000005d,0x0003003e,0x0000003b,0x0000005e,0x00050041,0x00000022,0x0000005f,0x00000020, + 0x00000056,0x0004003d,0x00000006,0x00000060,0x0000005f,0x00050082,0x00000006,0x00000061, + 0x00000060,0x00000056,0x0004003d,0x00000006,0x00000062,0x00000045,0x00050041,0x00000022, + 0x00000063,0x00000020,0x00000056,0x0004003d,0x00000006,0x00000064,0x00000063,0x00050082, + 0x00000006,0x00000065,0x00000064,0x00000056,0x00050082,0x00000006,0x00000066,0x00000062, + 0x00000065,0x0006000c,0x00000006,0x00000067,0x00000001,0x00000005,0x00000066,0x00050082, + 0x00000006,0x00000068,0x00000061,0x00000067,0x0003003e,0x00000045,0x00000068,0x0004003d, + 0x00000006,0x0000006a,0x00000017,0x00050041,0x00000022,0x0000006c,0x00000020,0x0000006b, + 0x0004003d,0x00000006,0x0000006d,0x0000006c,0x00050084,0x00000006,0x0000006e,0x0000006a, + 0x0000006d,0x0004003d,0x00000006,0x0000006f,0x00000045,0x00050041,0x00000022,0x00000070, + 0x00000020,0x00000053,0x0004003d,0x00000006,0x00000071,0x00000070,0x00050084,0x00000006, + 0x00000072,0x0000006f,0x00000071,0x00050080,0x00000006,0x00000073,0x0000006e,0x00000072, + 0x0004003d,0x00000006,0x00000074,0x0000003b,0x00050080,0x00000006,0x00000075,0x00000073, + 0x00000074,0x0003003e,0x00000069,0x00000075,0x0004003d,0x00000006,0x0000007d,0x00000069, + 0x00060041,0x0000007e,0x0000007f,0x0000007c,0x00000053,0x0000007d,0x0004003d,0x00000076, + 0x00000080,0x0000007f,0x0003003e,0x00000078,0x00000080,0x0004003d,0x00000006,0x00000081, + 0x00000017,0x000500aa,0x0000001c,0x00000082,0x00000081,0x00000021,0x000300f7,0x00000084, + 0x00000000,0x000400fa,0x00000082,0x00000083,0x000000b3,0x000200f8,0x00000083,0x00050041, + 0x00000022,0x00000085,0x00000020,0x00000041,0x0004003d,0x00000006,0x00000086,0x00000085, + 0x0004003d,0x00000006,0x00000087,0x00000008,0x00050082,0x00000006,0x00000088,0x00000087, + 0x00000086,0x0003003e,0x00000008,0x00000088,0x00050041,0x00000022,0x00000089,0x00000020, + 0x0000004b,0x0004003d,0x00000006,0x0000008a,0x00000089,0x0004003d,0x00000006,0x0000008b, + 0x00000012,0x00050082,0x00000006,0x0000008c,0x0000008b,0x0000008a,0x0003003e,0x00000012, + 0x0000008c,0x0004003d,0x00000006,0x0000008d,0x00000008,0x000500af,0x0000001c,0x0000008e, + 0x0000008d,0x00000053,0x000300f7,0x00000090,0x00000000,0x000400fa,0x0000008e,0x0000008f, + 0x00000090,0x000200f8,0x0000008f,0x0004003d,0x00000006,0x00000091,0x00000008,0x00050041, + 0x00000022,0x00000093,0x00000020,0x00000092,0x0004003d,0x00000006,0x00000094,0x00000093, + 0x000500b1,0x0000001c,0x00000095,0x00000091,0x00000094,0x000200f9,0x00000090,0x000200f8, + 0x00000090,0x000700f5,0x0000001c,0x00000096,0x0000008e,0x00000083,0x00000095,0x0000008f, + 0x0004003d,0x00000006,0x00000097,0x00000012,0x000500af,0x0000001c,0x00000098,0x00000097, + 0x00000053,0x000500a7,0x0000001c,0x00000099,0x00000096,0x00000098,0x000300f7,0x0000009b, + 0x00000000,0x000400fa,0x00000099,0x0000009a,0x0000009b,0x000200f8,0x0000009a,0x0004003d, + 0x00000006,0x0000009c,0x00000012,0x00050041,0x00000022,0x0000009e,0x00000020,0x0000009d, + 0x0004003d,0x00000006,0x0000009f,0x0000009e,0x000500b1,0x0000001c,0x000000a0,0x0000009c, + 0x0000009f,0x000200f9,0x0000009b,0x000200f8,0x0000009b,0x000700f5,0x0000001c,0x000000a1, + 0x00000099,0x00000090,0x000000a0,0x0000009a,0x000300f7,0x000000a3,0x00000000,0x000400fa, + 0x000000a1,0x000000a2,0x000000a3,0x000200f8,0x000000a2,0x0004003d,0x00000006,0x000000a9, + 0x00000012,0x00050041,0x00000022,0x000000aa,0x00000020,0x00000092,0x0004003d,0x00000006, + 0x000000ab,0x000000aa,0x00050084,0x00000006,0x000000ac,0x000000a9,0x000000ab,0x0004003d, + 0x00000006,0x000000ad,0x00000008,0x00050080,0x00000006,0x000000ae,0x000000ac,0x000000ad, + 0x0004003d,0x00000076,0x000000af,0x00000078,0x00040073,0x000000a4,0x000000b0,0x000000af, + 0x00060041,0x000000b1,0x000000b2,0x000000a8,0x00000053,0x000000ae,0x0003003e,0x000000b2, + 0x000000b0,0x000200f9,0x000000a3,0x000200f8,0x000000a3,0x000200f9,0x00000084,0x000200f8, + 0x000000b3,0x0004003d,0x00000006,0x000000b8,0x00000017,0x00050041,0x00000022,0x000000ba, + 0x00000020,0x000000b9,0x0004003d,0x00000006,0x000000bb,0x000000ba,0x00050084,0x00000006, + 0x000000bc,0x000000b8,0x000000bb,0x0004003d,0x00000006,0x000000bd,0x00000012,0x00050041, + 0x00000022,0x000000be,0x00000020,0x00000021,0x0004003d,0x00000006,0x000000bf,0x000000be, + 0x00050084,0x00000006,0x000000c0,0x000000bd,0x000000bf,0x00050080,0x00000006,0x000000c1, + 0x000000bc,0x000000c0,0x0004003d,0x00000006,0x000000c2,0x00000008,0x00050080,0x00000006, + 0x000000c3,0x000000c1,0x000000c2,0x0004003d,0x00000076,0x000000c4,0x00000078,0x00050085, + 0x00000076,0x000000c6,0x000000c4,0x000000c5,0x00040073,0x000000a4,0x000000c7,0x000000c6, + 0x00060041,0x000000b1,0x000000c8,0x000000b7,0x00000053,0x000000c3,0x0003003e,0x000000c8, + 0x000000c7,0x000200f9,0x00000084,0x000200f8,0x00000084,0x000100fd,0x00010038 diff --git a/src/realesrgan/shader/realesrgan_preproc_int8s.spv.hex.h b/src/realesrgan/shader/realesrgan_preproc_int8s.spv.hex.h new file mode 100644 index 0000000..edc1e12 --- /dev/null +++ b/src/realesrgan/shader/realesrgan_preproc_int8s.spv.hex.h @@ -0,0 +1,180 @@ + // 1011.6.0 + 0x07230203,0x00010000,0x0008000a,0x000000df,0x00000000,0x00020011,0x00000001,0x00020011, + 0x00001151,0x00020011,0x00001161,0x0007000a,0x5f565053,0x5f52484b,0x69623631,0x74735f74, + 0x6761726f,0x00000065,0x0007000a,0x5f565053,0x5f52484b,0x74696238,0x6f74735f,0x65676172, + 0x00000000,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e, + 0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000c, + 0x00060010,0x00000004,0x00000011,0x00000001,0x00000001,0x00000001,0x00030003,0x00000002, + 0x000001c2,0x00080004,0x455f4c47,0x735f5458,0x65646168,0x36315f72,0x5f746962,0x726f7473, + 0x00656761,0x00080004,0x455f4c47,0x735f5458,0x65646168,0x62385f72,0x735f7469,0x61726f74, + 0x00006567,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000008,0x00007867, + 0x00080005,0x0000000c,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044, + 0x00030005,0x00000012,0x00007967,0x00030005,0x00000017,0x00007a67,0x00050005,0x0000001e, + 0x61726170,0x6574656d,0x00000072,0x00040006,0x0000001e,0x00000000,0x00000077,0x00040006, + 0x0000001e,0x00000001,0x00000068,0x00050006,0x0000001e,0x00000002,0x65747363,0x00000070, + 0x00050006,0x0000001e,0x00000003,0x7774756f,0x00000000,0x00050006,0x0000001e,0x00000004, + 0x6874756f,0x00000000,0x00060006,0x0000001e,0x00000005,0x6374756f,0x70657473,0x00000000, + 0x00050006,0x0000001e,0x00000006,0x5f646170,0x00706f74,0x00060006,0x0000001e,0x00000007, + 0x5f646170,0x7466656c,0x00000000,0x00050006,0x0000001e,0x00000008,0x706f7263,0x0000785f, + 0x00050006,0x0000001e,0x00000009,0x706f7263,0x0000795f,0x00060006,0x0000001e,0x0000000a, + 0x6e616863,0x736c656e,0x00000000,0x00050006,0x0000001e,0x0000000b,0x68706c61,0x00007761, + 0x00050006,0x0000001e,0x0000000c,0x68706c61,0x00006861,0x00030005,0x00000020,0x00000070, + 0x00030005,0x0000003b,0x00000078,0x00030005,0x00000045,0x00000079,0x00050005,0x00000069, + 0x666f5f76,0x74657366,0x00000000,0x00030005,0x00000070,0x00726762,0x00030005,0x00000079, + 0x00000076,0x00050005,0x0000007c,0x74746f62,0x625f6d6f,0x00626f6c,0x00080006,0x0000007c, + 0x00000000,0x74746f62,0x625f6d6f,0x5f626f6c,0x61746164,0x00000000,0x00030005,0x0000007e, + 0x00000000,0x00050005,0x000000bc,0x68706c61,0x6c625f61,0x0000626f,0x00070006,0x000000bc, + 0x00000000,0x68706c61,0x6c625f61,0x645f626f,0x00617461,0x00030005,0x000000be,0x00000000, + 0x00050005,0x000000cb,0x5f706f74,0x626f6c62,0x00000000,0x00070006,0x000000cb,0x00000000, + 0x5f706f74,0x626f6c62,0x7461645f,0x00000061,0x00030005,0x000000cd,0x00000000,0x00040047, + 0x0000000c,0x0000000b,0x0000001c,0x00050048,0x0000001e,0x00000000,0x00000023,0x00000000, + 0x00050048,0x0000001e,0x00000001,0x00000023,0x00000004,0x00050048,0x0000001e,0x00000002, + 0x00000023,0x00000008,0x00050048,0x0000001e,0x00000003,0x00000023,0x0000000c,0x00050048, + 0x0000001e,0x00000004,0x00000023,0x00000010,0x00050048,0x0000001e,0x00000005,0x00000023, + 0x00000014,0x00050048,0x0000001e,0x00000006,0x00000023,0x00000018,0x00050048,0x0000001e, + 0x00000007,0x00000023,0x0000001c,0x00050048,0x0000001e,0x00000008,0x00000023,0x00000020, + 0x00050048,0x0000001e,0x00000009,0x00000023,0x00000024,0x00050048,0x0000001e,0x0000000a, + 0x00000023,0x00000028,0x00050048,0x0000001e,0x0000000b,0x00000023,0x0000002c,0x00050048, + 0x0000001e,0x0000000c,0x00000023,0x00000030,0x00030047,0x0000001e,0x00000002,0x00040047, + 0x00000070,0x00000001,0x00000000,0x00040047,0x0000007b,0x00000006,0x00000001,0x00040048, + 0x0000007c,0x00000000,0x00000018,0x00050048,0x0000007c,0x00000000,0x00000023,0x00000000, + 0x00030047,0x0000007c,0x00000003,0x00040047,0x0000007e,0x00000022,0x00000000,0x00040047, + 0x0000007e,0x00000021,0x00000000,0x00040047,0x000000bb,0x00000006,0x00000002,0x00040048, + 0x000000bc,0x00000000,0x00000019,0x00050048,0x000000bc,0x00000000,0x00000023,0x00000000, + 0x00030047,0x000000bc,0x00000003,0x00040047,0x000000be,0x00000022,0x00000000,0x00040047, + 0x000000be,0x00000021,0x00000002,0x00040047,0x000000ca,0x00000006,0x00000002,0x00040048, + 0x000000cb,0x00000000,0x00000019,0x00050048,0x000000cb,0x00000000,0x00000023,0x00000000, + 0x00030047,0x000000cb,0x00000003,0x00040047,0x000000cd,0x00000022,0x00000000,0x00040047, + 0x000000cd,0x00000021,0x00000001,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002, + 0x00040015,0x00000006,0x00000020,0x00000001,0x00040020,0x00000007,0x00000007,0x00000006, + 0x00040015,0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a,0x00000009,0x00000003, + 0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000001, + 0x0004002b,0x00000009,0x0000000d,0x00000000,0x00040020,0x0000000e,0x00000001,0x00000009, + 0x0004002b,0x00000009,0x00000013,0x00000001,0x0004002b,0x00000009,0x00000018,0x00000002, + 0x00020014,0x0000001c,0x000f001e,0x0000001e,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00040020,0x0000001f,0x00000009,0x0000001e,0x0004003b,0x0000001f,0x00000020, + 0x00000009,0x0004002b,0x00000006,0x00000021,0x00000003,0x00040020,0x00000022,0x00000009, + 0x00000006,0x0004002b,0x00000006,0x0000002a,0x00000004,0x0004002b,0x00000006,0x00000033, + 0x0000000a,0x0004002b,0x00000006,0x0000003d,0x00000008,0x0004002b,0x00000006,0x00000041, + 0x00000007,0x0004002b,0x00000006,0x00000047,0x00000009,0x0004002b,0x00000006,0x0000004b, + 0x00000006,0x0004002b,0x00000006,0x00000053,0x00000000,0x0004002b,0x00000006,0x00000056, + 0x00000001,0x00040032,0x00000006,0x00000070,0x00000000,0x00060034,0x0000001c,0x00000071, + 0x000000aa,0x00000070,0x00000056,0x00030016,0x00000077,0x00000020,0x00040020,0x00000078, + 0x00000007,0x00000077,0x00040015,0x0000007a,0x00000008,0x00000000,0x0003001d,0x0000007b, + 0x0000007a,0x0003001e,0x0000007c,0x0000007b,0x00040020,0x0000007d,0x00000002,0x0000007c, + 0x0004003b,0x0000007d,0x0000007e,0x00000002,0x0004002b,0x00000006,0x00000083,0x00000002, + 0x00040020,0x00000087,0x00000002,0x0000007a,0x0004002b,0x00000006,0x000000a8,0x0000000b, + 0x0004002b,0x00000006,0x000000b3,0x0000000c,0x00030016,0x000000ba,0x00000010,0x0003001d, + 0x000000bb,0x000000ba,0x0003001e,0x000000bc,0x000000bb,0x00040020,0x000000bd,0x00000002, + 0x000000bc,0x0004003b,0x000000bd,0x000000be,0x00000002,0x00040020,0x000000c7,0x00000002, + 0x000000ba,0x0003001d,0x000000ca,0x000000ba,0x0003001e,0x000000cb,0x000000ca,0x00040020, + 0x000000cc,0x00000002,0x000000cb,0x0004003b,0x000000cc,0x000000cd,0x00000002,0x0004002b, + 0x00000006,0x000000cf,0x00000005,0x0004002b,0x00000077,0x000000db,0x3b808081,0x00050036, + 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007, + 0x00000008,0x00000007,0x0004003b,0x00000007,0x00000012,0x00000007,0x0004003b,0x00000007, + 0x00000017,0x00000007,0x0004003b,0x00000007,0x0000003b,0x00000007,0x0004003b,0x00000007, + 0x00000045,0x00000007,0x0004003b,0x00000007,0x00000069,0x00000007,0x0004003b,0x00000078, + 0x00000079,0x00000007,0x00050041,0x0000000e,0x0000000f,0x0000000c,0x0000000d,0x0004003d, + 0x00000009,0x00000010,0x0000000f,0x0004007c,0x00000006,0x00000011,0x00000010,0x0003003e, + 0x00000008,0x00000011,0x00050041,0x0000000e,0x00000014,0x0000000c,0x00000013,0x0004003d, + 0x00000009,0x00000015,0x00000014,0x0004007c,0x00000006,0x00000016,0x00000015,0x0003003e, + 0x00000012,0x00000016,0x00050041,0x0000000e,0x00000019,0x0000000c,0x00000018,0x0004003d, + 0x00000009,0x0000001a,0x00000019,0x0004007c,0x00000006,0x0000001b,0x0000001a,0x0003003e, + 0x00000017,0x0000001b,0x0004003d,0x00000006,0x0000001d,0x00000008,0x00050041,0x00000022, + 0x00000023,0x00000020,0x00000021,0x0004003d,0x00000006,0x00000024,0x00000023,0x000500af, + 0x0000001c,0x00000025,0x0000001d,0x00000024,0x000400a8,0x0000001c,0x00000026,0x00000025, + 0x000300f7,0x00000028,0x00000000,0x000400fa,0x00000026,0x00000027,0x00000028,0x000200f8, + 0x00000027,0x0004003d,0x00000006,0x00000029,0x00000012,0x00050041,0x00000022,0x0000002b, + 0x00000020,0x0000002a,0x0004003d,0x00000006,0x0000002c,0x0000002b,0x000500af,0x0000001c, + 0x0000002d,0x00000029,0x0000002c,0x000200f9,0x00000028,0x000200f8,0x00000028,0x000700f5, + 0x0000001c,0x0000002e,0x00000025,0x00000005,0x0000002d,0x00000027,0x000400a8,0x0000001c, + 0x0000002f,0x0000002e,0x000300f7,0x00000031,0x00000000,0x000400fa,0x0000002f,0x00000030, + 0x00000031,0x000200f8,0x00000030,0x0004003d,0x00000006,0x00000032,0x00000017,0x00050041, + 0x00000022,0x00000034,0x00000020,0x00000033,0x0004003d,0x00000006,0x00000035,0x00000034, + 0x000500af,0x0000001c,0x00000036,0x00000032,0x00000035,0x000200f9,0x00000031,0x000200f8, + 0x00000031,0x000700f5,0x0000001c,0x00000037,0x0000002e,0x00000028,0x00000036,0x00000030, + 0x000300f7,0x00000039,0x00000000,0x000400fa,0x00000037,0x00000038,0x00000039,0x000200f8, + 0x00000038,0x000100fd,0x000200f8,0x00000039,0x0004003d,0x00000006,0x0000003c,0x00000008, + 0x00050041,0x00000022,0x0000003e,0x00000020,0x0000003d,0x0004003d,0x00000006,0x0000003f, + 0x0000003e,0x00050080,0x00000006,0x00000040,0x0000003c,0x0000003f,0x00050041,0x00000022, + 0x00000042,0x00000020,0x00000041,0x0004003d,0x00000006,0x00000043,0x00000042,0x00050082, + 0x00000006,0x00000044,0x00000040,0x00000043,0x0003003e,0x0000003b,0x00000044,0x0004003d, + 0x00000006,0x00000046,0x00000012,0x00050041,0x00000022,0x00000048,0x00000020,0x00000047, + 0x0004003d,0x00000006,0x00000049,0x00000048,0x00050080,0x00000006,0x0000004a,0x00000046, + 0x00000049,0x00050041,0x00000022,0x0000004c,0x00000020,0x0000004b,0x0004003d,0x00000006, + 0x0000004d,0x0000004c,0x00050082,0x00000006,0x0000004e,0x0000004a,0x0000004d,0x0003003e, + 0x00000045,0x0000004e,0x0004003d,0x00000006,0x0000004f,0x0000003b,0x0006000c,0x00000006, + 0x00000050,0x00000001,0x00000005,0x0000004f,0x0003003e,0x0000003b,0x00000050,0x0004003d, + 0x00000006,0x00000051,0x00000045,0x0006000c,0x00000006,0x00000052,0x00000001,0x00000005, + 0x00000051,0x0003003e,0x00000045,0x00000052,0x00050041,0x00000022,0x00000054,0x00000020, + 0x00000053,0x0004003d,0x00000006,0x00000055,0x00000054,0x00050082,0x00000006,0x00000057, + 0x00000055,0x00000056,0x0004003d,0x00000006,0x00000058,0x0000003b,0x00050041,0x00000022, + 0x00000059,0x00000020,0x00000053,0x0004003d,0x00000006,0x0000005a,0x00000059,0x00050082, + 0x00000006,0x0000005b,0x0000005a,0x00000056,0x00050082,0x00000006,0x0000005c,0x00000058, + 0x0000005b,0x0006000c,0x00000006,0x0000005d,0x00000001,0x00000005,0x0000005c,0x00050082, + 0x00000006,0x0000005e,0x00000057,0x0000005d,0x0003003e,0x0000003b,0x0000005e,0x00050041, + 0x00000022,0x0000005f,0x00000020,0x00000056,0x0004003d,0x00000006,0x00000060,0x0000005f, + 0x00050082,0x00000006,0x00000061,0x00000060,0x00000056,0x0004003d,0x00000006,0x00000062, + 0x00000045,0x00050041,0x00000022,0x00000063,0x00000020,0x00000056,0x0004003d,0x00000006, + 0x00000064,0x00000063,0x00050082,0x00000006,0x00000065,0x00000064,0x00000056,0x00050082, + 0x00000006,0x00000066,0x00000062,0x00000065,0x0006000c,0x00000006,0x00000067,0x00000001, + 0x00000005,0x00000066,0x00050082,0x00000006,0x00000068,0x00000061,0x00000067,0x0003003e, + 0x00000045,0x00000068,0x0004003d,0x00000006,0x0000006a,0x00000045,0x00050041,0x00000022, + 0x0000006b,0x00000020,0x00000053,0x0004003d,0x00000006,0x0000006c,0x0000006b,0x00050084, + 0x00000006,0x0000006d,0x0000006a,0x0000006c,0x0004003d,0x00000006,0x0000006e,0x0000003b, + 0x00050080,0x00000006,0x0000006f,0x0000006d,0x0000006e,0x0003003e,0x00000069,0x0000006f, + 0x0004003d,0x00000006,0x00000072,0x00000017,0x000500ab,0x0000001c,0x00000073,0x00000072, + 0x00000021,0x000500a7,0x0000001c,0x00000074,0x00000071,0x00000073,0x000300f7,0x00000076, + 0x00000000,0x000400fa,0x00000074,0x00000075,0x0000008c,0x000200f8,0x00000075,0x0004003d, + 0x00000006,0x0000007f,0x00000069,0x00050041,0x00000022,0x00000080,0x00000020,0x00000033, + 0x0004003d,0x00000006,0x00000081,0x00000080,0x00050084,0x00000006,0x00000082,0x0000007f, + 0x00000081,0x00050080,0x00000006,0x00000084,0x00000082,0x00000083,0x0004003d,0x00000006, + 0x00000085,0x00000017,0x00050082,0x00000006,0x00000086,0x00000084,0x00000085,0x00060041, + 0x00000087,0x00000088,0x0000007e,0x00000053,0x00000086,0x0004003d,0x0000007a,0x00000089, + 0x00000088,0x00040071,0x00000009,0x0000008a,0x00000089,0x00040070,0x00000077,0x0000008b, + 0x0000008a,0x0003003e,0x00000079,0x0000008b,0x000200f9,0x00000076,0x000200f8,0x0000008c, + 0x0004003d,0x00000006,0x0000008d,0x00000069,0x00050041,0x00000022,0x0000008e,0x00000020, + 0x00000033,0x0004003d,0x00000006,0x0000008f,0x0000008e,0x00050084,0x00000006,0x00000090, + 0x0000008d,0x0000008f,0x0004003d,0x00000006,0x00000091,0x00000017,0x00050080,0x00000006, + 0x00000092,0x00000090,0x00000091,0x00060041,0x00000087,0x00000093,0x0000007e,0x00000053, + 0x00000092,0x0004003d,0x0000007a,0x00000094,0x00000093,0x00040071,0x00000009,0x00000095, + 0x00000094,0x00040070,0x00000077,0x00000096,0x00000095,0x0003003e,0x00000079,0x00000096, + 0x000200f9,0x00000076,0x000200f8,0x00000076,0x0004003d,0x00000006,0x00000097,0x00000017, + 0x000500aa,0x0000001c,0x00000098,0x00000097,0x00000021,0x000300f7,0x0000009a,0x00000000, + 0x000400fa,0x00000098,0x00000099,0x000000c9,0x000200f8,0x00000099,0x00050041,0x00000022, + 0x0000009b,0x00000020,0x00000041,0x0004003d,0x00000006,0x0000009c,0x0000009b,0x0004003d, + 0x00000006,0x0000009d,0x00000008,0x00050082,0x00000006,0x0000009e,0x0000009d,0x0000009c, + 0x0003003e,0x00000008,0x0000009e,0x00050041,0x00000022,0x0000009f,0x00000020,0x0000004b, + 0x0004003d,0x00000006,0x000000a0,0x0000009f,0x0004003d,0x00000006,0x000000a1,0x00000012, + 0x00050082,0x00000006,0x000000a2,0x000000a1,0x000000a0,0x0003003e,0x00000012,0x000000a2, + 0x0004003d,0x00000006,0x000000a3,0x00000008,0x000500af,0x0000001c,0x000000a4,0x000000a3, + 0x00000053,0x000300f7,0x000000a6,0x00000000,0x000400fa,0x000000a4,0x000000a5,0x000000a6, + 0x000200f8,0x000000a5,0x0004003d,0x00000006,0x000000a7,0x00000008,0x00050041,0x00000022, + 0x000000a9,0x00000020,0x000000a8,0x0004003d,0x00000006,0x000000aa,0x000000a9,0x000500b1, + 0x0000001c,0x000000ab,0x000000a7,0x000000aa,0x000200f9,0x000000a6,0x000200f8,0x000000a6, + 0x000700f5,0x0000001c,0x000000ac,0x000000a4,0x00000099,0x000000ab,0x000000a5,0x0004003d, + 0x00000006,0x000000ad,0x00000012,0x000500af,0x0000001c,0x000000ae,0x000000ad,0x00000053, + 0x000500a7,0x0000001c,0x000000af,0x000000ac,0x000000ae,0x000300f7,0x000000b1,0x00000000, + 0x000400fa,0x000000af,0x000000b0,0x000000b1,0x000200f8,0x000000b0,0x0004003d,0x00000006, + 0x000000b2,0x00000012,0x00050041,0x00000022,0x000000b4,0x00000020,0x000000b3,0x0004003d, + 0x00000006,0x000000b5,0x000000b4,0x000500b1,0x0000001c,0x000000b6,0x000000b2,0x000000b5, + 0x000200f9,0x000000b1,0x000200f8,0x000000b1,0x000700f5,0x0000001c,0x000000b7,0x000000af, + 0x000000a6,0x000000b6,0x000000b0,0x000300f7,0x000000b9,0x00000000,0x000400fa,0x000000b7, + 0x000000b8,0x000000b9,0x000200f8,0x000000b8,0x0004003d,0x00000006,0x000000bf,0x00000012, + 0x00050041,0x00000022,0x000000c0,0x00000020,0x000000a8,0x0004003d,0x00000006,0x000000c1, + 0x000000c0,0x00050084,0x00000006,0x000000c2,0x000000bf,0x000000c1,0x0004003d,0x00000006, + 0x000000c3,0x00000008,0x00050080,0x00000006,0x000000c4,0x000000c2,0x000000c3,0x0004003d, + 0x00000077,0x000000c5,0x00000079,0x00040073,0x000000ba,0x000000c6,0x000000c5,0x00060041, + 0x000000c7,0x000000c8,0x000000be,0x00000053,0x000000c4,0x0003003e,0x000000c8,0x000000c6, + 0x000200f9,0x000000b9,0x000200f8,0x000000b9,0x000200f9,0x0000009a,0x000200f8,0x000000c9, + 0x0004003d,0x00000006,0x000000ce,0x00000017,0x00050041,0x00000022,0x000000d0,0x00000020, + 0x000000cf,0x0004003d,0x00000006,0x000000d1,0x000000d0,0x00050084,0x00000006,0x000000d2, + 0x000000ce,0x000000d1,0x0004003d,0x00000006,0x000000d3,0x00000012,0x00050041,0x00000022, + 0x000000d4,0x00000020,0x00000021,0x0004003d,0x00000006,0x000000d5,0x000000d4,0x00050084, + 0x00000006,0x000000d6,0x000000d3,0x000000d5,0x00050080,0x00000006,0x000000d7,0x000000d2, + 0x000000d6,0x0004003d,0x00000006,0x000000d8,0x00000008,0x00050080,0x00000006,0x000000d9, + 0x000000d7,0x000000d8,0x0004003d,0x00000077,0x000000da,0x00000079,0x00050085,0x00000077, + 0x000000dc,0x000000da,0x000000db,0x00040073,0x000000ba,0x000000dd,0x000000dc,0x00060041, + 0x000000c7,0x000000de,0x000000cd,0x00000053,0x000000d9,0x0003003e,0x000000de,0x000000dd, + 0x000200f9,0x0000009a,0x000200f8,0x0000009a,0x000100fd,0x00010038 diff --git a/src/realesrgan/shader/realesrgan_preproc_tta.spv.hex.h b/src/realesrgan/shader/realesrgan_preproc_tta.spv.hex.h new file mode 100644 index 0000000..fc1b220 --- /dev/null +++ b/src/realesrgan/shader/realesrgan_preproc_tta.spv.hex.h @@ -0,0 +1,272 @@ + // 1011.6.0 + 0x07230203,0x00010000,0x0008000a,0x0000014b,0x00000000,0x00020011,0x00000001,0x0006000b, + 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001, + 0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00060010,0x00000004, + 0x00000011,0x00000001,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2,0x00040005, + 0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000008,0x00007867,0x00080005,0x0000000c, + 0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00030005,0x00000012, + 0x00007967,0x00030005,0x00000017,0x00007a67,0x00050005,0x0000001e,0x61726170,0x6574656d, + 0x00000072,0x00040006,0x0000001e,0x00000000,0x00000077,0x00040006,0x0000001e,0x00000001, + 0x00000068,0x00050006,0x0000001e,0x00000002,0x65747363,0x00000070,0x00050006,0x0000001e, + 0x00000003,0x7774756f,0x00000000,0x00050006,0x0000001e,0x00000004,0x6874756f,0x00000000, + 0x00060006,0x0000001e,0x00000005,0x6374756f,0x70657473,0x00000000,0x00050006,0x0000001e, + 0x00000006,0x5f646170,0x00706f74,0x00060006,0x0000001e,0x00000007,0x5f646170,0x7466656c, + 0x00000000,0x00050006,0x0000001e,0x00000008,0x706f7263,0x0000785f,0x00050006,0x0000001e, + 0x00000009,0x706f7263,0x0000795f,0x00060006,0x0000001e,0x0000000a,0x6e616863,0x736c656e, + 0x00000000,0x00050006,0x0000001e,0x0000000b,0x68706c61,0x00007761,0x00050006,0x0000001e, + 0x0000000c,0x68706c61,0x00006861,0x00030005,0x00000020,0x00000070,0x00030005,0x0000003b, + 0x00000078,0x00030005,0x00000045,0x00000079,0x00050005,0x00000069,0x666f5f76,0x74657366, + 0x00000000,0x00030005,0x00000078,0x00000076,0x00050005,0x0000007a,0x74746f62,0x625f6d6f, + 0x00626f6c,0x00080006,0x0000007a,0x00000000,0x74746f62,0x625f6d6f,0x5f626f6c,0x61746164, + 0x00000000,0x00030005,0x0000007c,0x00000000,0x00050005,0x000000a5,0x68706c61,0x6c625f61, + 0x0000626f,0x00070006,0x000000a5,0x00000000,0x68706c61,0x6c625f61,0x645f626f,0x00617461, + 0x00030005,0x000000a7,0x00000000,0x00030005,0x000000b4,0x00697a67,0x00050005,0x000000bb, + 0x5f706f74,0x626f6c62,0x00000030,0x00070006,0x000000bb,0x00000000,0x5f706f74,0x626f6c62, + 0x61645f30,0x00006174,0x00030005,0x000000bd,0x00000000,0x00050005,0x000000c9,0x5f706f74, + 0x626f6c62,0x00000031,0x00070006,0x000000c9,0x00000000,0x5f706f74,0x626f6c62,0x61645f31, + 0x00006174,0x00030005,0x000000cb,0x00000000,0x00050005,0x000000db,0x5f706f74,0x626f6c62, + 0x00000032,0x00070006,0x000000db,0x00000000,0x5f706f74,0x626f6c62,0x61645f32,0x00006174, + 0x00030005,0x000000dd,0x00000000,0x00050005,0x000000f1,0x5f706f74,0x626f6c62,0x00000033, + 0x00070006,0x000000f1,0x00000000,0x5f706f74,0x626f6c62,0x61645f33,0x00006174,0x00030005, + 0x000000f3,0x00000000,0x00050005,0x00000103,0x5f706f74,0x626f6c62,0x00000034,0x00070006, + 0x00000103,0x00000000,0x5f706f74,0x626f6c62,0x61645f34,0x00006174,0x00030005,0x00000105, + 0x00000000,0x00050005,0x00000111,0x5f706f74,0x626f6c62,0x00000035,0x00070006,0x00000111, + 0x00000000,0x5f706f74,0x626f6c62,0x61645f35,0x00006174,0x00030005,0x00000113,0x00000000, + 0x00050005,0x00000123,0x5f706f74,0x626f6c62,0x00000036,0x00070006,0x00000123,0x00000000, + 0x5f706f74,0x626f6c62,0x61645f36,0x00006174,0x00030005,0x00000125,0x00000000,0x00050005, + 0x00000139,0x5f706f74,0x626f6c62,0x00000037,0x00070006,0x00000139,0x00000000,0x5f706f74, + 0x626f6c62,0x61645f37,0x00006174,0x00030005,0x0000013b,0x00000000,0x00030005,0x0000014a, + 0x00726762,0x00040047,0x0000000c,0x0000000b,0x0000001c,0x00050048,0x0000001e,0x00000000, + 0x00000023,0x00000000,0x00050048,0x0000001e,0x00000001,0x00000023,0x00000004,0x00050048, + 0x0000001e,0x00000002,0x00000023,0x00000008,0x00050048,0x0000001e,0x00000003,0x00000023, + 0x0000000c,0x00050048,0x0000001e,0x00000004,0x00000023,0x00000010,0x00050048,0x0000001e, + 0x00000005,0x00000023,0x00000014,0x00050048,0x0000001e,0x00000006,0x00000023,0x00000018, + 0x00050048,0x0000001e,0x00000007,0x00000023,0x0000001c,0x00050048,0x0000001e,0x00000008, + 0x00000023,0x00000020,0x00050048,0x0000001e,0x00000009,0x00000023,0x00000024,0x00050048, + 0x0000001e,0x0000000a,0x00000023,0x00000028,0x00050048,0x0000001e,0x0000000b,0x00000023, + 0x0000002c,0x00050048,0x0000001e,0x0000000c,0x00000023,0x00000030,0x00030047,0x0000001e, + 0x00000002,0x00040047,0x00000079,0x00000006,0x00000004,0x00040048,0x0000007a,0x00000000, + 0x00000018,0x00050048,0x0000007a,0x00000000,0x00000023,0x00000000,0x00030047,0x0000007a, + 0x00000003,0x00040047,0x0000007c,0x00000022,0x00000000,0x00040047,0x0000007c,0x00000021, + 0x00000000,0x00040047,0x000000a4,0x00000006,0x00000004,0x00040048,0x000000a5,0x00000000, + 0x00000019,0x00050048,0x000000a5,0x00000000,0x00000023,0x00000000,0x00030047,0x000000a5, + 0x00000003,0x00040047,0x000000a7,0x00000022,0x00000000,0x00040047,0x000000a7,0x00000021, + 0x00000009,0x00040047,0x000000ba,0x00000006,0x00000004,0x00040048,0x000000bb,0x00000000, + 0x00000019,0x00050048,0x000000bb,0x00000000,0x00000023,0x00000000,0x00030047,0x000000bb, + 0x00000003,0x00040047,0x000000bd,0x00000022,0x00000000,0x00040047,0x000000bd,0x00000021, + 0x00000001,0x00040047,0x000000c8,0x00000006,0x00000004,0x00040048,0x000000c9,0x00000000, + 0x00000019,0x00050048,0x000000c9,0x00000000,0x00000023,0x00000000,0x00030047,0x000000c9, + 0x00000003,0x00040047,0x000000cb,0x00000022,0x00000000,0x00040047,0x000000cb,0x00000021, + 0x00000002,0x00040047,0x000000da,0x00000006,0x00000004,0x00040048,0x000000db,0x00000000, + 0x00000019,0x00050048,0x000000db,0x00000000,0x00000023,0x00000000,0x00030047,0x000000db, + 0x00000003,0x00040047,0x000000dd,0x00000022,0x00000000,0x00040047,0x000000dd,0x00000021, + 0x00000003,0x00040047,0x000000f0,0x00000006,0x00000004,0x00040048,0x000000f1,0x00000000, + 0x00000019,0x00050048,0x000000f1,0x00000000,0x00000023,0x00000000,0x00030047,0x000000f1, + 0x00000003,0x00040047,0x000000f3,0x00000022,0x00000000,0x00040047,0x000000f3,0x00000021, + 0x00000004,0x00040047,0x00000102,0x00000006,0x00000004,0x00040048,0x00000103,0x00000000, + 0x00000019,0x00050048,0x00000103,0x00000000,0x00000023,0x00000000,0x00030047,0x00000103, + 0x00000003,0x00040047,0x00000105,0x00000022,0x00000000,0x00040047,0x00000105,0x00000021, + 0x00000005,0x00040047,0x00000110,0x00000006,0x00000004,0x00040048,0x00000111,0x00000000, + 0x00000019,0x00050048,0x00000111,0x00000000,0x00000023,0x00000000,0x00030047,0x00000111, + 0x00000003,0x00040047,0x00000113,0x00000022,0x00000000,0x00040047,0x00000113,0x00000021, + 0x00000006,0x00040047,0x00000122,0x00000006,0x00000004,0x00040048,0x00000123,0x00000000, + 0x00000019,0x00050048,0x00000123,0x00000000,0x00000023,0x00000000,0x00030047,0x00000123, + 0x00000003,0x00040047,0x00000125,0x00000022,0x00000000,0x00040047,0x00000125,0x00000021, + 0x00000007,0x00040047,0x00000138,0x00000006,0x00000004,0x00040048,0x00000139,0x00000000, + 0x00000019,0x00050048,0x00000139,0x00000000,0x00000023,0x00000000,0x00030047,0x00000139, + 0x00000003,0x00040047,0x0000013b,0x00000022,0x00000000,0x00040047,0x0000013b,0x00000021, + 0x00000008,0x00040047,0x0000014a,0x00000001,0x00000000,0x00020013,0x00000002,0x00030021, + 0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040020,0x00000007, + 0x00000007,0x00000006,0x00040015,0x00000009,0x00000020,0x00000000,0x00040017,0x0000000a, + 0x00000009,0x00000003,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b,0x0000000b, + 0x0000000c,0x00000001,0x0004002b,0x00000009,0x0000000d,0x00000000,0x00040020,0x0000000e, + 0x00000001,0x00000009,0x0004002b,0x00000009,0x00000013,0x00000001,0x0004002b,0x00000009, + 0x00000018,0x00000002,0x00020014,0x0000001c,0x000f001e,0x0000001e,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00040020,0x0000001f,0x00000009,0x0000001e,0x0004003b, + 0x0000001f,0x00000020,0x00000009,0x0004002b,0x00000006,0x00000021,0x00000003,0x00040020, + 0x00000022,0x00000009,0x00000006,0x0004002b,0x00000006,0x0000002a,0x00000004,0x0004002b, + 0x00000006,0x00000033,0x0000000a,0x0004002b,0x00000006,0x0000003d,0x00000008,0x0004002b, + 0x00000006,0x00000041,0x00000007,0x0004002b,0x00000006,0x00000047,0x00000009,0x0004002b, + 0x00000006,0x0000004b,0x00000006,0x0004002b,0x00000006,0x00000053,0x00000000,0x0004002b, + 0x00000006,0x00000056,0x00000001,0x0004002b,0x00000006,0x0000006b,0x00000002,0x00030016, + 0x00000076,0x00000020,0x00040020,0x00000077,0x00000007,0x00000076,0x0003001d,0x00000079, + 0x00000076,0x0003001e,0x0000007a,0x00000079,0x00040020,0x0000007b,0x00000002,0x0000007a, + 0x0004003b,0x0000007b,0x0000007c,0x00000002,0x00040020,0x0000007e,0x00000002,0x00000076, + 0x0004002b,0x00000006,0x00000092,0x0000000b,0x0004002b,0x00000006,0x0000009d,0x0000000c, + 0x0003001d,0x000000a4,0x00000076,0x0003001e,0x000000a5,0x000000a4,0x00040020,0x000000a6, + 0x00000002,0x000000a5,0x0004003b,0x000000a6,0x000000a7,0x00000002,0x0004002b,0x00000076, + 0x000000b2,0x3b808081,0x0004002b,0x00000006,0x000000b6,0x00000005,0x0003001d,0x000000ba, + 0x00000076,0x0003001e,0x000000bb,0x000000ba,0x00040020,0x000000bc,0x00000002,0x000000bb, + 0x0004003b,0x000000bc,0x000000bd,0x00000002,0x0003001d,0x000000c8,0x00000076,0x0003001e, + 0x000000c9,0x000000c8,0x00040020,0x000000ca,0x00000002,0x000000c9,0x0004003b,0x000000ca, + 0x000000cb,0x00000002,0x0003001d,0x000000da,0x00000076,0x0003001e,0x000000db,0x000000da, + 0x00040020,0x000000dc,0x00000002,0x000000db,0x0004003b,0x000000dc,0x000000dd,0x00000002, + 0x0003001d,0x000000f0,0x00000076,0x0003001e,0x000000f1,0x000000f0,0x00040020,0x000000f2, + 0x00000002,0x000000f1,0x0004003b,0x000000f2,0x000000f3,0x00000002,0x0003001d,0x00000102, + 0x00000076,0x0003001e,0x00000103,0x00000102,0x00040020,0x00000104,0x00000002,0x00000103, + 0x0004003b,0x00000104,0x00000105,0x00000002,0x0003001d,0x00000110,0x00000076,0x0003001e, + 0x00000111,0x00000110,0x00040020,0x00000112,0x00000002,0x00000111,0x0004003b,0x00000112, + 0x00000113,0x00000002,0x0003001d,0x00000122,0x00000076,0x0003001e,0x00000123,0x00000122, + 0x00040020,0x00000124,0x00000002,0x00000123,0x0004003b,0x00000124,0x00000125,0x00000002, + 0x0003001d,0x00000138,0x00000076,0x0003001e,0x00000139,0x00000138,0x00040020,0x0000013a, + 0x00000002,0x00000139,0x0004003b,0x0000013a,0x0000013b,0x00000002,0x00040032,0x00000006, + 0x0000014a,0x00000000,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8, + 0x00000005,0x0004003b,0x00000007,0x00000008,0x00000007,0x0004003b,0x00000007,0x00000012, + 0x00000007,0x0004003b,0x00000007,0x00000017,0x00000007,0x0004003b,0x00000007,0x0000003b, + 0x00000007,0x0004003b,0x00000007,0x00000045,0x00000007,0x0004003b,0x00000007,0x00000069, + 0x00000007,0x0004003b,0x00000077,0x00000078,0x00000007,0x0004003b,0x00000007,0x000000b4, + 0x00000007,0x00050041,0x0000000e,0x0000000f,0x0000000c,0x0000000d,0x0004003d,0x00000009, + 0x00000010,0x0000000f,0x0004007c,0x00000006,0x00000011,0x00000010,0x0003003e,0x00000008, + 0x00000011,0x00050041,0x0000000e,0x00000014,0x0000000c,0x00000013,0x0004003d,0x00000009, + 0x00000015,0x00000014,0x0004007c,0x00000006,0x00000016,0x00000015,0x0003003e,0x00000012, + 0x00000016,0x00050041,0x0000000e,0x00000019,0x0000000c,0x00000018,0x0004003d,0x00000009, + 0x0000001a,0x00000019,0x0004007c,0x00000006,0x0000001b,0x0000001a,0x0003003e,0x00000017, + 0x0000001b,0x0004003d,0x00000006,0x0000001d,0x00000008,0x00050041,0x00000022,0x00000023, + 0x00000020,0x00000021,0x0004003d,0x00000006,0x00000024,0x00000023,0x000500af,0x0000001c, + 0x00000025,0x0000001d,0x00000024,0x000400a8,0x0000001c,0x00000026,0x00000025,0x000300f7, + 0x00000028,0x00000000,0x000400fa,0x00000026,0x00000027,0x00000028,0x000200f8,0x00000027, + 0x0004003d,0x00000006,0x00000029,0x00000012,0x00050041,0x00000022,0x0000002b,0x00000020, + 0x0000002a,0x0004003d,0x00000006,0x0000002c,0x0000002b,0x000500af,0x0000001c,0x0000002d, + 0x00000029,0x0000002c,0x000200f9,0x00000028,0x000200f8,0x00000028,0x000700f5,0x0000001c, + 0x0000002e,0x00000025,0x00000005,0x0000002d,0x00000027,0x000400a8,0x0000001c,0x0000002f, + 0x0000002e,0x000300f7,0x00000031,0x00000000,0x000400fa,0x0000002f,0x00000030,0x00000031, + 0x000200f8,0x00000030,0x0004003d,0x00000006,0x00000032,0x00000017,0x00050041,0x00000022, + 0x00000034,0x00000020,0x00000033,0x0004003d,0x00000006,0x00000035,0x00000034,0x000500af, + 0x0000001c,0x00000036,0x00000032,0x00000035,0x000200f9,0x00000031,0x000200f8,0x00000031, + 0x000700f5,0x0000001c,0x00000037,0x0000002e,0x00000028,0x00000036,0x00000030,0x000300f7, + 0x00000039,0x00000000,0x000400fa,0x00000037,0x00000038,0x00000039,0x000200f8,0x00000038, + 0x000100fd,0x000200f8,0x00000039,0x0004003d,0x00000006,0x0000003c,0x00000008,0x00050041, + 0x00000022,0x0000003e,0x00000020,0x0000003d,0x0004003d,0x00000006,0x0000003f,0x0000003e, + 0x00050080,0x00000006,0x00000040,0x0000003c,0x0000003f,0x00050041,0x00000022,0x00000042, + 0x00000020,0x00000041,0x0004003d,0x00000006,0x00000043,0x00000042,0x00050082,0x00000006, + 0x00000044,0x00000040,0x00000043,0x0003003e,0x0000003b,0x00000044,0x0004003d,0x00000006, + 0x00000046,0x00000012,0x00050041,0x00000022,0x00000048,0x00000020,0x00000047,0x0004003d, + 0x00000006,0x00000049,0x00000048,0x00050080,0x00000006,0x0000004a,0x00000046,0x00000049, + 0x00050041,0x00000022,0x0000004c,0x00000020,0x0000004b,0x0004003d,0x00000006,0x0000004d, + 0x0000004c,0x00050082,0x00000006,0x0000004e,0x0000004a,0x0000004d,0x0003003e,0x00000045, + 0x0000004e,0x0004003d,0x00000006,0x0000004f,0x0000003b,0x0006000c,0x00000006,0x00000050, + 0x00000001,0x00000005,0x0000004f,0x0003003e,0x0000003b,0x00000050,0x0004003d,0x00000006, + 0x00000051,0x00000045,0x0006000c,0x00000006,0x00000052,0x00000001,0x00000005,0x00000051, + 0x0003003e,0x00000045,0x00000052,0x00050041,0x00000022,0x00000054,0x00000020,0x00000053, + 0x0004003d,0x00000006,0x00000055,0x00000054,0x00050082,0x00000006,0x00000057,0x00000055, + 0x00000056,0x0004003d,0x00000006,0x00000058,0x0000003b,0x00050041,0x00000022,0x00000059, + 0x00000020,0x00000053,0x0004003d,0x00000006,0x0000005a,0x00000059,0x00050082,0x00000006, + 0x0000005b,0x0000005a,0x00000056,0x00050082,0x00000006,0x0000005c,0x00000058,0x0000005b, + 0x0006000c,0x00000006,0x0000005d,0x00000001,0x00000005,0x0000005c,0x00050082,0x00000006, + 0x0000005e,0x00000057,0x0000005d,0x0003003e,0x0000003b,0x0000005e,0x00050041,0x00000022, + 0x0000005f,0x00000020,0x00000056,0x0004003d,0x00000006,0x00000060,0x0000005f,0x00050082, + 0x00000006,0x00000061,0x00000060,0x00000056,0x0004003d,0x00000006,0x00000062,0x00000045, + 0x00050041,0x00000022,0x00000063,0x00000020,0x00000056,0x0004003d,0x00000006,0x00000064, + 0x00000063,0x00050082,0x00000006,0x00000065,0x00000064,0x00000056,0x00050082,0x00000006, + 0x00000066,0x00000062,0x00000065,0x0006000c,0x00000006,0x00000067,0x00000001,0x00000005, + 0x00000066,0x00050082,0x00000006,0x00000068,0x00000061,0x00000067,0x0003003e,0x00000045, + 0x00000068,0x0004003d,0x00000006,0x0000006a,0x00000017,0x00050041,0x00000022,0x0000006c, + 0x00000020,0x0000006b,0x0004003d,0x00000006,0x0000006d,0x0000006c,0x00050084,0x00000006, + 0x0000006e,0x0000006a,0x0000006d,0x0004003d,0x00000006,0x0000006f,0x00000045,0x00050041, + 0x00000022,0x00000070,0x00000020,0x00000053,0x0004003d,0x00000006,0x00000071,0x00000070, + 0x00050084,0x00000006,0x00000072,0x0000006f,0x00000071,0x00050080,0x00000006,0x00000073, + 0x0000006e,0x00000072,0x0004003d,0x00000006,0x00000074,0x0000003b,0x00050080,0x00000006, + 0x00000075,0x00000073,0x00000074,0x0003003e,0x00000069,0x00000075,0x0004003d,0x00000006, + 0x0000007d,0x00000069,0x00060041,0x0000007e,0x0000007f,0x0000007c,0x00000053,0x0000007d, + 0x0004003d,0x00000076,0x00000080,0x0000007f,0x0003003e,0x00000078,0x00000080,0x0004003d, + 0x00000006,0x00000081,0x00000017,0x000500aa,0x0000001c,0x00000082,0x00000081,0x00000021, + 0x000300f7,0x00000084,0x00000000,0x000400fa,0x00000082,0x00000083,0x000000b0,0x000200f8, + 0x00000083,0x00050041,0x00000022,0x00000085,0x00000020,0x00000041,0x0004003d,0x00000006, + 0x00000086,0x00000085,0x0004003d,0x00000006,0x00000087,0x00000008,0x00050082,0x00000006, + 0x00000088,0x00000087,0x00000086,0x0003003e,0x00000008,0x00000088,0x00050041,0x00000022, + 0x00000089,0x00000020,0x0000004b,0x0004003d,0x00000006,0x0000008a,0x00000089,0x0004003d, + 0x00000006,0x0000008b,0x00000012,0x00050082,0x00000006,0x0000008c,0x0000008b,0x0000008a, + 0x0003003e,0x00000012,0x0000008c,0x0004003d,0x00000006,0x0000008d,0x00000008,0x000500af, + 0x0000001c,0x0000008e,0x0000008d,0x00000053,0x000300f7,0x00000090,0x00000000,0x000400fa, + 0x0000008e,0x0000008f,0x00000090,0x000200f8,0x0000008f,0x0004003d,0x00000006,0x00000091, + 0x00000008,0x00050041,0x00000022,0x00000093,0x00000020,0x00000092,0x0004003d,0x00000006, + 0x00000094,0x00000093,0x000500b1,0x0000001c,0x00000095,0x00000091,0x00000094,0x000200f9, + 0x00000090,0x000200f8,0x00000090,0x000700f5,0x0000001c,0x00000096,0x0000008e,0x00000083, + 0x00000095,0x0000008f,0x0004003d,0x00000006,0x00000097,0x00000012,0x000500af,0x0000001c, + 0x00000098,0x00000097,0x00000053,0x000500a7,0x0000001c,0x00000099,0x00000096,0x00000098, + 0x000300f7,0x0000009b,0x00000000,0x000400fa,0x00000099,0x0000009a,0x0000009b,0x000200f8, + 0x0000009a,0x0004003d,0x00000006,0x0000009c,0x00000012,0x00050041,0x00000022,0x0000009e, + 0x00000020,0x0000009d,0x0004003d,0x00000006,0x0000009f,0x0000009e,0x000500b1,0x0000001c, + 0x000000a0,0x0000009c,0x0000009f,0x000200f9,0x0000009b,0x000200f8,0x0000009b,0x000700f5, + 0x0000001c,0x000000a1,0x00000099,0x00000090,0x000000a0,0x0000009a,0x000300f7,0x000000a3, + 0x00000000,0x000400fa,0x000000a1,0x000000a2,0x000000a3,0x000200f8,0x000000a2,0x0004003d, + 0x00000006,0x000000a8,0x00000012,0x00050041,0x00000022,0x000000a9,0x00000020,0x00000092, + 0x0004003d,0x00000006,0x000000aa,0x000000a9,0x00050084,0x00000006,0x000000ab,0x000000a8, + 0x000000aa,0x0004003d,0x00000006,0x000000ac,0x00000008,0x00050080,0x00000006,0x000000ad, + 0x000000ab,0x000000ac,0x0004003d,0x00000076,0x000000ae,0x00000078,0x00060041,0x0000007e, + 0x000000af,0x000000a7,0x00000053,0x000000ad,0x0003003e,0x000000af,0x000000ae,0x000200f9, + 0x000000a3,0x000200f8,0x000000a3,0x000200f9,0x00000084,0x000200f8,0x000000b0,0x0004003d, + 0x00000076,0x000000b1,0x00000078,0x00050085,0x00000076,0x000000b3,0x000000b1,0x000000b2, + 0x0003003e,0x00000078,0x000000b3,0x0004003d,0x00000006,0x000000b5,0x00000017,0x00050041, + 0x00000022,0x000000b7,0x00000020,0x000000b6,0x0004003d,0x00000006,0x000000b8,0x000000b7, + 0x00050084,0x00000006,0x000000b9,0x000000b5,0x000000b8,0x0003003e,0x000000b4,0x000000b9, + 0x0004003d,0x00000006,0x000000be,0x000000b4,0x0004003d,0x00000006,0x000000bf,0x00000012, + 0x00050041,0x00000022,0x000000c0,0x00000020,0x00000021,0x0004003d,0x00000006,0x000000c1, + 0x000000c0,0x00050084,0x00000006,0x000000c2,0x000000bf,0x000000c1,0x00050080,0x00000006, + 0x000000c3,0x000000be,0x000000c2,0x0004003d,0x00000006,0x000000c4,0x00000008,0x00050080, + 0x00000006,0x000000c5,0x000000c3,0x000000c4,0x0004003d,0x00000076,0x000000c6,0x00000078, + 0x00060041,0x0000007e,0x000000c7,0x000000bd,0x00000053,0x000000c5,0x0003003e,0x000000c7, + 0x000000c6,0x0004003d,0x00000006,0x000000cc,0x000000b4,0x0004003d,0x00000006,0x000000cd, + 0x00000012,0x00050041,0x00000022,0x000000ce,0x00000020,0x00000021,0x0004003d,0x00000006, + 0x000000cf,0x000000ce,0x00050084,0x00000006,0x000000d0,0x000000cd,0x000000cf,0x00050080, + 0x00000006,0x000000d1,0x000000cc,0x000000d0,0x00050041,0x00000022,0x000000d2,0x00000020, + 0x00000021,0x0004003d,0x00000006,0x000000d3,0x000000d2,0x00050082,0x00000006,0x000000d4, + 0x000000d3,0x00000056,0x0004003d,0x00000006,0x000000d5,0x00000008,0x00050082,0x00000006, + 0x000000d6,0x000000d4,0x000000d5,0x00050080,0x00000006,0x000000d7,0x000000d1,0x000000d6, + 0x0004003d,0x00000076,0x000000d8,0x00000078,0x00060041,0x0000007e,0x000000d9,0x000000cb, + 0x00000053,0x000000d7,0x0003003e,0x000000d9,0x000000d8,0x0004003d,0x00000006,0x000000de, + 0x000000b4,0x00050041,0x00000022,0x000000df,0x00000020,0x0000002a,0x0004003d,0x00000006, + 0x000000e0,0x000000df,0x00050082,0x00000006,0x000000e1,0x000000e0,0x00000056,0x0004003d, + 0x00000006,0x000000e2,0x00000012,0x00050082,0x00000006,0x000000e3,0x000000e1,0x000000e2, + 0x00050041,0x00000022,0x000000e4,0x00000020,0x00000021,0x0004003d,0x00000006,0x000000e5, + 0x000000e4,0x00050084,0x00000006,0x000000e6,0x000000e3,0x000000e5,0x00050080,0x00000006, + 0x000000e7,0x000000de,0x000000e6,0x00050041,0x00000022,0x000000e8,0x00000020,0x00000021, + 0x0004003d,0x00000006,0x000000e9,0x000000e8,0x00050082,0x00000006,0x000000ea,0x000000e9, + 0x00000056,0x0004003d,0x00000006,0x000000eb,0x00000008,0x00050082,0x00000006,0x000000ec, + 0x000000ea,0x000000eb,0x00050080,0x00000006,0x000000ed,0x000000e7,0x000000ec,0x0004003d, + 0x00000076,0x000000ee,0x00000078,0x00060041,0x0000007e,0x000000ef,0x000000dd,0x00000053, + 0x000000ed,0x0003003e,0x000000ef,0x000000ee,0x0004003d,0x00000006,0x000000f4,0x000000b4, + 0x00050041,0x00000022,0x000000f5,0x00000020,0x0000002a,0x0004003d,0x00000006,0x000000f6, + 0x000000f5,0x00050082,0x00000006,0x000000f7,0x000000f6,0x00000056,0x0004003d,0x00000006, + 0x000000f8,0x00000012,0x00050082,0x00000006,0x000000f9,0x000000f7,0x000000f8,0x00050041, + 0x00000022,0x000000fa,0x00000020,0x00000021,0x0004003d,0x00000006,0x000000fb,0x000000fa, + 0x00050084,0x00000006,0x000000fc,0x000000f9,0x000000fb,0x00050080,0x00000006,0x000000fd, + 0x000000f4,0x000000fc,0x0004003d,0x00000006,0x000000fe,0x00000008,0x00050080,0x00000006, + 0x000000ff,0x000000fd,0x000000fe,0x0004003d,0x00000076,0x00000100,0x00000078,0x00060041, + 0x0000007e,0x00000101,0x000000f3,0x00000053,0x000000ff,0x0003003e,0x00000101,0x00000100, + 0x0004003d,0x00000006,0x00000106,0x000000b4,0x0004003d,0x00000006,0x00000107,0x00000008, + 0x00050041,0x00000022,0x00000108,0x00000020,0x0000002a,0x0004003d,0x00000006,0x00000109, + 0x00000108,0x00050084,0x00000006,0x0000010a,0x00000107,0x00000109,0x00050080,0x00000006, + 0x0000010b,0x00000106,0x0000010a,0x0004003d,0x00000006,0x0000010c,0x00000012,0x00050080, + 0x00000006,0x0000010d,0x0000010b,0x0000010c,0x0004003d,0x00000076,0x0000010e,0x00000078, + 0x00060041,0x0000007e,0x0000010f,0x00000105,0x00000053,0x0000010d,0x0003003e,0x0000010f, + 0x0000010e,0x0004003d,0x00000006,0x00000114,0x000000b4,0x0004003d,0x00000006,0x00000115, + 0x00000008,0x00050041,0x00000022,0x00000116,0x00000020,0x0000002a,0x0004003d,0x00000006, + 0x00000117,0x00000116,0x00050084,0x00000006,0x00000118,0x00000115,0x00000117,0x00050080, + 0x00000006,0x00000119,0x00000114,0x00000118,0x00050041,0x00000022,0x0000011a,0x00000020, + 0x0000002a,0x0004003d,0x00000006,0x0000011b,0x0000011a,0x00050082,0x00000006,0x0000011c, + 0x0000011b,0x00000056,0x0004003d,0x00000006,0x0000011d,0x00000012,0x00050082,0x00000006, + 0x0000011e,0x0000011c,0x0000011d,0x00050080,0x00000006,0x0000011f,0x00000119,0x0000011e, + 0x0004003d,0x00000076,0x00000120,0x00000078,0x00060041,0x0000007e,0x00000121,0x00000113, + 0x00000053,0x0000011f,0x0003003e,0x00000121,0x00000120,0x0004003d,0x00000006,0x00000126, + 0x000000b4,0x00050041,0x00000022,0x00000127,0x00000020,0x00000021,0x0004003d,0x00000006, + 0x00000128,0x00000127,0x00050082,0x00000006,0x00000129,0x00000128,0x00000056,0x0004003d, + 0x00000006,0x0000012a,0x00000008,0x00050082,0x00000006,0x0000012b,0x00000129,0x0000012a, + 0x00050041,0x00000022,0x0000012c,0x00000020,0x0000002a,0x0004003d,0x00000006,0x0000012d, + 0x0000012c,0x00050084,0x00000006,0x0000012e,0x0000012b,0x0000012d,0x00050080,0x00000006, + 0x0000012f,0x00000126,0x0000012e,0x00050041,0x00000022,0x00000130,0x00000020,0x0000002a, + 0x0004003d,0x00000006,0x00000131,0x00000130,0x00050082,0x00000006,0x00000132,0x00000131, + 0x00000056,0x0004003d,0x00000006,0x00000133,0x00000012,0x00050082,0x00000006,0x00000134, + 0x00000132,0x00000133,0x00050080,0x00000006,0x00000135,0x0000012f,0x00000134,0x0004003d, + 0x00000076,0x00000136,0x00000078,0x00060041,0x0000007e,0x00000137,0x00000125,0x00000053, + 0x00000135,0x0003003e,0x00000137,0x00000136,0x0004003d,0x00000006,0x0000013c,0x000000b4, + 0x00050041,0x00000022,0x0000013d,0x00000020,0x00000021,0x0004003d,0x00000006,0x0000013e, + 0x0000013d,0x00050082,0x00000006,0x0000013f,0x0000013e,0x00000056,0x0004003d,0x00000006, + 0x00000140,0x00000008,0x00050082,0x00000006,0x00000141,0x0000013f,0x00000140,0x00050041, + 0x00000022,0x00000142,0x00000020,0x0000002a,0x0004003d,0x00000006,0x00000143,0x00000142, + 0x00050084,0x00000006,0x00000144,0x00000141,0x00000143,0x00050080,0x00000006,0x00000145, + 0x0000013c,0x00000144,0x0004003d,0x00000006,0x00000146,0x00000012,0x00050080,0x00000006, + 0x00000147,0x00000145,0x00000146,0x0004003d,0x00000076,0x00000148,0x00000078,0x00060041, + 0x0000007e,0x00000149,0x0000013b,0x00000053,0x00000147,0x0003003e,0x00000149,0x00000148, + 0x000200f9,0x00000084,0x000200f8,0x00000084,0x000100fd,0x00010038 diff --git a/src/realesrgan/shader/realesrgan_preproc_tta_fp16s.spv.hex.h b/src/realesrgan/shader/realesrgan_preproc_tta_fp16s.spv.hex.h new file mode 100644 index 0000000..cc37428 --- /dev/null +++ b/src/realesrgan/shader/realesrgan_preproc_tta_fp16s.spv.hex.h @@ -0,0 +1,280 @@ + // 1011.6.0 + 0x07230203,0x00010000,0x0008000a,0x00000156,0x00000000,0x00020011,0x00000001,0x00020011, + 0x00001151,0x0007000a,0x5f565053,0x5f52484b,0x69623631,0x74735f74,0x6761726f,0x00000065, + 0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000, + 0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000c,0x00060010, + 0x00000004,0x00000011,0x00000001,0x00000001,0x00000001,0x00030003,0x00000002,0x000001c2, + 0x00080004,0x455f4c47,0x735f5458,0x65646168,0x36315f72,0x5f746962,0x726f7473,0x00656761, + 0x00040005,0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000008,0x00007867,0x00080005, + 0x0000000c,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044,0x00030005, + 0x00000012,0x00007967,0x00030005,0x00000017,0x00007a67,0x00050005,0x0000001e,0x61726170, + 0x6574656d,0x00000072,0x00040006,0x0000001e,0x00000000,0x00000077,0x00040006,0x0000001e, + 0x00000001,0x00000068,0x00050006,0x0000001e,0x00000002,0x65747363,0x00000070,0x00050006, + 0x0000001e,0x00000003,0x7774756f,0x00000000,0x00050006,0x0000001e,0x00000004,0x6874756f, + 0x00000000,0x00060006,0x0000001e,0x00000005,0x6374756f,0x70657473,0x00000000,0x00050006, + 0x0000001e,0x00000006,0x5f646170,0x00706f74,0x00060006,0x0000001e,0x00000007,0x5f646170, + 0x7466656c,0x00000000,0x00050006,0x0000001e,0x00000008,0x706f7263,0x0000785f,0x00050006, + 0x0000001e,0x00000009,0x706f7263,0x0000795f,0x00060006,0x0000001e,0x0000000a,0x6e616863, + 0x736c656e,0x00000000,0x00050006,0x0000001e,0x0000000b,0x68706c61,0x00007761,0x00050006, + 0x0000001e,0x0000000c,0x68706c61,0x00006861,0x00030005,0x00000020,0x00000070,0x00030005, + 0x0000003b,0x00000078,0x00030005,0x00000045,0x00000079,0x00050005,0x00000069,0x666f5f76, + 0x74657366,0x00000000,0x00030005,0x00000078,0x00000076,0x00050005,0x0000007a,0x74746f62, + 0x625f6d6f,0x00626f6c,0x00080006,0x0000007a,0x00000000,0x74746f62,0x625f6d6f,0x5f626f6c, + 0x61746164,0x00000000,0x00030005,0x0000007c,0x00000000,0x00050005,0x000000a6,0x68706c61, + 0x6c625f61,0x0000626f,0x00070006,0x000000a6,0x00000000,0x68706c61,0x6c625f61,0x645f626f, + 0x00617461,0x00030005,0x000000a8,0x00000000,0x00030005,0x000000b7,0x00697a67,0x00050005, + 0x000000be,0x5f706f74,0x626f6c62,0x00000030,0x00070006,0x000000be,0x00000000,0x5f706f74, + 0x626f6c62,0x61645f30,0x00006174,0x00030005,0x000000c0,0x00000000,0x00050005,0x000000cd, + 0x5f706f74,0x626f6c62,0x00000031,0x00070006,0x000000cd,0x00000000,0x5f706f74,0x626f6c62, + 0x61645f31,0x00006174,0x00030005,0x000000cf,0x00000000,0x00050005,0x000000e0,0x5f706f74, + 0x626f6c62,0x00000032,0x00070006,0x000000e0,0x00000000,0x5f706f74,0x626f6c62,0x61645f32, + 0x00006174,0x00030005,0x000000e2,0x00000000,0x00050005,0x000000f7,0x5f706f74,0x626f6c62, + 0x00000033,0x00070006,0x000000f7,0x00000000,0x5f706f74,0x626f6c62,0x61645f33,0x00006174, + 0x00030005,0x000000f9,0x00000000,0x00050005,0x0000010a,0x5f706f74,0x626f6c62,0x00000034, + 0x00070006,0x0000010a,0x00000000,0x5f706f74,0x626f6c62,0x61645f34,0x00006174,0x00030005, + 0x0000010c,0x00000000,0x00050005,0x00000119,0x5f706f74,0x626f6c62,0x00000035,0x00070006, + 0x00000119,0x00000000,0x5f706f74,0x626f6c62,0x61645f35,0x00006174,0x00030005,0x0000011b, + 0x00000000,0x00050005,0x0000012c,0x5f706f74,0x626f6c62,0x00000036,0x00070006,0x0000012c, + 0x00000000,0x5f706f74,0x626f6c62,0x61645f36,0x00006174,0x00030005,0x0000012e,0x00000000, + 0x00050005,0x00000143,0x5f706f74,0x626f6c62,0x00000037,0x00070006,0x00000143,0x00000000, + 0x5f706f74,0x626f6c62,0x61645f37,0x00006174,0x00030005,0x00000145,0x00000000,0x00030005, + 0x00000155,0x00726762,0x00040047,0x0000000c,0x0000000b,0x0000001c,0x00050048,0x0000001e, + 0x00000000,0x00000023,0x00000000,0x00050048,0x0000001e,0x00000001,0x00000023,0x00000004, + 0x00050048,0x0000001e,0x00000002,0x00000023,0x00000008,0x00050048,0x0000001e,0x00000003, + 0x00000023,0x0000000c,0x00050048,0x0000001e,0x00000004,0x00000023,0x00000010,0x00050048, + 0x0000001e,0x00000005,0x00000023,0x00000014,0x00050048,0x0000001e,0x00000006,0x00000023, + 0x00000018,0x00050048,0x0000001e,0x00000007,0x00000023,0x0000001c,0x00050048,0x0000001e, + 0x00000008,0x00000023,0x00000020,0x00050048,0x0000001e,0x00000009,0x00000023,0x00000024, + 0x00050048,0x0000001e,0x0000000a,0x00000023,0x00000028,0x00050048,0x0000001e,0x0000000b, + 0x00000023,0x0000002c,0x00050048,0x0000001e,0x0000000c,0x00000023,0x00000030,0x00030047, + 0x0000001e,0x00000002,0x00040047,0x00000079,0x00000006,0x00000004,0x00040048,0x0000007a, + 0x00000000,0x00000018,0x00050048,0x0000007a,0x00000000,0x00000023,0x00000000,0x00030047, + 0x0000007a,0x00000003,0x00040047,0x0000007c,0x00000022,0x00000000,0x00040047,0x0000007c, + 0x00000021,0x00000000,0x00040047,0x000000a5,0x00000006,0x00000002,0x00040048,0x000000a6, + 0x00000000,0x00000019,0x00050048,0x000000a6,0x00000000,0x00000023,0x00000000,0x00030047, + 0x000000a6,0x00000003,0x00040047,0x000000a8,0x00000022,0x00000000,0x00040047,0x000000a8, + 0x00000021,0x00000009,0x00040047,0x000000bd,0x00000006,0x00000002,0x00040048,0x000000be, + 0x00000000,0x00000019,0x00050048,0x000000be,0x00000000,0x00000023,0x00000000,0x00030047, + 0x000000be,0x00000003,0x00040047,0x000000c0,0x00000022,0x00000000,0x00040047,0x000000c0, + 0x00000021,0x00000001,0x00040047,0x000000cc,0x00000006,0x00000002,0x00040048,0x000000cd, + 0x00000000,0x00000019,0x00050048,0x000000cd,0x00000000,0x00000023,0x00000000,0x00030047, + 0x000000cd,0x00000003,0x00040047,0x000000cf,0x00000022,0x00000000,0x00040047,0x000000cf, + 0x00000021,0x00000002,0x00040047,0x000000df,0x00000006,0x00000002,0x00040048,0x000000e0, + 0x00000000,0x00000019,0x00050048,0x000000e0,0x00000000,0x00000023,0x00000000,0x00030047, + 0x000000e0,0x00000003,0x00040047,0x000000e2,0x00000022,0x00000000,0x00040047,0x000000e2, + 0x00000021,0x00000003,0x00040047,0x000000f6,0x00000006,0x00000002,0x00040048,0x000000f7, + 0x00000000,0x00000019,0x00050048,0x000000f7,0x00000000,0x00000023,0x00000000,0x00030047, + 0x000000f7,0x00000003,0x00040047,0x000000f9,0x00000022,0x00000000,0x00040047,0x000000f9, + 0x00000021,0x00000004,0x00040047,0x00000109,0x00000006,0x00000002,0x00040048,0x0000010a, + 0x00000000,0x00000019,0x00050048,0x0000010a,0x00000000,0x00000023,0x00000000,0x00030047, + 0x0000010a,0x00000003,0x00040047,0x0000010c,0x00000022,0x00000000,0x00040047,0x0000010c, + 0x00000021,0x00000005,0x00040047,0x00000118,0x00000006,0x00000002,0x00040048,0x00000119, + 0x00000000,0x00000019,0x00050048,0x00000119,0x00000000,0x00000023,0x00000000,0x00030047, + 0x00000119,0x00000003,0x00040047,0x0000011b,0x00000022,0x00000000,0x00040047,0x0000011b, + 0x00000021,0x00000006,0x00040047,0x0000012b,0x00000006,0x00000002,0x00040048,0x0000012c, + 0x00000000,0x00000019,0x00050048,0x0000012c,0x00000000,0x00000023,0x00000000,0x00030047, + 0x0000012c,0x00000003,0x00040047,0x0000012e,0x00000022,0x00000000,0x00040047,0x0000012e, + 0x00000021,0x00000007,0x00040047,0x00000142,0x00000006,0x00000002,0x00040048,0x00000143, + 0x00000000,0x00000019,0x00050048,0x00000143,0x00000000,0x00000023,0x00000000,0x00030047, + 0x00000143,0x00000003,0x00040047,0x00000145,0x00000022,0x00000000,0x00040047,0x00000145, + 0x00000021,0x00000008,0x00040047,0x00000155,0x00000001,0x00000000,0x00020013,0x00000002, + 0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001,0x00040020, + 0x00000007,0x00000007,0x00000006,0x00040015,0x00000009,0x00000020,0x00000000,0x00040017, + 0x0000000a,0x00000009,0x00000003,0x00040020,0x0000000b,0x00000001,0x0000000a,0x0004003b, + 0x0000000b,0x0000000c,0x00000001,0x0004002b,0x00000009,0x0000000d,0x00000000,0x00040020, + 0x0000000e,0x00000001,0x00000009,0x0004002b,0x00000009,0x00000013,0x00000001,0x0004002b, + 0x00000009,0x00000018,0x00000002,0x00020014,0x0000001c,0x000f001e,0x0000001e,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x0000001f,0x00000009,0x0000001e, + 0x0004003b,0x0000001f,0x00000020,0x00000009,0x0004002b,0x00000006,0x00000021,0x00000003, + 0x00040020,0x00000022,0x00000009,0x00000006,0x0004002b,0x00000006,0x0000002a,0x00000004, + 0x0004002b,0x00000006,0x00000033,0x0000000a,0x0004002b,0x00000006,0x0000003d,0x00000008, + 0x0004002b,0x00000006,0x00000041,0x00000007,0x0004002b,0x00000006,0x00000047,0x00000009, + 0x0004002b,0x00000006,0x0000004b,0x00000006,0x0004002b,0x00000006,0x00000053,0x00000000, + 0x0004002b,0x00000006,0x00000056,0x00000001,0x0004002b,0x00000006,0x0000006b,0x00000002, + 0x00030016,0x00000076,0x00000020,0x00040020,0x00000077,0x00000007,0x00000076,0x0003001d, + 0x00000079,0x00000076,0x0003001e,0x0000007a,0x00000079,0x00040020,0x0000007b,0x00000002, + 0x0000007a,0x0004003b,0x0000007b,0x0000007c,0x00000002,0x00040020,0x0000007e,0x00000002, + 0x00000076,0x0004002b,0x00000006,0x00000092,0x0000000b,0x0004002b,0x00000006,0x0000009d, + 0x0000000c,0x00030016,0x000000a4,0x00000010,0x0003001d,0x000000a5,0x000000a4,0x0003001e, + 0x000000a6,0x000000a5,0x00040020,0x000000a7,0x00000002,0x000000a6,0x0004003b,0x000000a7, + 0x000000a8,0x00000002,0x00040020,0x000000b1,0x00000002,0x000000a4,0x0004002b,0x00000076, + 0x000000b5,0x3b808081,0x0004002b,0x00000006,0x000000b9,0x00000005,0x0003001d,0x000000bd, + 0x000000a4,0x0003001e,0x000000be,0x000000bd,0x00040020,0x000000bf,0x00000002,0x000000be, + 0x0004003b,0x000000bf,0x000000c0,0x00000002,0x0003001d,0x000000cc,0x000000a4,0x0003001e, + 0x000000cd,0x000000cc,0x00040020,0x000000ce,0x00000002,0x000000cd,0x0004003b,0x000000ce, + 0x000000cf,0x00000002,0x0003001d,0x000000df,0x000000a4,0x0003001e,0x000000e0,0x000000df, + 0x00040020,0x000000e1,0x00000002,0x000000e0,0x0004003b,0x000000e1,0x000000e2,0x00000002, + 0x0003001d,0x000000f6,0x000000a4,0x0003001e,0x000000f7,0x000000f6,0x00040020,0x000000f8, + 0x00000002,0x000000f7,0x0004003b,0x000000f8,0x000000f9,0x00000002,0x0003001d,0x00000109, + 0x000000a4,0x0003001e,0x0000010a,0x00000109,0x00040020,0x0000010b,0x00000002,0x0000010a, + 0x0004003b,0x0000010b,0x0000010c,0x00000002,0x0003001d,0x00000118,0x000000a4,0x0003001e, + 0x00000119,0x00000118,0x00040020,0x0000011a,0x00000002,0x00000119,0x0004003b,0x0000011a, + 0x0000011b,0x00000002,0x0003001d,0x0000012b,0x000000a4,0x0003001e,0x0000012c,0x0000012b, + 0x00040020,0x0000012d,0x00000002,0x0000012c,0x0004003b,0x0000012d,0x0000012e,0x00000002, + 0x0003001d,0x00000142,0x000000a4,0x0003001e,0x00000143,0x00000142,0x00040020,0x00000144, + 0x00000002,0x00000143,0x0004003b,0x00000144,0x00000145,0x00000002,0x00040032,0x00000006, + 0x00000155,0x00000000,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8, + 0x00000005,0x0004003b,0x00000007,0x00000008,0x00000007,0x0004003b,0x00000007,0x00000012, + 0x00000007,0x0004003b,0x00000007,0x00000017,0x00000007,0x0004003b,0x00000007,0x0000003b, + 0x00000007,0x0004003b,0x00000007,0x00000045,0x00000007,0x0004003b,0x00000007,0x00000069, + 0x00000007,0x0004003b,0x00000077,0x00000078,0x00000007,0x0004003b,0x00000007,0x000000b7, + 0x00000007,0x00050041,0x0000000e,0x0000000f,0x0000000c,0x0000000d,0x0004003d,0x00000009, + 0x00000010,0x0000000f,0x0004007c,0x00000006,0x00000011,0x00000010,0x0003003e,0x00000008, + 0x00000011,0x00050041,0x0000000e,0x00000014,0x0000000c,0x00000013,0x0004003d,0x00000009, + 0x00000015,0x00000014,0x0004007c,0x00000006,0x00000016,0x00000015,0x0003003e,0x00000012, + 0x00000016,0x00050041,0x0000000e,0x00000019,0x0000000c,0x00000018,0x0004003d,0x00000009, + 0x0000001a,0x00000019,0x0004007c,0x00000006,0x0000001b,0x0000001a,0x0003003e,0x00000017, + 0x0000001b,0x0004003d,0x00000006,0x0000001d,0x00000008,0x00050041,0x00000022,0x00000023, + 0x00000020,0x00000021,0x0004003d,0x00000006,0x00000024,0x00000023,0x000500af,0x0000001c, + 0x00000025,0x0000001d,0x00000024,0x000400a8,0x0000001c,0x00000026,0x00000025,0x000300f7, + 0x00000028,0x00000000,0x000400fa,0x00000026,0x00000027,0x00000028,0x000200f8,0x00000027, + 0x0004003d,0x00000006,0x00000029,0x00000012,0x00050041,0x00000022,0x0000002b,0x00000020, + 0x0000002a,0x0004003d,0x00000006,0x0000002c,0x0000002b,0x000500af,0x0000001c,0x0000002d, + 0x00000029,0x0000002c,0x000200f9,0x00000028,0x000200f8,0x00000028,0x000700f5,0x0000001c, + 0x0000002e,0x00000025,0x00000005,0x0000002d,0x00000027,0x000400a8,0x0000001c,0x0000002f, + 0x0000002e,0x000300f7,0x00000031,0x00000000,0x000400fa,0x0000002f,0x00000030,0x00000031, + 0x000200f8,0x00000030,0x0004003d,0x00000006,0x00000032,0x00000017,0x00050041,0x00000022, + 0x00000034,0x00000020,0x00000033,0x0004003d,0x00000006,0x00000035,0x00000034,0x000500af, + 0x0000001c,0x00000036,0x00000032,0x00000035,0x000200f9,0x00000031,0x000200f8,0x00000031, + 0x000700f5,0x0000001c,0x00000037,0x0000002e,0x00000028,0x00000036,0x00000030,0x000300f7, + 0x00000039,0x00000000,0x000400fa,0x00000037,0x00000038,0x00000039,0x000200f8,0x00000038, + 0x000100fd,0x000200f8,0x00000039,0x0004003d,0x00000006,0x0000003c,0x00000008,0x00050041, + 0x00000022,0x0000003e,0x00000020,0x0000003d,0x0004003d,0x00000006,0x0000003f,0x0000003e, + 0x00050080,0x00000006,0x00000040,0x0000003c,0x0000003f,0x00050041,0x00000022,0x00000042, + 0x00000020,0x00000041,0x0004003d,0x00000006,0x00000043,0x00000042,0x00050082,0x00000006, + 0x00000044,0x00000040,0x00000043,0x0003003e,0x0000003b,0x00000044,0x0004003d,0x00000006, + 0x00000046,0x00000012,0x00050041,0x00000022,0x00000048,0x00000020,0x00000047,0x0004003d, + 0x00000006,0x00000049,0x00000048,0x00050080,0x00000006,0x0000004a,0x00000046,0x00000049, + 0x00050041,0x00000022,0x0000004c,0x00000020,0x0000004b,0x0004003d,0x00000006,0x0000004d, + 0x0000004c,0x00050082,0x00000006,0x0000004e,0x0000004a,0x0000004d,0x0003003e,0x00000045, + 0x0000004e,0x0004003d,0x00000006,0x0000004f,0x0000003b,0x0006000c,0x00000006,0x00000050, + 0x00000001,0x00000005,0x0000004f,0x0003003e,0x0000003b,0x00000050,0x0004003d,0x00000006, + 0x00000051,0x00000045,0x0006000c,0x00000006,0x00000052,0x00000001,0x00000005,0x00000051, + 0x0003003e,0x00000045,0x00000052,0x00050041,0x00000022,0x00000054,0x00000020,0x00000053, + 0x0004003d,0x00000006,0x00000055,0x00000054,0x00050082,0x00000006,0x00000057,0x00000055, + 0x00000056,0x0004003d,0x00000006,0x00000058,0x0000003b,0x00050041,0x00000022,0x00000059, + 0x00000020,0x00000053,0x0004003d,0x00000006,0x0000005a,0x00000059,0x00050082,0x00000006, + 0x0000005b,0x0000005a,0x00000056,0x00050082,0x00000006,0x0000005c,0x00000058,0x0000005b, + 0x0006000c,0x00000006,0x0000005d,0x00000001,0x00000005,0x0000005c,0x00050082,0x00000006, + 0x0000005e,0x00000057,0x0000005d,0x0003003e,0x0000003b,0x0000005e,0x00050041,0x00000022, + 0x0000005f,0x00000020,0x00000056,0x0004003d,0x00000006,0x00000060,0x0000005f,0x00050082, + 0x00000006,0x00000061,0x00000060,0x00000056,0x0004003d,0x00000006,0x00000062,0x00000045, + 0x00050041,0x00000022,0x00000063,0x00000020,0x00000056,0x0004003d,0x00000006,0x00000064, + 0x00000063,0x00050082,0x00000006,0x00000065,0x00000064,0x00000056,0x00050082,0x00000006, + 0x00000066,0x00000062,0x00000065,0x0006000c,0x00000006,0x00000067,0x00000001,0x00000005, + 0x00000066,0x00050082,0x00000006,0x00000068,0x00000061,0x00000067,0x0003003e,0x00000045, + 0x00000068,0x0004003d,0x00000006,0x0000006a,0x00000017,0x00050041,0x00000022,0x0000006c, + 0x00000020,0x0000006b,0x0004003d,0x00000006,0x0000006d,0x0000006c,0x00050084,0x00000006, + 0x0000006e,0x0000006a,0x0000006d,0x0004003d,0x00000006,0x0000006f,0x00000045,0x00050041, + 0x00000022,0x00000070,0x00000020,0x00000053,0x0004003d,0x00000006,0x00000071,0x00000070, + 0x00050084,0x00000006,0x00000072,0x0000006f,0x00000071,0x00050080,0x00000006,0x00000073, + 0x0000006e,0x00000072,0x0004003d,0x00000006,0x00000074,0x0000003b,0x00050080,0x00000006, + 0x00000075,0x00000073,0x00000074,0x0003003e,0x00000069,0x00000075,0x0004003d,0x00000006, + 0x0000007d,0x00000069,0x00060041,0x0000007e,0x0000007f,0x0000007c,0x00000053,0x0000007d, + 0x0004003d,0x00000076,0x00000080,0x0000007f,0x0003003e,0x00000078,0x00000080,0x0004003d, + 0x00000006,0x00000081,0x00000017,0x000500aa,0x0000001c,0x00000082,0x00000081,0x00000021, + 0x000300f7,0x00000084,0x00000000,0x000400fa,0x00000082,0x00000083,0x000000b3,0x000200f8, + 0x00000083,0x00050041,0x00000022,0x00000085,0x00000020,0x00000041,0x0004003d,0x00000006, + 0x00000086,0x00000085,0x0004003d,0x00000006,0x00000087,0x00000008,0x00050082,0x00000006, + 0x00000088,0x00000087,0x00000086,0x0003003e,0x00000008,0x00000088,0x00050041,0x00000022, + 0x00000089,0x00000020,0x0000004b,0x0004003d,0x00000006,0x0000008a,0x00000089,0x0004003d, + 0x00000006,0x0000008b,0x00000012,0x00050082,0x00000006,0x0000008c,0x0000008b,0x0000008a, + 0x0003003e,0x00000012,0x0000008c,0x0004003d,0x00000006,0x0000008d,0x00000008,0x000500af, + 0x0000001c,0x0000008e,0x0000008d,0x00000053,0x000300f7,0x00000090,0x00000000,0x000400fa, + 0x0000008e,0x0000008f,0x00000090,0x000200f8,0x0000008f,0x0004003d,0x00000006,0x00000091, + 0x00000008,0x00050041,0x00000022,0x00000093,0x00000020,0x00000092,0x0004003d,0x00000006, + 0x00000094,0x00000093,0x000500b1,0x0000001c,0x00000095,0x00000091,0x00000094,0x000200f9, + 0x00000090,0x000200f8,0x00000090,0x000700f5,0x0000001c,0x00000096,0x0000008e,0x00000083, + 0x00000095,0x0000008f,0x0004003d,0x00000006,0x00000097,0x00000012,0x000500af,0x0000001c, + 0x00000098,0x00000097,0x00000053,0x000500a7,0x0000001c,0x00000099,0x00000096,0x00000098, + 0x000300f7,0x0000009b,0x00000000,0x000400fa,0x00000099,0x0000009a,0x0000009b,0x000200f8, + 0x0000009a,0x0004003d,0x00000006,0x0000009c,0x00000012,0x00050041,0x00000022,0x0000009e, + 0x00000020,0x0000009d,0x0004003d,0x00000006,0x0000009f,0x0000009e,0x000500b1,0x0000001c, + 0x000000a0,0x0000009c,0x0000009f,0x000200f9,0x0000009b,0x000200f8,0x0000009b,0x000700f5, + 0x0000001c,0x000000a1,0x00000099,0x00000090,0x000000a0,0x0000009a,0x000300f7,0x000000a3, + 0x00000000,0x000400fa,0x000000a1,0x000000a2,0x000000a3,0x000200f8,0x000000a2,0x0004003d, + 0x00000006,0x000000a9,0x00000012,0x00050041,0x00000022,0x000000aa,0x00000020,0x00000092, + 0x0004003d,0x00000006,0x000000ab,0x000000aa,0x00050084,0x00000006,0x000000ac,0x000000a9, + 0x000000ab,0x0004003d,0x00000006,0x000000ad,0x00000008,0x00050080,0x00000006,0x000000ae, + 0x000000ac,0x000000ad,0x0004003d,0x00000076,0x000000af,0x00000078,0x00040073,0x000000a4, + 0x000000b0,0x000000af,0x00060041,0x000000b1,0x000000b2,0x000000a8,0x00000053,0x000000ae, + 0x0003003e,0x000000b2,0x000000b0,0x000200f9,0x000000a3,0x000200f8,0x000000a3,0x000200f9, + 0x00000084,0x000200f8,0x000000b3,0x0004003d,0x00000076,0x000000b4,0x00000078,0x00050085, + 0x00000076,0x000000b6,0x000000b4,0x000000b5,0x0003003e,0x00000078,0x000000b6,0x0004003d, + 0x00000006,0x000000b8,0x00000017,0x00050041,0x00000022,0x000000ba,0x00000020,0x000000b9, + 0x0004003d,0x00000006,0x000000bb,0x000000ba,0x00050084,0x00000006,0x000000bc,0x000000b8, + 0x000000bb,0x0003003e,0x000000b7,0x000000bc,0x0004003d,0x00000006,0x000000c1,0x000000b7, + 0x0004003d,0x00000006,0x000000c2,0x00000012,0x00050041,0x00000022,0x000000c3,0x00000020, + 0x00000021,0x0004003d,0x00000006,0x000000c4,0x000000c3,0x00050084,0x00000006,0x000000c5, + 0x000000c2,0x000000c4,0x00050080,0x00000006,0x000000c6,0x000000c1,0x000000c5,0x0004003d, + 0x00000006,0x000000c7,0x00000008,0x00050080,0x00000006,0x000000c8,0x000000c6,0x000000c7, + 0x0004003d,0x00000076,0x000000c9,0x00000078,0x00040073,0x000000a4,0x000000ca,0x000000c9, + 0x00060041,0x000000b1,0x000000cb,0x000000c0,0x00000053,0x000000c8,0x0003003e,0x000000cb, + 0x000000ca,0x0004003d,0x00000006,0x000000d0,0x000000b7,0x0004003d,0x00000006,0x000000d1, + 0x00000012,0x00050041,0x00000022,0x000000d2,0x00000020,0x00000021,0x0004003d,0x00000006, + 0x000000d3,0x000000d2,0x00050084,0x00000006,0x000000d4,0x000000d1,0x000000d3,0x00050080, + 0x00000006,0x000000d5,0x000000d0,0x000000d4,0x00050041,0x00000022,0x000000d6,0x00000020, + 0x00000021,0x0004003d,0x00000006,0x000000d7,0x000000d6,0x00050082,0x00000006,0x000000d8, + 0x000000d7,0x00000056,0x0004003d,0x00000006,0x000000d9,0x00000008,0x00050082,0x00000006, + 0x000000da,0x000000d8,0x000000d9,0x00050080,0x00000006,0x000000db,0x000000d5,0x000000da, + 0x0004003d,0x00000076,0x000000dc,0x00000078,0x00040073,0x000000a4,0x000000dd,0x000000dc, + 0x00060041,0x000000b1,0x000000de,0x000000cf,0x00000053,0x000000db,0x0003003e,0x000000de, + 0x000000dd,0x0004003d,0x00000006,0x000000e3,0x000000b7,0x00050041,0x00000022,0x000000e4, + 0x00000020,0x0000002a,0x0004003d,0x00000006,0x000000e5,0x000000e4,0x00050082,0x00000006, + 0x000000e6,0x000000e5,0x00000056,0x0004003d,0x00000006,0x000000e7,0x00000012,0x00050082, + 0x00000006,0x000000e8,0x000000e6,0x000000e7,0x00050041,0x00000022,0x000000e9,0x00000020, + 0x00000021,0x0004003d,0x00000006,0x000000ea,0x000000e9,0x00050084,0x00000006,0x000000eb, + 0x000000e8,0x000000ea,0x00050080,0x00000006,0x000000ec,0x000000e3,0x000000eb,0x00050041, + 0x00000022,0x000000ed,0x00000020,0x00000021,0x0004003d,0x00000006,0x000000ee,0x000000ed, + 0x00050082,0x00000006,0x000000ef,0x000000ee,0x00000056,0x0004003d,0x00000006,0x000000f0, + 0x00000008,0x00050082,0x00000006,0x000000f1,0x000000ef,0x000000f0,0x00050080,0x00000006, + 0x000000f2,0x000000ec,0x000000f1,0x0004003d,0x00000076,0x000000f3,0x00000078,0x00040073, + 0x000000a4,0x000000f4,0x000000f3,0x00060041,0x000000b1,0x000000f5,0x000000e2,0x00000053, + 0x000000f2,0x0003003e,0x000000f5,0x000000f4,0x0004003d,0x00000006,0x000000fa,0x000000b7, + 0x00050041,0x00000022,0x000000fb,0x00000020,0x0000002a,0x0004003d,0x00000006,0x000000fc, + 0x000000fb,0x00050082,0x00000006,0x000000fd,0x000000fc,0x00000056,0x0004003d,0x00000006, + 0x000000fe,0x00000012,0x00050082,0x00000006,0x000000ff,0x000000fd,0x000000fe,0x00050041, + 0x00000022,0x00000100,0x00000020,0x00000021,0x0004003d,0x00000006,0x00000101,0x00000100, + 0x00050084,0x00000006,0x00000102,0x000000ff,0x00000101,0x00050080,0x00000006,0x00000103, + 0x000000fa,0x00000102,0x0004003d,0x00000006,0x00000104,0x00000008,0x00050080,0x00000006, + 0x00000105,0x00000103,0x00000104,0x0004003d,0x00000076,0x00000106,0x00000078,0x00040073, + 0x000000a4,0x00000107,0x00000106,0x00060041,0x000000b1,0x00000108,0x000000f9,0x00000053, + 0x00000105,0x0003003e,0x00000108,0x00000107,0x0004003d,0x00000006,0x0000010d,0x000000b7, + 0x0004003d,0x00000006,0x0000010e,0x00000008,0x00050041,0x00000022,0x0000010f,0x00000020, + 0x0000002a,0x0004003d,0x00000006,0x00000110,0x0000010f,0x00050084,0x00000006,0x00000111, + 0x0000010e,0x00000110,0x00050080,0x00000006,0x00000112,0x0000010d,0x00000111,0x0004003d, + 0x00000006,0x00000113,0x00000012,0x00050080,0x00000006,0x00000114,0x00000112,0x00000113, + 0x0004003d,0x00000076,0x00000115,0x00000078,0x00040073,0x000000a4,0x00000116,0x00000115, + 0x00060041,0x000000b1,0x00000117,0x0000010c,0x00000053,0x00000114,0x0003003e,0x00000117, + 0x00000116,0x0004003d,0x00000006,0x0000011c,0x000000b7,0x0004003d,0x00000006,0x0000011d, + 0x00000008,0x00050041,0x00000022,0x0000011e,0x00000020,0x0000002a,0x0004003d,0x00000006, + 0x0000011f,0x0000011e,0x00050084,0x00000006,0x00000120,0x0000011d,0x0000011f,0x00050080, + 0x00000006,0x00000121,0x0000011c,0x00000120,0x00050041,0x00000022,0x00000122,0x00000020, + 0x0000002a,0x0004003d,0x00000006,0x00000123,0x00000122,0x00050082,0x00000006,0x00000124, + 0x00000123,0x00000056,0x0004003d,0x00000006,0x00000125,0x00000012,0x00050082,0x00000006, + 0x00000126,0x00000124,0x00000125,0x00050080,0x00000006,0x00000127,0x00000121,0x00000126, + 0x0004003d,0x00000076,0x00000128,0x00000078,0x00040073,0x000000a4,0x00000129,0x00000128, + 0x00060041,0x000000b1,0x0000012a,0x0000011b,0x00000053,0x00000127,0x0003003e,0x0000012a, + 0x00000129,0x0004003d,0x00000006,0x0000012f,0x000000b7,0x00050041,0x00000022,0x00000130, + 0x00000020,0x00000021,0x0004003d,0x00000006,0x00000131,0x00000130,0x00050082,0x00000006, + 0x00000132,0x00000131,0x00000056,0x0004003d,0x00000006,0x00000133,0x00000008,0x00050082, + 0x00000006,0x00000134,0x00000132,0x00000133,0x00050041,0x00000022,0x00000135,0x00000020, + 0x0000002a,0x0004003d,0x00000006,0x00000136,0x00000135,0x00050084,0x00000006,0x00000137, + 0x00000134,0x00000136,0x00050080,0x00000006,0x00000138,0x0000012f,0x00000137,0x00050041, + 0x00000022,0x00000139,0x00000020,0x0000002a,0x0004003d,0x00000006,0x0000013a,0x00000139, + 0x00050082,0x00000006,0x0000013b,0x0000013a,0x00000056,0x0004003d,0x00000006,0x0000013c, + 0x00000012,0x00050082,0x00000006,0x0000013d,0x0000013b,0x0000013c,0x00050080,0x00000006, + 0x0000013e,0x00000138,0x0000013d,0x0004003d,0x00000076,0x0000013f,0x00000078,0x00040073, + 0x000000a4,0x00000140,0x0000013f,0x00060041,0x000000b1,0x00000141,0x0000012e,0x00000053, + 0x0000013e,0x0003003e,0x00000141,0x00000140,0x0004003d,0x00000006,0x00000146,0x000000b7, + 0x00050041,0x00000022,0x00000147,0x00000020,0x00000021,0x0004003d,0x00000006,0x00000148, + 0x00000147,0x00050082,0x00000006,0x00000149,0x00000148,0x00000056,0x0004003d,0x00000006, + 0x0000014a,0x00000008,0x00050082,0x00000006,0x0000014b,0x00000149,0x0000014a,0x00050041, + 0x00000022,0x0000014c,0x00000020,0x0000002a,0x0004003d,0x00000006,0x0000014d,0x0000014c, + 0x00050084,0x00000006,0x0000014e,0x0000014b,0x0000014d,0x00050080,0x00000006,0x0000014f, + 0x00000146,0x0000014e,0x0004003d,0x00000006,0x00000150,0x00000012,0x00050080,0x00000006, + 0x00000151,0x0000014f,0x00000150,0x0004003d,0x00000076,0x00000152,0x00000078,0x00040073, + 0x000000a4,0x00000153,0x00000152,0x00060041,0x000000b1,0x00000154,0x00000145,0x00000053, + 0x00000151,0x0003003e,0x00000154,0x00000153,0x000200f9,0x00000084,0x000200f8,0x00000084, + 0x000100fd,0x00010038 diff --git a/src/realesrgan/shader/realesrgan_preproc_tta_int8s.spv.hex.h b/src/realesrgan/shader/realesrgan_preproc_tta_int8s.spv.hex.h new file mode 100644 index 0000000..595fc3e --- /dev/null +++ b/src/realesrgan/shader/realesrgan_preproc_tta_int8s.spv.hex.h @@ -0,0 +1,295 @@ + // 1011.6.0 + 0x07230203,0x00010000,0x0008000a,0x0000016b,0x00000000,0x00020011,0x00000001,0x00020011, + 0x00001151,0x00020011,0x00001161,0x0007000a,0x5f565053,0x5f52484b,0x69623631,0x74735f74, + 0x6761726f,0x00000065,0x0007000a,0x5f565053,0x5f52484b,0x74696238,0x6f74735f,0x65676172, + 0x00000000,0x0006000b,0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e, + 0x00000000,0x00000001,0x0006000f,0x00000005,0x00000004,0x6e69616d,0x00000000,0x0000000c, + 0x00060010,0x00000004,0x00000011,0x00000001,0x00000001,0x00000001,0x00030003,0x00000002, + 0x000001c2,0x00080004,0x455f4c47,0x735f5458,0x65646168,0x36315f72,0x5f746962,0x726f7473, + 0x00656761,0x00080004,0x455f4c47,0x735f5458,0x65646168,0x62385f72,0x735f7469,0x61726f74, + 0x00006567,0x00040005,0x00000004,0x6e69616d,0x00000000,0x00030005,0x00000008,0x00007867, + 0x00080005,0x0000000c,0x475f6c67,0x61626f6c,0x766e496c,0x7461636f,0x496e6f69,0x00000044, + 0x00030005,0x00000012,0x00007967,0x00030005,0x00000017,0x00007a67,0x00050005,0x0000001e, + 0x61726170,0x6574656d,0x00000072,0x00040006,0x0000001e,0x00000000,0x00000077,0x00040006, + 0x0000001e,0x00000001,0x00000068,0x00050006,0x0000001e,0x00000002,0x65747363,0x00000070, + 0x00050006,0x0000001e,0x00000003,0x7774756f,0x00000000,0x00050006,0x0000001e,0x00000004, + 0x6874756f,0x00000000,0x00060006,0x0000001e,0x00000005,0x6374756f,0x70657473,0x00000000, + 0x00050006,0x0000001e,0x00000006,0x5f646170,0x00706f74,0x00060006,0x0000001e,0x00000007, + 0x5f646170,0x7466656c,0x00000000,0x00050006,0x0000001e,0x00000008,0x706f7263,0x0000785f, + 0x00050006,0x0000001e,0x00000009,0x706f7263,0x0000795f,0x00060006,0x0000001e,0x0000000a, + 0x6e616863,0x736c656e,0x00000000,0x00050006,0x0000001e,0x0000000b,0x68706c61,0x00007761, + 0x00050006,0x0000001e,0x0000000c,0x68706c61,0x00006861,0x00030005,0x00000020,0x00000070, + 0x00030005,0x0000003b,0x00000078,0x00030005,0x00000045,0x00000079,0x00050005,0x00000069, + 0x666f5f76,0x74657366,0x00000000,0x00030005,0x00000070,0x00726762,0x00030005,0x00000079, + 0x00000076,0x00050005,0x0000007c,0x74746f62,0x625f6d6f,0x00626f6c,0x00080006,0x0000007c, + 0x00000000,0x74746f62,0x625f6d6f,0x5f626f6c,0x61746164,0x00000000,0x00030005,0x0000007e, + 0x00000000,0x00050005,0x000000bc,0x68706c61,0x6c625f61,0x0000626f,0x00070006,0x000000bc, + 0x00000000,0x68706c61,0x6c625f61,0x645f626f,0x00617461,0x00030005,0x000000be,0x00000000, + 0x00030005,0x000000cd,0x00697a67,0x00050005,0x000000d4,0x5f706f74,0x626f6c62,0x00000030, + 0x00070006,0x000000d4,0x00000000,0x5f706f74,0x626f6c62,0x61645f30,0x00006174,0x00030005, + 0x000000d6,0x00000000,0x00050005,0x000000e3,0x5f706f74,0x626f6c62,0x00000031,0x00070006, + 0x000000e3,0x00000000,0x5f706f74,0x626f6c62,0x61645f31,0x00006174,0x00030005,0x000000e5, + 0x00000000,0x00050005,0x000000f6,0x5f706f74,0x626f6c62,0x00000032,0x00070006,0x000000f6, + 0x00000000,0x5f706f74,0x626f6c62,0x61645f32,0x00006174,0x00030005,0x000000f8,0x00000000, + 0x00050005,0x0000010d,0x5f706f74,0x626f6c62,0x00000033,0x00070006,0x0000010d,0x00000000, + 0x5f706f74,0x626f6c62,0x61645f33,0x00006174,0x00030005,0x0000010f,0x00000000,0x00050005, + 0x00000120,0x5f706f74,0x626f6c62,0x00000034,0x00070006,0x00000120,0x00000000,0x5f706f74, + 0x626f6c62,0x61645f34,0x00006174,0x00030005,0x00000122,0x00000000,0x00050005,0x0000012f, + 0x5f706f74,0x626f6c62,0x00000035,0x00070006,0x0000012f,0x00000000,0x5f706f74,0x626f6c62, + 0x61645f35,0x00006174,0x00030005,0x00000131,0x00000000,0x00050005,0x00000142,0x5f706f74, + 0x626f6c62,0x00000036,0x00070006,0x00000142,0x00000000,0x5f706f74,0x626f6c62,0x61645f36, + 0x00006174,0x00030005,0x00000144,0x00000000,0x00050005,0x00000159,0x5f706f74,0x626f6c62, + 0x00000037,0x00070006,0x00000159,0x00000000,0x5f706f74,0x626f6c62,0x61645f37,0x00006174, + 0x00030005,0x0000015b,0x00000000,0x00040047,0x0000000c,0x0000000b,0x0000001c,0x00050048, + 0x0000001e,0x00000000,0x00000023,0x00000000,0x00050048,0x0000001e,0x00000001,0x00000023, + 0x00000004,0x00050048,0x0000001e,0x00000002,0x00000023,0x00000008,0x00050048,0x0000001e, + 0x00000003,0x00000023,0x0000000c,0x00050048,0x0000001e,0x00000004,0x00000023,0x00000010, + 0x00050048,0x0000001e,0x00000005,0x00000023,0x00000014,0x00050048,0x0000001e,0x00000006, + 0x00000023,0x00000018,0x00050048,0x0000001e,0x00000007,0x00000023,0x0000001c,0x00050048, + 0x0000001e,0x00000008,0x00000023,0x00000020,0x00050048,0x0000001e,0x00000009,0x00000023, + 0x00000024,0x00050048,0x0000001e,0x0000000a,0x00000023,0x00000028,0x00050048,0x0000001e, + 0x0000000b,0x00000023,0x0000002c,0x00050048,0x0000001e,0x0000000c,0x00000023,0x00000030, + 0x00030047,0x0000001e,0x00000002,0x00040047,0x00000070,0x00000001,0x00000000,0x00040047, + 0x0000007b,0x00000006,0x00000001,0x00040048,0x0000007c,0x00000000,0x00000018,0x00050048, + 0x0000007c,0x00000000,0x00000023,0x00000000,0x00030047,0x0000007c,0x00000003,0x00040047, + 0x0000007e,0x00000022,0x00000000,0x00040047,0x0000007e,0x00000021,0x00000000,0x00040047, + 0x000000bb,0x00000006,0x00000002,0x00040048,0x000000bc,0x00000000,0x00000019,0x00050048, + 0x000000bc,0x00000000,0x00000023,0x00000000,0x00030047,0x000000bc,0x00000003,0x00040047, + 0x000000be,0x00000022,0x00000000,0x00040047,0x000000be,0x00000021,0x00000009,0x00040047, + 0x000000d3,0x00000006,0x00000002,0x00040048,0x000000d4,0x00000000,0x00000019,0x00050048, + 0x000000d4,0x00000000,0x00000023,0x00000000,0x00030047,0x000000d4,0x00000003,0x00040047, + 0x000000d6,0x00000022,0x00000000,0x00040047,0x000000d6,0x00000021,0x00000001,0x00040047, + 0x000000e2,0x00000006,0x00000002,0x00040048,0x000000e3,0x00000000,0x00000019,0x00050048, + 0x000000e3,0x00000000,0x00000023,0x00000000,0x00030047,0x000000e3,0x00000003,0x00040047, + 0x000000e5,0x00000022,0x00000000,0x00040047,0x000000e5,0x00000021,0x00000002,0x00040047, + 0x000000f5,0x00000006,0x00000002,0x00040048,0x000000f6,0x00000000,0x00000019,0x00050048, + 0x000000f6,0x00000000,0x00000023,0x00000000,0x00030047,0x000000f6,0x00000003,0x00040047, + 0x000000f8,0x00000022,0x00000000,0x00040047,0x000000f8,0x00000021,0x00000003,0x00040047, + 0x0000010c,0x00000006,0x00000002,0x00040048,0x0000010d,0x00000000,0x00000019,0x00050048, + 0x0000010d,0x00000000,0x00000023,0x00000000,0x00030047,0x0000010d,0x00000003,0x00040047, + 0x0000010f,0x00000022,0x00000000,0x00040047,0x0000010f,0x00000021,0x00000004,0x00040047, + 0x0000011f,0x00000006,0x00000002,0x00040048,0x00000120,0x00000000,0x00000019,0x00050048, + 0x00000120,0x00000000,0x00000023,0x00000000,0x00030047,0x00000120,0x00000003,0x00040047, + 0x00000122,0x00000022,0x00000000,0x00040047,0x00000122,0x00000021,0x00000005,0x00040047, + 0x0000012e,0x00000006,0x00000002,0x00040048,0x0000012f,0x00000000,0x00000019,0x00050048, + 0x0000012f,0x00000000,0x00000023,0x00000000,0x00030047,0x0000012f,0x00000003,0x00040047, + 0x00000131,0x00000022,0x00000000,0x00040047,0x00000131,0x00000021,0x00000006,0x00040047, + 0x00000141,0x00000006,0x00000002,0x00040048,0x00000142,0x00000000,0x00000019,0x00050048, + 0x00000142,0x00000000,0x00000023,0x00000000,0x00030047,0x00000142,0x00000003,0x00040047, + 0x00000144,0x00000022,0x00000000,0x00040047,0x00000144,0x00000021,0x00000007,0x00040047, + 0x00000158,0x00000006,0x00000002,0x00040048,0x00000159,0x00000000,0x00000019,0x00050048, + 0x00000159,0x00000000,0x00000023,0x00000000,0x00030047,0x00000159,0x00000003,0x00040047, + 0x0000015b,0x00000022,0x00000000,0x00040047,0x0000015b,0x00000021,0x00000008,0x00020013, + 0x00000002,0x00030021,0x00000003,0x00000002,0x00040015,0x00000006,0x00000020,0x00000001, + 0x00040020,0x00000007,0x00000007,0x00000006,0x00040015,0x00000009,0x00000020,0x00000000, + 0x00040017,0x0000000a,0x00000009,0x00000003,0x00040020,0x0000000b,0x00000001,0x0000000a, + 0x0004003b,0x0000000b,0x0000000c,0x00000001,0x0004002b,0x00000009,0x0000000d,0x00000000, + 0x00040020,0x0000000e,0x00000001,0x00000009,0x0004002b,0x00000009,0x00000013,0x00000001, + 0x0004002b,0x00000009,0x00000018,0x00000002,0x00020014,0x0000001c,0x000f001e,0x0000001e, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,0x0000001f,0x00000009, + 0x0000001e,0x0004003b,0x0000001f,0x00000020,0x00000009,0x0004002b,0x00000006,0x00000021, + 0x00000003,0x00040020,0x00000022,0x00000009,0x00000006,0x0004002b,0x00000006,0x0000002a, + 0x00000004,0x0004002b,0x00000006,0x00000033,0x0000000a,0x0004002b,0x00000006,0x0000003d, + 0x00000008,0x0004002b,0x00000006,0x00000041,0x00000007,0x0004002b,0x00000006,0x00000047, + 0x00000009,0x0004002b,0x00000006,0x0000004b,0x00000006,0x0004002b,0x00000006,0x00000053, + 0x00000000,0x0004002b,0x00000006,0x00000056,0x00000001,0x00040032,0x00000006,0x00000070, + 0x00000000,0x00060034,0x0000001c,0x00000071,0x000000aa,0x00000070,0x00000056,0x00030016, + 0x00000077,0x00000020,0x00040020,0x00000078,0x00000007,0x00000077,0x00040015,0x0000007a, + 0x00000008,0x00000000,0x0003001d,0x0000007b,0x0000007a,0x0003001e,0x0000007c,0x0000007b, + 0x00040020,0x0000007d,0x00000002,0x0000007c,0x0004003b,0x0000007d,0x0000007e,0x00000002, + 0x0004002b,0x00000006,0x00000083,0x00000002,0x00040020,0x00000087,0x00000002,0x0000007a, + 0x0004002b,0x00000006,0x000000a8,0x0000000b,0x0004002b,0x00000006,0x000000b3,0x0000000c, + 0x00030016,0x000000ba,0x00000010,0x0003001d,0x000000bb,0x000000ba,0x0003001e,0x000000bc, + 0x000000bb,0x00040020,0x000000bd,0x00000002,0x000000bc,0x0004003b,0x000000bd,0x000000be, + 0x00000002,0x00040020,0x000000c7,0x00000002,0x000000ba,0x0004002b,0x00000077,0x000000cb, + 0x3b808081,0x0004002b,0x00000006,0x000000cf,0x00000005,0x0003001d,0x000000d3,0x000000ba, + 0x0003001e,0x000000d4,0x000000d3,0x00040020,0x000000d5,0x00000002,0x000000d4,0x0004003b, + 0x000000d5,0x000000d6,0x00000002,0x0003001d,0x000000e2,0x000000ba,0x0003001e,0x000000e3, + 0x000000e2,0x00040020,0x000000e4,0x00000002,0x000000e3,0x0004003b,0x000000e4,0x000000e5, + 0x00000002,0x0003001d,0x000000f5,0x000000ba,0x0003001e,0x000000f6,0x000000f5,0x00040020, + 0x000000f7,0x00000002,0x000000f6,0x0004003b,0x000000f7,0x000000f8,0x00000002,0x0003001d, + 0x0000010c,0x000000ba,0x0003001e,0x0000010d,0x0000010c,0x00040020,0x0000010e,0x00000002, + 0x0000010d,0x0004003b,0x0000010e,0x0000010f,0x00000002,0x0003001d,0x0000011f,0x000000ba, + 0x0003001e,0x00000120,0x0000011f,0x00040020,0x00000121,0x00000002,0x00000120,0x0004003b, + 0x00000121,0x00000122,0x00000002,0x0003001d,0x0000012e,0x000000ba,0x0003001e,0x0000012f, + 0x0000012e,0x00040020,0x00000130,0x00000002,0x0000012f,0x0004003b,0x00000130,0x00000131, + 0x00000002,0x0003001d,0x00000141,0x000000ba,0x0003001e,0x00000142,0x00000141,0x00040020, + 0x00000143,0x00000002,0x00000142,0x0004003b,0x00000143,0x00000144,0x00000002,0x0003001d, + 0x00000158,0x000000ba,0x0003001e,0x00000159,0x00000158,0x00040020,0x0000015a,0x00000002, + 0x00000159,0x0004003b,0x0000015a,0x0000015b,0x00000002,0x00050036,0x00000002,0x00000004, + 0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000007,0x00000008,0x00000007, + 0x0004003b,0x00000007,0x00000012,0x00000007,0x0004003b,0x00000007,0x00000017,0x00000007, + 0x0004003b,0x00000007,0x0000003b,0x00000007,0x0004003b,0x00000007,0x00000045,0x00000007, + 0x0004003b,0x00000007,0x00000069,0x00000007,0x0004003b,0x00000078,0x00000079,0x00000007, + 0x0004003b,0x00000007,0x000000cd,0x00000007,0x00050041,0x0000000e,0x0000000f,0x0000000c, + 0x0000000d,0x0004003d,0x00000009,0x00000010,0x0000000f,0x0004007c,0x00000006,0x00000011, + 0x00000010,0x0003003e,0x00000008,0x00000011,0x00050041,0x0000000e,0x00000014,0x0000000c, + 0x00000013,0x0004003d,0x00000009,0x00000015,0x00000014,0x0004007c,0x00000006,0x00000016, + 0x00000015,0x0003003e,0x00000012,0x00000016,0x00050041,0x0000000e,0x00000019,0x0000000c, + 0x00000018,0x0004003d,0x00000009,0x0000001a,0x00000019,0x0004007c,0x00000006,0x0000001b, + 0x0000001a,0x0003003e,0x00000017,0x0000001b,0x0004003d,0x00000006,0x0000001d,0x00000008, + 0x00050041,0x00000022,0x00000023,0x00000020,0x00000021,0x0004003d,0x00000006,0x00000024, + 0x00000023,0x000500af,0x0000001c,0x00000025,0x0000001d,0x00000024,0x000400a8,0x0000001c, + 0x00000026,0x00000025,0x000300f7,0x00000028,0x00000000,0x000400fa,0x00000026,0x00000027, + 0x00000028,0x000200f8,0x00000027,0x0004003d,0x00000006,0x00000029,0x00000012,0x00050041, + 0x00000022,0x0000002b,0x00000020,0x0000002a,0x0004003d,0x00000006,0x0000002c,0x0000002b, + 0x000500af,0x0000001c,0x0000002d,0x00000029,0x0000002c,0x000200f9,0x00000028,0x000200f8, + 0x00000028,0x000700f5,0x0000001c,0x0000002e,0x00000025,0x00000005,0x0000002d,0x00000027, + 0x000400a8,0x0000001c,0x0000002f,0x0000002e,0x000300f7,0x00000031,0x00000000,0x000400fa, + 0x0000002f,0x00000030,0x00000031,0x000200f8,0x00000030,0x0004003d,0x00000006,0x00000032, + 0x00000017,0x00050041,0x00000022,0x00000034,0x00000020,0x00000033,0x0004003d,0x00000006, + 0x00000035,0x00000034,0x000500af,0x0000001c,0x00000036,0x00000032,0x00000035,0x000200f9, + 0x00000031,0x000200f8,0x00000031,0x000700f5,0x0000001c,0x00000037,0x0000002e,0x00000028, + 0x00000036,0x00000030,0x000300f7,0x00000039,0x00000000,0x000400fa,0x00000037,0x00000038, + 0x00000039,0x000200f8,0x00000038,0x000100fd,0x000200f8,0x00000039,0x0004003d,0x00000006, + 0x0000003c,0x00000008,0x00050041,0x00000022,0x0000003e,0x00000020,0x0000003d,0x0004003d, + 0x00000006,0x0000003f,0x0000003e,0x00050080,0x00000006,0x00000040,0x0000003c,0x0000003f, + 0x00050041,0x00000022,0x00000042,0x00000020,0x00000041,0x0004003d,0x00000006,0x00000043, + 0x00000042,0x00050082,0x00000006,0x00000044,0x00000040,0x00000043,0x0003003e,0x0000003b, + 0x00000044,0x0004003d,0x00000006,0x00000046,0x00000012,0x00050041,0x00000022,0x00000048, + 0x00000020,0x00000047,0x0004003d,0x00000006,0x00000049,0x00000048,0x00050080,0x00000006, + 0x0000004a,0x00000046,0x00000049,0x00050041,0x00000022,0x0000004c,0x00000020,0x0000004b, + 0x0004003d,0x00000006,0x0000004d,0x0000004c,0x00050082,0x00000006,0x0000004e,0x0000004a, + 0x0000004d,0x0003003e,0x00000045,0x0000004e,0x0004003d,0x00000006,0x0000004f,0x0000003b, + 0x0006000c,0x00000006,0x00000050,0x00000001,0x00000005,0x0000004f,0x0003003e,0x0000003b, + 0x00000050,0x0004003d,0x00000006,0x00000051,0x00000045,0x0006000c,0x00000006,0x00000052, + 0x00000001,0x00000005,0x00000051,0x0003003e,0x00000045,0x00000052,0x00050041,0x00000022, + 0x00000054,0x00000020,0x00000053,0x0004003d,0x00000006,0x00000055,0x00000054,0x00050082, + 0x00000006,0x00000057,0x00000055,0x00000056,0x0004003d,0x00000006,0x00000058,0x0000003b, + 0x00050041,0x00000022,0x00000059,0x00000020,0x00000053,0x0004003d,0x00000006,0x0000005a, + 0x00000059,0x00050082,0x00000006,0x0000005b,0x0000005a,0x00000056,0x00050082,0x00000006, + 0x0000005c,0x00000058,0x0000005b,0x0006000c,0x00000006,0x0000005d,0x00000001,0x00000005, + 0x0000005c,0x00050082,0x00000006,0x0000005e,0x00000057,0x0000005d,0x0003003e,0x0000003b, + 0x0000005e,0x00050041,0x00000022,0x0000005f,0x00000020,0x00000056,0x0004003d,0x00000006, + 0x00000060,0x0000005f,0x00050082,0x00000006,0x00000061,0x00000060,0x00000056,0x0004003d, + 0x00000006,0x00000062,0x00000045,0x00050041,0x00000022,0x00000063,0x00000020,0x00000056, + 0x0004003d,0x00000006,0x00000064,0x00000063,0x00050082,0x00000006,0x00000065,0x00000064, + 0x00000056,0x00050082,0x00000006,0x00000066,0x00000062,0x00000065,0x0006000c,0x00000006, + 0x00000067,0x00000001,0x00000005,0x00000066,0x00050082,0x00000006,0x00000068,0x00000061, + 0x00000067,0x0003003e,0x00000045,0x00000068,0x0004003d,0x00000006,0x0000006a,0x00000045, + 0x00050041,0x00000022,0x0000006b,0x00000020,0x00000053,0x0004003d,0x00000006,0x0000006c, + 0x0000006b,0x00050084,0x00000006,0x0000006d,0x0000006a,0x0000006c,0x0004003d,0x00000006, + 0x0000006e,0x0000003b,0x00050080,0x00000006,0x0000006f,0x0000006d,0x0000006e,0x0003003e, + 0x00000069,0x0000006f,0x0004003d,0x00000006,0x00000072,0x00000017,0x000500ab,0x0000001c, + 0x00000073,0x00000072,0x00000021,0x000500a7,0x0000001c,0x00000074,0x00000071,0x00000073, + 0x000300f7,0x00000076,0x00000000,0x000400fa,0x00000074,0x00000075,0x0000008c,0x000200f8, + 0x00000075,0x0004003d,0x00000006,0x0000007f,0x00000069,0x00050041,0x00000022,0x00000080, + 0x00000020,0x00000033,0x0004003d,0x00000006,0x00000081,0x00000080,0x00050084,0x00000006, + 0x00000082,0x0000007f,0x00000081,0x00050080,0x00000006,0x00000084,0x00000082,0x00000083, + 0x0004003d,0x00000006,0x00000085,0x00000017,0x00050082,0x00000006,0x00000086,0x00000084, + 0x00000085,0x00060041,0x00000087,0x00000088,0x0000007e,0x00000053,0x00000086,0x0004003d, + 0x0000007a,0x00000089,0x00000088,0x00040071,0x00000009,0x0000008a,0x00000089,0x00040070, + 0x00000077,0x0000008b,0x0000008a,0x0003003e,0x00000079,0x0000008b,0x000200f9,0x00000076, + 0x000200f8,0x0000008c,0x0004003d,0x00000006,0x0000008d,0x00000069,0x00050041,0x00000022, + 0x0000008e,0x00000020,0x00000033,0x0004003d,0x00000006,0x0000008f,0x0000008e,0x00050084, + 0x00000006,0x00000090,0x0000008d,0x0000008f,0x0004003d,0x00000006,0x00000091,0x00000017, + 0x00050080,0x00000006,0x00000092,0x00000090,0x00000091,0x00060041,0x00000087,0x00000093, + 0x0000007e,0x00000053,0x00000092,0x0004003d,0x0000007a,0x00000094,0x00000093,0x00040071, + 0x00000009,0x00000095,0x00000094,0x00040070,0x00000077,0x00000096,0x00000095,0x0003003e, + 0x00000079,0x00000096,0x000200f9,0x00000076,0x000200f8,0x00000076,0x0004003d,0x00000006, + 0x00000097,0x00000017,0x000500aa,0x0000001c,0x00000098,0x00000097,0x00000021,0x000300f7, + 0x0000009a,0x00000000,0x000400fa,0x00000098,0x00000099,0x000000c9,0x000200f8,0x00000099, + 0x00050041,0x00000022,0x0000009b,0x00000020,0x00000041,0x0004003d,0x00000006,0x0000009c, + 0x0000009b,0x0004003d,0x00000006,0x0000009d,0x00000008,0x00050082,0x00000006,0x0000009e, + 0x0000009d,0x0000009c,0x0003003e,0x00000008,0x0000009e,0x00050041,0x00000022,0x0000009f, + 0x00000020,0x0000004b,0x0004003d,0x00000006,0x000000a0,0x0000009f,0x0004003d,0x00000006, + 0x000000a1,0x00000012,0x00050082,0x00000006,0x000000a2,0x000000a1,0x000000a0,0x0003003e, + 0x00000012,0x000000a2,0x0004003d,0x00000006,0x000000a3,0x00000008,0x000500af,0x0000001c, + 0x000000a4,0x000000a3,0x00000053,0x000300f7,0x000000a6,0x00000000,0x000400fa,0x000000a4, + 0x000000a5,0x000000a6,0x000200f8,0x000000a5,0x0004003d,0x00000006,0x000000a7,0x00000008, + 0x00050041,0x00000022,0x000000a9,0x00000020,0x000000a8,0x0004003d,0x00000006,0x000000aa, + 0x000000a9,0x000500b1,0x0000001c,0x000000ab,0x000000a7,0x000000aa,0x000200f9,0x000000a6, + 0x000200f8,0x000000a6,0x000700f5,0x0000001c,0x000000ac,0x000000a4,0x00000099,0x000000ab, + 0x000000a5,0x0004003d,0x00000006,0x000000ad,0x00000012,0x000500af,0x0000001c,0x000000ae, + 0x000000ad,0x00000053,0x000500a7,0x0000001c,0x000000af,0x000000ac,0x000000ae,0x000300f7, + 0x000000b1,0x00000000,0x000400fa,0x000000af,0x000000b0,0x000000b1,0x000200f8,0x000000b0, + 0x0004003d,0x00000006,0x000000b2,0x00000012,0x00050041,0x00000022,0x000000b4,0x00000020, + 0x000000b3,0x0004003d,0x00000006,0x000000b5,0x000000b4,0x000500b1,0x0000001c,0x000000b6, + 0x000000b2,0x000000b5,0x000200f9,0x000000b1,0x000200f8,0x000000b1,0x000700f5,0x0000001c, + 0x000000b7,0x000000af,0x000000a6,0x000000b6,0x000000b0,0x000300f7,0x000000b9,0x00000000, + 0x000400fa,0x000000b7,0x000000b8,0x000000b9,0x000200f8,0x000000b8,0x0004003d,0x00000006, + 0x000000bf,0x00000012,0x00050041,0x00000022,0x000000c0,0x00000020,0x000000a8,0x0004003d, + 0x00000006,0x000000c1,0x000000c0,0x00050084,0x00000006,0x000000c2,0x000000bf,0x000000c1, + 0x0004003d,0x00000006,0x000000c3,0x00000008,0x00050080,0x00000006,0x000000c4,0x000000c2, + 0x000000c3,0x0004003d,0x00000077,0x000000c5,0x00000079,0x00040073,0x000000ba,0x000000c6, + 0x000000c5,0x00060041,0x000000c7,0x000000c8,0x000000be,0x00000053,0x000000c4,0x0003003e, + 0x000000c8,0x000000c6,0x000200f9,0x000000b9,0x000200f8,0x000000b9,0x000200f9,0x0000009a, + 0x000200f8,0x000000c9,0x0004003d,0x00000077,0x000000ca,0x00000079,0x00050085,0x00000077, + 0x000000cc,0x000000ca,0x000000cb,0x0003003e,0x00000079,0x000000cc,0x0004003d,0x00000006, + 0x000000ce,0x00000017,0x00050041,0x00000022,0x000000d0,0x00000020,0x000000cf,0x0004003d, + 0x00000006,0x000000d1,0x000000d0,0x00050084,0x00000006,0x000000d2,0x000000ce,0x000000d1, + 0x0003003e,0x000000cd,0x000000d2,0x0004003d,0x00000006,0x000000d7,0x000000cd,0x0004003d, + 0x00000006,0x000000d8,0x00000012,0x00050041,0x00000022,0x000000d9,0x00000020,0x00000021, + 0x0004003d,0x00000006,0x000000da,0x000000d9,0x00050084,0x00000006,0x000000db,0x000000d8, + 0x000000da,0x00050080,0x00000006,0x000000dc,0x000000d7,0x000000db,0x0004003d,0x00000006, + 0x000000dd,0x00000008,0x00050080,0x00000006,0x000000de,0x000000dc,0x000000dd,0x0004003d, + 0x00000077,0x000000df,0x00000079,0x00040073,0x000000ba,0x000000e0,0x000000df,0x00060041, + 0x000000c7,0x000000e1,0x000000d6,0x00000053,0x000000de,0x0003003e,0x000000e1,0x000000e0, + 0x0004003d,0x00000006,0x000000e6,0x000000cd,0x0004003d,0x00000006,0x000000e7,0x00000012, + 0x00050041,0x00000022,0x000000e8,0x00000020,0x00000021,0x0004003d,0x00000006,0x000000e9, + 0x000000e8,0x00050084,0x00000006,0x000000ea,0x000000e7,0x000000e9,0x00050080,0x00000006, + 0x000000eb,0x000000e6,0x000000ea,0x00050041,0x00000022,0x000000ec,0x00000020,0x00000021, + 0x0004003d,0x00000006,0x000000ed,0x000000ec,0x00050082,0x00000006,0x000000ee,0x000000ed, + 0x00000056,0x0004003d,0x00000006,0x000000ef,0x00000008,0x00050082,0x00000006,0x000000f0, + 0x000000ee,0x000000ef,0x00050080,0x00000006,0x000000f1,0x000000eb,0x000000f0,0x0004003d, + 0x00000077,0x000000f2,0x00000079,0x00040073,0x000000ba,0x000000f3,0x000000f2,0x00060041, + 0x000000c7,0x000000f4,0x000000e5,0x00000053,0x000000f1,0x0003003e,0x000000f4,0x000000f3, + 0x0004003d,0x00000006,0x000000f9,0x000000cd,0x00050041,0x00000022,0x000000fa,0x00000020, + 0x0000002a,0x0004003d,0x00000006,0x000000fb,0x000000fa,0x00050082,0x00000006,0x000000fc, + 0x000000fb,0x00000056,0x0004003d,0x00000006,0x000000fd,0x00000012,0x00050082,0x00000006, + 0x000000fe,0x000000fc,0x000000fd,0x00050041,0x00000022,0x000000ff,0x00000020,0x00000021, + 0x0004003d,0x00000006,0x00000100,0x000000ff,0x00050084,0x00000006,0x00000101,0x000000fe, + 0x00000100,0x00050080,0x00000006,0x00000102,0x000000f9,0x00000101,0x00050041,0x00000022, + 0x00000103,0x00000020,0x00000021,0x0004003d,0x00000006,0x00000104,0x00000103,0x00050082, + 0x00000006,0x00000105,0x00000104,0x00000056,0x0004003d,0x00000006,0x00000106,0x00000008, + 0x00050082,0x00000006,0x00000107,0x00000105,0x00000106,0x00050080,0x00000006,0x00000108, + 0x00000102,0x00000107,0x0004003d,0x00000077,0x00000109,0x00000079,0x00040073,0x000000ba, + 0x0000010a,0x00000109,0x00060041,0x000000c7,0x0000010b,0x000000f8,0x00000053,0x00000108, + 0x0003003e,0x0000010b,0x0000010a,0x0004003d,0x00000006,0x00000110,0x000000cd,0x00050041, + 0x00000022,0x00000111,0x00000020,0x0000002a,0x0004003d,0x00000006,0x00000112,0x00000111, + 0x00050082,0x00000006,0x00000113,0x00000112,0x00000056,0x0004003d,0x00000006,0x00000114, + 0x00000012,0x00050082,0x00000006,0x00000115,0x00000113,0x00000114,0x00050041,0x00000022, + 0x00000116,0x00000020,0x00000021,0x0004003d,0x00000006,0x00000117,0x00000116,0x00050084, + 0x00000006,0x00000118,0x00000115,0x00000117,0x00050080,0x00000006,0x00000119,0x00000110, + 0x00000118,0x0004003d,0x00000006,0x0000011a,0x00000008,0x00050080,0x00000006,0x0000011b, + 0x00000119,0x0000011a,0x0004003d,0x00000077,0x0000011c,0x00000079,0x00040073,0x000000ba, + 0x0000011d,0x0000011c,0x00060041,0x000000c7,0x0000011e,0x0000010f,0x00000053,0x0000011b, + 0x0003003e,0x0000011e,0x0000011d,0x0004003d,0x00000006,0x00000123,0x000000cd,0x0004003d, + 0x00000006,0x00000124,0x00000008,0x00050041,0x00000022,0x00000125,0x00000020,0x0000002a, + 0x0004003d,0x00000006,0x00000126,0x00000125,0x00050084,0x00000006,0x00000127,0x00000124, + 0x00000126,0x00050080,0x00000006,0x00000128,0x00000123,0x00000127,0x0004003d,0x00000006, + 0x00000129,0x00000012,0x00050080,0x00000006,0x0000012a,0x00000128,0x00000129,0x0004003d, + 0x00000077,0x0000012b,0x00000079,0x00040073,0x000000ba,0x0000012c,0x0000012b,0x00060041, + 0x000000c7,0x0000012d,0x00000122,0x00000053,0x0000012a,0x0003003e,0x0000012d,0x0000012c, + 0x0004003d,0x00000006,0x00000132,0x000000cd,0x0004003d,0x00000006,0x00000133,0x00000008, + 0x00050041,0x00000022,0x00000134,0x00000020,0x0000002a,0x0004003d,0x00000006,0x00000135, + 0x00000134,0x00050084,0x00000006,0x00000136,0x00000133,0x00000135,0x00050080,0x00000006, + 0x00000137,0x00000132,0x00000136,0x00050041,0x00000022,0x00000138,0x00000020,0x0000002a, + 0x0004003d,0x00000006,0x00000139,0x00000138,0x00050082,0x00000006,0x0000013a,0x00000139, + 0x00000056,0x0004003d,0x00000006,0x0000013b,0x00000012,0x00050082,0x00000006,0x0000013c, + 0x0000013a,0x0000013b,0x00050080,0x00000006,0x0000013d,0x00000137,0x0000013c,0x0004003d, + 0x00000077,0x0000013e,0x00000079,0x00040073,0x000000ba,0x0000013f,0x0000013e,0x00060041, + 0x000000c7,0x00000140,0x00000131,0x00000053,0x0000013d,0x0003003e,0x00000140,0x0000013f, + 0x0004003d,0x00000006,0x00000145,0x000000cd,0x00050041,0x00000022,0x00000146,0x00000020, + 0x00000021,0x0004003d,0x00000006,0x00000147,0x00000146,0x00050082,0x00000006,0x00000148, + 0x00000147,0x00000056,0x0004003d,0x00000006,0x00000149,0x00000008,0x00050082,0x00000006, + 0x0000014a,0x00000148,0x00000149,0x00050041,0x00000022,0x0000014b,0x00000020,0x0000002a, + 0x0004003d,0x00000006,0x0000014c,0x0000014b,0x00050084,0x00000006,0x0000014d,0x0000014a, + 0x0000014c,0x00050080,0x00000006,0x0000014e,0x00000145,0x0000014d,0x00050041,0x00000022, + 0x0000014f,0x00000020,0x0000002a,0x0004003d,0x00000006,0x00000150,0x0000014f,0x00050082, + 0x00000006,0x00000151,0x00000150,0x00000056,0x0004003d,0x00000006,0x00000152,0x00000012, + 0x00050082,0x00000006,0x00000153,0x00000151,0x00000152,0x00050080,0x00000006,0x00000154, + 0x0000014e,0x00000153,0x0004003d,0x00000077,0x00000155,0x00000079,0x00040073,0x000000ba, + 0x00000156,0x00000155,0x00060041,0x000000c7,0x00000157,0x00000144,0x00000053,0x00000154, + 0x0003003e,0x00000157,0x00000156,0x0004003d,0x00000006,0x0000015c,0x000000cd,0x00050041, + 0x00000022,0x0000015d,0x00000020,0x00000021,0x0004003d,0x00000006,0x0000015e,0x0000015d, + 0x00050082,0x00000006,0x0000015f,0x0000015e,0x00000056,0x0004003d,0x00000006,0x00000160, + 0x00000008,0x00050082,0x00000006,0x00000161,0x0000015f,0x00000160,0x00050041,0x00000022, + 0x00000162,0x00000020,0x0000002a,0x0004003d,0x00000006,0x00000163,0x00000162,0x00050084, + 0x00000006,0x00000164,0x00000161,0x00000163,0x00050080,0x00000006,0x00000165,0x0000015c, + 0x00000164,0x0004003d,0x00000006,0x00000166,0x00000012,0x00050080,0x00000006,0x00000167, + 0x00000165,0x00000166,0x0004003d,0x00000077,0x00000168,0x00000079,0x00040073,0x000000ba, + 0x00000169,0x00000168,0x00060041,0x000000c7,0x0000016a,0x0000015b,0x00000053,0x00000167, + 0x0003003e,0x0000016a,0x00000169,0x000200f9,0x0000009a,0x000200f8,0x0000009a,0x000100fd, + 0x00010038