Fix DLSS artifacts and improve synchronization diagnostics
- Fix Cyberpunk 2077 preset-K black artifacts by preserving FP16/FP64 denormal requirements while limiting denormal suppression to FP32. - Fix stale direct-output redirects after array destruction, preventing reused handles from inheriting an earlier feature's output buffer. - Log rejected resource formats and dimensions, including failures after startup, with rate limiting for repeated errors. - Add opt-in blocking output synchronization with a dedicated bridge export and fallback to context synchronization. - Report output-wait CPU and wall time, and defer GPU timing queries until asynchronous evaluation has completed. The CPU-overhead mitigation for #7 still needs reporter confirmation. - Reject release libraries requiring GLIBC newer than the configured baseline, defaulting to 2.41, and document compatible builds. Validation: shim and bridge builds pass; targeted redirect-lifetime and format-logging checks pass. Fixes #5 Fixes #8 Refs #7
This commit is contained in:
1 parent
4334a0c3c4
commit
b2b3781aca
12 files changed
+199
-24
No files matched your search
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
# Reject Linux release libraries that need a newer GLIBC than the target runtime.
|
||||
# Usage: check_glibc_compat.sh MAX_GLIBC LIBRARY [LIBRARY ...]
|
||||
set -euo pipefail
|
||||
|
||||
if [[ $# -lt 2 || ! "$1" =~ ^[0-9]+\.[0-9]+$ ]]; then
|
||||
printf 'usage: %s MAX_GLIBC LIBRARY [LIBRARY ...]\n' "$0" >&2
|
||||
exit 2
|
||||
fi
|
||||
max="GLIBC_$1"
|
||||
shift
|
||||
command -v readelf >/dev/null || { echo 'readelf is required to check GLIBC compatibility' >&2; exit 2; }
|
||||
|
||||
failed=0
|
||||
for library in "$@"; do
|
||||
if [[ ! -f "$library" ]]; then
|
||||
printf 'missing library: %s\n' "$library" >&2
|
||||
failed=1
|
||||
continue
|
||||
fi
|
||||
if ! versions="$(readelf -W --version-info "$library" 2>&1)"; then
|
||||
printf 'cannot inspect %s: %s\n' "$library" "$versions" >&2
|
||||
failed=1
|
||||
continue
|
||||
fi
|
||||
required="$(printf '%s\n' "$versions" | grep -Eo 'GLIBC_[0-9]+\.[0-9]+' | sort -Vu | tail -1 || true)"
|
||||
if [[ -n "$required" && "$(printf '%s\n%s\n' "$max" "$required" | sort -Vu | tail -1)" != "$max" ]]; then
|
||||
printf '%s requires %s (target: at most %s)\n' "$library" "$required" "$max" >&2
|
||||
failed=1
|
||||
fi
|
||||
done
|
||||
exit "$failed"
|
||||
Reference in new issue
Block a user