tests/shader_runner: Introduce a Metal shader runner.

This commit is contained in:
Feifan He 2024-10-21 22:23:27 +08:00 committed by Henri Verbeet
parent da75582a14
commit b0646cb427
Notes: Henri Verbeet 2024-10-31 16:58:27 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1205
176 changed files with 1154 additions and 992 deletions

View File

@ -491,6 +491,13 @@ tests_shader_runner_SOURCES = \
tests/shader_runner_d3d12.c \ tests/shader_runner_d3d12.c \
tests/shader_runner_gl.c \ tests/shader_runner_gl.c \
tests/shader_runner_vulkan.c tests/shader_runner_vulkan.c
if HAVE_METAL
tests_shader_runner_OBJCFLAGS = $(AM_CFLAGS)
tests_shader_runner_SOURCES += tests/shader_runner_metal.m
tests_shader_runner_LINK = $(OBJCLINK) -framework Foundation -framework Metal
else
tests_shader_runner_LINK = $(LINK)
endif
tests_vkd3d_api_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS) tests_vkd3d_api_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
tests_vkd3d_api_LDADD = libvkd3d.la @DL_LIBS@ tests_vkd3d_api_LDADD = libvkd3d.la @DL_LIBS@
tests_vkd3d_shader_api_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS) tests_vkd3d_shader_api_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)

View File

@ -8,6 +8,7 @@ AC_CONFIG_HEADERS(include/config.h)
AC_ARG_VAR([WIDL], [widl IDL compiler]) AC_ARG_VAR([WIDL], [widl IDL compiler])
AC_ARG_VAR([CROSSCC32], [32-bit Windows cross compiler]) AC_ARG_VAR([CROSSCC32], [32-bit Windows cross compiler])
AC_ARG_VAR([CROSSCC64], [64-bit Windows cross compiler]) AC_ARG_VAR([CROSSCC64], [64-bit Windows cross compiler])
AC_ARG_WITH([metal], AS_HELP_STRING([--with-metal], [Build with the Metal library (default: test)]))
AC_ARG_WITH([ncurses], AS_HELP_STRING([--with-ncurses], [Build with the ncurses library (default: test)])) AC_ARG_WITH([ncurses], AS_HELP_STRING([--with-ncurses], [Build with the ncurses library (default: test)]))
AC_ARG_WITH([opengl], AS_HELP_STRING([--with-opengl], [Build with the OpenGL library (default: test)])) AC_ARG_WITH([opengl], AS_HELP_STRING([--with-opengl], [Build with the OpenGL library (default: test)]))
AC_ARG_WITH([spirv-tools], AS_HELP_STRING([--with-spirv-tools], AC_ARG_WITH([spirv-tools], AS_HELP_STRING([--with-spirv-tools],
@ -134,6 +135,16 @@ AS_IF([test "x$SONAME_LIBDXCOMPILER" = "x"],
[VKD3D_CHECK_SONAME([dxcompiler], [DxcCreateInstance], [HAVE_DXCOMPILER=yes], [HAVE_DXCOMPILER=no], [$DXCOMPILER_LIBS])], [VKD3D_CHECK_SONAME([dxcompiler], [DxcCreateInstance], [HAVE_DXCOMPILER=yes], [HAVE_DXCOMPILER=no], [$DXCOMPILER_LIBS])],
[AC_DEFINE_UNQUOTED([SONAME_LIBDXCOMPILER],["$SONAME_LIBDXCOMPILER"],[Define to the shared object name of the dxcompiler library.])]) [AC_DEFINE_UNQUOTED([SONAME_LIBDXCOMPILER],["$SONAME_LIBDXCOMPILER"],[Define to the shared object name of the dxcompiler library.])])
AS_IF([test "x$with_metal" != "xno"],
[AC_MSG_CHECKING([for Metal])]
[AC_PREPROC_IFELSE([AC_LANG_PROGRAM([#include <Metal/Metal.h>])],
[AC_MSG_RESULT([yes])
AC_PROG_OBJC
AC_DEFINE([HAVE_METAL], [1], [Define to 1 if you have Metal.])
with_metal=yes],
[AC_MSG_RESULT([no])
AM_CONDITIONAL([am__fastdepOBJC], [false])
with_metal=no])])
AS_IF([test "x$with_ncurses" != "xno"], AS_IF([test "x$with_ncurses" != "xno"],
[PKG_CHECK_MODULES([NCURSES], [ncurses], [PKG_CHECK_MODULES([NCURSES], [ncurses],
[AC_DEFINE([HAVE_NCURSES], [1], [Define to 1 if you have ncurses.]) with_ncurses=yes], [AC_DEFINE([HAVE_NCURSES], [1], [Define to 1 if you have ncurses.]) with_ncurses=yes],
@ -181,6 +192,7 @@ AM_CONDITIONAL([BUILD_TESTS], [test "x$enable_tests" != "xno"])
AM_CONDITIONAL([HAVE_WIDL], [test "x$WIDL" != "xno"]) AM_CONDITIONAL([HAVE_WIDL], [test "x$WIDL" != "xno"])
AM_CONDITIONAL([HAVE_CROSSTARGET32], [test "x$CROSSTARGET32" != "xno"]) AM_CONDITIONAL([HAVE_CROSSTARGET32], [test "x$CROSSTARGET32" != "xno"])
AM_CONDITIONAL([HAVE_CROSSTARGET64], [test "x$CROSSTARGET64" != "xno"]) AM_CONDITIONAL([HAVE_CROSSTARGET64], [test "x$CROSSTARGET64" != "xno"])
AM_CONDITIONAL([HAVE_METAL], [test "${host_os#darwin}" != "$host_os"])
AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([Makefile])
AC_OUTPUT AC_OUTPUT
@ -197,11 +209,12 @@ AS_ECHO(["
widl: ${WIDL} widl: ${WIDL}
Have dxcompiler: ${HAVE_DXCOMPILER}
Have Metal: ${with_metal}
Have ncurses: ${with_ncurses} Have ncurses: ${with_ncurses}
Have OpenGL: ${with_opengl} Have OpenGL: ${with_opengl}
Have SPIRV-Tools: ${with_spirv_tools} Have SPIRV-Tools: ${with_spirv_tools}
Have xcb: ${HAVE_XCB} Have xcb: ${HAVE_XCB}
Have dxcompiler: ${HAVE_DXCOMPILER}
Building demos: ${enable_demos} Building demos: ${enable_demos}
Building tests: ${enable_tests} Building tests: ${enable_tests}

View File

@ -8,8 +8,8 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 0.1 0.7 0.0 0.0 uniform 0 float4 0.1 0.7 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.1, 0.7, 0.4, 0.4) probe (0, 0) rgba (0.1, 0.7, 0.4, 0.4)
uniform 0 float4 -0.7 0.1 0.0 0.0 uniform 0 float4 -0.7 0.1 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.7, 0.1, 1.2, 0.4) probe (0, 0) rgba (0.7, 0.1, 1.2, 0.4)

View File

@ -11,17 +11,17 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 -1.1 1.6 1.3 0.5 uniform 0 float4 -1.1 1.6 1.3 0.5
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
[test] [test]
uniform 0 float4 0.0 1.6 1.3 0.5 uniform 0 float4 0.0 1.6 1.3 0.5
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
[test] [test]
uniform 0 float4 1.0 0.0 1.3 0.5 uniform 0 float4 1.0 0.0 1.3 0.5
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
[pixel shader] [pixel shader]
@ -34,12 +34,12 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 1.0 0.0 0.0 0.0 uniform 0 float4 1.0 0.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
[test] [test]
uniform 0 float4 0.0 0.0 0.0 0.0 uniform 0 float4 0.0 0.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
[pixel shader] [pixel shader]
@ -53,11 +53,11 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 1.0 2.0 0.0 0.0 uniform 0 float4 1.0 2.0 0.0 0.0
uniform 4 float4 3.0 4.0 0.0 0.0 uniform 4 float4 3.0 4.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
[test] [test]
uniform 0 float4 1.0 2.0 0.0 0.0 uniform 0 float4 1.0 2.0 0.0 0.0
uniform 4 float4 0.0 4.0 0.0 0.0 uniform 4 float4 0.0 4.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)

View File

@ -8,7 +8,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 0.0 30.0 150.0 180.0 uniform 0 float4 0.0 30.0 150.0 180.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.52359877, 2.61799387, 3.14159265) probe (0, 0) rgba (0.0, 0.52359877, 2.61799387, 3.14159265)
@ -22,5 +22,5 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 0.0 0.78539816 1.57079632 2.35619449 uniform 0 float4 0.0 0.78539816 1.57079632 2.35619449
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 45.0, 90.0, 135.0) probe (0, 0) rgba (0.0, 45.0, 90.0, 135.0)

View File

@ -8,25 +8,25 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 1.0 1.0 1.0 1.0 uniform 0 float4 1.0 1.0 1.0 1.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 1.0 0.0 0.0 0.0 uniform 0 float4 1.0 0.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 1.0 0.0 0.0 uniform 0 float4 0.0 1.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 0.0 1.0 0.0 uniform 0 float4 0.0 0.0 1.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 0.0 0.0 1.0 uniform 0 float4 0.0 0.0 0.0 1.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 0.0 0.0 0.0 uniform 0 float4 0.0 0.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
uniform 0 float4 -1.0 -1.0 -1.0 -1.0 uniform 0 float4 -1.0 -1.0 -1.0 -1.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
[pixel shader] [pixel shader]
@ -39,13 +39,13 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 1.0 0.0 0.0 0.0 uniform 0 float4 1.0 0.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 0.0 0.0 0.0 uniform 0 float4 0.0 0.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
uniform 0 float4 -1.0 0.0 0.0 0.0 uniform 0 float4 -1.0 0.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
@ -60,27 +60,27 @@ float4 main() : sv_target
[test] [test]
if(sm<4) uniform 0 float4 1 1 1 1 if(sm<4) uniform 0 float4 1 1 1 1
if(sm>=4) uniform 0 uint4 1 1 1 1 if(sm>=4) uniform 0 uint4 1 1 1 1
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm<4) uniform 0 float4 1 0 0 0 if(sm<4) uniform 0 float4 1 0 0 0
if(sm>=4) uniform 0 uint4 1 0 0 0 if(sm>=4) uniform 0 uint4 1 0 0 0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm<4) uniform 0 float4 0 1 0 0 if(sm<4) uniform 0 float4 0 1 0 0
if(sm>=4) uniform 0 uint4 0 1 0 0 if(sm>=4) uniform 0 uint4 0 1 0 0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm<4) uniform 0 float4 0 0 1 0 if(sm<4) uniform 0 float4 0 0 1 0
if(sm>=4) uniform 0 uint4 0 0 1 0 if(sm>=4) uniform 0 uint4 0 0 1 0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm<4) uniform 0 float4 0 0 0 1 if(sm<4) uniform 0 float4 0 0 0 1
if(sm>=4) uniform 0 uint4 0 0 0 1 if(sm>=4) uniform 0 uint4 0 0 0 1
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm<4) uniform 0 float4 0 0 0 0 if(sm<4) uniform 0 float4 0 0 0 0
if(sm>=4) uniform 0 uint4 0 0 0 0 if(sm>=4) uniform 0 uint4 0 0 0 0
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
[pixel shader] [pixel shader]
@ -94,9 +94,9 @@ float4 main() : sv_target
[test] [test]
if(sm<4) uniform 0 float4 1 0 0 0 if(sm<4) uniform 0 float4 1 0 0 0
if(sm>=4) uniform 0 uint4 1 0 0 0 if(sm>=4) uniform 0 uint4 1 0 0 0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm<4) uniform 0 float4 0 0 0 0 if(sm<4) uniform 0 float4 0 0 0 0
if(sm>=4) uniform 0 uint4 0 0 0 0 if(sm>=4) uniform 0 uint4 0 0 0 0
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)

View File

@ -10,7 +10,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 float4 5.0 15.0 0.0 0.0 uniform 0 float4 5.0 15.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (20.0, -10.0, 75.0, 0.33333333) 1 probe (0, 0) rgba (20.0, -10.0, 75.0, 0.33333333) 1
[pixel shader] [pixel shader]
@ -25,7 +25,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 float4 5.0 15.0 0.0 0.0 uniform 0 float4 5.0 15.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (5.0, 5.0, -5.0, 3.0) 1 probe (0, 0) rgba (5.0, 5.0, -5.0, 3.0) 1
[pixel shader] [pixel shader]
@ -40,7 +40,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 float4 42.0 5.0 0.0 0.0 uniform 0 float4 42.0 5.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (2.0, -2.0, 2.0, -2.0) 16 probe (0, 0) rgba (2.0, -2.0, 2.0, -2.0) 16
[pixel shader] [pixel shader]
@ -55,7 +55,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 float4 45.0 5.0 0.0 0.0 uniform 0 float4 45.0 5.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
[pixel shader] [pixel shader]
@ -69,7 +69,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 5.0 -42.1 4.0 45.0 uniform 0 float4 5.0 -42.1 4.0 45.0
uniform 4 float4 15.0 -5.0 4.1 5.0 uniform 4 float4 15.0 -5.0 4.1 5.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (5.0, -2.1, 4.0, 0.0) 6 probe (0, 0) rgba (5.0, -2.1, 4.0, 0.0) 6
[require] [require]
@ -88,7 +88,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 float4 1.0 0.0 0.0 0.0 uniform 0 float4 1.0 0.0 0.0 0.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (1e99, 1e99, 1e99, 1e99) probe (0, 0) rgba (1e99, 1e99, 1e99, 1e99)
[pixel shader] [pixel shader]
@ -103,7 +103,7 @@ float4 main() : sv_target
uniform 0 float4 1.00000007 -42.1 4.0 45.0 uniform 0 float4 1.00000007 -42.1 4.0 45.0
uniform 4 float4 1.625 -5.0 4.125 5.0 uniform 4 float4 1.625 -5.0 4.125 5.0
uniform 8 float4 1.00000007 -1.0 0.5 -0.5 uniform 8 float4 1.00000007 -1.0 0.5 -0.5
draw quad todo(msl) draw quad
probe (0, 0) rgba (2.62500024, 209.5, 17.0, 224.5) 1 probe (0, 0) rgba (2.62500024, 209.5, 17.0, 224.5) 1
% precise mad() is not allowed to fuse, even though unfused is less precise. % precise mad() is not allowed to fuse, even though unfused is less precise.
@ -120,7 +120,7 @@ float4 main() : sv_target
uniform 0 float4 1.00000007 -42.1 4.0 45.0 uniform 0 float4 1.00000007 -42.1 4.0 45.0
uniform 4 float4 1.625 -5.0 4.125 5.0 uniform 4 float4 1.625 -5.0 4.125 5.0
uniform 8 float4 1.00000007 -1.0 0.5 -0.5 uniform 8 float4 1.00000007 -1.0 0.5 -0.5
draw quad todo(msl) draw quad
probe (0, 0) rgba (2.62500048, 209.5, 17.0, 224.5) 1 probe (0, 0) rgba (2.62500048, 209.5, 17.0, 224.5) 1
[require] [require]

View File

@ -8,7 +8,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (20.0, -10.0, 75.0, 0.33333333) probe (0, 0) rgba (20.0, -10.0, 75.0, 0.33333333)
[pixel shader] [pixel shader]
@ -21,7 +21,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (5.0, 5.0, -5.0, 3.0) probe (0, 0) rgba (5.0, 5.0, -5.0, 3.0)
[pixel shader] [pixel shader]
@ -34,7 +34,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (2.0, -2.0, 2.0, -2.0) 16 probe (0, 0) rgba (2.0, -2.0, 2.0, -2.0) 16
[pixel shader] [pixel shader]
@ -47,7 +47,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
[pixel shader] [pixel shader]
@ -60,7 +60,7 @@ float4 main() : sv_target
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (5.0, -2.1, 4.0, 0.0) 6 probe (0, 0) rgba (5.0, -2.1, 4.0, 0.0) 6
[require] [require]
@ -77,5 +77,5 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (1e99, 1e99, 1e99, 1e99) probe (0, 0) rgba (1e99, 1e99, 1e99, 1e99)

View File

@ -10,7 +10,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 float4 5.0 16.0 0.0 0.0 uniform 0 float4 5.0 16.0 0.0 0.0
todo(sm<4 | glsl) draw quad todo(sm<4 | glsl | msl) draw quad
probe (0, 0) rgba (21.0, -11.0, 80.0, 0.0) probe (0, 0) rgba (21.0, -11.0, 80.0, 0.0)
[pixel shader todo(sm<4)] [pixel shader todo(sm<4)]
@ -25,7 +25,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 float4 5.0 16.0 0.0 0.0 uniform 0 float4 5.0 16.0 0.0 0.0
todo(sm<4 | glsl) draw quad todo(sm<4 | glsl | msl) draw quad
probe (0, 0) rgba (5.0, 5.0, -5.0, 3.0) probe (0, 0) rgba (5.0, 5.0, -5.0, 3.0)
[pixel shader todo(sm<4)] [pixel shader todo(sm<4)]
@ -40,7 +40,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 float4 42.0 5.0 0.0 0.0 uniform 0 float4 42.0 5.0 0.0 0.0
todo(sm<4 | glsl) draw quad todo(sm<4 | glsl | msl) draw quad
probe (0, 0) rgba (8.0, -8.0, -8.0, 8.0) probe (0, 0) rgba (8.0, -8.0, -8.0, 8.0)
[pixel shader todo(sm<4)] [pixel shader todo(sm<4)]
@ -55,7 +55,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 float4 42.0 5.0 0.0 0.0 uniform 0 float4 42.0 5.0 0.0 0.0
todo(sm<4 | glsl) draw quad todo(sm<4 | glsl | msl) draw quad
probe (0, 0) rgba (2.0, -2.0, 2.0, -2.0) probe (0, 0) rgba (2.0, -2.0, 2.0, -2.0)
[pixel shader todo(sm<4)] [pixel shader todo(sm<4)]
@ -70,7 +70,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 float4 45.0 5.0 0.0 0.0 uniform 0 float4 45.0 5.0 0.0 0.0
todo(sm<4 | glsl) draw quad todo(sm<4 | glsl | msl) draw quad
probe (0, 0) rgba (9.0, -9.0, -9.0, 9.0) probe (0, 0) rgba (9.0, -9.0, -9.0, 9.0)
[pixel shader todo(sm<4)] [pixel shader todo(sm<4)]
@ -85,7 +85,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 float4 45.0 5.0 0.0 0.0 uniform 0 float4 45.0 5.0 0.0 0.0
todo(sm<4 | glsl) draw quad todo(sm<4 | glsl | msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
[pixel shader] [pixel shader]
@ -98,7 +98,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 float4 5.0 -7.0 0.0 -10.0 uniform 0 float4 5.0 -7.0 0.0 -10.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (5.0, 7.0, 0.0, 10.0) probe (0, 0) rgba (5.0, 7.0, 0.0, 10.0)
[pixel shader todo(sm<4)] [pixel shader todo(sm<4)]
@ -117,7 +117,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 45.0 5.0 50.0 10.0 uniform 0 float4 45.0 5.0 50.0 10.0
uniform 4 float4 3.0 8.0 2.0 5.0 uniform 4 float4 3.0 8.0 2.0 5.0
todo(sm<4 | glsl) draw quad todo(sm<4 | glsl | msl) draw quad
probe (0, 0) rgba (9.0, 5.0, 1.0, 3.0) probe (0, 0) rgba (9.0, 5.0, 1.0, 3.0)
[require] [require]

View File

@ -8,7 +8,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (20.0, -10.0, 75.0, 0.0) probe (0, 0) rgba (20.0, -10.0, 75.0, 0.0)
[pixel shader] [pixel shader]
@ -21,7 +21,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (5.0, 5.0, -5.0, 3.0) probe (0, 0) rgba (5.0, 5.0, -5.0, 3.0)
[pixel shader] [pixel shader]
@ -34,7 +34,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (8.0, -8.0, -8.0, 8.0) probe (0, 0) rgba (8.0, -8.0, -8.0, 8.0)
[pixel shader] [pixel shader]
@ -47,7 +47,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (2.0, -2.0, 2.0, -2.0) probe (0, 0) rgba (2.0, -2.0, 2.0, -2.0)
[pixel shader] [pixel shader]
@ -60,7 +60,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (9.0, -9.0, -9.0, 9.0) probe (0, 0) rgba (9.0, -9.0, -9.0, 9.0)
[pixel shader] [pixel shader]
@ -73,7 +73,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
[pixel shader fail(sm<6)] [pixel shader fail(sm<6)]
@ -118,7 +118,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
if(sm<6) probe (0,0) rgba (-2147483648.0, -2147483648.0, -2147483648.0, -2147483648.0) if(sm<6) probe (0,0) rgba (-2147483648.0, -2147483648.0, -2147483648.0, -2147483648.0)
if(sm>=6) probe (0,0) rgba (0.0, 0.0, 0.0, 0.0) if(sm>=6) probe (0,0) rgba (0.0, 0.0, 0.0, 0.0)
@ -134,5 +134,5 @@ float4 main() : sv_target
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (2.0, 3.0, 1.0, 3.0) probe (0, 0) rgba (2.0, 3.0, 1.0, 3.0)

View File

@ -11,7 +11,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (20.0, 4294967296.0, 75.0, 0.0) probe (0, 0) rgba (20.0, 4294967296.0, 75.0, 0.0)
[pixel shader] [pixel shader]
@ -24,7 +24,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (5.0, 5.0, 4294967296.0, 3.0) probe (0, 0) rgba (5.0, 5.0, 4294967296.0, 3.0)
[pixel shader fail(sm<6)] [pixel shader fail(sm<6)]

View File

@ -12,7 +12,7 @@ float4 main() : sv_target
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (25.0, 25.0, 25.0, 25.0) probe (0, 0) rgba (25.0, 25.0, 25.0, 25.0)
@ -78,7 +78,7 @@ float4 main() : sv_target
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (15.0, 26.0, 37.0, 48.0) probe (0, 0) rgba (15.0, 26.0, 37.0, 48.0)
@ -153,7 +153,7 @@ float4 main() : sv_target
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (136.0, 136.0, 136.0, 136.0) probe (0, 0) rgba (136.0, 136.0, 136.0, 136.0)
@ -171,5 +171,5 @@ float4 main() : sv_target
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (702.0, 702.0, 702.0, 702.0) probe (0, 0) rgba (702.0, 702.0, 702.0, 702.0)

View File

@ -14,7 +14,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (21, 22, 23, 24) probe (0, 0) rgba (21, 22, 23, 24)
@ -36,7 +36,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (61, 62, 63, 64) probe (0, 0) rgba (61, 62, 63, 64)
[pixel shader] [pixel shader]
@ -49,7 +49,7 @@ float4 main() : sv_target
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (2, 3, 6, 1) probe (0, 0) rgba (2, 3, 6, 1)
% Additional level of indirection % Additional level of indirection
@ -64,7 +64,7 @@ float4 main() : sv_target
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (2, 3, 6, 1) probe (0, 0) rgba (2, 3, 6, 1)
@ -88,5 +88,5 @@ uniform 4 float 0.0
uniform 8 float 0.0 uniform 8 float 0.0
uniform 12 float 0.0 uniform 12 float 0.0
uniform 16 float 42.0 uniform 16 float 42.0
draw quad todo(msl) draw quad
probe (0, 0) rgba (42, 42, 42, 42) probe (0, 0) rgba (42, 42, 42, 42)

View File

@ -20,7 +20,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 123.0 -2.0 456 0.01 uniform 0 float4 123.0 -2.0 456 0.01
draw quad todo(msl) draw quad
probe (320,240) rgba (123.0, -2.0, 456.0, 0.01) probe (320,240) rgba (123.0, -2.0, 456.0, 0.01)
[pixel shader] [pixel shader]
@ -36,7 +36,7 @@ float4 main() : sv_target
uniform 0 float4 11 12 0 0 uniform 0 float4 11 12 0 0
uniform 4 float4 13 14 0 0 uniform 4 float4 13 14 0 0
uniform 8 float4 20 21 22 23 uniform 8 float4 20 21 22 23
draw quad todo(msl) draw quad
probe (320,240) rgba (13.0, 21.0, 0.0, 0.0) probe (320,240) rgba (13.0, 21.0, 0.0, 0.0)
[pixel shader fail] [pixel shader fail]

View File

@ -20,7 +20,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 int4 123 0xc00000 456 0x7fd69345 uniform 0 int4 123 0xc00000 456 0x7fd69345
draw quad todo(msl) draw quad
probe (320,240) rgba (123.0, 12582912.0, 456.0, 2144768896.0) probe (320,240) rgba (123.0, 12582912.0, 456.0, 2144768896.0)
[pixel shader] [pixel shader]
@ -36,7 +36,7 @@ float4 main() : sv_target
uniform 0 int4 11 12 0 0 uniform 0 int4 11 12 0 0
uniform 4 int4 13 14 0 0 uniform 4 int4 13 14 0 0
uniform 8 int4 20 21 22 23 uniform 8 int4 20 21 22 23
draw quad todo(msl) draw quad
probe (320,240) rgba (13.0, 21.0, 0.0, 0.0) probe (320,240) rgba (13.0, 21.0, 0.0, 0.0)

View File

@ -20,7 +20,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 uint4 123 0xc0000000 456 0x7fd69345 uniform 0 uint4 123 0xc0000000 456 0x7fd69345
draw quad todo(msl) draw quad
probe (320,240) rgba (123.0, 3221225472.0, 456.0, 2144768896.0) probe (320,240) rgba (123.0, 3221225472.0, 456.0, 2144768896.0)
@ -37,7 +37,7 @@ float4 main() : sv_target
uniform 0 uint4 11 12 0 0 uniform 0 uint4 11 12 0 0
uniform 4 uint4 13 14 0 0 uniform 4 uint4 13 14 0 0
uniform 8 uint4 20 21 22 23 uniform 8 uint4 20 21 22 23
draw quad todo(msl) draw quad
probe (320,240) rgba (13.0, 21.0, 0.0, 0.0) probe (320,240) rgba (13.0, 21.0, 0.0, 0.0)

View File

@ -15,7 +15,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 uint4 2 0 0 0 uniform 0 uint4 2 0 0 0
draw quad todo(msl) draw quad
probe (0, 0) rgba (8, 8, 0, 0) probe (0, 0) rgba (8, 8, 0, 0)
[pixel shader] [pixel shader]
@ -35,7 +35,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 uint4 1 0 0 0 uniform 0 uint4 1 0 0 0
draw quad todo(msl) draw quad
probe (0, 0) rgba (2, -6, 2, -6) probe (0, 0) rgba (2, -6, 2, -6)
[pixel shader] [pixel shader]
@ -52,7 +52,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 uint4 3 0 0 0 uniform 0 uint4 3 0 0 0
draw quad todo(msl) draw quad
probe (0, 0) rgba (280, 280, 0, 0) probe (0, 0) rgba (280, 280, 0, 0)
[pixel shader] [pixel shader]
@ -72,7 +72,7 @@ float4 main() : SV_TARGET
[test] [test]
uniform 0 uint4 2 0 0 0 uniform 0 uint4 2 0 0 0
draw quad todo(msl) draw quad
probe (0, 0) rgba (20, -48, 20, -48) probe (0, 0) rgba (20, -48, 20, -48)
[pixel shader fail] [pixel shader fail]
@ -100,5 +100,5 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (55, 183, -16760, 0) probe (0, 0) rgba (55, 183, -16760, 0)

View File

@ -11,7 +11,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 163840.0, 480.0) probe (0, 0) rgba (0.0, 0.0, 163840.0, 480.0)
[pixel shader] [pixel shader]
@ -26,7 +26,7 @@ float4 main() : sv_target
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (-2147483648.0, 4.0, 2147483650.0, 4.0) probe (0, 0) rgba (-2147483648.0, 4.0, 2147483650.0, 4.0)
[pixel shader] [pixel shader]
@ -41,7 +41,7 @@ float4 main() : sv_target
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 536870912.0, 1.0, 1073741824.0) probe (0, 0) rgba (0.0, 536870912.0, 1.0, 1073741824.0)
[pixel shader] [pixel shader]
@ -54,7 +54,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (5.0, 15.0, 10.0, -6.0) probe (0, 0) rgba (5.0, 15.0, 10.0, -6.0)
[pixel shader] [pixel shader]
@ -67,7 +67,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 1.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 1.0)
[pixel shader] [pixel shader]
@ -80,7 +80,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (0.0, 1.0, 1.0, 1.0)
[pixel shader] [pixel shader]
@ -93,7 +93,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 1.0, 1.0, 0.0) probe (0, 0) rgba (0.0, 1.0, 1.0, 0.0)
[pixel shader] [pixel shader]
@ -113,7 +113,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 1.0, 1.0, 0.0) probe (0, 0) rgba (0.0, 1.0, 1.0, 0.0)
[pixel shader] [pixel shader]
@ -126,7 +126,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 163840.0, 480.0) probe (0, 0) rgba (0.0, 0.0, 163840.0, 480.0)
[pixel shader fail] [pixel shader fail]
@ -157,7 +157,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (5.0, 15.0, 10.0, 4294967296.0) probe (0, 0) rgba (5.0, 15.0, 10.0, 4294967296.0)
[pixel shader] [pixel shader]
@ -170,7 +170,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 1.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 1.0)
[pixel shader] [pixel shader]
@ -183,7 +183,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (0.0, 1.0, 1.0, 1.0)
[pixel shader] [pixel shader]
@ -196,7 +196,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 1.0, 1.0, 0.0) probe (0, 0) rgba (0.0, 1.0, 1.0, 0.0)
[rtv 0] [rtv 0]

