mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 16:08:04 +02:00
spirv: use a pointer sized int type for opencl event_t
llvm16 + opaque pointers uses a ptr to event for the opaque type,
llvm 17 fixes this properly, but the fix doesn't look too backportable.
Cc: mesa-stable
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25165>
(cherry picked from commit f423d91790)
This commit is contained in:
parent
8ac453ea15
commit
d3b688005c
2 changed files with 6 additions and 2 deletions
|
|
@ -3724,7 +3724,7 @@
|
|||
"description": "spirv: use a pointer sized int type for opencl event_t",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null,
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -1944,7 +1944,11 @@ vtn_handle_type(struct vtn_builder *b, SpvOp opcode,
|
|||
|
||||
case SpvOpTypeEvent:
|
||||
val->type->base_type = vtn_base_type_event;
|
||||
val->type->type = glsl_int_type();
|
||||
/*
|
||||
* this makes the event type compatible with pointer size due to LLVM 16.
|
||||
* llvm 17 fixes this properly, but with 16 and opaque ptrs it's still wrong.
|
||||
*/
|
||||
val->type->type = b->shader->info.cs.ptr_size == 64 ? glsl_int64_t_type() : glsl_int_type();
|
||||
break;
|
||||
|
||||
case SpvOpTypeDeviceEvent:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue