tu: Implement VK_EXT_non_seamless_cube_map
Passes CTS tests: dEQP-VK.texture.*non_seamless_* Signed-off-by: Mark Collins <mark@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18079>
This commit is contained in:
@@ -561,7 +561,7 @@ Khronos extensions that are not part of any Vulkan version:
|
||||
VK_EXT_memory_priority DONE (radv)
|
||||
VK_EXT_multi_draw DONE (anv, lvp, radv)
|
||||
VK_EXT_multisampled_render_to_single_sampled DONE (lvp)
|
||||
VK_EXT_non_seamless_cube_map DONE (anv, lvp, radv)
|
||||
VK_EXT_non_seamless_cube_map DONE (anv, lvp, radv, tu)
|
||||
VK_EXT_pci_bus_info DONE (anv, radv)
|
||||
VK_EXT_physical_device_drm DONE (anv, radv, tu, v3dv, vn)
|
||||
VK_EXT_post_depth_coverage DONE (anv/gfx10+, lvp, radv/gfx10+)
|
||||
|
@@ -28,7 +28,7 @@ traces:
|
||||
- device: freedreno-a630
|
||||
checksum: 14f7656971b98fdaaf00bf576ada7ccf
|
||||
- device: zink-a630
|
||||
checksum: affab10e98c1415747b1dc38eb7f7d7d
|
||||
checksum: 45bdbb33bf87ed114bd548248be13408
|
||||
- path: valve/portal-2-v2.trace
|
||||
expectations:
|
||||
# Skipped since it's slow even on a530.
|
||||
@@ -53,7 +53,7 @@ traces:
|
||||
- device: freedreno-a630
|
||||
checksum: 339dce29ae08569652438116829510c7
|
||||
- device: zink-a630
|
||||
checksum: dc9a01cfe6f2e542756b4892d80ef49c
|
||||
checksum: 2eb996b7d308087c73c57872231f7baa
|
||||
- path: xonotic/xonotic-keybench-high.trace
|
||||
expectations:
|
||||
# Skipped since it's long on a530.
|
||||
|
@@ -227,6 +227,7 @@ get_device_extensions(const struct tu_physical_device *device,
|
||||
.EXT_image_2d_view_of_3d = true,
|
||||
.EXT_color_write_enable = true,
|
||||
.EXT_load_store_op_none = true,
|
||||
.EXT_non_seamless_cube_map = true,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -907,6 +908,12 @@ tu_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
|
||||
features->vertexInputDynamicState = true;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: {
|
||||
VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *features =
|
||||
(VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *)ext;
|
||||
features->nonSeamlessCubeMap = true;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
@@ -2771,7 +2778,8 @@ tu_init_sampler(struct tu_device *device,
|
||||
A6XX_TEX_SAMP_0_WRAP_R(tu6_tex_wrap(pCreateInfo->addressModeW)) |
|
||||
A6XX_TEX_SAMP_0_LOD_BIAS(pCreateInfo->mipLodBias);
|
||||
sampler->descriptor[1] =
|
||||
/* COND(!cso->seamless_cube_map, A6XX_TEX_SAMP_1_CUBEMAPSEAMLESSFILTOFF) | */
|
||||
COND(pCreateInfo->flags & VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT,
|
||||
A6XX_TEX_SAMP_1_CUBEMAPSEAMLESSFILTOFF) |
|
||||
COND(pCreateInfo->unnormalizedCoordinates, A6XX_TEX_SAMP_1_UNNORM_COORDS) |
|
||||
A6XX_TEX_SAMP_1_MIN_LOD(min_lod) |
|
||||
A6XX_TEX_SAMP_1_MAX_LOD(max_lod) |
|
||||
|
Reference in New Issue
Block a user