diff --git a/Dockerfile b/Dockerfile index 6f74900..0fcf838 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,7 +35,8 @@ RUN make -C /test-pgraph/nxdk_pgraph_tests \ CC=clang CXX=clang++ \ -j$(numproc) RUN cp /test-pgraph/nxdk_pgraph_tests/nxdk_pgraph_tests.iso /data/TestNXDKPgraphTests/ -RUN cp /test-pgraph/config.cnf /data/TestNXDKPgraphTests/ +RUN mv /test-pgraph/config.cnf /data/TestNXDKPgraphTests/ +RUN mv /test-pgraph/golden_results /data/TestNXDKPgraphTests/ # Combine test data FROM scratch AS data diff --git a/test-pgraph/README.md b/test-pgraph/README.md index 828e006..33d3108 100644 --- a/test-pgraph/README.md +++ b/test-pgraph/README.md @@ -10,3 +10,18 @@ The subset of `nxdk_pgraph_tests` that will be executed is determined by the using the appropriate build flag in the `nxdk_pgraph_tests` project and then copied from the HDD. See the relevant build parameter in the Makefile to trigger config file generation. + +# Adding golden_results + +Expected outputs are placed into the `golden_results` directory. It is extremely +important that the files in these directories capture the expected results, +which may be different from the output. To facilitate this, the results from +running on hardware may be used +[from this repository](https://github.com/abaire/nxdk_pgraph_tests_golden_results). + +[This example script](https://gist.github.com/abaire/f566977419b3b3eb0537d3b4246de22f) +compares the output of a `xemu-test` CI run against the HW results, generating +diff files for any results that differ significantly. Note that minor, +imperceptible differences are expected, so +[perceptualdiff](https://github.com/myint/perceptualdiff) is used so that only +significant differences are flagged. diff --git a/test-pgraph/config.cnf b/test-pgraph/config.cnf index 651dde2..6a3ebfe 100644 --- a/test-pgraph/config.cnf +++ b/test-pgraph/config.cnf @@ -30,7 +30,6 @@ Lighting normals # Nz_97-inlinebuf # Nz_97-inlineelements - #Attrib carryover # L-d0.0_0.0_1.0_1.0-da # L-d0.2_0.0_0.6_1.0-ie @@ -107,6 +106,11 @@ Lighting normals # C01010101_Depth_n # C01010101_Depth_y +#Color zeta overlap +# ColorIntoZeta +# Swap +# ZetaIntoColor + #Combiner # Flags # Independence @@ -498,71 +502,6 @@ Lighting normals # DepthFmt_z24_Cn_FZn_Mf80001 # DepthFmt_z24_Cn_FZn_Mfc0000 # DepthFmt_z24_Cn_FZn_Mffffff -# DepthFmt_z24_Cn_FZy_M00003f -# DepthFmt_z24_Cn_FZy_M03fc3e -# DepthFmt_z24_Cn_FZy_M07f83d -# DepthFmt_z24_Cn_FZy_M0bf43c -# DepthFmt_z24_Cn_FZy_M0ff03b -# DepthFmt_z24_Cn_FZy_M13ec3a -# DepthFmt_z24_Cn_FZy_M17e839 -# DepthFmt_z24_Cn_FZy_M1be438 -# DepthFmt_z24_Cn_FZy_M1fe037 -# DepthFmt_z24_Cn_FZy_M23dc36 -# DepthFmt_z24_Cn_FZy_M27d835 -# DepthFmt_z24_Cn_FZy_M2bd434 -# DepthFmt_z24_Cn_FZy_M2fd033 -# DepthFmt_z24_Cn_FZy_M33cc32 -# DepthFmt_z24_Cn_FZy_M37c831 -# DepthFmt_z24_Cn_FZy_M3bc430 -# DepthFmt_z24_Cn_FZy_M3fc02f -# DepthFmt_z24_Cn_FZy_M43bc2e -# DepthFmt_z24_Cn_FZy_M47b82d -# DepthFmt_z24_Cn_FZy_M4bb42c -# DepthFmt_z24_Cn_FZy_M4fb02b -# DepthFmt_z24_Cn_FZy_M53ac2a -# DepthFmt_z24_Cn_FZy_M57a829 -# DepthFmt_z24_Cn_FZy_M5ba428 -# DepthFmt_z24_Cn_FZy_M5fa027 -# DepthFmt_z24_Cn_FZy_M639c26 -# DepthFmt_z24_Cn_FZy_M679825 -# DepthFmt_z24_Cn_FZy_M6b9424 -# DepthFmt_z24_Cn_FZy_M6f9023 -# DepthFmt_z24_Cn_FZy_M738c22 -# DepthFmt_z24_Cn_FZy_M778821 -# DepthFmt_z24_Cn_FZy_M7b8420 -# DepthFmt_z24_Cn_FZy_M7f801f -# DepthFmt_z24_Cn_FZy_M837c1e -# DepthFmt_z24_Cn_FZy_M87781d -# DepthFmt_z24_Cn_FZy_M8b741c -# DepthFmt_z24_Cn_FZy_M8f701b -# DepthFmt_z24_Cn_FZy_M936c1a -# DepthFmt_z24_Cn_FZy_M976819 -# DepthFmt_z24_Cn_FZy_M9b6418 -# DepthFmt_z24_Cn_FZy_M9f6017 -# DepthFmt_z24_Cn_FZy_Ma35c16 -# DepthFmt_z24_Cn_FZy_Ma75815 -# DepthFmt_z24_Cn_FZy_Mab5414 -# DepthFmt_z24_Cn_FZy_Maf5013 -# DepthFmt_z24_Cn_FZy_Mb34c12 -# DepthFmt_z24_Cn_FZy_Mb74811 -# DepthFmt_z24_Cn_FZy_Mbb4410 -# DepthFmt_z24_Cn_FZy_Mbf400f -# DepthFmt_z24_Cn_FZy_Mc33c0e -# DepthFmt_z24_Cn_FZy_Mc7380d -# DepthFmt_z24_Cn_FZy_Mcb340c -# DepthFmt_z24_Cn_FZy_Mcf300b -# DepthFmt_z24_Cn_FZy_Md32c0a -# DepthFmt_z24_Cn_FZy_Md72809 -# DepthFmt_z24_Cn_FZy_Mdb2408 -# DepthFmt_z24_Cn_FZy_Mdf2007 -# DepthFmt_z24_Cn_FZy_Me31c06 -# DepthFmt_z24_Cn_FZy_Me71805 -# DepthFmt_z24_Cn_FZy_Meb1404 -# DepthFmt_z24_Cn_FZy_Mef1003 -# DepthFmt_z24_Cn_FZy_Mf30c02 -# DepthFmt_z24_Cn_FZy_Mf70801 -# DepthFmt_z24_Cn_FZy_Mfb0400 -# DepthFmt_z24_Cn_FZy_Mfeffff # DepthFmt_z24_Cy_FZn_M00003f # DepthFmt_z24_Cy_FZn_M04003e # DepthFmt_z24_Cy_FZn_M08003d @@ -628,71 +567,6 @@ Lighting normals # DepthFmt_z24_Cy_FZn_Mf80001 # DepthFmt_z24_Cy_FZn_Mfc0000 # DepthFmt_z24_Cy_FZn_Mffffff -# DepthFmt_z24_Cy_FZy_M00003f -# DepthFmt_z24_Cy_FZy_M03fc3e -# DepthFmt_z24_Cy_FZy_M07f83d -# DepthFmt_z24_Cy_FZy_M0bf43c -# DepthFmt_z24_Cy_FZy_M0ff03b -# DepthFmt_z24_Cy_FZy_M13ec3a -# DepthFmt_z24_Cy_FZy_M17e839 -# DepthFmt_z24_Cy_FZy_M1be438 -# DepthFmt_z24_Cy_FZy_M1fe037 -# DepthFmt_z24_Cy_FZy_M23dc36 -# DepthFmt_z24_Cy_FZy_M27d835 -# DepthFmt_z24_Cy_FZy_M2bd434 -# DepthFmt_z24_Cy_FZy_M2fd033 -# DepthFmt_z24_Cy_FZy_M33cc32 -# DepthFmt_z24_Cy_FZy_M37c831 -# DepthFmt_z24_Cy_FZy_M3bc430 -# DepthFmt_z24_Cy_FZy_M3fc02f -# DepthFmt_z24_Cy_FZy_M43bc2e -# DepthFmt_z24_Cy_FZy_M47b82d -# DepthFmt_z24_Cy_FZy_M4bb42c -# DepthFmt_z24_Cy_FZy_M4fb02b -# DepthFmt_z24_Cy_FZy_M53ac2a -# DepthFmt_z24_Cy_FZy_M57a829 -# DepthFmt_z24_Cy_FZy_M5ba428 -# DepthFmt_z24_Cy_FZy_M5fa027 -# DepthFmt_z24_Cy_FZy_M639c26 -# DepthFmt_z24_Cy_FZy_M679825 -# DepthFmt_z24_Cy_FZy_M6b9424 -# DepthFmt_z24_Cy_FZy_M6f9023 -# DepthFmt_z24_Cy_FZy_M738c22 -# DepthFmt_z24_Cy_FZy_M778821 -# DepthFmt_z24_Cy_FZy_M7b8420 -# DepthFmt_z24_Cy_FZy_M7f801f -# DepthFmt_z24_Cy_FZy_M837c1e -# DepthFmt_z24_Cy_FZy_M87781d -# DepthFmt_z24_Cy_FZy_M8b741c -# DepthFmt_z24_Cy_FZy_M8f701b -# DepthFmt_z24_Cy_FZy_M936c1a -# DepthFmt_z24_Cy_FZy_M976819 -# DepthFmt_z24_Cy_FZy_M9b6418 -# DepthFmt_z24_Cy_FZy_M9f6017 -# DepthFmt_z24_Cy_FZy_Ma35c16 -# DepthFmt_z24_Cy_FZy_Ma75815 -# DepthFmt_z24_Cy_FZy_Mab5414 -# DepthFmt_z24_Cy_FZy_Maf5013 -# DepthFmt_z24_Cy_FZy_Mb34c12 -# DepthFmt_z24_Cy_FZy_Mb74811 -# DepthFmt_z24_Cy_FZy_Mbb4410 -# DepthFmt_z24_Cy_FZy_Mbf400f -# DepthFmt_z24_Cy_FZy_Mc33c0e -# DepthFmt_z24_Cy_FZy_Mc7380d -# DepthFmt_z24_Cy_FZy_Mcb340c -# DepthFmt_z24_Cy_FZy_Mcf300b -# DepthFmt_z24_Cy_FZy_Md32c0a -# DepthFmt_z24_Cy_FZy_Md72809 -# DepthFmt_z24_Cy_FZy_Mdb2408 -# DepthFmt_z24_Cy_FZy_Mdf2007 -# DepthFmt_z24_Cy_FZy_Me31c06 -# DepthFmt_z24_Cy_FZy_Me71805 -# DepthFmt_z24_Cy_FZy_Meb1404 -# DepthFmt_z24_Cy_FZy_Mef1003 -# DepthFmt_z24_Cy_FZy_Mf30c02 -# DepthFmt_z24_Cy_FZy_Mf70801 -# DepthFmt_z24_Cy_FZy_Mfb0400 -# DepthFmt_z24_Cy_FZy_Mfeffff #Image blit # ImgBlt_BLENDAND_XRGB_B00000000 @@ -758,6 +632,10 @@ Lighting normals # FromVertexDiffuse # FromVertexSpecular +#Overlapping draw modes +# ArrElm_DrwArr_ArrElm +# DrwArr_DrwArr + #SetVertexData # SET_VERTEX_DATA2F_M # SET_VERTEX_DATA2S-0001 @@ -837,9 +715,11 @@ Lighting normals # TexFmt_B8G8R8A8 # TexFmt_B8G8R8A8_L # TexFmt_DXT1 +# TexFmt_G8B8 # TexFmt_G8B8_L # TexFmt_R5G6B5 # TexFmt_R5G6B5_L +# TexFmt_R8B8 # TexFmt_R8G8B8A8 # TexFmt_R8G8B8A8_L # TexFmt_SZ_Index8_p128 @@ -883,9 +763,11 @@ Lighting normals # TexFmt_B8G8R8A8 # TexFmt_B8G8R8A8_L # TexFmt_DXT1 +# TexFmt_G8B8 # TexFmt_G8B8_L # TexFmt_R5G6B5 # TexFmt_R5G6B5_L +# TexFmt_R8B8 # TexFmt_R8G8B8A8 # TexFmt_R8G8B8A8_L # TexFmt_SZ_Index8_p128 @@ -977,7 +859,9 @@ Lighting normals # AY8 # B8G8R8A8 # DXT1 +# G8B8 # R5G6B5 +# R8B8 # R8G8B8A8 # SZ_Index8 # X1R5G5B5 diff --git a/test-pgraph/golden_results/Lighting_normals/NoNormal-inlinearrays.png b/test-pgraph/golden_results/Lighting_normals/NoNormal-inlinearrays.png new file mode 100644 index 0000000..87feb07 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/NoNormal-inlinearrays.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/NoNormal-inlinebuf.png b/test-pgraph/golden_results/Lighting_normals/NoNormal-inlinebuf.png new file mode 100644 index 0000000..4e71a1e Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/NoNormal-inlinebuf.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/NoNormal-inlineelements.png b/test-pgraph/golden_results/Lighting_normals/NoNormal-inlineelements.png new file mode 100644 index 0000000..d1bfaf4 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/NoNormal-inlineelements.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/NoNormal.png b/test-pgraph/golden_results/Lighting_normals/NoNormal.png new file mode 100644 index 0000000..13c58c1 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/NoNormal.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_-100-inlinearrays.png b/test-pgraph/golden_results/Lighting_normals/Nz_-100-inlinearrays.png new file mode 100644 index 0000000..4277e82 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_-100-inlinearrays.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_-100-inlinebuf.png b/test-pgraph/golden_results/Lighting_normals/Nz_-100-inlinebuf.png new file mode 100644 index 0000000..d86805c Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_-100-inlinebuf.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_-100-inlineelements.png b/test-pgraph/golden_results/Lighting_normals/Nz_-100-inlineelements.png new file mode 100644 index 0000000..733abc0 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_-100-inlineelements.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_-100.png b/test-pgraph/golden_results/Lighting_normals/Nz_-100.png new file mode 100644 index 0000000..eb85a2a Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_-100.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_0-inlinearrays.png b/test-pgraph/golden_results/Lighting_normals/Nz_0-inlinearrays.png new file mode 100644 index 0000000..7400090 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_0-inlinearrays.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_0-inlinebuf.png b/test-pgraph/golden_results/Lighting_normals/Nz_0-inlinebuf.png new file mode 100644 index 0000000..41bb290 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_0-inlinebuf.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_0-inlineelements.png b/test-pgraph/golden_results/Lighting_normals/Nz_0-inlineelements.png new file mode 100644 index 0000000..6702c74 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_0-inlineelements.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_0.png b/test-pgraph/golden_results/Lighting_normals/Nz_0.png new file mode 100644 index 0000000..e8699a8 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_0.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_100-inlinearrays.png b/test-pgraph/golden_results/Lighting_normals/Nz_100-inlinearrays.png new file mode 100644 index 0000000..1d02d1e Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_100-inlinearrays.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_100-inlinebuf.png b/test-pgraph/golden_results/Lighting_normals/Nz_100-inlinebuf.png new file mode 100644 index 0000000..561717e Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_100-inlinebuf.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_100-inlineelements.png b/test-pgraph/golden_results/Lighting_normals/Nz_100-inlineelements.png new file mode 100644 index 0000000..4b01271 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_100-inlineelements.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_100.png b/test-pgraph/golden_results/Lighting_normals/Nz_100.png new file mode 100644 index 0000000..ab18dc2 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_100.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_31-inlinearrays.png b/test-pgraph/golden_results/Lighting_normals/Nz_31-inlinearrays.png new file mode 100644 index 0000000..cd8f1b6 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_31-inlinearrays.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_31-inlinebuf.png b/test-pgraph/golden_results/Lighting_normals/Nz_31-inlinebuf.png new file mode 100644 index 0000000..528ef7c Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_31-inlinebuf.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_31-inlineelements.png b/test-pgraph/golden_results/Lighting_normals/Nz_31-inlineelements.png new file mode 100644 index 0000000..5f6fe15 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_31-inlineelements.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_31.png b/test-pgraph/golden_results/Lighting_normals/Nz_31.png new file mode 100644 index 0000000..946db4c Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_31.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_70-inlinearrays.png b/test-pgraph/golden_results/Lighting_normals/Nz_70-inlinearrays.png new file mode 100644 index 0000000..cf091bc Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_70-inlinearrays.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_70-inlinebuf.png b/test-pgraph/golden_results/Lighting_normals/Nz_70-inlinebuf.png new file mode 100644 index 0000000..3b4fbe6 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_70-inlinebuf.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_70-inlineelements.png b/test-pgraph/golden_results/Lighting_normals/Nz_70-inlineelements.png new file mode 100644 index 0000000..4299dd7 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_70-inlineelements.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_70.png b/test-pgraph/golden_results/Lighting_normals/Nz_70.png new file mode 100644 index 0000000..60c2182 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_70.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_97-inlinearrays.png b/test-pgraph/golden_results/Lighting_normals/Nz_97-inlinearrays.png new file mode 100644 index 0000000..fa37cd3 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_97-inlinearrays.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_97-inlinebuf.png b/test-pgraph/golden_results/Lighting_normals/Nz_97-inlinebuf.png new file mode 100644 index 0000000..78f32fb Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_97-inlinebuf.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_97-inlineelements.png b/test-pgraph/golden_results/Lighting_normals/Nz_97-inlineelements.png new file mode 100644 index 0000000..467a7f8 Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_97-inlineelements.png differ diff --git a/test-pgraph/golden_results/Lighting_normals/Nz_97.png b/test-pgraph/golden_results/Lighting_normals/Nz_97.png new file mode 100644 index 0000000..912bd7d Binary files /dev/null and b/test-pgraph/golden_results/Lighting_normals/Nz_97.png differ diff --git a/test-pgraph/golden_results/Zero_stride/DrawArrays.png b/test-pgraph/golden_results/Zero_stride/DrawArrays.png new file mode 100644 index 0000000..67c43d7 Binary files /dev/null and b/test-pgraph/golden_results/Zero_stride/DrawArrays.png differ diff --git a/test-pgraph/golden_results/Zero_stride/InlineElements.png b/test-pgraph/golden_results/Zero_stride/InlineElements.png new file mode 100644 index 0000000..ef98156 Binary files /dev/null and b/test-pgraph/golden_results/Zero_stride/InlineElements.png differ