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
path: root/source
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2019-05-28 18:14:22 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-05-28 18:19:42 +0300
commit2100dba34bbec7fffdff787c01d3270ab7d3dfbb (patch)
tree6537a82b5ffe39e64da79faf8a0b875804567409 /source
parentfbe7c848c20c1f3fef0b2ee47b9d2d2fa19a5b5e (diff)
Cleanup: GPU: Move program point size to GPU_state
Diffstat (limited to 'source')
-rw-r--r--source/blender/draw/intern/draw_manager.c2
-rw-r--r--source/blender/draw/intern/draw_manager_exec.c2
-rw-r--r--source/blender/editors/animation/keyframes_draw.c4
-rw-r--r--source/blender/editors/gpencil/annotate_draw.c8
-rw-r--r--source/blender/editors/gpencil/drawgpencil.c12
-rw-r--r--source/blender/editors/interface/interface_icons.c4
-rw-r--r--source/blender/editors/mask/mask_draw.c4
-rw-r--r--source/blender/editors/space_clip/clip_dopesheet_draw.c4
-rw-r--r--source/blender/editors/space_graph/graph_draw.c4
-rw-r--r--source/blender/editors/space_nla/nla_draw.c4
-rw-r--r--source/blender/editors/space_node/node_draw.c4
-rw-r--r--source/blender/editors/uvedit/uvedit_draw.c4
-rw-r--r--source/blender/gpu/GPU_draw.h7
-rw-r--r--source/blender/gpu/GPU_shader.h1
-rw-r--r--source/blender/gpu/GPU_state.h1
-rw-r--r--source/blender/gpu/intern/gpu_draw.c12
-rw-r--r--source/blender/gpu/intern/gpu_state.c13
17 files changed, 43 insertions, 47 deletions
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index b1f8e951b3e..7a95120b273 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -2822,7 +2822,7 @@ void DRW_framebuffer_select_id_setup(ARegion *ar, const bool clear)
glDisable(GL_DITHER);
GPU_depth_test(true);
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
if (clear) {
GPU_framebuffer_clear_color_depth(
diff --git a/source/blender/draw/intern/draw_manager_exec.c b/source/blender/draw/intern/draw_manager_exec.c
index 11c19b292f0..ae0239a7e49 100644
--- a/source/blender/draw/intern/draw_manager_exec.c
+++ b/source/blender/draw/intern/draw_manager_exec.c
@@ -355,7 +355,7 @@ void DRW_state_reset(void)
DRW_state_reset_ex(DRW_STATE_DEFAULT);
GPU_point_size(5);
- GPU_enable_program_point_size();
+ GPU_program_point_size(true);
/* Reset blending function */
glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
diff --git a/source/blender/editors/animation/keyframes_draw.c b/source/blender/editors/animation/keyframes_draw.c
index 678afef5773..889d27480df 100644
--- a/source/blender/editors/animation/keyframes_draw.c
+++ b/source/blender/editors/animation/keyframes_draw.c
@@ -815,7 +815,7 @@ static void draw_keylist(View2D *v2d,
format, "outlineColor", GPU_COMP_U8, 4, GPU_FETCH_INT_TO_FLOAT_UNIT);
uint flags_id = GPU_vertformat_attr_add(format, "flags", GPU_COMP_U32, 1, GPU_FETCH_INT);
immBindBuiltinProgram(GPU_SHADER_KEYFRAME_DIAMOND);
- GPU_enable_program_point_size();
+ GPU_program_point_size(true);
immUniform2f(
"ViewportSize", BLI_rcti_size_x(&v2d->mask) + 1, BLI_rcti_size_y(&v2d->mask) + 1);
immBegin(GPU_PRIM_POINTS, key_len);
@@ -849,7 +849,7 @@ static void draw_keylist(View2D *v2d,
}
immEnd();
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
immUnbindProgram();
}
}
diff --git a/source/blender/editors/gpencil/annotate_draw.c b/source/blender/editors/gpencil/annotate_draw.c
index f325422fec7..a853e2bcc9a 100644
--- a/source/blender/editors/gpencil/annotate_draw.c
+++ b/source/blender/editors/gpencil/annotate_draw.c
@@ -561,7 +561,7 @@ static void annotation_draw_strokes(bGPdata *UNUSED(gpd),
short lthick,
const float color[4])
{
- GPU_enable_program_point_size();
+ GPU_program_point_size(true);
for (bGPDstroke *gps = gpf->strokes.first; gps; gps = gps->next) {
/* check if stroke can be drawn */
@@ -622,7 +622,7 @@ static void annotation_draw_strokes(bGPdata *UNUSED(gpd),
}
}
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
}
/* Draw selected verts for strokes being edited */
@@ -658,7 +658,7 @@ static void annotation_draw_strokes_edit(bGPdata *gpd,
}
}
- GPU_enable_program_point_size();
+ GPU_program_point_size(true);
/* draw stroke verts */
for (bGPDstroke *gps = gpf->strokes.first; gps; gps = gps->next) {
@@ -751,7 +751,7 @@ static void annotation_draw_strokes_edit(bGPdata *gpd,
immUnbindProgram();
}
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
/* clear depth mask */
if (dflag & GP_DRAWDATA_ONLY3D) {
diff --git a/source/blender/editors/gpencil/drawgpencil.c b/source/blender/editors/gpencil/drawgpencil.c
index ef74aa28b63..5f08035a56b 100644
--- a/source/blender/editors/gpencil/drawgpencil.c
+++ b/source/blender/editors/gpencil/drawgpencil.c
@@ -180,7 +180,7 @@ static void gp_draw_stroke_volumetric_2d(const bGPDspoint *points,
format, "color", GPU_COMP_U8, 4, GPU_FETCH_INT_TO_FLOAT_UNIT);
immBindBuiltinProgram(GPU_SHADER_3D_POINT_VARYING_SIZE_VARYING_COLOR);
- GPU_enable_program_point_size();
+ GPU_program_point_size(true);
immBegin(GPU_PRIM_POINTS, totpoints);
const bGPDspoint *pt = points;
@@ -199,7 +199,7 @@ static void gp_draw_stroke_volumetric_2d(const bGPDspoint *points,
immEnd();
immUnbindProgram();
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
}
/* draw a 3D stroke in "volumetric" style */
@@ -215,7 +215,7 @@ static void gp_draw_stroke_volumetric_3d(const bGPDspoint *points,
format, "color", GPU_COMP_U8, 4, GPU_FETCH_INT_TO_FLOAT_UNIT);
immBindBuiltinProgram(GPU_SHADER_3D_POINT_VARYING_SIZE_VARYING_COLOR);
- GPU_enable_program_point_size();
+ GPU_program_point_size(true);
immBegin(GPU_PRIM_POINTS, totpoints);
const bGPDspoint *pt = points;
@@ -229,7 +229,7 @@ static void gp_draw_stroke_volumetric_3d(const bGPDspoint *points,
immEnd();
immUnbindProgram();
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
}
/* --------------- Stroke Fills ----------------- */
@@ -867,7 +867,7 @@ static void gp_draw_strokes(tGPDdraw *tgpw)
short sthickness;
float ink[4];
- GPU_enable_program_point_size();
+ GPU_program_point_size(true);
bGPDstroke *gps_init = (tgpw->gps) ? tgpw->gps : tgpw->t_gpf->strokes.first;
@@ -1104,7 +1104,7 @@ static void gp_draw_strokes(tGPDdraw *tgpw)
}
}
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
}
/* ----- General Drawing ------ */
diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c
index fa3605269ff..6f1f4dde1ab 100644
--- a/source/blender/editors/interface/interface_icons.c
+++ b/source/blender/editors/interface/interface_icons.c
@@ -317,7 +317,7 @@ static void vicon_keytype_draw_wrapper(
uint flags_id = GPU_vertformat_attr_add(format, "flags", GPU_COMP_U32, 1, GPU_FETCH_INT);
immBindBuiltinProgram(GPU_SHADER_KEYFRAME_DIAMOND);
- GPU_enable_program_point_size();
+ GPU_program_point_size(true);
immUniform2f("ViewportSize", -1.0f, -1.0f);
immBegin(GPU_PRIM_POINTS, 1);
@@ -343,7 +343,7 @@ static void vicon_keytype_draw_wrapper(
KEYFRAME_EXTREME_NONE);
immEnd();
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
immUnbindProgram();
UI_Theme_Restore(&theme_state);
diff --git a/source/blender/editors/mask/mask_draw.c b/source/blender/editors/mask/mask_draw.c
index 33e89b1a7c5..d9ca58fa88c 100644
--- a/source/blender/editors/mask/mask_draw.c
+++ b/source/blender/editors/mask/mask_draw.c
@@ -600,7 +600,7 @@ static void draw_masklays(const bContext *C,
GPU_blend(true);
GPU_blend_set_func_separate(
GPU_SRC_ALPHA, GPU_ONE_MINUS_SRC_ALPHA, GPU_ONE, GPU_ONE_MINUS_SRC_ALPHA);
- GPU_enable_program_point_size();
+ GPU_program_point_size(true);
MaskLayer *masklay;
int i;
@@ -635,7 +635,7 @@ static void draw_masklays(const bContext *C,
}
}
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
GPU_blend(false);
}
diff --git a/source/blender/editors/space_clip/clip_dopesheet_draw.c b/source/blender/editors/space_clip/clip_dopesheet_draw.c
index 0f6e7947482..599a92ff77f 100644
--- a/source/blender/editors/space_clip/clip_dopesheet_draw.c
+++ b/source/blender/editors/space_clip/clip_dopesheet_draw.c
@@ -223,7 +223,7 @@ void clip_draw_dopesheet_main(SpaceClip *sc, ARegion *ar, Scene *scene)
uint flags_id = GPU_vertformat_attr_add(format, "flags", GPU_COMP_U32, 1, GPU_FETCH_INT);
immBindBuiltinProgram(GPU_SHADER_KEYFRAME_DIAMOND);
- GPU_enable_program_point_size();
+ GPU_program_point_size(true);
immUniform2f(
"ViewportSize", BLI_rcti_size_x(&v2d->mask) + 1, BLI_rcti_size_y(&v2d->mask) + 1);
immBegin(GPU_PRIM_POINTS, keyframe_len);
@@ -282,7 +282,7 @@ void clip_draw_dopesheet_main(SpaceClip *sc, ARegion *ar, Scene *scene)
}
immEnd();
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
immUnbindProgram();
}
diff --git a/source/blender/editors/space_graph/graph_draw.c b/source/blender/editors/space_graph/graph_draw.c
index 062c9f86fab..b16374e0d66 100644
--- a/source/blender/editors/space_graph/graph_draw.c
+++ b/source/blender/editors/space_graph/graph_draw.c
@@ -292,7 +292,7 @@ static void draw_fcurve_vertices(ARegion *ar, FCurve *fcu, bool do_handles, bool
uint pos = GPU_vertformat_attr_add(immVertexFormat(), "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
GPU_blend(true);
- GPU_enable_program_point_size();
+ GPU_program_point_size(true);
/* draw the two handles first (if they're shown, the curve doesn't
* have just a single keyframe, and the curve is being edited) */
@@ -303,7 +303,7 @@ static void draw_fcurve_vertices(ARegion *ar, FCurve *fcu, bool do_handles, bool
/* draw keyframes over the handles */
draw_fcurve_keyframe_vertices(fcu, v2d, !(fcu->flag & FCURVE_PROTECTED), pos);
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
GPU_blend(false);
}
diff --git a/source/blender/editors/space_nla/nla_draw.c b/source/blender/editors/space_nla/nla_draw.c
index 68cbfd76331..5cf9646210e 100644
--- a/source/blender/editors/space_nla/nla_draw.c
+++ b/source/blender/editors/space_nla/nla_draw.c
@@ -142,7 +142,7 @@ static void nla_action_draw_keyframes(
format, "outlineColor", GPU_COMP_U8, 4, GPU_FETCH_INT_TO_FLOAT_UNIT);
uint flags_id = GPU_vertformat_attr_add(format, "flags", GPU_COMP_U32, 1, GPU_FETCH_INT);
immBindBuiltinProgram(GPU_SHADER_KEYFRAME_DIAMOND);
- GPU_enable_program_point_size();
+ GPU_program_point_size(true);
immUniform2f("ViewportSize", BLI_rcti_size_x(&v2d->mask) + 1, BLI_rcti_size_y(&v2d->mask) + 1);
immBegin(GPU_PRIM_POINTS, key_len);
@@ -167,7 +167,7 @@ static void nla_action_draw_keyframes(
}
immEnd();
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
immUnbindProgram();
}
diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c
index 020bdbf60a1..1c3544077c4 100644
--- a/source/blender/editors/space_node/node_draw.c
+++ b/source/blender/editors/space_node/node_draw.c
@@ -896,7 +896,7 @@ void node_draw_sockets(View2D *v2d,
uint col = GPU_vertformat_attr_add(format, "color", GPU_COMP_F32, 4, GPU_FETCH_FLOAT);
GPU_blend(true);
- GPU_enable_program_point_size();
+ GPU_program_point_size(true);
immBindBuiltinProgram(GPU_SHADER_2D_POINT_UNIFORM_SIZE_VARYING_COLOR_OUTLINE_AA);
@@ -991,7 +991,7 @@ void node_draw_sockets(View2D *v2d,
immUnbindProgram();
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
GPU_blend(false);
}
diff --git a/source/blender/editors/uvedit/uvedit_draw.c b/source/blender/editors/uvedit/uvedit_draw.c
index 7f9b90f4496..93cef1861d9 100644
--- a/source/blender/editors/uvedit/uvedit_draw.c
+++ b/source/blender/editors/uvedit/uvedit_draw.c
@@ -425,7 +425,7 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit, Depsgraph *
float pinned_col[4] = {1.0f, 0.0f, 0.0f, 1.0f}; /* TODO Theme? */
UI_GetThemeColor4fv(TH_VERTEX, col1);
GPU_blend(true);
- GPU_enable_program_point_size();
+ GPU_program_point_size(true);
GPU_batch_program_set_builtin(verts, GPU_SHADER_2D_UV_VERTS);
GPU_batch_uniform_4f(verts, "vertColor", col1[0], col1[1], col1[2], 1.0f);
@@ -450,7 +450,7 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit, Depsgraph *
}
GPU_blend(false);
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
}
if (facedots) {
GPU_point_size(pointsize);
diff --git a/source/blender/gpu/GPU_draw.h b/source/blender/gpu/GPU_draw.h
index 8b830aadbba..507baa9531e 100644
--- a/source/blender/gpu/GPU_draw.h
+++ b/source/blender/gpu/GPU_draw.h
@@ -51,13 +51,6 @@ struct ViewLayer;
void GPU_state_init(void);
-/* Programmable point size
- * - shaders set their own point size when enabled
- * - use glPointSize when disabled */
-
-void GPU_enable_program_point_size(void);
-void GPU_disable_program_point_size(void);
-
/* Mipmap settings
* - these will free textures on changes */
diff --git a/source/blender/gpu/GPU_shader.h b/source/blender/gpu/GPU_shader.h
index 00570bd7ebc..0fe5427019a 100644
--- a/source/blender/gpu/GPU_shader.h
+++ b/source/blender/gpu/GPU_shader.h
@@ -156,7 +156,6 @@ typedef enum eGPUBuiltinShader {
GPU_SHADER_3D_UNIFORM_COLOR,
/* Sets Z-depth to 1.0 (draw onto background). */
GPU_SHADER_3D_UNIFORM_COLOR_BACKGROUND,
- GPU_SHADER_3D_UNIFORM_COLOR_INSTANCE,
/**
* Take a 3D position and color for each vertex without color interpolation.
*
diff --git a/source/blender/gpu/GPU_state.h b/source/blender/gpu/GPU_state.h
index 48c700adaed..7b970786e5e 100644
--- a/source/blender/gpu/GPU_state.h
+++ b/source/blender/gpu/GPU_state.h
@@ -49,6 +49,7 @@ void GPU_line_smooth(bool enable);
void GPU_line_width(float width);
void GPU_point_size(float size);
void GPU_polygon_smooth(bool enable);
+void GPU_program_point_size(bool enable);
void GPU_scissor(int x, int y, int width, int height);
void GPU_scissor_get_f(float coords[4]);
void GPU_scissor_get_i(int coords[4]);
diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c
index 638729d027c..5f27a0e93cd 100644
--- a/source/blender/gpu/intern/gpu_draw.c
+++ b/source/blender/gpu/intern/gpu_draw.c
@@ -1354,7 +1354,7 @@ static void gpu_disable_multisample(void)
void GPU_state_init(void)
{
- GPU_disable_program_point_size();
+ GPU_program_point_size(false);
glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS);
@@ -1374,16 +1374,6 @@ void GPU_state_init(void)
gpu_disable_multisample();
}
-void GPU_enable_program_point_size(void)
-{
- glEnable(GL_PROGRAM_POINT_SIZE);
-}
-
-void GPU_disable_program_point_size(void)
-{
- glDisable(GL_PROGRAM_POINT_SIZE);
-}
-
/** \name Framebuffer color depth, for selection codes
* \{ */
diff --git a/source/blender/gpu/intern/gpu_state.c b/source/blender/gpu/intern/gpu_state.c
index 176965bb80f..7e8289229f4 100644
--- a/source/blender/gpu/intern/gpu_state.c
+++ b/source/blender/gpu/intern/gpu_state.c
@@ -126,6 +126,19 @@ void GPU_polygon_smooth(bool enable)
}
}
+/* Programmable point size
+ * - shaders set their own point size when enabled
+ * - use glPointSize when disabled */
+void GPU_program_point_size(bool enable)
+{
+ if (enable) {
+ glEnable(GL_PROGRAM_POINT_SIZE);
+ }
+ else {
+ glDisable(GL_PROGRAM_POINT_SIZE);
+ }
+}
+
void GPU_scissor(int x, int y, int width, int height)
{
glScissor(x, y, width, height);