diff options
-rw-r--r-- | include/render/vulkan.h | 4 | ||||
-rw-r--r-- | render/vulkan/pixel_format.c | 40 | ||||
-rw-r--r-- | render/vulkan/renderer.c | 9 | ||||
-rw-r--r-- | render/vulkan/texture.c | 15 |
4 files changed, 32 insertions, 36 deletions
diff --git a/include/render/vulkan.h b/include/render/vulkan.h index 93e492cf..d5c8190e 100644 --- a/include/render/vulkan.h +++ b/include/render/vulkan.h @@ -79,8 +79,8 @@ int vulkan_find_mem_type(struct wlr_vk_device *device, VkMemoryPropertyFlags flags, uint32_t req_bits); struct wlr_vk_format { - uint32_t drm_format; - VkFormat vk_format; + uint32_t drm; + VkFormat vk; bool is_srgb; }; diff --git a/render/vulkan/pixel_format.c b/render/vulkan/pixel_format.c index 81c6a54e..30a44b91 100644 --- a/render/vulkan/pixel_format.c +++ b/render/vulkan/pixel_format.c @@ -8,29 +8,29 @@ // Reversed endianess of shm and vulkan format names static const struct wlr_vk_format formats[] = { { - .drm_format = DRM_FORMAT_ARGB8888, - .vk_format = VK_FORMAT_B8G8R8A8_SRGB, + .drm = DRM_FORMAT_ARGB8888, + .vk = VK_FORMAT_B8G8R8A8_SRGB, .is_srgb = true, }, { - .drm_format = DRM_FORMAT_XRGB8888, - .vk_format = VK_FORMAT_B8G8R8A8_SRGB, + .drm = DRM_FORMAT_XRGB8888, + .vk = VK_FORMAT_B8G8R8A8_SRGB, .is_srgb = true, }, { - .drm_format = DRM_FORMAT_XBGR8888, - .vk_format = VK_FORMAT_R8G8B8A8_SRGB, + .drm = DRM_FORMAT_XBGR8888, + .vk = VK_FORMAT_R8G8B8A8_SRGB, .is_srgb = true, }, { - .drm_format = DRM_FORMAT_ABGR8888, - .vk_format = VK_FORMAT_R8G8B8A8_SRGB, + .drm = DRM_FORMAT_ABGR8888, + .vk = VK_FORMAT_R8G8B8A8_SRGB, .is_srgb = true, }, #if WLR_LITTLE_ENDIAN { - .drm_format = DRM_FORMAT_RGB565, - .vk_format = VK_FORMAT_R5G6B5_UNORM_PACK16, + .drm = DRM_FORMAT_RGB565, + .vk = VK_FORMAT_R5G6B5_UNORM_PACK16, }, #endif }; @@ -42,7 +42,7 @@ const struct wlr_vk_format *vulkan_get_format_list(size_t *len) { const struct wlr_vk_format *vulkan_get_format_from_drm(uint32_t drm_format) { for (unsigned i = 0; i < sizeof(formats) / sizeof(formats[0]); ++i) { - if (formats[i].drm_format == drm_format) { + if (formats[i].drm == drm_format) { return &formats[i]; } } @@ -97,8 +97,7 @@ static bool query_modifier_support(struct wlr_vk_device *dev, return false; } - vkGetPhysicalDeviceFormatProperties2(dev->phdev, - props->format.vk_format, &fmtp); + vkGetPhysicalDeviceFormatProperties2(dev->phdev, props->format.vk, &fmtp); props->render_mods = calloc(modp.drmFormatModifierCount, sizeof(*props->render_mods)); @@ -175,7 +174,7 @@ static bool query_modifier_support(struct wlr_vk_device *dev, found = true; wlr_drm_format_set_add(&dev->dmabuf_render_formats, - props->format.drm_format, m.drmFormatModifier); + props->format.drm, m.drmFormatModifier); render_status = "✓ render"; } else { @@ -210,7 +209,7 @@ static bool query_modifier_support(struct wlr_vk_device *dev, found = true; wlr_drm_format_set_add(&dev->dmabuf_texture_formats, - props->format.drm_format, m.drmFormatModifier); + props->format.drm, m.drmFormatModifier); texture_status = "✓ texture"; } else { @@ -236,9 +235,9 @@ void vulkan_format_props_query(struct wlr_vk_device *dev, const struct wlr_vk_format *format) { VkResult res; - char *format_name = drmGetFormatName(format->drm_format); + char *format_name = drmGetFormatName(format->drm); wlr_log(WLR_DEBUG, " %s (0x%08"PRIX32")", - format_name ? format_name : "<unknown>", format->drm_format); + format_name ? format_name : "<unknown>", format->drm); free(format_name); // get general features and modifiers @@ -249,14 +248,13 @@ void vulkan_format_props_query(struct wlr_vk_device *dev, modp.sType = VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT; fmtp.pNext = &modp; - vkGetPhysicalDeviceFormatProperties2(dev->phdev, - format->vk_format, &fmtp); + vkGetPhysicalDeviceFormatProperties2(dev->phdev, format->vk, &fmtp); // detailed check VkPhysicalDeviceImageFormatInfo2 fmti = {0}; fmti.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2; fmti.type = VK_IMAGE_TYPE_2D; - fmti.format = format->vk_format; + fmti.format = format->vk; VkImageFormatProperties2 ifmtp = {0}; ifmtp.sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2; @@ -290,7 +288,7 @@ void vulkan_format_props_query(struct wlr_vk_device *dev, shm_texture_status = "✓ texture"; - dev->shm_formats[dev->shm_format_count] = format->drm_format; + dev->shm_formats[dev->shm_format_count] = format->drm; ++dev->shm_format_count; add_fmt_props = true; diff --git a/render/vulkan/renderer.c b/render/vulkan/renderer.c index 35361813..b6cbdbc7 100644 --- a/render/vulkan/renderer.c +++ b/render/vulkan/renderer.c @@ -392,7 +392,7 @@ bool vulkan_submit_stage_wait(struct wlr_vk_renderer *renderer) { struct wlr_vk_format_props *vulkan_format_props_from_drm( struct wlr_vk_device *dev, uint32_t drm_fmt) { for (size_t i = 0u; i < dev->format_prop_count; ++i) { - if (dev->format_props[i].format.drm_format == drm_fmt) { + if (dev->format_props[i].format.drm == drm_fmt) { return &dev->format_props[i]; } } @@ -618,7 +618,7 @@ static struct wlr_vk_render_buffer *create_render_buffer( .sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, .image = buffer->image, .viewType = VK_IMAGE_VIEW_TYPE_2D, - .format = fmt->format.vk_format, + .format = fmt->format.vk, .components.r = VK_COMPONENT_SWIZZLE_IDENTITY, .components.g = VK_COMPONENT_SWIZZLE_IDENTITY, .components.b = VK_COMPONENT_SWIZZLE_IDENTITY, @@ -638,8 +638,7 @@ static struct wlr_vk_render_buffer *create_render_buffer( goto error_view; } - buffer->render_setup = find_or_create_render_setup( - renderer, fmt->format.vk_format); + buffer->render_setup = find_or_create_render_setup(renderer, fmt->format.vk); if (!buffer->render_setup) { goto error_view; } @@ -1315,7 +1314,7 @@ static bool vulkan_read_pixels(struct wlr_renderer *wlr_renderer, "matching drm format 0x%08x available", drm_format); return false; } - VkFormat dst_format = wlr_vk_format->vk_format; + VkFormat dst_format = wlr_vk_format->vk; VkFormat src_format = vk_renderer->current_render_buffer->render_setup->render_format; VkFormatProperties dst_format_props = {0}, src_format_props = {0}; vkGetPhysicalDeviceFormatProperties(vk_renderer->dev->phdev, dst_format, &dst_format_props); diff --git a/render/vulkan/texture.c b/render/vulkan/texture.c index b03cec4a..131e03ba 100644 --- a/render/vulkan/texture.c +++ b/render/vulkan/texture.c @@ -43,8 +43,7 @@ static bool write_pixels(struct wlr_vk_texture *texture, struct wlr_vk_renderer *renderer = texture->renderer; VkDevice dev = texture->renderer->dev->dev; - const struct wlr_pixel_format_info *format_info = drm_get_pixel_format_info( - texture->format->drm_format); + const struct wlr_pixel_format_info *format_info = drm_get_pixel_format_info(texture->format->drm); assert(format_info); uint32_t bsize = 0; @@ -177,7 +176,7 @@ static bool vulkan_texture_update_from_buffer(struct wlr_texture *wlr_texture, bool ok = true; - if (format != texture->format->drm_format) { + if (format != texture->format->drm) { ok = false; goto out; } @@ -287,7 +286,7 @@ static struct wlr_texture *vulkan_texture_from_pixels( VkImageCreateInfo img_info = { .sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, .imageType = VK_IMAGE_TYPE_2D, - .format = texture->format->vk_format, + .format = texture->format->vk, .mipLevels = 1, .arrayLayers = 1, .samples = VK_SAMPLE_COUNT_1_BIT, @@ -342,7 +341,7 @@ static struct wlr_texture *vulkan_texture_from_pixels( VkImageViewCreateInfo view_info = { .sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, .viewType = VK_IMAGE_VIEW_TYPE_2D, - .format = texture->format->vk_format, + .format = texture->format->vk, .components.r = VK_COMPONENT_SWIZZLE_IDENTITY, .components.g = VK_COMPONENT_SWIZZLE_IDENTITY, .components.b = VK_COMPONENT_SWIZZLE_IDENTITY, @@ -488,7 +487,7 @@ VkImage vulkan_import_dmabuf(struct wlr_vk_renderer *renderer, VkImageCreateInfo img_info = { .sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, .imageType = VK_IMAGE_TYPE_2D, - .format = fmt->format.vk_format, + .format = fmt->format.vk, .mipLevels = 1, .arrayLayers = 1, .samples = VK_SAMPLE_COUNT_1_BIT, @@ -678,7 +677,7 @@ static struct wlr_vk_texture *vulkan_texture_from_dmabuf( VkImageViewCreateInfo view_info = { .sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, .viewType = VK_IMAGE_VIEW_TYPE_2D, - .format = texture->format->vk_format, + .format = texture->format->vk, .components.r = VK_COMPONENT_SWIZZLE_IDENTITY, .components.g = VK_COMPONENT_SWIZZLE_IDENTITY, .components.b = VK_COMPONENT_SWIZZLE_IDENTITY, @@ -796,7 +795,7 @@ void wlr_vk_texture_get_image_attribs(struct wlr_texture *texture, struct wlr_vk_image_attribs *attribs) { struct wlr_vk_texture *vk_texture = vulkan_get_texture(texture); attribs->image = vk_texture->image; - attribs->format = vk_texture->format->vk_format; + attribs->format = vk_texture->format->vk; attribs->layout = vk_texture->transitioned ? VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL : VK_IMAGE_LAYOUT_UNDEFINED; } |