[Bf-blender-cvs] [ba4de7f1a58] master: GPUShader: Add GPU_VERTEX/FRAGMENT/GEOMETRY_SHADER defines
Clément Foucault
noreply at git.blender.org
Mon Jan 21 12:54:53 CET 2019
Commit: ba4de7f1a58430c0e6153612bd585e3642d06b2d
Author: Clément Foucault
Date: Mon Jan 21 12:50:57 2019 +0100
Branches: master
https://developer.blender.org/rBba4de7f1a58430c0e6153612bd585e3642d06b2d
GPUShader: Add GPU_VERTEX/FRAGMENT/GEOMETRY_SHADER defines
This makes it possible to have some code specific to each shader inside a
shader library.
===================================================================
M source/blender/gpu/intern/gpu_shader.c
===================================================================
diff --git a/source/blender/gpu/intern/gpu_shader.c b/source/blender/gpu/intern/gpu_shader.c
index 0c1ea0d97d5..7739feacbf0 100644
--- a/source/blender/gpu/intern/gpu_shader.c
+++ b/source/blender/gpu/intern/gpu_shader.c
@@ -361,7 +361,7 @@ GPUShader *GPU_shader_create_ex(
#endif
/* At least a vertex shader and a fragment shader are required. */
- // BLI_assert((fragcode != NULL) && (vertexcode != NULL));
+ BLI_assert((fragcode != NULL) && (vertexcode != NULL));
if (vertexcode)
shader->vertex = glCreateShader(GL_VERTEX_SHADER);
@@ -386,11 +386,12 @@ GPUShader *GPU_shader_create_ex(
gpu_shader_standard_extensions(standard_extensions);
if (vertexcode) {
- const char *source[5];
+ const char *source[6];
/* custom limit, may be too small, beware */
int num_source = 0;
source[num_source++] = gpu_shader_version();
+ source[num_source++] = "#define GPU_VERTEX_SHADER\n";
source[num_source++] = standard_extensions;
source[num_source++] = standard_defines;
@@ -419,6 +420,7 @@ GPUShader *GPU_shader_create_ex(
int num_source = 0;
source[num_source++] = gpu_shader_version();
+ source[num_source++] = "#define GPU_FRAGMENT_SHADER\n";
source[num_source++] = standard_extensions;
source[num_source++] = standard_defines;
@@ -448,6 +450,7 @@ GPUShader *GPU_shader_create_ex(
int num_source = 0;
source[num_source++] = gpu_shader_version();
+ source[num_source++] = "#define GPU_GEOMETRY_SHADER\n";
source[num_source++] = standard_extensions;
source[num_source++] = standard_defines;
More information about the Bf-blender-cvs
mailing list