f->indexTypeUint8 = true;
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: {
+ VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *f = (void *)ext;
+ f->nonSeamlessCubeMap = true;
+ break;
+ }
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
VkPhysicalDeviceProvokingVertexFeaturesEXT *f = (void *)ext;
f->provokingVertexLast = true;
.EXT_image_2d_view_of_3d = true,
.EXT_index_type_uint8 = true,
.EXT_inline_uniform_block = true,
+ .EXT_non_seamless_cube_map = true,
.EXT_pci_bus_info = true,
.EXT_private_data = true,
.EXT_provoking_vertex = true,
}
assert(device->ctx->eng3d.cls >= KEPLER_A);
- SAMP_SET_E(samp, NVA097, 1, CUBEMAP_INTERFACE_FILTERING, AUTO_SPAN_SEAM);
+ if (pCreateInfo->flags & VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT) {
+ SAMP_SET_E(samp, NVA097, 1, CUBEMAP_INTERFACE_FILTERING, USE_WRAP);
+ } else {
+ SAMP_SET_E(samp, NVA097, 1, CUBEMAP_INTERFACE_FILTERING, AUTO_SPAN_SEAM);
+ }
if (device->ctx->eng3d.cls >= MAXWELL_B) {
switch (vk_sampler_create_reduction_mode(pCreateInfo)) {