Browse Source

Clean up some obsolete internal graphics code

Alex Szpakowski 4 years ago
parent
commit
2e2ebe95cd

+ 2 - 2
src/modules/graphics/Texture.cpp

@@ -421,7 +421,7 @@ void Texture::uploadImageData(love::image::ImageDataBase *d, int level, int slic
 		lock.setLock(id->getMutex());
 		lock.setLock(id->getMutex());
 
 
 	Rect rect = {x, y, d->getWidth(), d->getHeight()};
 	Rect rect = {x, y, d->getWidth(), d->getHeight()};
-	uploadByteData(d->getFormat(), d->getData(), d->getSize(), level, slice, rect, d);
+	uploadByteData(d->getFormat(), d->getData(), d->getSize(), level, slice, rect);
 }
 }
 
 
 void Texture::replacePixels(love::image::ImageDataBase *d, int slice, int mipmap, int x, int y, bool reloadmipmaps)
 void Texture::replacePixels(love::image::ImageDataBase *d, int slice, int mipmap, int x, int y, bool reloadmipmaps)
@@ -487,7 +487,7 @@ void Texture::replacePixels(const void *data, size_t size, int slice, int mipmap
 
 
 	Graphics::flushBatchedDrawsGlobal();
 	Graphics::flushBatchedDrawsGlobal();
 
 
-	uploadByteData(format, data, size, mipmap, slice, rect, nullptr);
+	uploadByteData(format, data, size, mipmap, slice, rect);
 
 
 	if (reloadmipmaps && mipmap == 0 && getMipmapCount() > 1)
 	if (reloadmipmaps && mipmap == 0 && getMipmapCount() > 1)
 		generateMipmaps();
 		generateMipmaps();

+ 1 - 1
src/modules/graphics/Texture.h

@@ -296,7 +296,7 @@ protected:
 	void setGraphicsMemorySize(int64 size);
 	void setGraphicsMemorySize(int64 size);
 
 
 	void uploadImageData(love::image::ImageDataBase *d, int level, int slice, int x, int y);
 	void uploadImageData(love::image::ImageDataBase *d, int level, int slice, int x, int y);
-	virtual void uploadByteData(PixelFormat pixelformat, const void *data, size_t size, int level, int slice, const Rect &r, love::image::ImageDataBase *imgd = nullptr) = 0;
+	virtual void uploadByteData(PixelFormat pixelformat, const void *data, size_t size, int level, int slice, const Rect &r) = 0;
 
 
 	virtual void generateMipmapsInternal() = 0;
 	virtual void generateMipmapsInternal() = 0;
 	virtual void readbackImageData(love::image::ImageData *imagedata, int slice, int mipmap, const Rect &rect) = 0;
 	virtual void readbackImageData(love::image::ImageData *imagedata, int slice, int mipmap, const Rect &rect) = 0;

+ 4 - 0
src/modules/graphics/opengl/Buffer.cpp

@@ -80,6 +80,10 @@ Buffer::Buffer(love::graphics::Graphics *gfx, const Settings &settings, const st
 		mapType = BUFFERTYPE_INDEX;
 		mapType = BUFFERTYPE_INDEX;
 	else  if (typeFlags & TYPEFLAG_SHADER_STORAGE)
 	else  if (typeFlags & TYPEFLAG_SHADER_STORAGE)
 		mapType = BUFFERTYPE_SHADER_STORAGE;
 		mapType = BUFFERTYPE_SHADER_STORAGE;
+	else if (typeFlags & TYPEFLAG_COPY_SOURCE)
+		mapType = BUFFERTYPE_COPY_SOURCE;
+	else if (typeFlags & TYPEFLAG_COPY_DEST)
+		mapType = BUFFERTYPE_COPY_DEST;
 
 
 	target = OpenGL::getGLBufferType(mapType);
 	target = OpenGL::getGLBufferType(mapType);
 
 

+ 2 - 12
src/modules/graphics/opengl/Texture.cpp

@@ -251,7 +251,7 @@ void Texture::createTexture()
 		int slices = texType == TEXTURE_CUBE ? 6 : 1;
 		int slices = texType == TEXTURE_CUBE ? 6 : 1;
 		Rect rect = {0, 0, 2, 2};
 		Rect rect = {0, 0, 2, 2};
 		for (int slice = 0; slice < slices; slice++)
 		for (int slice = 0; slice < slices; slice++)
-			uploadByteData(PIXELFORMAT_RGBA8_UNORM, px, sizeof(px), 0, slice, rect, nullptr);
+			uploadByteData(PIXELFORMAT_RGBA8_UNORM, px, sizeof(px), 0, slice, rect);
 
 
 		return;
 		return;
 	}
 	}
@@ -452,18 +452,8 @@ void Texture::unloadVolatile()
 	setGraphicsMemorySize(0);
 	setGraphicsMemorySize(0);
 }
 }
 
 
-void Texture::uploadByteData(PixelFormat pixelformat, const void *data, size_t size, int level, int slice, const Rect &r, love::image::ImageDataBase *imgd)
+void Texture::uploadByteData(PixelFormat pixelformat, const void *data, size_t size, int level, int slice, const Rect &r)
 {
 {
-	love::image::ImageDataBase *oldd = slices.get(slice, level);
-
-	// We can only replace the internal Data (used when reloading due to setMode)
-	// if the dimensions match.
-	if (imgd != nullptr && oldd != nullptr && oldd->getWidth() == imgd->getWidth()
-		&& oldd->getHeight() == imgd->getHeight())
-	{
-		slices.set(slice, level, imgd);
-	}
-
 	OpenGL::TempDebugGroup debuggroup("Texture data upload");
 	OpenGL::TempDebugGroup debuggroup("Texture data upload");
 
 
 	gl.bindTextureToUnit(this, 0, false);
 	gl.bindTextureToUnit(this, 0, false);

+ 1 - 1
src/modules/graphics/opengl/Texture.h

@@ -58,7 +58,7 @@ private:
 
 
 	void createTexture();
 	void createTexture();
 
 
-	void uploadByteData(PixelFormat pixelformat, const void *data, size_t size, int level, int slice, const Rect &r, love::image::ImageDataBase *imgd = nullptr) override;
+	void uploadByteData(PixelFormat pixelformat, const void *data, size_t size, int level, int slice, const Rect &r) override;
 
 
 	void generateMipmapsInternal() override;
 	void generateMipmapsInternal() override;