.github/workflows | ||
githooks | ||
resources/image_blit | ||
shaders | ||
tests | ||
third_party | ||
.clang-format | ||
.gdbinit | ||
.gitignore | ||
.gitmodules | ||
debug_output.cpp | ||
debug_output.h | ||
main.cpp | ||
Makefile | ||
math3d.c | ||
math3d.h | ||
menu_item.cpp | ||
menu_item.h | ||
nxdk_ext.h | ||
pbkit_ext.cpp | ||
pbkit_ext.h | ||
README.md | ||
test_driver.cpp | ||
test_driver.h | ||
test_host.cpp | ||
test_host.h | ||
texture_format.cpp | ||
texture_format.h | ||
vertex_buffer.cpp | ||
vertex_buffer.h |
nxdk_pgraph_tests
Various tests for nv2a rendering.
Based on code from https://github.com/Ernegien/nxdk/tree/test/texture-formats/samples/texture-formats
Golden test results from XBOX hardware are available here
Usage
Tests will be executed automatically if no gamepad input is given within an initial timeout.
Individual tests may be executed via the menu.
Controls
DPAD:
- Up - Move the menu cursor up. Inside of a test, go to the previous test in the active suite.
- Down - Move the menu cursor down. Inside of a test, go to the previous test in the active suite.
- Left - Move the menu cursor up by half a page.
- Right - Move the menu cursor down by half a page.
- A - Enter a submenu or test. Inside of a test, re-run the test.
- B - Go up one menu or leave a test. If pressed on the root menu, exit the application.
- X - Run all tests for the current suite.
- Start - Enter a submenu or test.
- Back - Go up one menu or leave a test. If pressed on the root menu, exit the application.
- Black - Exit the application.
Build prerequisites
This test suite requires some modifications to the pbkit used by the nxdk in order to operate.
Use the pbkit_extensions
branch in https://github.com/abaire/nxdk
NOTE: By default this project expects to be run on a devkit (e:\DEVKIT
must
exist). If you wish to run on a retail system, pass DEVKIT=n
as a parameter when
invoking make
.
Running with CLion
Create a build target
- Create a new
Embedded GDB Server
target - Set the Target to
all
- Set the Executable to
main.exe
- Set
Download executable
toNone
- Set
'target remote' args
to127.0.0.1:1234
- Set
GDB Server
to the path to the xemu binary - Set
GDB Server args
to-s -S
(the-S
is optional and will cause xemu to wait for the debugger to connnect)
To capture DbgPrint, additionally append -device lpc47m157 -serial tcp:127.0.0.1:9091
to GDB Server args
and use
something like pykdclient.
Deploying with xbdm_gdb_bridge
The Makefile
contains a deploy
target that will copy the finished binary to an XBOX running XBDM. This functionality
requires the xbdm_gdb_bridge utility.