self.a6xx.has_8bpp_ubwc = True
self.a6xx.has_gmem_fast_clear = True
+ self.a6xx.has_hw_multiview = True
self.a6xx.sysmem_per_ccu_cache_size = 64 * 1024
self.a6xx.gmem_ccu_color_cache_fraction = CCUColorCacheFraction.QUARTER.value
# a605, a608, a610, 612
a6xx_gen1_low = {**a6xx_gen1, **dict(
has_gmem_fast_clear = False,
+ has_hw_multiview = False,
sysmem_per_ccu_cache_size = 8 * 1024,
gmem_ccu_color_cache_fraction = CCUColorCacheFraction.HALF.value,
vs_max_inputs_count = 16,
.KHR_maintenance2 = true,
.KHR_maintenance3 = true,
.KHR_maintenance4 = true,
- .KHR_multiview = true,
+ .KHR_multiview = device->info->a6xx.has_hw_multiview,
.KHR_performance_query = TU_DEBUG(PERFC),
.KHR_pipeline_executable_properties = true,
.KHR_pipeline_library = true,
.EXT_shader_demote_to_helper_invocation = true,
.EXT_shader_module_identifier = true,
.EXT_shader_stencil_export = true,
- .EXT_shader_viewport_index_layer = true,
+ .EXT_shader_viewport_index_layer = device->info->a6xx.has_hw_multiview,
.EXT_subgroup_size_control = true,
.EXT_texel_buffer_alignment = true,
.EXT_tooling_info = true,
features->wideLines = false;
features->largePoints = true;
features->alphaToOne = true;
- features->multiViewport = true;
+ features->multiViewport = pdevice->info->a6xx.has_hw_multiview;
features->samplerAnisotropy = true;
features->textureCompressionETC2 = true;
features->textureCompressionASTC_LDR = true;
features->uniformAndStorageBuffer16BitAccess = false;
features->storagePushConstant16 = false;
features->storageInputOutput16 = false;
- features->multiview = true;
+ features->multiview = pdevice->info->a6xx.has_hw_multiview;
features->multiviewGeometryShader = false;
features->multiviewTessellationShader = false;
features->variablePointersStorageBuffer = true;
p->subgroupQuadOperationsInAllStages = false;
p->pointClippingBehavior = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES;
- p->maxMultiviewViewCount = MAX_VIEWS;
+ p->maxMultiviewViewCount =
+ pdevice->info->a6xx.has_hw_multiview ? MAX_VIEWPORTS : 1;
p->maxMultiviewInstanceIndex = INT_MAX;
p->protectedNoFault = false;
/* Our largest descriptors are 2 texture descriptors, or a texture and
.maxDrawIndirectCount = UINT32_MAX,
.maxSamplerLodBias = 4095.0 / 256.0, /* [-16, 15.99609375] */
.maxSamplerAnisotropy = 16,
- .maxViewports = MAX_VIEWPORTS,
+ .maxViewports = pdevice->info->a6xx.has_hw_multiview ? MAX_VIEWPORTS : 1,
.maxViewportDimensions = { MAX_VIEWPORT_SIZE, MAX_VIEWPORT_SIZE },
.viewportBoundsRange = { INT16_MIN, INT16_MAX },
.viewportSubPixelBits = 8,