Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2022-02-25 00:45:00 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-02-25 00:51:19 +0300
commit7d7dd66ba78fc97795edeb7c1a0221e4bb676c85 (patch)
tree06622b61fe95999935aefda6bd7b9fbe745dbbfc /source/blender/gpu/GPU_texture.h
parente59f754c169d855110296a365d93c33e82333385 (diff)
GPUTexture: Add support for texture view
This is an OpenGL 4.3 feature that enables creating a texture using a range of the same data as another texture.
Diffstat (limited to 'source/blender/gpu/GPU_texture.h')
-rw-r--r--source/blender/gpu/GPU_texture.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/gpu/GPU_texture.h b/source/blender/gpu/GPU_texture.h
index d689fbe14b5..734d407d011 100644
--- a/source/blender/gpu/GPU_texture.h
+++ b/source/blender/gpu/GPU_texture.h
@@ -226,6 +226,19 @@ GPUTexture *GPU_texture_create_compressed_2d(
* Create an error texture that will bind an invalid texture (pink) at draw time.
*/
GPUTexture *GPU_texture_create_error(int dimension, bool array);
+/**
+ * Create an alias of the source texture data.
+ * If \a src is freed, the texture view will continue to be valid.
+ * If \a mip_start or \a mip_len is bigger than available mips they will be clamped.
+ * TODO(@fclem): Target conversion is not implemented yet.
+ */
+GPUTexture *GPU_texture_create_view(const char *name,
+ const GPUTexture *src,
+ eGPUTextureFormat format,
+ int mip_start,
+ int mip_len,
+ int layer_start,
+ int layer_len);
void GPU_texture_update_mipmap(GPUTexture *tex,
int miplvl,