vulkan: fix incorrect textures in shader uniforms

This commit is contained in:
niki
2022-12-24 22:37:58 +01:00
parent 28c69597e4
commit 8694c44207
4 changed files with 42 additions and 44 deletions
+5 -3
View File
@@ -35,6 +35,7 @@
#include <memory>
#include <unordered_map>
#include <queue>
#include <set>
namespace love
@@ -63,7 +64,7 @@ public:
const VkPipelineLayout getGraphicsPipelineLayout() const;
void newFrame(uint32_t frameIndex);
void newFrame();
void cmdPushDescriptorSets(VkCommandBuffer, VkPipelineBindPoint);
@@ -101,7 +102,6 @@ private:
const spirv_cross::SPIRType &type,
size_t baseoff,
const std::string &basename);
void initDescriptorSet();
void updateUniform(const UniformInfo *info, int count, bool internal);
VkDescriptorSet allocateDescriptorSet();
@@ -121,6 +121,8 @@ private:
std::queue<VkDescriptorSet> freeDescriptorSets;
std::vector<std::vector<VkDescriptorSet>> descriptorSetsVector;
std::set<uint32_t> updatedUniforms;
std::vector<VkPipelineShaderStageCreateInfo> shaderStages;
std::vector<VkShaderModule> shaderModules;
@@ -135,7 +137,7 @@ private:
std::unique_ptr<StreamBuffer> uniformBufferObjectBuffer;
std::vector<uint8> localUniformData;
std::vector<uint8> localUniformStagingData;
uint32_t uniformLocation;
uint32_t localUniformLocation;
OptionalInt builtinUniformDataOffset;
std::unordered_map<std::string, int> attributes;