• Home
  • Raw
  • Download

Lines Matching refs:iview

847 dzn_image_view_prepare_srv_desc(struct dzn_image_view *iview)  in dzn_image_view_prepare_srv_desc()  argument
849 uint32_t plane_slice = (iview->vk.aspects & VK_IMAGE_ASPECT_STENCIL_BIT) ? 1 : 0; in dzn_image_view_prepare_srv_desc()
850 bool ms = iview->vk.image->samples > 1; in dzn_image_view_prepare_srv_desc()
852 (iview->vk.view_type == VK_IMAGE_VIEW_TYPE_CUBE || in dzn_image_view_prepare_srv_desc()
853 iview->vk.view_type == VK_IMAGE_VIEW_TYPE_CUBE_ARRAY) ? in dzn_image_view_prepare_srv_desc()
855 bool use_array = (iview->vk.base_array_layer / layers_per_elem) > 0 || in dzn_image_view_prepare_srv_desc()
856 (iview->vk.layer_count / layers_per_elem) > 1; in dzn_image_view_prepare_srv_desc()
858 iview->srv_desc = (D3D12_SHADER_RESOURCE_VIEW_DESC) { in dzn_image_view_prepare_srv_desc()
860 dzn_image_get_dxgi_format(iview->vk.format, in dzn_image_view_prepare_srv_desc()
861iview->vk.image->usage & ~VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, in dzn_image_view_prepare_srv_desc()
862 iview->vk.aspects), in dzn_image_view_prepare_srv_desc()
866 translate_swizzle(iview->vk.swizzle.r, 0), in dzn_image_view_prepare_srv_desc()
867 translate_swizzle(iview->vk.swizzle.g, 1), in dzn_image_view_prepare_srv_desc()
868 translate_swizzle(iview->vk.swizzle.b, 2), in dzn_image_view_prepare_srv_desc()
869 translate_swizzle(iview->vk.swizzle.a, 3), in dzn_image_view_prepare_srv_desc()
873 if (iview->vk.format == VK_FORMAT_B4G4R4A4_UNORM_PACK16) { in dzn_image_view_prepare_srv_desc()
887 iview->srv_desc.Shader4ComponentMapping = in dzn_image_view_prepare_srv_desc()
890 switch (iview->vk.view_type) { in dzn_image_view_prepare_srv_desc()
894 iview->srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE1DARRAY; in dzn_image_view_prepare_srv_desc()
895 iview->srv_desc.Texture1DArray.MostDetailedMip = iview->vk.base_mip_level; in dzn_image_view_prepare_srv_desc()
896 iview->srv_desc.Texture1DArray.MipLevels = iview->vk.level_count; in dzn_image_view_prepare_srv_desc()
897 iview->srv_desc.Texture1DArray.FirstArraySlice = iview->vk.base_array_layer; in dzn_image_view_prepare_srv_desc()
898 iview->srv_desc.Texture1DArray.ArraySize = iview->vk.layer_count; in dzn_image_view_prepare_srv_desc()
900 iview->srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE1D; in dzn_image_view_prepare_srv_desc()
901 iview->srv_desc.Texture1D.MostDetailedMip = iview->vk.base_mip_level; in dzn_image_view_prepare_srv_desc()
902 iview->srv_desc.Texture1D.MipLevels = iview->vk.level_count; in dzn_image_view_prepare_srv_desc()
909 iview->srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY; in dzn_image_view_prepare_srv_desc()
910 iview->srv_desc.Texture2DMSArray.FirstArraySlice = iview->vk.base_array_layer; in dzn_image_view_prepare_srv_desc()
911 iview->srv_desc.Texture2DMSArray.ArraySize = iview->vk.layer_count; in dzn_image_view_prepare_srv_desc()
913 iview->srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2DARRAY; in dzn_image_view_prepare_srv_desc()
914 iview->srv_desc.Texture2DArray.MostDetailedMip = iview->vk.base_mip_level; in dzn_image_view_prepare_srv_desc()
915 iview->srv_desc.Texture2DArray.MipLevels = iview->vk.level_count; in dzn_image_view_prepare_srv_desc()
916 iview->srv_desc.Texture2DArray.FirstArraySlice = iview->vk.base_array_layer; in dzn_image_view_prepare_srv_desc()
917 iview->srv_desc.Texture2DArray.ArraySize = iview->vk.layer_count; in dzn_image_view_prepare_srv_desc()
918 iview->srv_desc.Texture2DArray.PlaneSlice = plane_slice; in dzn_image_view_prepare_srv_desc()
920 iview->srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2DMS; in dzn_image_view_prepare_srv_desc()
922 iview->srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE2D; in dzn_image_view_prepare_srv_desc()
923 iview->srv_desc.Texture2D.MostDetailedMip = iview->vk.base_mip_level; in dzn_image_view_prepare_srv_desc()
924 iview->srv_desc.Texture2D.MipLevels = iview->vk.level_count; in dzn_image_view_prepare_srv_desc()
925 iview->srv_desc.Texture2D.PlaneSlice = plane_slice; in dzn_image_view_prepare_srv_desc()
932 iview->srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURECUBEARRAY; in dzn_image_view_prepare_srv_desc()
933 iview->srv_desc.TextureCubeArray.MostDetailedMip = iview->vk.base_mip_level; in dzn_image_view_prepare_srv_desc()
934 iview->srv_desc.TextureCubeArray.MipLevels = iview->vk.level_count; in dzn_image_view_prepare_srv_desc()
935 iview->srv_desc.TextureCubeArray.First2DArrayFace = iview->vk.base_array_layer; in dzn_image_view_prepare_srv_desc()
936 iview->srv_desc.TextureCubeArray.NumCubes = iview->vk.layer_count / 6; in dzn_image_view_prepare_srv_desc()
938 iview->srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURECUBE; in dzn_image_view_prepare_srv_desc()
939 iview->srv_desc.TextureCube.MostDetailedMip = iview->vk.base_mip_level; in dzn_image_view_prepare_srv_desc()
940 iview->srv_desc.TextureCube.MipLevels = iview->vk.level_count; in dzn_image_view_prepare_srv_desc()
945 iview->srv_desc.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE3D; in dzn_image_view_prepare_srv_desc()
946 iview->srv_desc.Texture3D.MostDetailedMip = iview->vk.base_mip_level; in dzn_image_view_prepare_srv_desc()
947 iview->srv_desc.Texture3D.MipLevels = iview->vk.level_count; in dzn_image_view_prepare_srv_desc()
955 dzn_image_view_prepare_uav_desc(struct dzn_image_view *iview) in dzn_image_view_prepare_uav_desc() argument
957 bool use_array = iview->vk.base_array_layer > 0 || iview->vk.layer_count > 1; in dzn_image_view_prepare_uav_desc()
959 assert(iview->vk.image->samples == 1); in dzn_image_view_prepare_uav_desc()
961 iview->uav_desc = (D3D12_UNORDERED_ACCESS_VIEW_DESC) { in dzn_image_view_prepare_uav_desc()
963 dzn_image_get_dxgi_format(iview->vk.format, in dzn_image_view_prepare_uav_desc()
965 iview->vk.aspects), in dzn_image_view_prepare_uav_desc()
968 switch (iview->vk.view_type) { in dzn_image_view_prepare_uav_desc()
972 iview->uav_desc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE1DARRAY; in dzn_image_view_prepare_uav_desc()
973 iview->uav_desc.Texture1DArray.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_uav_desc()
974 iview->uav_desc.Texture1DArray.FirstArraySlice = iview->vk.base_array_layer; in dzn_image_view_prepare_uav_desc()
975 iview->uav_desc.Texture1DArray.ArraySize = iview->vk.layer_count; in dzn_image_view_prepare_uav_desc()
977 iview->uav_desc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE1D; in dzn_image_view_prepare_uav_desc()
978 iview->uav_desc.Texture1D.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_uav_desc()
987 iview->uav_desc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE2DARRAY; in dzn_image_view_prepare_uav_desc()
988 iview->uav_desc.Texture2DArray.PlaneSlice = 0; in dzn_image_view_prepare_uav_desc()
989 iview->uav_desc.Texture2DArray.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_uav_desc()
990 iview->uav_desc.Texture2DArray.FirstArraySlice = iview->vk.base_array_layer; in dzn_image_view_prepare_uav_desc()
991 iview->uav_desc.Texture2DArray.ArraySize = iview->vk.layer_count; in dzn_image_view_prepare_uav_desc()
993 iview->uav_desc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE2D; in dzn_image_view_prepare_uav_desc()
994 iview->uav_desc.Texture2D.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_uav_desc()
995 iview->uav_desc.Texture2D.PlaneSlice = 0; in dzn_image_view_prepare_uav_desc()
999 iview->uav_desc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE3D; in dzn_image_view_prepare_uav_desc()
1000 iview->uav_desc.Texture3D.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_uav_desc()
1001 iview->uav_desc.Texture3D.FirstWSlice = 0; in dzn_image_view_prepare_uav_desc()
1002 iview->uav_desc.Texture3D.WSize = iview->vk.extent.depth; in dzn_image_view_prepare_uav_desc()
1009 dzn_image_view_prepare_rtv_desc(struct dzn_image_view *iview) in dzn_image_view_prepare_rtv_desc() argument
1011 bool use_array = iview->vk.base_array_layer > 0 || iview->vk.layer_count > 1; in dzn_image_view_prepare_rtv_desc()
1012 bool from_3d_image = iview->vk.image->image_type == VK_IMAGE_TYPE_3D; in dzn_image_view_prepare_rtv_desc()
1013 bool ms = iview->vk.image->samples > 1; in dzn_image_view_prepare_rtv_desc()
1015 (iview->vk.aspects & VK_IMAGE_ASPECT_PLANE_2_BIT) ? 2 : in dzn_image_view_prepare_rtv_desc()
1016 (iview->vk.aspects & VK_IMAGE_ASPECT_PLANE_1_BIT) ? 1 : 0; in dzn_image_view_prepare_rtv_desc()
1018 assert(iview->vk.level_count == 1); in dzn_image_view_prepare_rtv_desc()
1020 iview->rtv_desc = (D3D12_RENDER_TARGET_VIEW_DESC) { in dzn_image_view_prepare_rtv_desc()
1022 dzn_image_get_dxgi_format(iview->vk.format, in dzn_image_view_prepare_rtv_desc()
1024 iview->vk.aspects), in dzn_image_view_prepare_rtv_desc()
1027 switch (iview->vk.view_type) { in dzn_image_view_prepare_rtv_desc()
1031 iview->rtv_desc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE1DARRAY; in dzn_image_view_prepare_rtv_desc()
1032 iview->rtv_desc.Texture1DArray.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_rtv_desc()
1033 iview->rtv_desc.Texture1DArray.FirstArraySlice = iview->vk.base_array_layer; in dzn_image_view_prepare_rtv_desc()
1034 iview->rtv_desc.Texture1DArray.ArraySize = iview->vk.layer_count; in dzn_image_view_prepare_rtv_desc()
1036 iview->rtv_desc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE1D; in dzn_image_view_prepare_rtv_desc()
1037 iview->rtv_desc.Texture1D.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_rtv_desc()
1046 iview->rtv_desc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE3D; in dzn_image_view_prepare_rtv_desc()
1047 iview->rtv_desc.Texture3D.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_rtv_desc()
1048 iview->rtv_desc.Texture3D.FirstWSlice = iview->vk.base_array_layer; in dzn_image_view_prepare_rtv_desc()
1049 iview->rtv_desc.Texture3D.WSize = iview->vk.layer_count; in dzn_image_view_prepare_rtv_desc()
1051 iview->rtv_desc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY; in dzn_image_view_prepare_rtv_desc()
1052 iview->rtv_desc.Texture2DMSArray.FirstArraySlice = iview->vk.base_array_layer; in dzn_image_view_prepare_rtv_desc()
1053 iview->rtv_desc.Texture2DMSArray.ArraySize = iview->vk.layer_count; in dzn_image_view_prepare_rtv_desc()
1055 iview->rtv_desc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2DARRAY; in dzn_image_view_prepare_rtv_desc()
1056 iview->rtv_desc.Texture2DArray.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_rtv_desc()
1057 iview->rtv_desc.Texture2DArray.FirstArraySlice = iview->vk.base_array_layer; in dzn_image_view_prepare_rtv_desc()
1058 iview->rtv_desc.Texture2DArray.ArraySize = iview->vk.layer_count; in dzn_image_view_prepare_rtv_desc()
1059 iview->rtv_desc.Texture2DArray.PlaneSlice = plane_slice; in dzn_image_view_prepare_rtv_desc()
1061 iview->rtv_desc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2DMS; in dzn_image_view_prepare_rtv_desc()
1063 iview->rtv_desc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2D; in dzn_image_view_prepare_rtv_desc()
1064 iview->rtv_desc.Texture2D.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_rtv_desc()
1065 iview->rtv_desc.Texture2D.PlaneSlice = plane_slice; in dzn_image_view_prepare_rtv_desc()
1070 iview->rtv_desc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE3D; in dzn_image_view_prepare_rtv_desc()
1071 iview->rtv_desc.Texture3D.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_rtv_desc()
1072 iview->rtv_desc.Texture3D.FirstWSlice = 0; in dzn_image_view_prepare_rtv_desc()
1073 iview->rtv_desc.Texture3D.WSize = iview->vk.extent.depth; in dzn_image_view_prepare_rtv_desc()
1081 dzn_image_view_prepare_dsv_desc(struct dzn_image_view *iview) in dzn_image_view_prepare_dsv_desc() argument
1083 bool use_array = iview->vk.base_array_layer > 0 || iview->vk.layer_count > 1; in dzn_image_view_prepare_dsv_desc()
1084 bool ms = iview->vk.image->samples > 1; in dzn_image_view_prepare_dsv_desc()
1086 iview->dsv_desc = (D3D12_DEPTH_STENCIL_VIEW_DESC) { in dzn_image_view_prepare_dsv_desc()
1088 dzn_image_get_dxgi_format(iview->vk.format, in dzn_image_view_prepare_dsv_desc()
1090 iview->vk.aspects), in dzn_image_view_prepare_dsv_desc()
1093 switch (iview->vk.view_type) { in dzn_image_view_prepare_dsv_desc()
1097 iview->dsv_desc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE1DARRAY; in dzn_image_view_prepare_dsv_desc()
1098 iview->dsv_desc.Texture1DArray.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_dsv_desc()
1099 iview->dsv_desc.Texture1DArray.FirstArraySlice = iview->vk.base_array_layer; in dzn_image_view_prepare_dsv_desc()
1100 iview->dsv_desc.Texture1DArray.ArraySize = iview->vk.layer_count; in dzn_image_view_prepare_dsv_desc()
1102 iview->dsv_desc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE1D; in dzn_image_view_prepare_dsv_desc()
1103 iview->dsv_desc.Texture1D.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_dsv_desc()
1112 iview->dsv_desc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY; in dzn_image_view_prepare_dsv_desc()
1113 iview->dsv_desc.Texture2DMSArray.FirstArraySlice = iview->vk.base_array_layer; in dzn_image_view_prepare_dsv_desc()
1114 iview->dsv_desc.Texture2DMSArray.ArraySize = iview->vk.layer_count; in dzn_image_view_prepare_dsv_desc()
1116 iview->dsv_desc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2DARRAY; in dzn_image_view_prepare_dsv_desc()
1117 iview->dsv_desc.Texture2DArray.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_dsv_desc()
1118 iview->dsv_desc.Texture2DArray.FirstArraySlice = iview->vk.base_array_layer; in dzn_image_view_prepare_dsv_desc()
1119 iview->dsv_desc.Texture2DArray.ArraySize = iview->vk.layer_count; in dzn_image_view_prepare_dsv_desc()
1121 iview->dsv_desc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2DMS; in dzn_image_view_prepare_dsv_desc()
1123 iview->dsv_desc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2D; in dzn_image_view_prepare_dsv_desc()
1124 iview->dsv_desc.Texture2D.MipSlice = iview->vk.base_mip_level; in dzn_image_view_prepare_dsv_desc()
1133 dzn_image_view_finish(struct dzn_image_view *iview) in dzn_image_view_finish() argument
1135 vk_image_view_finish(&iview->vk); in dzn_image_view_finish()
1140 struct dzn_image_view *iview, in dzn_image_view_init() argument
1148 vk_image_view_init(&device->vk, &iview->vk, false, pCreateInfo); in dzn_image_view_init()
1154 assert(iview->vk.usage & (VK_IMAGE_USAGE_TRANSFER_SRC_BIT | in dzn_image_view_init()
1174 dzn_image_view_prepare_srv_desc(iview); in dzn_image_view_init()
1176 if (iview->vk.usage & VK_IMAGE_USAGE_STORAGE_BIT) in dzn_image_view_init()
1177 dzn_image_view_prepare_uav_desc(iview); in dzn_image_view_init()
1179 if (iview->vk.usage & VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT) in dzn_image_view_init()
1180 dzn_image_view_prepare_rtv_desc(iview); in dzn_image_view_init()
1182 if (iview->vk.usage & VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT) in dzn_image_view_init()
1183 dzn_image_view_prepare_dsv_desc(iview); in dzn_image_view_init()
1187 dzn_image_view_destroy(struct dzn_image_view *iview, in dzn_image_view_destroy() argument
1190 if (!iview) in dzn_image_view_destroy()
1193 struct dzn_device *device = container_of(iview->vk.base.device, struct dzn_device, vk); in dzn_image_view_destroy()
1195 vk_image_view_finish(&iview->vk); in dzn_image_view_destroy()
1196 vk_free2(&device->vk.alloc, pAllocator, iview); in dzn_image_view_destroy()
1205 struct dzn_image_view *iview = in dzn_image_view_create() local
1206 vk_zalloc2(&device->vk.alloc, pAllocator, sizeof(*iview), 8, in dzn_image_view_create()
1208 if (!iview) in dzn_image_view_create()
1211 dzn_image_view_init(device, iview, pCreateInfo); in dzn_image_view_create()
1213 *out = dzn_image_view_to_handle(iview); in dzn_image_view_create()