pvr: build failure on archs with unsigned long != uint64_t
System information
- OS: PLD Linux
- Mesa version: 22.1.0
Describe the issue
With enabled experimental powervr vulkan driver build fails:
../src/imagination/vulkan/pvr_cmd_buffer.c: In function 'pvr_setup_descriptor_mappings':
../src/imagination/vulkan/pvr_cmd_buffer.c:2570:178: error: static assertion failed: "Buffer and value type mismatch"
../src/imagination/vulkan/pvr_cmd_buffer.c:2821:13: note: in expansion of macro 'PVR_WRITE'
That's because PVR_WRITE
macro checks if _buffer
holds values of the same type as _value
:
https://gitlab.freedesktop.org/mesa/mesa/-/blob/mesa-22.1.0/src/imagination/vulkan/pvr_cmd_buffer.c#L2575
And one invocation with literal value of type unsigned long
uses _buffer
holding uint64_t
causing failures on archs where unsigned long != uint64_t
:
https://gitlab.freedesktop.org/mesa/mesa/-/blob/mesa-22.1.0/src/imagination/vulkan/pvr_cmd_buffer.c#L2821