View File

@ -10,7 +10,7 @@ float4 main() : SV_TARGET
} }
[test] [test]
draw quad todo(msl) draw quad
probe (0, 0) rgba (0.0, 0.0, 1.0, 1.0) probe (0, 0) rgba (0.0, 0.0, 1.0, 1.0)
@ -27,7 +27,7 @@ float4 main() : SV_TARGET
uniform 0 float4 0.0 0.0 2.0 4.0 uniform 0 float4 0.0 0.0 2.0 4.0
if(sm<4) uniform 4 float4 0 1 0 10 if(sm<4) uniform 4 float4 0 1 0 10
if(sm>=4) uniform 4 int4 0 1 0 10 if(sm>=4) uniform 4 int4 0 1 0 10
todo(sm<4) draw quad todo(sm<4 | msl) draw quad
probe (0, 0) rgba (0.0, 10.0, 1.0, 11.0) probe (0, 0) rgba (0.0, 10.0, 1.0, 11.0)
@ -42,5 +42,5 @@ float4 main() : sv_target
[test] [test]
if(sm<4) uniform 0 float4 1.0 1.0 1.0 0.0 if(sm<4) uniform 0 float4 1.0 1.0 1.0 0.0
if(sm>=4) uniform 0 uint4 0x00000001 0x00000002 0x80000000 0x00000000 if(sm>=4) uniform 0 uint4 0x00000001 0x00000002 0x80000000 0x00000000
todo(sm<4) draw quad todo(sm<4 | msl) draw quad
probe (0, 0) rgba (2.0, 2.0, 2.0, 0.0) probe (0, 0) rgba (2.0, 2.0, 2.0, 0.0)

View File

@ -49,5 +49,5 @@ float4 main(struct input i) : sv_target
} }
[test] [test]
draw triangle strip 4 todo(msl) draw triangle strip 4
probe (0, 0, 640, 480) rgba (0.0, 2.0, 2.0, 2.0) probe (0, 0, 640, 480) rgba (0.0, 2.0, 2.0, 2.0)

Some files were not shown because too many files have changed in this diff Show More