~mmach/netext73/mesa-ryzen

« back to all changes in this revision

Viewing changes to src/intel/vulkan/anv_android.c

  • Committer: mmach
  • Date: 2023-11-02 21:31:35 UTC
  • Revision ID: netbit73@gmail.com-20231102213135-18d4tzh7tj0uz752
2023-11-02 22:11:57

Show diffs side-by-side

added added

removed removed

Lines of Context:
114
114
vk_format_from_android(unsigned android_format, unsigned android_usage)
115
115
{
116
116
   switch (android_format) {
117
 
   case AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM:
118
 
      return VK_FORMAT_R8G8B8A8_UNORM;
119
117
   case AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM:
120
 
   case AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM:
121
118
      return VK_FORMAT_R8G8B8_UNORM;
122
 
   case AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM:
123
 
      return VK_FORMAT_R5G6B5_UNORM_PACK16;
124
 
   case AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT:
125
 
      return VK_FORMAT_R16G16B16A16_SFLOAT;
126
 
   case AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM:
127
 
      return VK_FORMAT_A2B10G10R10_UNORM_PACK32;
128
119
   case AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420:
129
120
   case HAL_PIXEL_FORMAT_NV12_Y_TILED_INTEL:
130
121
      return VK_FORMAT_G8_B8R8_2PLANE_420_UNORM;
133
124
         return VK_FORMAT_G8_B8R8_2PLANE_420_UNORM;
134
125
      else
135
126
         return VK_FORMAT_R8G8B8_UNORM;
136
 
   case AHARDWAREBUFFER_FORMAT_BLOB:
137
127
   default:
138
 
      return VK_FORMAT_UNDEFINED;
 
128
      return vk_ahb_format_to_image_format(android_format);
139
129
   }
140
130
}
141
131
 
143
133
anv_ahb_format_for_vk_format(VkFormat vk_format)
144
134
{
145
135
   switch (vk_format) {
146
 
   case VK_FORMAT_R8G8B8A8_UNORM:
147
 
      return AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM;
148
 
   case VK_FORMAT_R8G8B8_UNORM:
149
 
      return AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM;
150
 
   case VK_FORMAT_R5G6B5_UNORM_PACK16:
151
 
      return AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM;
152
 
   case VK_FORMAT_R16G16B16A16_SFLOAT:
153
 
      return AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT;
154
 
   case VK_FORMAT_A2B10G10R10_UNORM_PACK32:
155
 
      return AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM;
156
136
   case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:
157
137
#ifdef HAVE_CROS_GRALLOC
158
138
      return AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420;
160
140
      return HAL_PIXEL_FORMAT_NV12_Y_TILED_INTEL;
161
141
#endif
162
142
   default:
163
 
      return AHARDWAREBUFFER_FORMAT_BLOB;
 
143
      return vk_image_format_to_ahb_format(vk_format);
164
144
   }
165
145
}
166
146
 
205
185
      tiling = VK_IMAGE_TILING_LINEAR;
206
186
 
207
187
   p->formatFeatures =
208
 
      anv_get_image_format_features2(device->info, p->format, anv_format,
 
188
      anv_get_image_format_features2(device->physical, p->format, anv_format,
209
189
                                     tiling, NULL);
210
190
 
211
191
   /* "Images can be created with an external format even if the Android hardware