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>2020-11-30 16:52:46 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-11-30 16:55:46 +0300
commitf61ad0e1017bcf924b0529738c08c3a74d1e7476 (patch)
tree9c09708721736b557a126d39e503f9e2b9ba95ef /source/blender/gpu
parent6fba2726c77167f8a4746312cb0d522fd43e4c63 (diff)
Fix T83203 BGL: shader.program wrongly always returns 0
This was a leftover from the 2.91 GPU module refactor. This is an exception that should be removed when we remove BGL.
Diffstat (limited to 'source/blender/gpu')
-rw-r--r--source/blender/gpu/intern/gpu_shader.cc7
-rw-r--r--source/blender/gpu/intern/gpu_shader_private.hh3
-rw-r--r--source/blender/gpu/opengl/gl_shader.cc5
-rw-r--r--source/blender/gpu/opengl/gl_shader.hh3
4 files changed, 14 insertions, 4 deletions
diff --git a/source/blender/gpu/intern/gpu_shader.cc b/source/blender/gpu/intern/gpu_shader.cc
index 49f96cb652c..827ea06686f 100644
--- a/source/blender/gpu/intern/gpu_shader.cc
+++ b/source/blender/gpu/intern/gpu_shader.cc
@@ -591,11 +591,10 @@ int GPU_shader_get_attribute(GPUShader *shader, const char *name)
/** \name Getters
* \{ */
-/* Clement : Temp */
-int GPU_shader_get_program(GPUShader *UNUSED(shader))
+/* DEPRECATED: Kept only because of BGL API */
+int GPU_shader_get_program(GPUShader *shader)
{
- /* TODO fixme */
- return (int)0;
+ return unwrap(shader)->program_handle_get();
}
/** \} */
diff --git a/source/blender/gpu/intern/gpu_shader_private.hh b/source/blender/gpu/intern/gpu_shader_private.hh
index eac39dccd81..3c29fdec36c 100644
--- a/source/blender/gpu/intern/gpu_shader_private.hh
+++ b/source/blender/gpu/intern/gpu_shader_private.hh
@@ -64,6 +64,9 @@ class Shader {
virtual void vertformat_from_shader(GPUVertFormat *) const = 0;
+ /* DEPRECATED: Kept only because of BGL API. */
+ virtual int program_handle_get(void) const = 0;
+
inline const char *const name_get(void) const
{
return name;
diff --git a/source/blender/gpu/opengl/gl_shader.cc b/source/blender/gpu/opengl/gl_shader.cc
index cc5f83228d6..28b89ad48f5 100644
--- a/source/blender/gpu/opengl/gl_shader.cc
+++ b/source/blender/gpu/opengl/gl_shader.cc
@@ -426,4 +426,9 @@ void GLShader::vertformat_from_shader(GPUVertFormat *format) const
}
}
+int GLShader::program_handle_get(void) const
+{
+ return (int)this->shader_program_;
+}
+
/** \} */
diff --git a/source/blender/gpu/opengl/gl_shader.hh b/source/blender/gpu/opengl/gl_shader.hh
index a686014f4c5..befb2bce8b0 100644
--- a/source/blender/gpu/opengl/gl_shader.hh
+++ b/source/blender/gpu/opengl/gl_shader.hh
@@ -71,6 +71,9 @@ class GLShader : public Shader {
void vertformat_from_shader(GPUVertFormat *format) const override;
+ /* DEPRECATED: Kept only because of BGL API. */
+ int program_handle_get(void) const override;
+
private:
char *glsl_patch_get(void);