Commit ·
47cc9c7
1
Parent(s): 53458b8
Update scenario and documentation
Browse files* Scenario will now work with the latest version of scenario runner
* Remove prebuilt scenario runner
* Update README instructions on running the scenario
README.md
CHANGED
|
@@ -36,19 +36,19 @@ Neural Super Sampling (NSS) is a parameter prediction model for real-time tempor
|
|
| 36 |
|
| 37 |
NSS is under active development with regular updates planned. As we increase the size and diversity of the training dataset we expect to see significant quality improvements. Follow Arm to stay up to date on the latest releases.
|
| 38 |
|
| 39 |
-
The model is released under Arm's [AI Model Community License](https://huggingface.co/Arm/neural-super-sampling/blob/main/Arm_AI_Model_Community_License_v1_0_PRE-1154.pdf) which allows NSS to be retrained on datasets captured from your own content. Future releases of the [Neural Graphics Model Gym](https://github.com/arm/neural-graphics-model-gym) will provide the tools to capture and convert content for use in (re)retraining.
|
| 40 |
|
| 41 |
## Uses
|
| 42 |
|
| 43 |
NSS can be directly integrated into graphics pipelines using ML extensions for Vulkan®. See included ML SDK for Vulkan [scenario](https://huggingface.co/Arm/neural-super-sampling/tree/main/scenario) for the simplest way to evaluate the model. The scenario includes the necessary pre- and post-processing compute shaders along with a single frame worth of input data.
|
| 44 |
|
| 45 |
-
The recommended way of integrating the model into a graphics pipeline is by using the [VGF Library](https://github.com/arm/ai-ml-sdk-vgf-library/tree/main) from the ML SDK for Vulkan.
|
| 46 |
|
| 47 |
NSS is released under a [permissive license](https://huggingface.co/Arm/neural-super-sampling/blob/main/Arm_AI_Model_Community_License_v1_0_PRE-1154.pdf) designed to foster innovation in the graphics industry and provide differentiation to content creators.
|
| 48 |
|
| 49 |
### Direct Use
|
| 50 |
|
| 51 |
-
NSS has been integrated into Unreal Engine via
|
| 52 |
|
| 53 |
### Out-of-Scope Use
|
| 54 |
|
|
@@ -67,52 +67,60 @@ application running at a higher frame rate.
|
|
| 67 |
|
| 68 |
## How to Get Started with the Model
|
| 69 |
|
| 70 |
-
This repository contains pre-trained weights and compiled NSS model in VGF format ready for integration with Vulkan applications.
|
| 71 |
|
| 72 |
The included Scenario demonstrates full execution of the model on a Vulkan compute-capable system. An Emulation Layer is provided to implement ML Extensions for Vulkan where it is not supported by the native Vulkan driver.
|
| 73 |
|
| 74 |
### Download and Prepare the Scenario
|
| 75 |
|
| 76 |
-
|
| 77 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
git clone https://huggingface.co/Arm/neural-super-sampling
|
| 79 |
cd neural-super-sampling
|
| 80 |
-
git lfs pull
|
| 81 |
```
|
| 82 |
|
| 83 |
-
###
|
| 84 |
|
| 85 |
-
|
| 86 |
-
- build from source following the instructions for [Building the Emulation Layer from source](https://github.com/arm/ai-ml-emulation-layer-for-vulkan/blob/main/README.md#building-the-emulation-layer-from-source) and [Building the Scenario Runner from source](https://github.com/arm/ai-ml-sdk-scenario-runner/blob/main/README.md#building-scenario-runner-from-source)
|
| 87 |
-
- adapt the instructions below accordingly
|
| 88 |
|
| 89 |
-
|
| 90 |
|
| 91 |
-
|
| 92 |
-
```powershell
|
| 93 |
-
$env:VK_LAYER_PATH="$PWD\bin\windows-x86_64"
|
| 94 |
-
$env:VK_INSTANCE_LAYERS="VK_LAYER_ML_Graph_Emulation;VK_LAYER_ML_Tensor_Emulation"
|
| 95 |
-
```
|
| 96 |
|
| 97 |
-
|
| 98 |
-
```
|
| 99 |
-
|
| 100 |
-
export VK_LAYER_PATH=$PWD/bin/linux-x86_64
|
| 101 |
-
export VK_INSTANCE_LAYERS=VK_LAYER_ML_Graph_Emulation:VK_LAYER_ML_Tensor_Emulation
|
| 102 |
```
|
| 103 |
-
|
| 104 |
-
2. Execute the scenario:
|
| 105 |
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 114 |
```
|
| 115 |
-
|
| 116 |
- Output images are encoded as `B10G11R11_UFLOAT`. This format is common for framebuffers but not widely supported by image viewers. Use [RenderDoc](https://renderdoc.org/) to view these images.
|
| 117 |
|
| 118 |
## Training and Evaluation
|
|
@@ -121,13 +129,13 @@ For background on NSS architecture and training read our blog: [How Neural Super
|
|
| 121 |
|
| 122 |
Training and evaluation details, including model architecture code, training pipeline, and test configurations, are available at:
|
| 123 |
|
| 124 |
-
- Model training code: https://github.com/arm/neural-graphics-model-gym
|
| 125 |
-
- Examples and tutorials: https://github.com/arm/neural-graphics-model-gym-examples
|
| 126 |
-
- Sample dataset: https://huggingface.co/datasets/Arm/neural-graphics-dataset
|
| 127 |
|
| 128 |
### 🔎 Model Explorer VGF extension
|
| 129 |
|
| 130 |
-
The [VGF extension to Model Explorer](https://github.com/arm/vgf-adapter-model-explorer) provides a simple interface to visualize model and analyse VGF composition.
|
| 131 |
|
| 132 |

|
| 133 |
|
|
@@ -145,8 +153,8 @@ The [VGF extension to Model Explorer](https://github.com/arm/vgf-adapter-model-e
|
|
| 145 |
🙋🏻♀️ For questions or feedback please [start a discussion](https://huggingface.co/Arm/neural-super-sampling/discussions)
|
| 146 |
|
| 147 |
## Trademark notice
|
| 148 |
-
Arm® is a registered trademarks of Arm Limited (or its subsidiaries) in the US and/or elsewhere.
|
| 149 |
-
|
| 150 |
-
Windows® is a trademark of the Microsoft group of companies.
|
| 151 |
|
| 152 |
-
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
|
| 37 |
NSS is under active development with regular updates planned. As we increase the size and diversity of the training dataset we expect to see significant quality improvements. Follow Arm to stay up to date on the latest releases.
|
| 38 |
|
| 39 |
+
The model is released under Arm's [AI Model Community License](https://huggingface.co/Arm/neural-super-sampling/blob/main/Arm_AI_Model_Community_License_v1_0_PRE-1154.pdf) which allows NSS to be retrained on datasets captured from your own content. Future releases of the [Neural Graphics Model Gym](https://github.com/arm/neural-graphics-model-gym) will provide the tools to capture and convert content for use in (re)retraining.
|
| 40 |
|
| 41 |
## Uses
|
| 42 |
|
| 43 |
NSS can be directly integrated into graphics pipelines using ML extensions for Vulkan®. See included ML SDK for Vulkan [scenario](https://huggingface.co/Arm/neural-super-sampling/tree/main/scenario) for the simplest way to evaluate the model. The scenario includes the necessary pre- and post-processing compute shaders along with a single frame worth of input data.
|
| 44 |
|
| 45 |
+
The recommended way of integrating the model into a graphics pipeline is by using the [VGF Library](https://github.com/arm/ai-ml-sdk-vgf-library/tree/main) from the ML SDK for Vulkan.
|
| 46 |
|
| 47 |
NSS is released under a [permissive license](https://huggingface.co/Arm/neural-super-sampling/blob/main/Arm_AI_Model_Community_License_v1_0_PRE-1154.pdf) designed to foster innovation in the graphics industry and provide differentiation to content creators.
|
| 48 |
|
| 49 |
### Direct Use
|
| 50 |
|
| 51 |
+
NSS has been integrated into Unreal Engine via the [NSS Plugin for Unreal Engine](https://github.com/arm/neural-graphics-for-unreal/). See our [quick start guide](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/nss-unreal/) for step-by-step instructions on how to use NSS in Unreal® Engine.
|
| 52 |
|
| 53 |
### Out-of-Scope Use
|
| 54 |
|
|
|
|
| 67 |
|
| 68 |
## How to Get Started with the Model
|
| 69 |
|
| 70 |
+
This repository contains pre-trained weights and a compiled NSS model in VGF format, ready for integration with Vulkan applications.
|
| 71 |
|
| 72 |
The included Scenario demonstrates full execution of the model on a Vulkan compute-capable system. An Emulation Layer is provided to implement ML Extensions for Vulkan where it is not supported by the native Vulkan driver.
|
| 73 |
|
| 74 |
### Download and Prepare the Scenario
|
| 75 |
|
| 76 |
+
These instructions will work on both Windows and Linux. On Windows, we strongly recommend the use of PowerShell over `cmd.exe` ("Command Prompt").
|
| 77 |
+
|
| 78 |
+
1. Ensure that Git LFS is installed. See [the project's website](https://git-lfs.com/) for more details.
|
| 79 |
+
|
| 80 |
+
2. Clone the NSS model repository from Hugging Face:
|
| 81 |
+
```bash
|
| 82 |
git clone https://huggingface.co/Arm/neural-super-sampling
|
| 83 |
cd neural-super-sampling
|
| 84 |
+
git lfs pull
|
| 85 |
```
|
| 86 |
|
| 87 |
+
### Install the Scenario Runner and Emulation Layers
|
| 88 |
|
| 89 |
+
1. Follow the steps in the Python documentation's ["Create a new virtual environment"](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#create-a-new-virtual-environment) guide. We will assume below that you installed this environment into a `.venv` subdirectory.
|
|
|
|
|
|
|
| 90 |
|
| 91 |
+
2. Follow the steps in the Python documentation's ["Activate a virtual environment"](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#activate-a-virtual-environment) guide.
|
| 92 |
|
| 93 |
+
*Note for Windows users:* It is not necessary to determine the location of the Python interpreter as described in this guide. For reference, however, the correct PowerShell command to do this is `gcm python` rather than the given `where python`.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 94 |
|
| 95 |
+
3. Install Arm's Scenario Runner and Emulation Layer into your new virtual environment:
|
| 96 |
+
```bash
|
| 97 |
+
pip install ai-ml-sdk-scenario-runner ai-ml-emulation-layer-for-vulkan
|
|
|
|
|
|
|
| 98 |
```
|
|
|
|
|
|
|
| 99 |
|
| 100 |
+
4. The Emulation Layer's documentation explains how its environment variables should be configured on [Linux](https://github.com/arm/ai-ml-emulation-layer-for-vulkan/blob/main/README.md#usage-on-linux) and on [Windows](https://github.com/arm/ai-ml-emulation-layer-for-vulkan/blob/main/README.md#usage-on-windows). The following is a simplified summary, assuming that you are at the root of the NSS model repository.
|
| 101 |
+
|
| 102 |
+
* On Linux, enter these commands into Bash:
|
| 103 |
+
```bash
|
| 104 |
+
EMULATION_LAYER_DIR=$(find $PWD/.venv -name emulation_layer -type d)
|
| 105 |
+
export LD_LIBRARY_PATH="$EMULATION_LAYER_DIR/deploy/lib:$LD_LIBRARY_PATH"
|
| 106 |
+
export VK_LAYER_PATH="$EMULATION_LAYER_DIR/deploy/share/vulkan/explicit_layer.d:$VK_LAYER_PATH"
|
| 107 |
+
export VK_INSTANCE_LAYERS="VK_LAYER_ML_Graph_Emulation:VK_LAYER_ML_Tensor_Emulation"
|
| 108 |
+
```
|
| 109 |
|
| 110 |
+
* On Windows, enter these commands into PowerShell (`cmd.exe` requires a different syntax):
|
| 111 |
+
```powershell
|
| 112 |
+
$env:VK_LAYER_PATH="$pwd\.venv\Lib\site-packages\emulation_layer\deploy\bin;$env:VK_LAYER_PATH"
|
| 113 |
+
$env:VK_INSTANCE_LAYERS="VK_LAYER_ML_Graph_Emulation;VK_LAYER_ML_Tensor_Emulation"
|
| 114 |
+
```
|
| 115 |
+
|
| 116 |
+
### Run the Scenario
|
| 117 |
+
|
| 118 |
+
- Execute the Scenario Runner:
|
| 119 |
+
|
| 120 |
+
```bash
|
| 121 |
+
scenario-runner --scenario scenario/scenario.json --output out
|
| 122 |
```
|
| 123 |
+
|
| 124 |
- Output images are encoded as `B10G11R11_UFLOAT`. This format is common for framebuffers but not widely supported by image viewers. Use [RenderDoc](https://renderdoc.org/) to view these images.
|
| 125 |
|
| 126 |
## Training and Evaluation
|
|
|
|
| 129 |
|
| 130 |
Training and evaluation details, including model architecture code, training pipeline, and test configurations, are available at:
|
| 131 |
|
| 132 |
+
- Model training code: <https://github.com/arm/neural-graphics-model-gym>
|
| 133 |
+
- Examples and tutorials: <https://github.com/arm/neural-graphics-model-gym-examples>
|
| 134 |
+
- Sample dataset: <https://huggingface.co/datasets/Arm/neural-graphics-dataset>
|
| 135 |
|
| 136 |
### 🔎 Model Explorer VGF extension
|
| 137 |
|
| 138 |
+
The [VGF extension to Model Explorer](https://github.com/arm/vgf-adapter-model-explorer) provides a simple interface to visualize model and analyse VGF composition.
|
| 139 |
|
| 140 |

|
| 141 |
|
|
|
|
| 153 |
🙋🏻♀️ For questions or feedback please [start a discussion](https://huggingface.co/Arm/neural-super-sampling/discussions)
|
| 154 |
|
| 155 |
## Trademark notice
|
|
|
|
|
|
|
|
|
|
| 156 |
|
| 157 |
+
* Arm® is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere.
|
| 158 |
+
* Python® is a registered trademark of the Python Software Foundation.
|
| 159 |
+
* Vulkan® is a registered trademark of the [Khronos® Group](https://www.khronos.org/legal/trademarks).
|
| 160 |
+
* Windows® is a trademark of the Microsoft group of companies.
|
bin/windows-x86_64/VkLayer_Graph.dll
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:0a2fd54f62bef850685bcc4331714e0590a0a3aef28ea2dd6aa8c9e6f68f4da0
|
| 3 |
-
size 7437312
|
|
|
|
|
|
|
|
|
|
|
|
bin/windows-x86_64/VkLayer_Graph.json
DELETED
|
@@ -1,29 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"file_format_version": "1.0.0",
|
| 3 |
-
"layer": {
|
| 4 |
-
"name": "VK_LAYER_ML_Graph_Emulation",
|
| 5 |
-
"type": "INSTANCE",
|
| 6 |
-
"library_path": ".\\VkLayer_Graph.dll",
|
| 7 |
-
"api_version": "1.3.0",
|
| 8 |
-
"implementation_version": "1",
|
| 9 |
-
"description": "ML Graph Emulation Layer",
|
| 10 |
-
"functions": {
|
| 11 |
-
"vkGetInstanceProcAddr": "graphGetInstanceProcAddr",
|
| 12 |
-
"vkGetDeviceProcAddr": "graphGetDeviceProcAddr"
|
| 13 |
-
},
|
| 14 |
-
"device_extensions": [
|
| 15 |
-
{
|
| 16 |
-
"name": "VK_ARM_data_graph",
|
| 17 |
-
"spec_version": "1",
|
| 18 |
-
"entrypoints": [
|
| 19 |
-
"vkGetPhysicalDeviceGraphInstructionSetsARM",
|
| 20 |
-
"vkCreateGraphPipelinesARM",
|
| 21 |
-
"vkCreateGraphPipelineSessionARM",
|
| 22 |
-
"vkGetGraphPipelineSessionMemoryRequirementsARM",
|
| 23 |
-
"vkBindGraphPipelineSessionMemoryARM",
|
| 24 |
-
"vkDestroyGraphPipelineSessionARM",
|
| 25 |
-
"vkCmdDispatchGraphARM"
|
| 26 |
-
]
|
| 27 |
-
}]
|
| 28 |
-
}
|
| 29 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bin/windows-x86_64/VkLayer_Tensor.dll
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:15a7e7f9b4ff74f530a550669740f1c8b5295bdbe9a0474da3e3b9e906c4ce76
|
| 3 |
-
size 5689344
|
|
|
|
|
|
|
|
|
|
|
|
bin/windows-x86_64/VkLayer_Tensor.json
DELETED
|
@@ -1,31 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"file_format_version": "1.0.0",
|
| 3 |
-
"layer": {
|
| 4 |
-
"name": "VK_LAYER_ML_Tensor_Emulation",
|
| 5 |
-
"type": "INSTANCE",
|
| 6 |
-
"library_path": ".\\VkLayer_Tensor.dll",
|
| 7 |
-
"api_version": "1.3.0",
|
| 8 |
-
"implementation_version": "1",
|
| 9 |
-
"description": "ML Tensor Emulation Layer",
|
| 10 |
-
"functions": {
|
| 11 |
-
"vkGetInstanceProcAddr": "tensorGetInstanceProcAddr",
|
| 12 |
-
"vkGetDeviceProcAddr": "tensorGetDeviceProcAddr"
|
| 13 |
-
},
|
| 14 |
-
"device_extensions": [
|
| 15 |
-
{
|
| 16 |
-
"name": "VK_ARM_tensors",
|
| 17 |
-
"spec_version": "1",
|
| 18 |
-
"entrypoints": [
|
| 19 |
-
"vkCreateTensorARM",
|
| 20 |
-
"vkDestroyTensorARM",
|
| 21 |
-
"vkCreateTensorViewARM",
|
| 22 |
-
"vkDestroyTensorViewARM",
|
| 23 |
-
"vkGetTensorMemoryRequirementsARM",
|
| 24 |
-
"vkBindTensorMemoryARM",
|
| 25 |
-
"vkGetDeviceTensorMemoryRequirementsARM",
|
| 26 |
-
"vkCmdCopyTensorARM"
|
| 27 |
-
]
|
| 28 |
-
}
|
| 29 |
-
]
|
| 30 |
-
}
|
| 31 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bin/windows-x86_64/scenario-runner.exe
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:5a99f1076dec1f504d64387969a3d18dc687c7f95c505dca812e4fcbca60f3d2
|
| 3 |
-
size 5285376
|
|
|
|
|
|
|
|
|
|
|
|
scenario/scenario.json
CHANGED
|
@@ -1,11 +1,5 @@
|
|
| 1 |
{
|
| 2 |
"commands": [
|
| 3 |
-
{
|
| 4 |
-
"mark_boundary": {
|
| 5 |
-
"frame_id": 0,
|
| 6 |
-
"resources": []
|
| 7 |
-
}
|
| 8 |
-
},
|
| 9 |
{
|
| 10 |
"dispatch_compute": {
|
| 11 |
"shader_ref": "0_pre_process",
|
|
@@ -212,7 +206,6 @@
|
|
| 212 |
},
|
| 213 |
{
|
| 214 |
"mark_boundary": {
|
| 215 |
-
"frame_id": 1,
|
| 216 |
"resources": [
|
| 217 |
"out_colour"
|
| 218 |
]
|
|
@@ -504,6 +497,9 @@
|
|
| 504 |
"dst": "./out_feedback.dds",
|
| 505 |
"format": "VK_FORMAT_R8G8B8A8_SNORM",
|
| 506 |
"shader_access": "writeonly",
|
|
|
|
|
|
|
|
|
|
| 507 |
"mips": 1,
|
| 508 |
"min_filter": "LINEAR",
|
| 509 |
"mag_filter": "LINEAR",
|
|
@@ -524,8 +520,8 @@
|
|
| 524 |
],
|
| 525 |
"format": "VK_FORMAT_R8_SINT",
|
| 526 |
"shader_access": "readwrite",
|
| 527 |
-
"
|
| 528 |
-
"
|
| 529 |
},
|
| 530 |
"tiling": "LINEAR"
|
| 531 |
}
|
|
@@ -541,6 +537,9 @@
|
|
| 541 |
],
|
| 542 |
"format": "VK_FORMAT_R8G8B8A8_SNORM",
|
| 543 |
"shader_access": "readonly",
|
|
|
|
|
|
|
|
|
|
| 544 |
"mips": 1,
|
| 545 |
"min_filter": "LINEAR",
|
| 546 |
"mag_filter": "LINEAR",
|
|
@@ -561,8 +560,8 @@
|
|
| 561 |
],
|
| 562 |
"format": "VK_FORMAT_R8_SINT",
|
| 563 |
"shader_access": "readwrite",
|
| 564 |
-
"
|
| 565 |
-
"
|
| 566 |
},
|
| 567 |
"tiling": "LINEAR"
|
| 568 |
}
|
|
@@ -578,6 +577,9 @@
|
|
| 578 |
],
|
| 579 |
"format": "VK_FORMAT_R8G8B8A8_SNORM",
|
| 580 |
"shader_access": "readonly",
|
|
|
|
|
|
|
|
|
|
| 581 |
"mips": 1,
|
| 582 |
"min_filter": "LINEAR",
|
| 583 |
"mag_filter": "LINEAR",
|
|
@@ -597,8 +599,8 @@
|
|
| 597 |
],
|
| 598 |
"format": "VK_FORMAT_R8_SINT",
|
| 599 |
"shader_access": "readwrite",
|
| 600 |
-
"
|
| 601 |
-
"
|
| 602 |
},
|
| 603 |
"tiling": "LINEAR"
|
| 604 |
}
|
|
@@ -614,6 +616,9 @@
|
|
| 614 |
],
|
| 615 |
"format": "VK_FORMAT_R8G8B8A8_SNORM",
|
| 616 |
"shader_access": "readonly",
|
|
|
|
|
|
|
|
|
|
| 617 |
"mips": 1,
|
| 618 |
"min_filter": "LINEAR",
|
| 619 |
"mag_filter": "LINEAR",
|
|
@@ -633,8 +638,8 @@
|
|
| 633 |
],
|
| 634 |
"format": "VK_FORMAT_R8_SINT",
|
| 635 |
"shader_access": "readwrite",
|
| 636 |
-
"
|
| 637 |
-
"
|
| 638 |
},
|
| 639 |
"tiling": "LINEAR"
|
| 640 |
}
|
|
@@ -650,6 +655,9 @@
|
|
| 650 |
],
|
| 651 |
"format": "VK_FORMAT_R8G8B8A8_SNORM",
|
| 652 |
"shader_access": "readonly",
|
|
|
|
|
|
|
|
|
|
| 653 |
"mips": 1,
|
| 654 |
"min_filter": "LINEAR",
|
| 655 |
"mag_filter": "LINEAR",
|
|
@@ -669,8 +677,8 @@
|
|
| 669 |
],
|
| 670 |
"format": "VK_FORMAT_R8_SINT",
|
| 671 |
"shader_access": "readwrite",
|
| 672 |
-
"
|
| 673 |
-
"
|
| 674 |
},
|
| 675 |
"tiling": "LINEAR"
|
| 676 |
}
|
|
@@ -686,6 +694,9 @@
|
|
| 686 |
],
|
| 687 |
"format": "VK_FORMAT_R8G8B8A8_SNORM",
|
| 688 |
"shader_access": "readonly",
|
|
|
|
|
|
|
|
|
|
| 689 |
"mips": 1,
|
| 690 |
"min_filter": "LINEAR",
|
| 691 |
"mag_filter": "LINEAR",
|
|
@@ -705,8 +716,8 @@
|
|
| 705 |
],
|
| 706 |
"format": "VK_FORMAT_R8_SINT",
|
| 707 |
"shader_access": "readwrite",
|
| 708 |
-
"
|
| 709 |
-
"
|
| 710 |
},
|
| 711 |
"tiling": "LINEAR"
|
| 712 |
}
|
|
@@ -840,4 +851,4 @@
|
|
| 840 |
}
|
| 841 |
}
|
| 842 |
]
|
| 843 |
-
}
|
|
|
|
| 1 |
{
|
| 2 |
"commands": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
{
|
| 4 |
"dispatch_compute": {
|
| 5 |
"shader_ref": "0_pre_process",
|
|
|
|
| 206 |
},
|
| 207 |
{
|
| 208 |
"mark_boundary": {
|
|
|
|
| 209 |
"resources": [
|
| 210 |
"out_colour"
|
| 211 |
]
|
|
|
|
| 497 |
"dst": "./out_feedback.dds",
|
| 498 |
"format": "VK_FORMAT_R8G8B8A8_SNORM",
|
| 499 |
"shader_access": "writeonly",
|
| 500 |
+
"memory_group": {
|
| 501 |
+
"id": "out_feedback"
|
| 502 |
+
},
|
| 503 |
"mips": 1,
|
| 504 |
"min_filter": "LINEAR",
|
| 505 |
"mag_filter": "LINEAR",
|
|
|
|
| 520 |
],
|
| 521 |
"format": "VK_FORMAT_R8_SINT",
|
| 522 |
"shader_access": "readwrite",
|
| 523 |
+
"memory_group": {
|
| 524 |
+
"id": "out_feedback"
|
| 525 |
},
|
| 526 |
"tiling": "LINEAR"
|
| 527 |
}
|
|
|
|
| 537 |
],
|
| 538 |
"format": "VK_FORMAT_R8G8B8A8_SNORM",
|
| 539 |
"shader_access": "readonly",
|
| 540 |
+
"memory_group": {
|
| 541 |
+
"id": "out_tp"
|
| 542 |
+
},
|
| 543 |
"mips": 1,
|
| 544 |
"min_filter": "LINEAR",
|
| 545 |
"mag_filter": "LINEAR",
|
|
|
|
| 560 |
],
|
| 561 |
"format": "VK_FORMAT_R8_SINT",
|
| 562 |
"shader_access": "readwrite",
|
| 563 |
+
"memory_group": {
|
| 564 |
+
"id": "out_tp"
|
| 565 |
},
|
| 566 |
"tiling": "LINEAR"
|
| 567 |
}
|
|
|
|
| 577 |
],
|
| 578 |
"format": "VK_FORMAT_R8G8B8A8_SNORM",
|
| 579 |
"shader_access": "readonly",
|
| 580 |
+
"memory_group": {
|
| 581 |
+
"id": "out_k3"
|
| 582 |
+
},
|
| 583 |
"mips": 1,
|
| 584 |
"min_filter": "LINEAR",
|
| 585 |
"mag_filter": "LINEAR",
|
|
|
|
| 599 |
],
|
| 600 |
"format": "VK_FORMAT_R8_SINT",
|
| 601 |
"shader_access": "readwrite",
|
| 602 |
+
"memory_group": {
|
| 603 |
+
"id": "out_k3"
|
| 604 |
},
|
| 605 |
"tiling": "LINEAR"
|
| 606 |
}
|
|
|
|
| 616 |
],
|
| 617 |
"format": "VK_FORMAT_R8G8B8A8_SNORM",
|
| 618 |
"shader_access": "readonly",
|
| 619 |
+
"memory_group": {
|
| 620 |
+
"id": "out_k2"
|
| 621 |
+
},
|
| 622 |
"mips": 1,
|
| 623 |
"min_filter": "LINEAR",
|
| 624 |
"mag_filter": "LINEAR",
|
|
|
|
| 638 |
],
|
| 639 |
"format": "VK_FORMAT_R8_SINT",
|
| 640 |
"shader_access": "readwrite",
|
| 641 |
+
"memory_group": {
|
| 642 |
+
"id": "out_k2"
|
| 643 |
},
|
| 644 |
"tiling": "LINEAR"
|
| 645 |
}
|
|
|
|
| 655 |
],
|
| 656 |
"format": "VK_FORMAT_R8G8B8A8_SNORM",
|
| 657 |
"shader_access": "readonly",
|
| 658 |
+
"memory_group": {
|
| 659 |
+
"id": "out_k1"
|
| 660 |
+
},
|
| 661 |
"mips": 1,
|
| 662 |
"min_filter": "LINEAR",
|
| 663 |
"mag_filter": "LINEAR",
|
|
|
|
| 677 |
],
|
| 678 |
"format": "VK_FORMAT_R8_SINT",
|
| 679 |
"shader_access": "readwrite",
|
| 680 |
+
"memory_group": {
|
| 681 |
+
"id": "out_k1"
|
| 682 |
},
|
| 683 |
"tiling": "LINEAR"
|
| 684 |
}
|
|
|
|
| 694 |
],
|
| 695 |
"format": "VK_FORMAT_R8G8B8A8_SNORM",
|
| 696 |
"shader_access": "readonly",
|
| 697 |
+
"memory_group": {
|
| 698 |
+
"id": "out_k0"
|
| 699 |
+
},
|
| 700 |
"mips": 1,
|
| 701 |
"min_filter": "LINEAR",
|
| 702 |
"mag_filter": "LINEAR",
|
|
|
|
| 716 |
],
|
| 717 |
"format": "VK_FORMAT_R8_SINT",
|
| 718 |
"shader_access": "readwrite",
|
| 719 |
+
"memory_group": {
|
| 720 |
+
"id": "out_k0"
|
| 721 |
},
|
| 722 |
"tiling": "LINEAR"
|
| 723 |
}
|
|
|
|
| 851 |
}
|
| 852 |
}
|
| 853 |
]
|
| 854 |
+
}
|