diff options
author | Hans-Kristian Arntzen <post@arntzen-software.no> | 2021-05-19 18:02:38 +0300 |
---|---|---|
committer | Hans-Kristian Arntzen <post@arntzen-software.no> | 2021-05-19 18:35:58 +0300 |
commit | 0bb83a1d3e59bc6669ab0c4c1e6a0d30aea8c023 (patch) | |
tree | 1452fd6a871cd8d4a72f4360a0c50713a00ebe18 | |
parent | 6c3bcae83da0777755af608efb189c4c4e0bb81b (diff) |
vkd3d-shader: Opt-in to early fragment tests with descriptor QA.descriptor-qa-dxbc
Since we introduce side effects, avoid full late-Z for everything, which
is slow, and not necessarily correct either.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
-rw-r--r-- | include/vkd3d_shader.h | 5 | ||||
-rw-r--r-- | libs/vkd3d-shader/.deps/.dirstamp | 0 | ||||
-rw-r--r-- | libs/vkd3d-shader/.deps/libvkd3d_shader_la-checksum.Plo | 132 | ||||
-rw-r--r-- | libs/vkd3d-shader/.deps/libvkd3d_shader_la-dxbc.Plo | 131 | ||||
-rw-r--r-- | libs/vkd3d-shader/.deps/libvkd3d_shader_la-dxil.Plo | 122 | ||||
-rw-r--r-- | libs/vkd3d-shader/.deps/libvkd3d_shader_la-spirv.Plo | 157 | ||||
-rw-r--r-- | libs/vkd3d-shader/.deps/libvkd3d_shader_la-trace.Plo | 146 | ||||
-rw-r--r-- | libs/vkd3d-shader/.deps/libvkd3d_shader_la-vkd3d_shader_main.Plo | 147 | ||||
-rw-r--r-- | libs/vkd3d-shader/.libs/libvkd3d_shader_la-checksum.o | bin | 0 -> 11832 bytes | |||
-rw-r--r-- | libs/vkd3d-shader/.libs/libvkd3d_shader_la-dxbc.o | bin | 0 -> 264976 bytes | |||
-rw-r--r-- | libs/vkd3d-shader/.libs/libvkd3d_shader_la-spirv.o | bin | 0 -> 2319968 bytes | |||
-rw-r--r-- | libs/vkd3d-shader/.libs/libvkd3d_shader_la-trace.o | bin | 0 -> 112488 bytes | |||
-rw-r--r-- | libs/vkd3d-shader/.libs/libvkd3d_shader_la-vkd3d_shader_main.o | bin | 0 -> 79088 bytes | |||
-rw-r--r-- | libs/vkd3d-shader/spirv.c | 8 | ||||
-rw-r--r-- | libs/vkd3d-shader/vkd3d_shader_main.c | 42 |
15 files changed, 890 insertions, 0 deletions
diff --git a/include/vkd3d_shader.h b/include/vkd3d_shader.h index 84f4b806..61c1ee17 100644 --- a/include/vkd3d_shader.h +++ b/include/vkd3d_shader.h @@ -587,6 +587,11 @@ struct vkd3d_shader_scan_info { struct hash_map register_map; bool use_vocp; + + bool early_fragment_tests; + bool has_side_effects; + bool needs_late_zs; + bool discards; }; enum vkd3d_component_type diff --git a/libs/vkd3d-shader/.deps/.dirstamp b/libs/vkd3d-shader/.deps/.dirstamp new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/libs/vkd3d-shader/.deps/.dirstamp diff --git a/libs/vkd3d-shader/.deps/libvkd3d_shader_la-checksum.Plo b/libs/vkd3d-shader/.deps/libvkd3d_shader_la-checksum.Plo new file mode 100644 index 00000000..57440786 --- /dev/null +++ b/libs/vkd3d-shader/.deps/libvkd3d_shader_la-checksum.Plo @@ -0,0 +1,132 @@ +libs/vkd3d-shader/libvkd3d_shader_la-checksum.lo: \ + libs/vkd3d-shader/checksum.c /usr/include/stdc-predef.h \ + libs/vkd3d-shader/vkd3d_shader_private.h include/private/vkd3d_common.h \ + include/vkd3d_windows.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stddef.h \ + /usr/include/stdlib.h /usr/include/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ + /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/timesize.h /usr/include/bits/typesizes.h \ + /usr/include/bits/time64.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h /usr/include/bits/stdint-intn.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h /usr/include/bits/byteswap.h \ + /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/string.h /usr/include/strings.h \ + include/private/vkd3d_spinlock.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdbool.h \ + include/private/vkd3d_atomic.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/emmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/xmmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mm_malloc.h \ + include/private/vkd3d_profiling.h /usr/include/ctype.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/uio_lim.h include/private/vkd3d_memory.h \ + /usr/include/assert.h include/private/vkd3d_debug.h \ + include/private/vkd3d_common.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdarg.h \ + include/vkd3d_shader.h include/vkd3d_types.h include/private/list.h \ + /usr/include/inttypes.h +/usr/include/stdc-predef.h: +libs/vkd3d-shader/vkd3d_shader_private.h: +include/private/vkd3d_common.h: +include/vkd3d_windows.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stddef.h: +/usr/include/stdlib.h: +/usr/include/bits/libc-header-start.h: +/usr/include/features.h: +/usr/include/sys/cdefs.h: +/usr/include/bits/wordsize.h: +/usr/include/bits/long-double.h: +/usr/include/gnu/stubs.h: +/usr/include/gnu/stubs-64.h: +/usr/include/bits/waitflags.h: +/usr/include/bits/waitstatus.h: +/usr/include/bits/floatn.h: +/usr/include/bits/floatn-common.h: +/usr/include/bits/types/locale_t.h: +/usr/include/bits/types/__locale_t.h: +/usr/include/sys/types.h: +/usr/include/bits/types.h: +/usr/include/bits/timesize.h: +/usr/include/bits/typesizes.h: +/usr/include/bits/time64.h: +/usr/include/bits/types/clock_t.h: +/usr/include/bits/types/clockid_t.h: +/usr/include/bits/types/time_t.h: +/usr/include/bits/types/timer_t.h: +/usr/include/bits/stdint-intn.h: +/usr/include/endian.h: +/usr/include/bits/endian.h: +/usr/include/bits/endianness.h: +/usr/include/bits/byteswap.h: +/usr/include/bits/uintn-identity.h: +/usr/include/sys/select.h: +/usr/include/bits/select.h: +/usr/include/bits/types/sigset_t.h: +/usr/include/bits/types/__sigset_t.h: +/usr/include/bits/types/struct_timeval.h: +/usr/include/bits/types/struct_timespec.h: +/usr/include/bits/pthreadtypes.h: +/usr/include/bits/thread-shared-types.h: +/usr/include/bits/pthreadtypes-arch.h: +/usr/include/bits/struct_mutex.h: +/usr/include/bits/struct_rwlock.h: +/usr/include/alloca.h: +/usr/include/bits/stdlib-bsearch.h: +/usr/include/bits/stdlib-float.h: +/usr/include/string.h: +/usr/include/strings.h: +include/private/vkd3d_spinlock.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdint.h: +/usr/include/stdint.h: +/usr/include/bits/wchar.h: +/usr/include/bits/stdint-uintn.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdbool.h: +include/private/vkd3d_atomic.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/emmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/xmmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mm_malloc.h: +include/private/vkd3d_profiling.h: +/usr/include/ctype.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/limits.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/syslimits.h: +/usr/include/limits.h: +/usr/include/bits/posix1_lim.h: +/usr/include/bits/local_lim.h: +/usr/include/linux/limits.h: +/usr/include/bits/posix2_lim.h: +/usr/include/bits/xopen_lim.h: +/usr/include/bits/uio_lim.h: +include/private/vkd3d_memory.h: +/usr/include/assert.h: +include/private/vkd3d_debug.h: +include/private/vkd3d_common.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdarg.h: +include/vkd3d_shader.h: +include/vkd3d_types.h: +include/private/list.h: +/usr/include/inttypes.h: diff --git a/libs/vkd3d-shader/.deps/libvkd3d_shader_la-dxbc.Plo b/libs/vkd3d-shader/.deps/libvkd3d_shader_la-dxbc.Plo new file mode 100644 index 00000000..e7347a2f --- /dev/null +++ b/libs/vkd3d-shader/.deps/libvkd3d_shader_la-dxbc.Plo @@ -0,0 +1,131 @@ +libs/vkd3d-shader/libvkd3d_shader_la-dxbc.lo: libs/vkd3d-shader/dxbc.c \ + /usr/include/stdc-predef.h libs/vkd3d-shader/vkd3d_shader_private.h \ + include/private/vkd3d_common.h include/vkd3d_windows.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stddef.h \ + /usr/include/stdlib.h /usr/include/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ + /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/timesize.h /usr/include/bits/typesizes.h \ + /usr/include/bits/time64.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h /usr/include/bits/stdint-intn.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h /usr/include/bits/byteswap.h \ + /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/string.h /usr/include/strings.h \ + include/private/vkd3d_spinlock.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdbool.h \ + include/private/vkd3d_atomic.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/emmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/xmmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mm_malloc.h \ + include/private/vkd3d_profiling.h /usr/include/ctype.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/uio_lim.h include/private/vkd3d_memory.h \ + /usr/include/assert.h include/private/vkd3d_debug.h \ + include/private/vkd3d_common.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdarg.h \ + include/vkd3d_shader.h include/vkd3d_types.h include/private/list.h \ + /usr/include/inttypes.h +/usr/include/stdc-predef.h: +libs/vkd3d-shader/vkd3d_shader_private.h: +include/private/vkd3d_common.h: +include/vkd3d_windows.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stddef.h: +/usr/include/stdlib.h: +/usr/include/bits/libc-header-start.h: +/usr/include/features.h: +/usr/include/sys/cdefs.h: +/usr/include/bits/wordsize.h: +/usr/include/bits/long-double.h: +/usr/include/gnu/stubs.h: +/usr/include/gnu/stubs-64.h: +/usr/include/bits/waitflags.h: +/usr/include/bits/waitstatus.h: +/usr/include/bits/floatn.h: +/usr/include/bits/floatn-common.h: +/usr/include/bits/types/locale_t.h: +/usr/include/bits/types/__locale_t.h: +/usr/include/sys/types.h: +/usr/include/bits/types.h: +/usr/include/bits/timesize.h: +/usr/include/bits/typesizes.h: +/usr/include/bits/time64.h: +/usr/include/bits/types/clock_t.h: +/usr/include/bits/types/clockid_t.h: +/usr/include/bits/types/time_t.h: +/usr/include/bits/types/timer_t.h: +/usr/include/bits/stdint-intn.h: +/usr/include/endian.h: +/usr/include/bits/endian.h: +/usr/include/bits/endianness.h: +/usr/include/bits/byteswap.h: +/usr/include/bits/uintn-identity.h: +/usr/include/sys/select.h: +/usr/include/bits/select.h: +/usr/include/bits/types/sigset_t.h: +/usr/include/bits/types/__sigset_t.h: +/usr/include/bits/types/struct_timeval.h: +/usr/include/bits/types/struct_timespec.h: +/usr/include/bits/pthreadtypes.h: +/usr/include/bits/thread-shared-types.h: +/usr/include/bits/pthreadtypes-arch.h: +/usr/include/bits/struct_mutex.h: +/usr/include/bits/struct_rwlock.h: +/usr/include/alloca.h: +/usr/include/bits/stdlib-bsearch.h: +/usr/include/bits/stdlib-float.h: +/usr/include/string.h: +/usr/include/strings.h: +include/private/vkd3d_spinlock.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdint.h: +/usr/include/stdint.h: +/usr/include/bits/wchar.h: +/usr/include/bits/stdint-uintn.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdbool.h: +include/private/vkd3d_atomic.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/emmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/xmmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mm_malloc.h: +include/private/vkd3d_profiling.h: +/usr/include/ctype.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/limits.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/syslimits.h: +/usr/include/limits.h: +/usr/include/bits/posix1_lim.h: +/usr/include/bits/local_lim.h: +/usr/include/linux/limits.h: +/usr/include/bits/posix2_lim.h: +/usr/include/bits/xopen_lim.h: +/usr/include/bits/uio_lim.h: +include/private/vkd3d_memory.h: +/usr/include/assert.h: +include/private/vkd3d_debug.h: +include/private/vkd3d_common.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdarg.h: +include/vkd3d_shader.h: +include/vkd3d_types.h: +include/private/list.h: +/usr/include/inttypes.h: diff --git a/libs/vkd3d-shader/.deps/libvkd3d_shader_la-dxil.Plo b/libs/vkd3d-shader/.deps/libvkd3d_shader_la-dxil.Plo new file mode 100644 index 00000000..788bf34a --- /dev/null +++ b/libs/vkd3d-shader/.deps/libvkd3d_shader_la-dxil.Plo @@ -0,0 +1,122 @@ +libs/vkd3d-shader/libvkd3d_shader_la-dxil.lo: libs/vkd3d-shader/dxil.c \ + /usr/include/stdc-predef.h libs/vkd3d-shader/vkd3d_shader_private.h \ + include/private/vkd3d_common.h include/config.h include/vkd3d_windows.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h \ + /usr/include/stdlib.h /usr/include/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ + /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/timesize.h /usr/include/bits/typesizes.h \ + /usr/include/bits/time64.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h /usr/include/bits/stdint-intn.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h /usr/include/bits/byteswap.h \ + /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/string.h /usr/include/strings.h \ + include/private/vkd3d_spinlock.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stdbool.h \ + /usr/include/ctype.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/uio_lim.h include/private/vkd3d_memory.h \ + /usr/include/assert.h include/private/vkd3d_debug.h \ + include/private/vkd3d_common.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stdarg.h \ + include/vkd3d_shader.h include/vkd3d_types.h include/private/list.h \ + /usr/include/inttypes.h /tmp/include/dxil-spirv/dxil_spirv_c.h +/usr/include/stdc-predef.h: +libs/vkd3d-shader/vkd3d_shader_private.h: +include/private/vkd3d_common.h: +include/config.h: +include/vkd3d_windows.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h: +/usr/include/stdlib.h: +/usr/include/bits/libc-header-start.h: +/usr/include/features.h: +/usr/include/sys/cdefs.h: +/usr/include/bits/wordsize.h: +/usr/include/bits/long-double.h: +/usr/include/gnu/stubs.h: +/usr/include/gnu/stubs-64.h: +/usr/include/bits/waitflags.h: +/usr/include/bits/waitstatus.h: +/usr/include/bits/floatn.h: +/usr/include/bits/floatn-common.h: +/usr/include/bits/types/locale_t.h: +/usr/include/bits/types/__locale_t.h: +/usr/include/sys/types.h: +/usr/include/bits/types.h: +/usr/include/bits/timesize.h: +/usr/include/bits/typesizes.h: +/usr/include/bits/time64.h: +/usr/include/bits/types/clock_t.h: +/usr/include/bits/types/clockid_t.h: +/usr/include/bits/types/time_t.h: +/usr/include/bits/types/timer_t.h: +/usr/include/bits/stdint-intn.h: +/usr/include/endian.h: +/usr/include/bits/endian.h: +/usr/include/bits/endianness.h: +/usr/include/bits/byteswap.h: +/usr/include/bits/uintn-identity.h: +/usr/include/sys/select.h: +/usr/include/bits/select.h: +/usr/include/bits/types/sigset_t.h: +/usr/include/bits/types/__sigset_t.h: +/usr/include/bits/types/struct_timeval.h: +/usr/include/bits/types/struct_timespec.h: +/usr/include/bits/pthreadtypes.h: +/usr/include/bits/thread-shared-types.h: +/usr/include/bits/pthreadtypes-arch.h: +/usr/include/bits/struct_mutex.h: +/usr/include/bits/struct_rwlock.h: +/usr/include/alloca.h: +/usr/include/bits/stdlib-bsearch.h: +/usr/include/bits/stdlib-float.h: +/usr/include/string.h: +/usr/include/strings.h: +include/private/vkd3d_spinlock.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stdint.h: +/usr/include/stdint.h: +/usr/include/bits/wchar.h: +/usr/include/bits/stdint-uintn.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stdbool.h: +/usr/include/ctype.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include-fixed/limits.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include-fixed/syslimits.h: +/usr/include/limits.h: +/usr/include/bits/posix1_lim.h: +/usr/include/bits/local_lim.h: +/usr/include/linux/limits.h: +/usr/include/bits/posix2_lim.h: +/usr/include/bits/xopen_lim.h: +/usr/include/bits/uio_lim.h: +include/private/vkd3d_memory.h: +/usr/include/assert.h: +include/private/vkd3d_debug.h: +include/private/vkd3d_common.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stdarg.h: +include/vkd3d_shader.h: +include/vkd3d_types.h: +include/private/list.h: +/usr/include/inttypes.h: +/tmp/include/dxil-spirv/dxil_spirv_c.h: diff --git a/libs/vkd3d-shader/.deps/libvkd3d_shader_la-spirv.Plo b/libs/vkd3d-shader/.deps/libvkd3d_shader_la-spirv.Plo new file mode 100644 index 00000000..e8308e98 --- /dev/null +++ b/libs/vkd3d-shader/.deps/libvkd3d_shader_la-spirv.Plo @@ -0,0 +1,157 @@ +libs/vkd3d-shader/libvkd3d_shader_la-spirv.lo: libs/vkd3d-shader/spirv.c \ + /usr/include/stdc-predef.h libs/vkd3d-shader/vkd3d_shader_private.h \ + include/private/vkd3d_common.h include/vkd3d_windows.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stddef.h \ + /usr/include/stdlib.h /usr/include/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ + /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/timesize.h /usr/include/bits/typesizes.h \ + /usr/include/bits/time64.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h /usr/include/bits/stdint-intn.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h /usr/include/bits/byteswap.h \ + /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/string.h /usr/include/strings.h \ + include/private/vkd3d_spinlock.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdbool.h \ + include/private/vkd3d_atomic.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/emmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/xmmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mm_malloc.h \ + include/private/vkd3d_profiling.h /usr/include/ctype.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/uio_lim.h include/private/vkd3d_memory.h \ + /usr/include/assert.h include/private/vkd3d_debug.h \ + include/private/vkd3d_common.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdarg.h \ + include/vkd3d_shader.h include/vkd3d_types.h include/private/list.h \ + /usr/include/inttypes.h include/vkd3d_d3d12.h include/vkd3d_dxgibase.h \ + include/vkd3d_dxgiformat.h include/vkd3d_d3dcommon.h \ + include/private/rbtree.h /usr/include/stdio.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \ + subprojects/SPIRV-Headers/include/spirv/unified1/spirv.h \ + subprojects/SPIRV-Headers/include/spirv/unified1/GLSL.std.450.h +/usr/include/stdc-predef.h: +libs/vkd3d-shader/vkd3d_shader_private.h: +include/private/vkd3d_common.h: +include/vkd3d_windows.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stddef.h: +/usr/include/stdlib.h: +/usr/include/bits/libc-header-start.h: +/usr/include/features.h: +/usr/include/sys/cdefs.h: +/usr/include/bits/wordsize.h: +/usr/include/bits/long-double.h: +/usr/include/gnu/stubs.h: +/usr/include/gnu/stubs-64.h: +/usr/include/bits/waitflags.h: +/usr/include/bits/waitstatus.h: +/usr/include/bits/floatn.h: +/usr/include/bits/floatn-common.h: +/usr/include/bits/types/locale_t.h: +/usr/include/bits/types/__locale_t.h: +/usr/include/sys/types.h: +/usr/include/bits/types.h: +/usr/include/bits/timesize.h: +/usr/include/bits/typesizes.h: +/usr/include/bits/time64.h: +/usr/include/bits/types/clock_t.h: +/usr/include/bits/types/clockid_t.h: +/usr/include/bits/types/time_t.h: +/usr/include/bits/types/timer_t.h: +/usr/include/bits/stdint-intn.h: +/usr/include/endian.h: +/usr/include/bits/endian.h: +/usr/include/bits/endianness.h: +/usr/include/bits/byteswap.h: +/usr/include/bits/uintn-identity.h: +/usr/include/sys/select.h: +/usr/include/bits/select.h: +/usr/include/bits/types/sigset_t.h: +/usr/include/bits/types/__sigset_t.h: +/usr/include/bits/types/struct_timeval.h: +/usr/include/bits/types/struct_timespec.h: +/usr/include/bits/pthreadtypes.h: +/usr/include/bits/thread-shared-types.h: +/usr/include/bits/pthreadtypes-arch.h: +/usr/include/bits/struct_mutex.h: +/usr/include/bits/struct_rwlock.h: +/usr/include/alloca.h: +/usr/include/bits/stdlib-bsearch.h: +/usr/include/bits/stdlib-float.h: +/usr/include/string.h: +/usr/include/strings.h: +include/private/vkd3d_spinlock.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdint.h: +/usr/include/stdint.h: +/usr/include/bits/wchar.h: +/usr/include/bits/stdint-uintn.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdbool.h: +include/private/vkd3d_atomic.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/emmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/xmmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mm_malloc.h: +include/private/vkd3d_profiling.h: +/usr/include/ctype.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/limits.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/syslimits.h: +/usr/include/limits.h: +/usr/include/bits/posix1_lim.h: +/usr/include/bits/local_lim.h: +/usr/include/linux/limits.h: +/usr/include/bits/posix2_lim.h: +/usr/include/bits/xopen_lim.h: +/usr/include/bits/uio_lim.h: +include/private/vkd3d_memory.h: +/usr/include/assert.h: +include/private/vkd3d_debug.h: +include/private/vkd3d_common.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdarg.h: +include/vkd3d_shader.h: +include/vkd3d_types.h: +include/private/list.h: +/usr/include/inttypes.h: +include/vkd3d_d3d12.h: +include/vkd3d_dxgibase.h: +include/vkd3d_dxgiformat.h: +include/vkd3d_d3dcommon.h: +include/private/rbtree.h: +/usr/include/stdio.h: +/usr/include/bits/types/__fpos_t.h: +/usr/include/bits/types/__mbstate_t.h: +/usr/include/bits/types/__fpos64_t.h: +/usr/include/bits/types/__FILE.h: +/usr/include/bits/types/FILE.h: +/usr/include/bits/types/struct_FILE.h: +/usr/include/bits/types/cookie_io_functions_t.h: +/usr/include/bits/stdio_lim.h: +/usr/include/bits/stdio.h: +subprojects/SPIRV-Headers/include/spirv/unified1/spirv.h: +subprojects/SPIRV-Headers/include/spirv/unified1/GLSL.std.450.h: diff --git a/libs/vkd3d-shader/.deps/libvkd3d_shader_la-trace.Plo b/libs/vkd3d-shader/.deps/libvkd3d_shader_la-trace.Plo new file mode 100644 index 00000000..f2c68d6f --- /dev/null +++ b/libs/vkd3d-shader/.deps/libvkd3d_shader_la-trace.Plo @@ -0,0 +1,146 @@ +libs/vkd3d-shader/libvkd3d_shader_la-trace.lo: libs/vkd3d-shader/trace.c \ + /usr/include/stdc-predef.h libs/vkd3d-shader/vkd3d_shader_private.h \ + include/private/vkd3d_common.h include/vkd3d_windows.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stddef.h \ + /usr/include/stdlib.h /usr/include/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ + /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/timesize.h /usr/include/bits/typesizes.h \ + /usr/include/bits/time64.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h /usr/include/bits/stdint-intn.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h /usr/include/bits/byteswap.h \ + /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/string.h /usr/include/strings.h \ + include/private/vkd3d_spinlock.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdbool.h \ + include/private/vkd3d_atomic.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/emmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/xmmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mm_malloc.h \ + include/private/vkd3d_profiling.h /usr/include/ctype.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/uio_lim.h include/private/vkd3d_memory.h \ + /usr/include/assert.h include/private/vkd3d_debug.h \ + include/private/vkd3d_common.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdarg.h \ + include/vkd3d_shader.h include/vkd3d_types.h include/private/list.h \ + /usr/include/inttypes.h /usr/include/stdio.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h +/usr/include/stdc-predef.h: +libs/vkd3d-shader/vkd3d_shader_private.h: +include/private/vkd3d_common.h: +include/vkd3d_windows.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stddef.h: +/usr/include/stdlib.h: +/usr/include/bits/libc-header-start.h: +/usr/include/features.h: +/usr/include/sys/cdefs.h: +/usr/include/bits/wordsize.h: +/usr/include/bits/long-double.h: +/usr/include/gnu/stubs.h: +/usr/include/gnu/stubs-64.h: +/usr/include/bits/waitflags.h: +/usr/include/bits/waitstatus.h: +/usr/include/bits/floatn.h: +/usr/include/bits/floatn-common.h: +/usr/include/bits/types/locale_t.h: +/usr/include/bits/types/__locale_t.h: +/usr/include/sys/types.h: +/usr/include/bits/types.h: +/usr/include/bits/timesize.h: +/usr/include/bits/typesizes.h: +/usr/include/bits/time64.h: +/usr/include/bits/types/clock_t.h: +/usr/include/bits/types/clockid_t.h: +/usr/include/bits/types/time_t.h: +/usr/include/bits/types/timer_t.h: +/usr/include/bits/stdint-intn.h: +/usr/include/endian.h: +/usr/include/bits/endian.h: +/usr/include/bits/endianness.h: +/usr/include/bits/byteswap.h: +/usr/include/bits/uintn-identity.h: +/usr/include/sys/select.h: +/usr/include/bits/select.h: +/usr/include/bits/types/sigset_t.h: +/usr/include/bits/types/__sigset_t.h: +/usr/include/bits/types/struct_timeval.h: +/usr/include/bits/types/struct_timespec.h: +/usr/include/bits/pthreadtypes.h: +/usr/include/bits/thread-shared-types.h: +/usr/include/bits/pthreadtypes-arch.h: +/usr/include/bits/struct_mutex.h: +/usr/include/bits/struct_rwlock.h: +/usr/include/alloca.h: +/usr/include/bits/stdlib-bsearch.h: +/usr/include/bits/stdlib-float.h: +/usr/include/string.h: +/usr/include/strings.h: +include/private/vkd3d_spinlock.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdint.h: +/usr/include/stdint.h: +/usr/include/bits/wchar.h: +/usr/include/bits/stdint-uintn.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdbool.h: +include/private/vkd3d_atomic.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/emmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/xmmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mm_malloc.h: +include/private/vkd3d_profiling.h: +/usr/include/ctype.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/limits.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/syslimits.h: +/usr/include/limits.h: +/usr/include/bits/posix1_lim.h: +/usr/include/bits/local_lim.h: +/usr/include/linux/limits.h: +/usr/include/bits/posix2_lim.h: +/usr/include/bits/xopen_lim.h: +/usr/include/bits/uio_lim.h: +include/private/vkd3d_memory.h: +/usr/include/assert.h: +include/private/vkd3d_debug.h: +include/private/vkd3d_common.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdarg.h: +include/vkd3d_shader.h: +include/vkd3d_types.h: +include/private/list.h: +/usr/include/inttypes.h: +/usr/include/stdio.h: +/usr/include/bits/types/__fpos_t.h: +/usr/include/bits/types/__mbstate_t.h: +/usr/include/bits/types/__fpos64_t.h: +/usr/include/bits/types/__FILE.h: +/usr/include/bits/types/FILE.h: +/usr/include/bits/types/struct_FILE.h: +/usr/include/bits/types/cookie_io_functions_t.h: +/usr/include/bits/stdio_lim.h: +/usr/include/bits/stdio.h: diff --git a/libs/vkd3d-shader/.deps/libvkd3d_shader_la-vkd3d_shader_main.Plo b/libs/vkd3d-shader/.deps/libvkd3d_shader_la-vkd3d_shader_main.Plo new file mode 100644 index 00000000..355d3087 --- /dev/null +++ b/libs/vkd3d-shader/.deps/libvkd3d_shader_la-vkd3d_shader_main.Plo @@ -0,0 +1,147 @@ +libs/vkd3d-shader/libvkd3d_shader_la-vkd3d_shader_main.lo: \ + libs/vkd3d-shader/vkd3d_shader_main.c /usr/include/stdc-predef.h \ + libs/vkd3d-shader/vkd3d_shader_private.h include/private/vkd3d_common.h \ + include/vkd3d_windows.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stddef.h \ + /usr/include/stdlib.h /usr/include/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ + /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/timesize.h /usr/include/bits/typesizes.h \ + /usr/include/bits/time64.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h /usr/include/bits/stdint-intn.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h /usr/include/bits/byteswap.h \ + /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/string.h /usr/include/strings.h \ + include/private/vkd3d_spinlock.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdbool.h \ + include/private/vkd3d_atomic.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/emmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/xmmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mmintrin.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mm_malloc.h \ + include/private/vkd3d_profiling.h /usr/include/ctype.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/uio_lim.h include/private/vkd3d_memory.h \ + /usr/include/assert.h include/private/vkd3d_debug.h \ + include/private/vkd3d_common.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdarg.h \ + include/vkd3d_shader.h include/vkd3d_types.h include/private/list.h \ + /usr/include/inttypes.h /usr/include/stdio.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h +/usr/include/stdc-predef.h: +libs/vkd3d-shader/vkd3d_shader_private.h: +include/private/vkd3d_common.h: +include/vkd3d_windows.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stddef.h: +/usr/include/stdlib.h: +/usr/include/bits/libc-header-start.h: +/usr/include/features.h: +/usr/include/sys/cdefs.h: +/usr/include/bits/wordsize.h: +/usr/include/bits/long-double.h: +/usr/include/gnu/stubs.h: +/usr/include/gnu/stubs-64.h: +/usr/include/bits/waitflags.h: +/usr/include/bits/waitstatus.h: +/usr/include/bits/floatn.h: +/usr/include/bits/floatn-common.h: +/usr/include/bits/types/locale_t.h: +/usr/include/bits/types/__locale_t.h: +/usr/include/sys/types.h: +/usr/include/bits/types.h: +/usr/include/bits/timesize.h: +/usr/include/bits/typesizes.h: +/usr/include/bits/time64.h: +/usr/include/bits/types/clock_t.h: +/usr/include/bits/types/clockid_t.h: +/usr/include/bits/types/time_t.h: +/usr/include/bits/types/timer_t.h: +/usr/include/bits/stdint-intn.h: +/usr/include/endian.h: +/usr/include/bits/endian.h: +/usr/include/bits/endianness.h: +/usr/include/bits/byteswap.h: +/usr/include/bits/uintn-identity.h: +/usr/include/sys/select.h: +/usr/include/bits/select.h: +/usr/include/bits/types/sigset_t.h: +/usr/include/bits/types/__sigset_t.h: +/usr/include/bits/types/struct_timeval.h: +/usr/include/bits/types/struct_timespec.h: +/usr/include/bits/pthreadtypes.h: +/usr/include/bits/thread-shared-types.h: +/usr/include/bits/pthreadtypes-arch.h: +/usr/include/bits/struct_mutex.h: +/usr/include/bits/struct_rwlock.h: +/usr/include/alloca.h: +/usr/include/bits/stdlib-bsearch.h: +/usr/include/bits/stdlib-float.h: +/usr/include/string.h: +/usr/include/strings.h: +include/private/vkd3d_spinlock.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdint.h: +/usr/include/stdint.h: +/usr/include/bits/wchar.h: +/usr/include/bits/stdint-uintn.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdbool.h: +include/private/vkd3d_atomic.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/emmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/xmmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mmintrin.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/mm_malloc.h: +include/private/vkd3d_profiling.h: +/usr/include/ctype.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/limits.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed/syslimits.h: +/usr/include/limits.h: +/usr/include/bits/posix1_lim.h: +/usr/include/bits/local_lim.h: +/usr/include/linux/limits.h: +/usr/include/bits/posix2_lim.h: +/usr/include/bits/xopen_lim.h: +/usr/include/bits/uio_lim.h: +include/private/vkd3d_memory.h: +/usr/include/assert.h: +include/private/vkd3d_debug.h: +include/private/vkd3d_common.h: +/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/stdarg.h: +include/vkd3d_shader.h: +include/vkd3d_types.h: +include/private/list.h: +/usr/include/inttypes.h: +/usr/include/stdio.h: +/usr/include/bits/types/__fpos_t.h: +/usr/include/bits/types/__mbstate_t.h: +/usr/include/bits/types/__fpos64_t.h: +/usr/include/bits/types/__FILE.h: +/usr/include/bits/types/FILE.h: +/usr/include/bits/types/struct_FILE.h: +/usr/include/bits/types/cookie_io_functions_t.h: +/usr/include/bits/stdio_lim.h: +/usr/include/bits/stdio.h: diff --git a/libs/vkd3d-shader/.libs/libvkd3d_shader_la-checksum.o b/libs/vkd3d-shader/.libs/libvkd3d_shader_la-checksum.o Binary files differnew file mode 100644 index 00000000..406162c8 --- /dev/null +++ b/libs/vkd3d-shader/.libs/libvkd3d_shader_la-checksum.o diff --git a/libs/vkd3d-shader/.libs/libvkd3d_shader_la-dxbc.o b/libs/vkd3d-shader/.libs/libvkd3d_shader_la-dxbc.o Binary files differnew file mode 100644 index 00000000..9a991a73 --- /dev/null +++ b/libs/vkd3d-shader/.libs/libvkd3d_shader_la-dxbc.o diff --git a/libs/vkd3d-shader/.libs/libvkd3d_shader_la-spirv.o b/libs/vkd3d-shader/.libs/libvkd3d_shader_la-spirv.o Binary files differnew file mode 100644 index 00000000..f831cb66 --- /dev/null +++ b/libs/vkd3d-shader/.libs/libvkd3d_shader_la-spirv.o diff --git a/libs/vkd3d-shader/.libs/libvkd3d_shader_la-trace.o b/libs/vkd3d-shader/.libs/libvkd3d_shader_la-trace.o Binary files differnew file mode 100644 index 00000000..d4c5743e --- /dev/null +++ b/libs/vkd3d-shader/.libs/libvkd3d_shader_la-trace.o diff --git a/libs/vkd3d-shader/.libs/libvkd3d_shader_la-vkd3d_shader_main.o b/libs/vkd3d-shader/.libs/libvkd3d_shader_la-vkd3d_shader_main.o Binary files differnew file mode 100644 index 00000000..5c7556fe --- /dev/null +++ b/libs/vkd3d-shader/.libs/libvkd3d_shader_la-vkd3d_shader_main.o diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c index 9f784a72..56f4e6d6 100644 --- a/libs/vkd3d-shader/spirv.c +++ b/libs/vkd3d-shader/spirv.c @@ -5626,6 +5626,14 @@ static void vkd3d_dxbc_compiler_emit_initial_declarations(struct vkd3d_dxbc_comp case VKD3D_SHADER_TYPE_PIXEL: vkd3d_spirv_set_execution_model(builder, SpvExecutionModelFragment); vkd3d_dxbc_compiler_emit_execution_mode(compiler, SpvExecutionModeOriginUpperLeft, NULL, 0); + /* We introduce side effects into fragment shaders when we enable descriptor QA, + * so try to force EarlyFragmentTests if it's safe to do so. */ + if ((compiler->shader_interface.flags & VKD3D_SHADER_INTERFACE_DESCRIPTOR_QA_BUFFER) && + !compiler->scan_info->early_fragment_tests && !compiler->scan_info->has_side_effects && + !compiler->scan_info->discards && !compiler->scan_info->needs_late_zs) + { + vkd3d_dxbc_compiler_emit_execution_mode(compiler, SpvExecutionModeEarlyFragmentTests, NULL, 0); + } break; case VKD3D_SHADER_TYPE_COMPUTE: vkd3d_spirv_set_execution_model(builder, SpvExecutionModelGLCompute); diff --git a/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d-shader/vkd3d_shader_main.c index 54260f92..a72b5438 100644 --- a/libs/vkd3d-shader/vkd3d_shader_main.c +++ b/libs/vkd3d-shader/vkd3d_shader_main.c @@ -426,6 +426,16 @@ static bool vkd3d_shader_instruction_is_uav_read(const struct vkd3d_shader_instr || ((handler_idx == VKD3DSIH_LD_STRUCTURED || handler_idx == VKD3DSIH_LD_STRUCTURED_FEEDBACK) && instruction->src[2].reg.type == VKD3DSPR_UAV); } +static bool vkd3d_shader_instruction_is_uav_write(const struct vkd3d_shader_instruction *instruction) +{ + enum VKD3D_SHADER_INSTRUCTION_HANDLER handler_idx = instruction->handler_idx; + return (VKD3DSIH_ATOMIC_AND <= handler_idx && handler_idx <= VKD3DSIH_ATOMIC_XOR) + || (VKD3DSIH_IMM_ATOMIC_ALLOC <= handler_idx && handler_idx <= VKD3DSIH_IMM_ATOMIC_XOR) + || handler_idx == VKD3DSIH_STORE_UAV_TYPED + || handler_idx == VKD3DSIH_STORE_RAW + || handler_idx == VKD3DSIH_STORE_STRUCTURED; +} + static bool vkd3d_shader_instruction_is_uav_atomic(const struct vkd3d_shader_instruction *instruction) { enum VKD3D_SHADER_INSTRUCTION_HANDLER handler_idx = instruction->handler_idx; @@ -458,6 +468,7 @@ static bool vkd3d_shader_instruction_is_uav_counter(const struct vkd3d_shader_in static void vkd3d_shader_scan_record_uav_counter(struct vkd3d_shader_scan_info *scan_info, const struct vkd3d_shader_register *reg) { + scan_info->has_side_effects = true; vkd3d_shader_scan_set_register_flags(scan_info, VKD3DSPR_UAV, reg->idx[0].offset, VKD3D_SHADER_UAV_FLAG_ATOMIC_COUNTER); } @@ -471,6 +482,24 @@ static void vkd3d_shader_scan_input_declaration(struct vkd3d_shader_scan_info *s scan_info->use_vocp = true; } +static void vkd3d_shader_scan_output_declaration(struct vkd3d_shader_scan_info *scan_info, + const struct vkd3d_shader_instruction *instruction) +{ + switch (instruction->declaration.dst.reg.type) + { + case VKD3DSPR_DEPTHOUT: + case VKD3DSPR_DEPTHOUTLE: + case VKD3DSPR_DEPTHOUTGE: + case VKD3DSPR_STENCILREFOUT: + case VKD3DSPR_SAMPLEMASK: + scan_info->needs_late_zs = true; + break; + + default: + break; + } +} + static void vkd3d_shader_scan_instruction(struct vkd3d_shader_scan_info *scan_info, const struct vkd3d_shader_instruction *instruction) { @@ -482,6 +511,16 @@ static void vkd3d_shader_scan_instruction(struct vkd3d_shader_scan_info *scan_in case VKD3DSIH_DCL_INPUT: vkd3d_shader_scan_input_declaration(scan_info, instruction); break; + case VKD3DSIH_DCL_OUTPUT: + vkd3d_shader_scan_output_declaration(scan_info, instruction); + break; + case VKD3DSIH_DISCARD: + scan_info->discards = true; + break; + case VKD3DSIH_DCL_GLOBAL_FLAGS: + if (instruction->flags & VKD3DSGF_FORCE_EARLY_DEPTH_STENCIL) + scan_info->early_fragment_tests = true; + break; default: break; } @@ -510,6 +549,9 @@ static void vkd3d_shader_scan_instruction(struct vkd3d_shader_scan_info *scan_in } } + if (vkd3d_shader_instruction_is_uav_write(instruction)) + scan_info->has_side_effects = true; + if (vkd3d_shader_instruction_is_uav_counter(instruction)) vkd3d_shader_scan_record_uav_counter(scan_info, &instruction->src[0].reg); } |