mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-09 12:40:23 +01:00
clover: fix getting scalar args api size
This fix getting the size of a struct arg. vec3 types still work ok. Only buit-in args need to have power of two alignment, getTypeAllocSize reports the correct size in all cases. Acked-by: Francisco Jerez <currojerez@riseup.net>
This commit is contained in:
parent
f65187bb93
commit
1c8d4c694b
1 changed files with 3 additions and 4 deletions
|
|
@ -81,11 +81,10 @@ namespace {
|
|||
|
||||
// OpenCL 1.2 specification, Ch. 6.1.5: "A built-in data
|
||||
// type that is not a power of two bytes in size must be
|
||||
// aligned to the next larger power of two". We need this
|
||||
// alignment for three element vectors, which have
|
||||
// non-power-of-2 store size.
|
||||
// aligned to the next larger power of two.
|
||||
// This rule applies to built-in types only, not structs or unions."
|
||||
const unsigned arg_store_size = dl.getTypeStoreSize(arg_type);
|
||||
const unsigned arg_api_size = util_next_power_of_two(arg_store_size);
|
||||
const unsigned arg_api_size = dl.getTypeAllocSize(arg_type);
|
||||
|
||||
const auto target_type = !arg_type->isIntegerTy() ? arg_type :
|
||||
dl.getSmallestLegalIntType(mod.getContext(), arg_store_size * 8);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue