mirror of
https://gitlab.freedesktop.org/monado/monado.git
synced 2024-12-29 11:06:18 +00:00
c/render: Add and use new samplers
This commit is contained in:
parent
7b8d3c0907
commit
8d738248b0
|
@ -580,7 +580,7 @@ render_compute_projection_timewarp(struct render_compute *crc,
|
|||
VK_IMAGE_LAYOUT_GENERAL, //
|
||||
subresource_range); //
|
||||
|
||||
VkSampler sampler = r->compute.default_sampler;
|
||||
VkSampler sampler = r->samplers.clamp_to_edge;
|
||||
VkSampler distortion_samplers[6] = {
|
||||
sampler, sampler, sampler, sampler, sampler, sampler,
|
||||
};
|
||||
|
@ -700,7 +700,7 @@ render_compute_projection(struct render_compute *crc,
|
|||
VK_IMAGE_LAYOUT_GENERAL, //
|
||||
subresource_range); //
|
||||
|
||||
VkSampler sampler = r->compute.default_sampler;
|
||||
VkSampler sampler = r->samplers.clamp_to_edge;
|
||||
VkSampler distortion_samplers[6] = {
|
||||
sampler, sampler, sampler, sampler, sampler, sampler,
|
||||
};
|
||||
|
@ -821,7 +821,7 @@ render_compute_clear(struct render_compute *crc, //
|
|||
VK_IMAGE_LAYOUT_GENERAL, //
|
||||
subresource_range); //
|
||||
|
||||
VkSampler sampler = r->compute.default_sampler;
|
||||
VkSampler sampler = r->samplers.mock;
|
||||
VkSampler src_samplers[2] = {sampler, sampler};
|
||||
VkImageView src_image_views[2] = {r->mock.color.image_view, r->mock.color.image_view};
|
||||
VkSampler distortion_samplers[6] = {sampler, sampler, sampler, sampler, sampler, sampler};
|
||||
|
|
|
@ -237,6 +237,21 @@ struct render_resources
|
|||
//! Command buffer for recording everything.
|
||||
VkCommandBuffer cmd;
|
||||
|
||||
struct
|
||||
{
|
||||
//! Sampler for mock/null images.
|
||||
VkSampler mock;
|
||||
|
||||
//! Sampler that repeats the texture in all directions.
|
||||
VkSampler repeat;
|
||||
|
||||
//! Sampler that clamps the coordinates to the edge in all directions.
|
||||
VkSampler clamp_to_edge;
|
||||
|
||||
//! Sampler that clamps color samples to black in all directions.
|
||||
VkSampler clamp_to_border_black;
|
||||
} samplers;
|
||||
|
||||
struct
|
||||
{
|
||||
//! The binding index for the source texture.
|
||||
|
|
|
@ -575,6 +575,31 @@ render_resources_init(struct render_resources *r,
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* Common samplers.
|
||||
*/
|
||||
|
||||
C(vk_create_sampler( //
|
||||
vk, // vk_bundle
|
||||
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, // clamp_mode
|
||||
&r->samplers.mock)); // out_sampler
|
||||
|
||||
C(vk_create_sampler( //
|
||||
vk, // vk_bundle
|
||||
VK_SAMPLER_ADDRESS_MODE_REPEAT, // clamp_mode
|
||||
&r->samplers.repeat)); // out_sampler
|
||||
|
||||
C(vk_create_sampler( //
|
||||
vk, // vk_bundle
|
||||
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, // clamp_mode
|
||||
&r->samplers.clamp_to_edge)); // out_sampler
|
||||
|
||||
C(vk_create_sampler( //
|
||||
vk, // vk_bundle
|
||||
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER, // clamp_mode
|
||||
&r->samplers.clamp_to_border_black)); // out_sampler
|
||||
|
||||
|
||||
/*
|
||||
* Command buffer pool, needs to go first.
|
||||
*/
|
||||
|
@ -961,6 +986,11 @@ render_resources_close(struct render_resources *r)
|
|||
|
||||
struct vk_bundle *vk = r->vk;
|
||||
|
||||
D(Sampler, r->samplers.mock);
|
||||
D(Sampler, r->samplers.repeat);
|
||||
D(Sampler, r->samplers.clamp_to_edge);
|
||||
D(Sampler, r->samplers.clamp_to_border_black);
|
||||
|
||||
D(ImageView, r->mock.color.image_view);
|
||||
D(Image, r->mock.color.image);
|
||||
DF(Memory, r->mock.color.memory);
|
||||
|
|
Loading…
Reference in a new issue