Simulator/debugger for the Xbox nv2a vertex shader
Project description
Simulator/debugger for the original Xbox nv2a vertex shader.
Use
Run nv2adbg
with --help
to see command line options.
Menus
File menu
Allows inputs to be configured.
Source window
The source window is split into three areas:
- The program view on the left shows the shader instructions
- The inputs panel on the right shows the value of register inputs for the currently selected line. Components of the register that are used will be highlighted.
- The outputs panel at the bottom shows the computed values of the outputs. Components that are written to will be highlighted.
- Cursor up/down, page-up/down, and home/end in the source window navigate source lines.
- "a" will toggle ancestry tracing for the currently selected line, marking
every line that contributes to the line's outputs.
- In tracing mode
- "space" will allow the current line to be locked so moving the cursor will not change the root of the ancestor trace.
- "f" will filter out any lines that do not contribute to the instruction being traced. Press "f" again to return to full source view.
- NOTE: At the time of this writing there is no way to choose between the MAC and ILU component of a paired command, both will be traced. If you only care about one or the other, the best option is to go to the first ancestor that contributes solely to the one you care about and do the trace from there.
- In tracing mode
Helpful hints
- You can convert the contents of a xemu vertex shader using RenderDoc to examine the draw and running it through https://github.com/abaire/renderdoc_util/blob/main/util/xemu_shader_to_nv2a.py to sanitize it.
- You can set initial values with csv dumps from RenderDoc (use
-h
to see the appropriate commands, the mesh view will have the input register values and you can expand the uniforms in the pipeline view to get the constant registers)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file nv2a_debug-0.1.2.tar.gz
.
File metadata
- Download URL: nv2a_debug-0.1.2.tar.gz
- Upload date:
- Size: 44.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f94d36e6394d899d11712e8ad57e67de85e71dd7b56541c7e62415968b3ea5c |
|
MD5 | ea385d8da0e411413dd4ebac403781ef |
|
BLAKE2b-256 | e153c5de601891d3c766a44e9fab7dd65d1d8d9332060d751c1d50bcbd3207b0 |
File details
Details for the file nv2a_debug-0.1.2-pp39-pypy39_pp73-win_amd64.whl
.
File metadata
- Download URL: nv2a_debug-0.1.2-pp39-pypy39_pp73-win_amd64.whl
- Upload date:
- Size: 42.5 kB
- Tags: PyPy, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dba5109da21ee95675fab98a89be601d049c730e50f65a6d66ec3727c8a0e65a |
|
MD5 | 1747e9528805f62563d010dc2f3cb001 |
|
BLAKE2b-256 | df2671789f581c7b57927e711e38829bb067fd78c92f2ab7be59b594f681b4a5 |
File details
Details for the file nv2a_debug-0.1.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: nv2a_debug-0.1.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 45.9 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91ca16f9f2ce8ecf6aa3bd373376c34f3c2c9ed18f1a7846b474ea36c42a4c91 |
|
MD5 | 42be988d02435875cfef9f77225a150b |
|
BLAKE2b-256 | da9d1037e519d89780aa734f62891548126653e5add5dfe2edd93ba502a8515e |
File details
Details for the file nv2a_debug-0.1.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: nv2a_debug-0.1.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 45.5 kB
- Tags: PyPy, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86e62a6cf5a74fca0689560cf1e977cd8c38687b485455da1a34859fc8f3c50b |
|
MD5 | a1d2449913c055563ef05db2defd857f |
|
BLAKE2b-256 | 61a586b0f8d6ce20d3d6a3a5435c5c2c1889aa2e4f3e2717b81f2698260b4c88 |
File details
Details for the file nv2a_debug-0.1.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: nv2a_debug-0.1.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
- Upload date:
- Size: 41.8 kB
- Tags: PyPy, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfa88030a5475828618e05e636f9dc1df7097d0383e10c4f5a8ba00d18004519 |
|
MD5 | 89d48ced6480afb7e1942c467d6b0d15 |
|
BLAKE2b-256 | 446500469d3398b58b03ddbe31353c3a264784d891db3e32b853c29a6c168faf |