diff options
author | Chad Versace <[email protected]> | 2017-02-24 17:15:43 -0800 |
---|---|---|
committer | Chad Versace <[email protected]> | 2017-03-28 09:44:44 -0700 |
commit | 6cbc13d94c40f875926b8fd2129852759f314d14 (patch) | |
tree | bfd2ce248cd8a996969848460288f04831e4237b /src/intel/vulkan | |
parent | e9017d58dcd0117c67788f7e2084b09f5d47a279 (diff) |
intel: Fix requests for exact surface row pitch (v2)
All callers of isl_surf_init() that set 'min_row_pitch' wanted to
request an *exact* row pitch, as evidenced by nearby asserts, but isl
lacked API for doing so. Now that isl has an API for that, update the
code to use it.
v2: Assert that isl_surf_init() succeeds because the callers assume
it. [for jekstrand]
Reviewed-by: Nanley Chery <[email protected]> (v1)
Reviewed-by: Anuj Phogat <[email protected]> (v1)
Reviewed-by: Jason Ekstrand <[email protected]> (v2)
Diffstat (limited to 'src/intel/vulkan')
-rw-r--r-- | src/intel/vulkan/anv_blorp.c | 29 | ||||
-rw-r--r-- | src/intel/vulkan/anv_image.c | 2 |
2 files changed, 16 insertions, 15 deletions
diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c index 9b3910f1b0b..16f1692ff53 100644 --- a/src/intel/vulkan/anv_blorp.c +++ b/src/intel/vulkan/anv_blorp.c @@ -133,6 +133,7 @@ get_blorp_surf_for_anv_buffer(struct anv_device *device, { const struct isl_format_layout *fmtl = isl_format_get_layout(format); + bool ok UNUSED; /* ASTC is the only format which doesn't support linear layouts. * Create an equivalently sized surface with ISL to get around this. @@ -155,20 +156,20 @@ get_blorp_surf_for_anv_buffer(struct anv_device *device, }, }; - isl_surf_init(&device->isl_dev, isl_surf, - .dim = ISL_SURF_DIM_2D, - .format = format, - .width = width, - .height = height, - .depth = 1, - .levels = 1, - .array_len = 1, - .samples = 1, - .min_pitch = row_pitch, - .usage = ISL_SURF_USAGE_TEXTURE_BIT | - ISL_SURF_USAGE_RENDER_TARGET_BIT, - .tiling_flags = ISL_TILING_LINEAR_BIT); - assert(isl_surf->row_pitch == row_pitch); + ok = isl_surf_init(&device->isl_dev, isl_surf, + .dim = ISL_SURF_DIM_2D, + .format = format, + .width = width, + .height = height, + .depth = 1, + .levels = 1, + .array_len = 1, + .samples = 1, + .row_pitch = row_pitch, + .usage = ISL_SURF_USAGE_TEXTURE_BIT | + ISL_SURF_USAGE_RENDER_TARGET_BIT, + .tiling_flags = ISL_TILING_LINEAR_BIT); + assert(ok); } static void diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index 33499abca1a..cf34dbe3b0a 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -166,7 +166,7 @@ make_surface(const struct anv_device *dev, .array_len = vk_info->arrayLayers, .samples = vk_info->samples, .min_alignment = 0, - .min_pitch = anv_info->stride, + .row_pitch = anv_info->stride, .usage = choose_isl_surf_usage(image->usage, aspect), .tiling_flags = tiling_flags); |