Module: Mesa
Branch: main
Commit: fa8634388bfce0b3f1cb0135dab384df9071939f
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fa8634388bfce0b3f1cb0135dab384df9071939f

Author: Karol Herbst <[email protected]>
Date:   Tue Jul 11 16:59:41 2023 +0200

llvmpipe: enable system SVM

The API bits are already implemented in clover and rusticl and by
definition a CPU driver implements SVM.

This should allow anybody to work on proper SyCL/CHIP-SPV support for
rusticl running llvmpipe.

Signed-off-by: Karol Herbst <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24092>

---

 docs/features.txt                        | 4 ++--
 src/gallium/drivers/llvmpipe/lp_screen.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/docs/features.txt b/docs/features.txt
index 00d2e2ac914..d4e3ec748a6 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -701,7 +701,7 @@ Clover OpenCL 1.2 -- all DONE:
 
 Clover OpenCL 2.0 -- all DONE:
 
-  Shared virtual memory                                 DONE (nvc0)
+  Shared virtual memory                                 DONE (nvc0, llvmpipe)
   Device queues                                         not started
   - cl_khr_create_command_queue                         not started
   - Additional queries for clGetDeviceInfo              not started
@@ -856,7 +856,7 @@ Rusticl OpenCL 1.2 -- all DONE:
 
 Rusticl OpenCL 2.0 -- all DONE:
 
-  Shared virtual memory                                 in progress (nvc0)
+  Shared virtual memory                                 in progress (nvc0, 
llvmpipe)
   Device queues                                         not started
   - cl_khr_create_command_queue                         DONE
   - Additional queries for clGetDeviceInfo              DONE
diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c 
b/src/gallium/drivers/llvmpipe/lp_screen.c
index c5e83895550..355271c0988 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -358,6 +358,8 @@ llvmpipe_get_param(struct pipe_screen *screen, enum 
pipe_cap param)
    case PIPE_CAP_SHADER_CLOCK:
    case PIPE_CAP_PACKED_UNIFORMS:
       return 1;
+   case PIPE_CAP_SYSTEM_SVM:
+      return 1;
    case PIPE_CAP_ATOMIC_FLOAT_MINMAX:
       return LLVM_VERSION_MAJOR >= 15;
    case PIPE_CAP_NIR_IMAGES_AS_DEREF:

Reply via email to