mirror of
https://github.com/love2d/love.git
synced 2026-08-16 16:20:42 +02:00
vulkan: remove internal Shader::attach call
Shader::attach() should not be called internally by a graphics backend.
This commit is contained in:
@@ -1007,6 +1007,8 @@ graphics::StreamBuffer *Graphics::newStreamBuffer(BufferUsage type, size_t size)
|
||||
|
||||
bool Graphics::dispatch(int x, int y, int z)
|
||||
{
|
||||
usedShadersInFrame.insert(computeShader);
|
||||
|
||||
if (renderPassState.active)
|
||||
endRenderPass();
|
||||
|
||||
@@ -2226,7 +2228,7 @@ void Graphics::prepareDraw(const VertexAttributes &attributes, const BufferBindi
|
||||
if (!renderPassState.active)
|
||||
startRenderPass();
|
||||
|
||||
Shader::current->attach();
|
||||
usedShadersInFrame.insert((dynamic_cast<Shader*>(Shader::current)));
|
||||
|
||||
GraphicsPipelineConfiguration configuration{};
|
||||
|
||||
@@ -2489,11 +2491,6 @@ void Graphics::setComputeShader(Shader *shader)
|
||||
computeShader = shader;
|
||||
}
|
||||
|
||||
void Graphics::markShaderUsed(Shader *shader)
|
||||
{
|
||||
usedShadersInFrame.insert(shader);
|
||||
}
|
||||
|
||||
VkSampler Graphics::getCachedSampler(const SamplerState &samplerState)
|
||||
{
|
||||
auto samplerkey = samplerState.toKey();
|
||||
|
||||
@@ -293,7 +293,6 @@ public:
|
||||
graphics::Texture *getDefaultTexture() const;
|
||||
VkSampler getCachedSampler(const SamplerState &sampler);
|
||||
void setComputeShader(Shader *computeShader);
|
||||
void markShaderUsed(Shader*);
|
||||
graphics::Shader::BuiltinUniformData getCurrentBuiltinUniformData();
|
||||
const OptionalDeviceFeatures &getEnabledOptionalDeviceExtensions() const;
|
||||
VkSampleCountFlagBits getMsaaCount(int requestedMsaa) const;
|
||||
@@ -394,7 +393,7 @@ private:
|
||||
VkImageView depthImageView = VK_NULL_HANDLE;
|
||||
VmaAllocation depthImageAllocation = VK_NULL_HANDLE;
|
||||
VkRenderPass defaultRenderPass = VK_NULL_HANDLE;
|
||||
VkPipelineCache pipelineCache;
|
||||
VkPipelineCache pipelineCache = VK_NULL_HANDLE;
|
||||
std::vector<VkFramebuffer> defaultFramebuffers;
|
||||
std::unordered_map<RenderPassConfiguration, VkRenderPass, RenderPassConfigurationHasher> renderPasses;
|
||||
std::unordered_map<FramebufferConfiguration, VkFramebuffer, FramebufferConfigurationHasher> framebuffers;
|
||||
|
||||
@@ -25,8 +25,6 @@
|
||||
#include "libraries/glslang/SPIRV/GlslangToSpv.h"
|
||||
|
||||
|
||||
#include <vector>
|
||||
|
||||
namespace love
|
||||
{
|
||||
namespace graphics
|
||||
@@ -473,8 +471,6 @@ Shader::~Shader()
|
||||
|
||||
void Shader::attach()
|
||||
{
|
||||
vgfx->markShaderUsed(this);
|
||||
|
||||
if (!isCompute)
|
||||
{
|
||||
if (Shader::current != this)
|
||||
|
||||
Reference in New Issue
Block a user