From 73debe3b6c6b4038718c2fe42297e25e2540d080 Mon Sep 17 00:00:00 2001 From: elwrcl Date: Fri, 16 Oct 2026 16:12:40 +0300 Subject: [PATCH] drivers --- drivers/pocl-gen7/SOURCE | 4 ++-- drivers/pocl-gen7/lib/beignet/libgbe.so | Bin 2263024 -> 2263024 bytes drivers/pocl-gen7/lib/libpocl.so.2.16.0 | Bin 1559112 -> 1563272 bytes .../lib/pocl/libpocl-devices-gen7.so | Bin 113784 -> 117952 bytes 4 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pocl-gen7/SOURCE b/drivers/pocl-gen7/SOURCE index b7713f2..4a0489c 100644 --- a/drivers/pocl-gen7/SOURCE +++ b/drivers/pocl-gen7/SOURCE @@ -1,2 +1,2 @@ -pocl 40a0f3c94206 gen7: report the GPU's real maximum clock (i915 gt_RP0_freq_mhz of the card with this PCI id) instead of a fixed 1000 MHz -libgbe 4db13eafb096 backend: keep the MAD bank conflict hint (any non-ternary use reset it, so both MAD sources landed in the same GRF bank: +28% float4 MAD throughput on IVB, 166 -> 212 GFLOPS); OCL_OUTPUT_KERNEL_STATS prints per-kernel SIMD width, spill strategy and code size +pocl f621e6b531a3 gen7: the recorder saves a program's source before building it, so a compiler crash still leaves it +libgbe c3af170fe1e9 backend: lock the clang stage of programNewFromSource like the other entry points (it resets and parses process-wide llvm::cl options, so two programs built at once raced); report a failed link with the builtin library as a build error instead of an empty, successful program diff --git a/drivers/pocl-gen7/lib/beignet/libgbe.so b/drivers/pocl-gen7/lib/beignet/libgbe.so index 5b8bb1d731e999fa7c65334a2eb35fd9ad524ec6..dbe165d37f9a4a3e74429de65421e0349f25e1b9 100755 GIT binary patch delta 146385 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