mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-17 23:40:29 +01:00
dzn: Ensure SRV ResourceMinLODClamp is set to 0.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19537>
This commit is contained in:
parent
2f8d2a91a6
commit
2a1bb4df95
2 changed files with 8 additions and 0 deletions
|
|
@ -878,6 +878,7 @@ dzn_descriptor_heap_write_image_view_desc(struct dzn_descriptor_heap *heap,
|
|||
D3D12_SHADER_RESOURCE_VIEW_DESC srv_desc = iview->srv_desc;
|
||||
srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2DARRAY;
|
||||
srv_desc.Texture2DArray.PlaneSlice = 0;
|
||||
srv_desc.Texture2DArray.ResourceMinLODClamp = 0.0f;
|
||||
if (iview->srv_desc.ViewDimension == D3D12_SRV_DIMENSION_TEXTURECUBEARRAY) {
|
||||
srv_desc.Texture2DArray.MostDetailedMip =
|
||||
iview->srv_desc.TextureCubeArray.MostDetailedMip;
|
||||
|
|
|
|||
|
|
@ -948,10 +948,12 @@ dzn_image_view_prepare_srv_desc(struct dzn_image_view *iview)
|
|||
iview->srv_desc.Texture1DArray.MipLevels = iview->vk.level_count;
|
||||
iview->srv_desc.Texture1DArray.FirstArraySlice = iview->vk.base_array_layer;
|
||||
iview->srv_desc.Texture1DArray.ArraySize = iview->vk.layer_count;
|
||||
iview->srv_desc.Texture1DArray.ResourceMinLODClamp = 0.0f;
|
||||
} else {
|
||||
iview->srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE1D;
|
||||
iview->srv_desc.Texture1D.MostDetailedMip = iview->vk.base_mip_level;
|
||||
iview->srv_desc.Texture1D.MipLevels = iview->vk.level_count;
|
||||
iview->srv_desc.Texture1D.ResourceMinLODClamp = 0.0f;
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -968,6 +970,7 @@ dzn_image_view_prepare_srv_desc(struct dzn_image_view *iview)
|
|||
iview->srv_desc.Texture2DArray.FirstArraySlice = iview->vk.base_array_layer;
|
||||
iview->srv_desc.Texture2DArray.ArraySize = iview->vk.layer_count;
|
||||
iview->srv_desc.Texture2DArray.PlaneSlice = plane_slice;
|
||||
iview->srv_desc.Texture2DArray.ResourceMinLODClamp = 0.0f;
|
||||
} else if (!use_array && ms) {
|
||||
iview->srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2DMS;
|
||||
} else {
|
||||
|
|
@ -975,6 +978,7 @@ dzn_image_view_prepare_srv_desc(struct dzn_image_view *iview)
|
|||
iview->srv_desc.Texture2D.MostDetailedMip = iview->vk.base_mip_level;
|
||||
iview->srv_desc.Texture2D.MipLevels = iview->vk.level_count;
|
||||
iview->srv_desc.Texture2D.PlaneSlice = plane_slice;
|
||||
iview->srv_desc.Texture2D.ResourceMinLODClamp = 0.0f;
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -986,10 +990,12 @@ dzn_image_view_prepare_srv_desc(struct dzn_image_view *iview)
|
|||
iview->srv_desc.TextureCubeArray.MipLevels = iview->vk.level_count;
|
||||
iview->srv_desc.TextureCubeArray.First2DArrayFace = iview->vk.base_array_layer;
|
||||
iview->srv_desc.TextureCubeArray.NumCubes = iview->vk.layer_count / 6;
|
||||
iview->srv_desc.TextureCubeArray.ResourceMinLODClamp = 0.0f;
|
||||
} else {
|
||||
iview->srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURECUBE;
|
||||
iview->srv_desc.TextureCube.MostDetailedMip = iview->vk.base_mip_level;
|
||||
iview->srv_desc.TextureCube.MipLevels = iview->vk.level_count;
|
||||
iview->srv_desc.TextureCube.ResourceMinLODClamp = 0.0f;
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -997,6 +1003,7 @@ dzn_image_view_prepare_srv_desc(struct dzn_image_view *iview)
|
|||
iview->srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE3D;
|
||||
iview->srv_desc.Texture3D.MostDetailedMip = iview->vk.base_mip_level;
|
||||
iview->srv_desc.Texture3D.MipLevels = iview->vk.level_count;
|
||||
iview->srv_desc.Texture3D.ResourceMinLODClamp = 0.0f;
|
||||
break;
|
||||
|
||||
default: unreachable("Invalid view type");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue