vulkan: Combine textures and samplers again
authorBenjamin Otte <otte@redhat.com>
Wed, 28 Jun 2023 18:50:43 +0000 (20:50 +0200)
committerBenjamin Otte <otte@redhat.com>
Sun, 16 Jul 2023 10:12:36 +0000 (12:12 +0200)
commit8207c548cc1fd8f300b930974184a57aaca4bc34
tree55c79fe3dc5347e1938fe2b55795103f78dc43bf
parent83960622e3f7eb21dd5bb45639ce171f55d0d8b9
vulkan: Combine textures and samplers again

This reverts most of commit f420c143e0d8947a433704969bab02aea47d82f5
again because it turns out GPUs like combined images and samplers.

But: The one thing we don't revert is allowing the C code to select any
combination of sampler and image:
gsk_vulkan_render_get_image_descriptor() now takes a 2nd argument
specifying the sampler.

This allows the same flexibility as before, we just combine things
early.

This change was inspired by
https://developer.nvidia.com/blog/vulkan-dos-donts/
32 files changed:
gsk/vulkan/gskvulkanblendmodepipeline.c
gsk/vulkan/gskvulkanblendmodepipelineprivate.h
gsk/vulkan/gskvulkanblurpipeline.c
gsk/vulkan/gskvulkanblurpipelineprivate.h
gsk/vulkan/gskvulkancolormatrixop.c
gsk/vulkan/gskvulkancolortextpipeline.c
gsk/vulkan/gskvulkancolortextpipelineprivate.h
gsk/vulkan/gskvulkancrossfadepipeline.c
gsk/vulkan/gskvulkancrossfadepipelineprivate.h
gsk/vulkan/gskvulkaneffectpipeline.c
gsk/vulkan/gskvulkaneffectpipelineprivate.h
gsk/vulkan/gskvulkanrender.c
gsk/vulkan/gskvulkanrenderpass.c
gsk/vulkan/gskvulkanrenderprivate.h
gsk/vulkan/gskvulkantextpipeline.c
gsk/vulkan/gskvulkantextpipelineprivate.h
gsk/vulkan/gskvulkantextureop.c
gsk/vulkan/gskvulkantexturepipeline.c
gsk/vulkan/gskvulkantexturepipelineprivate.h
gsk/vulkan/resources/blend-mode.frag
gsk/vulkan/resources/blend-mode.vert
gsk/vulkan/resources/blur.frag
gsk/vulkan/resources/blur.vert
gsk/vulkan/resources/color-matrix.frag
gsk/vulkan/resources/color-matrix.vert
gsk/vulkan/resources/common.frag.glsl
gsk/vulkan/resources/cross-fade.frag
gsk/vulkan/resources/cross-fade.vert
gsk/vulkan/resources/mask.frag
gsk/vulkan/resources/mask.vert
gsk/vulkan/resources/texture.frag
gsk/vulkan/resources/texture.vert