blorp: allow blits with floating point source layers
The current blorp API only allows source layers for 3D images to be integers. That is causing problems with the Vulkan API where we need to be able to use a 3D layer that could be in between 2 layers. This change allows a floating point value to be passed for blits and internally sets up the input parameters to pass floating point values to kernels. v2: Use tex op to determinate what types are the coordinates (Jason) Drop setting params->z (Lionel) v3: Fix nir_texop_txf_ms_mcs op not considered as having integer coords (Lionel) v4: Fix incorrect test on nir_texop_txf_ms_mcs (Ivan) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3458 Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6909>
This commit is contained in:

committed by
Marge Bot

parent
e067078fcd
commit
87934f02f9
@@ -133,7 +133,7 @@ enum blorp_filter {
|
||||
void
|
||||
blorp_blit(struct blorp_batch *batch,
|
||||
const struct blorp_surf *src_surf,
|
||||
unsigned src_level, unsigned src_layer,
|
||||
unsigned src_level, float src_layer,
|
||||
enum isl_format src_format, struct isl_swizzle src_swizzle,
|
||||
const struct blorp_surf *dst_surf,
|
||||
unsigned dst_level, unsigned dst_layer,
|
||||
|
Reference in New Issue
Block a user