mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-02 13:01:27 +12:00
vk: Fix build
This commit is contained in:
parent
49729086ac
commit
4d493bbb80
1 changed files with 34 additions and 1 deletions
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
namespace vk
|
namespace vk
|
||||||
{
|
{
|
||||||
extern vk::render_device* get_current_renderer();
|
extern const vk::render_device* get_current_renderer();
|
||||||
|
|
||||||
namespace glsl
|
namespace glsl
|
||||||
{
|
{
|
||||||
|
@ -331,10 +331,43 @@ namespace vk
|
||||||
|
|
||||||
void program::bind_buffer(const VkDescriptorBufferInfo &buffer_descriptor, u32 binding_point, VkDescriptorType type)
|
void program::bind_buffer(const VkDescriptorBufferInfo &buffer_descriptor, u32 binding_point, VkDescriptorType type)
|
||||||
{
|
{
|
||||||
|
if (m_descriptor_slots[binding_point].matches(buffer_descriptor))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
next_descriptor_set();
|
||||||
m_descriptor_set.push(buffer_descriptor, type, binding_point);
|
m_descriptor_set.push(buffer_descriptor, type, binding_point);
|
||||||
m_descriptors_dirty[binding_point] = false;
|
m_descriptors_dirty[binding_point] = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void program::bind_uniform_array(const VkDescriptorImageInfo* image_descriptors, VkDescriptorType type, int count, u32 binding_point)
|
||||||
|
{
|
||||||
|
// FIXME: Unoptimized...
|
||||||
|
bool match = true;
|
||||||
|
for (int i = 0; i < count; ++i)
|
||||||
|
{
|
||||||
|
if (!m_descriptor_slots[binding_point + i].matches(image_descriptors[i]))
|
||||||
|
{
|
||||||
|
match = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (match)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
next_descriptor_set();
|
||||||
|
m_descriptor_set.push(image_descriptors, static_cast<u32>(count), type, binding_point);
|
||||||
|
|
||||||
|
for (int i = 0; i < count; ++i)
|
||||||
|
{
|
||||||
|
m_descriptors_dirty[binding_point] = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
VkDescriptorSet program::allocate_descriptor_set()
|
VkDescriptorSet program::allocate_descriptor_set()
|
||||||
{
|
{
|
||||||
if (!m_descriptor_pool)
|
if (!m_descriptor_pool)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue