Document the linear-texture input investigation

- Add docs/in-place-inputs.md: reading the DLSS inputs in place does not work,
  because a hardware texture fetch on a HIP texture object over memory imported
  from vkd3d-proton returns stale data while plain loads and cuMemcpy2D are
  correct; records the measurements, the rule-outs and the reworked-fetch
  workaround that turned out not to pay for itself.
- Add tools/hip_vk_texture_stale_repro.cpp and its build script, the native
  Vulkan + HIP reproducer that rules out a general ROCm or RADV bug.
This commit is contained in:
woutermans committed 2026-10-07 11:00:26 +02:00
1 parent 87365077e0
commit 283738d626
3 files changed
+543

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -euo pipefail
# Builds build/hip_vk_texture_stale_repro: a native Vulkan + HIP check that a HIP texture object on
# memory imported from Vulkan follows Vulkan's later writes (see tools/hip_vk_texture_stale_repro.cpp).
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
ROCM_ROOT="${ROCM_ROOT:-/opt/rocm}"
mkdir -p "$ROOT/build"
"$ROCM_ROOT/bin/hipcc" -std=c++17 -O2 "$ROOT/tools/hip_vk_texture_stale_repro.cpp" -lvulkan \
-o "$ROOT/build/hip_vk_texture_stale_repro"
printf 'Built %s (run with LD_LIBRARY_PATH=%s/lib:%s/lib/llvm/lib)\n' "$ROOT/build/hip_vk_texture_stale_repro" "$ROCM_ROOT" "$ROCM_ROOT"