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:
authorJeroen Bakker <jeroen@blender.org>2022-01-17 16:34:28 +0300
committerJeroen Bakker <jeroen@blender.org>2022-01-17 16:34:28 +0300
commitedee5a947b7ea3e1324aa334a22c7c9bbf47f5f7 (patch)
treeb8f15e66277700ccdc5d6c8b7c7eb3728f91182f /source/blender/draw/intern/draw_manager.c
parent8fb2ff458ba579dba08bfdf57d043ad158b5db07 (diff)
Revert "GPUShaderCreateInfo for interface abstraction"
This reverts commit 8fb2ff458ba579dba08bfdf57d043ad158b5db07. Missing some files.
Diffstat (limited to 'source/blender/draw/intern/draw_manager.c')
-rw-r--r--source/blender/draw/intern/draw_manager.c24
1 files changed, 7 insertions, 17 deletions
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 276a8cc3a13..7365ebf59c2 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -70,7 +70,6 @@
#include "GPU_framebuffer.h"
#include "GPU_immediate.h"
#include "GPU_matrix.h"
-#include "GPU_shader_shared.h"
#include "GPU_state.h"
#include "GPU_uniform_buffer.h"
#include "GPU_viewport.h"
@@ -2757,15 +2756,11 @@ void DRW_draw_depth_object(
GPU_framebuffer_clear_depth(depth_fb, 1.0f);
GPU_depth_test(GPU_DEPTH_LESS_EQUAL);
- struct GPUClipPlanes planes;
- const bool use_clipping_planes = RV3D_CLIPPING_ENABLED(v3d, rv3d);
- if (use_clipping_planes) {
+ const float(*world_clip_planes)[4] = NULL;
+ if (RV3D_CLIPPING_ENABLED(v3d, rv3d)) {
GPU_clip_distances(6);
ED_view3d_clipping_local(rv3d, object->obmat);
- for (int i = 0; i < 6; i++) {
- copy_v4_v4(planes.world[i], rv3d->clip_local[i]);
- }
- copy_m4_m4(planes.ModelMatrix, object->obmat);
+ world_clip_planes = rv3d->clip_local;
}
drw_batch_cache_validate(object);
@@ -2787,19 +2782,14 @@ void DRW_draw_depth_object(
BLI_task_graph_work_and_wait(task_graph);
BLI_task_graph_free(task_graph);
- const eGPUShaderConfig sh_cfg = use_clipping_planes ? GPU_SHADER_CFG_CLIPPED :
- GPU_SHADER_CFG_DEFAULT;
+ const eGPUShaderConfig sh_cfg = world_clip_planes ? GPU_SHADER_CFG_CLIPPED :
+ GPU_SHADER_CFG_DEFAULT;
GPU_batch_program_set_builtin_with_config(batch, GPU_SHADER_3D_DEPTH_ONLY, sh_cfg);
-
- GPUUniformBuf *ubo = NULL;
- if (use_clipping_planes) {
- ubo = GPU_uniformbuf_create_ex(sizeof(struct GPUClipPlanes), &planes, __func__);
- GPU_batch_uniformbuf_bind(batch, "clipPlanes", ubo);
+ if (world_clip_planes != NULL) {
+ GPU_batch_uniform_4fv_array(batch, "WorldClipPlanes", 6, world_clip_planes);
}
GPU_batch_draw(batch);
- GPU_uniformbuf_free(ubo);
-
} break;
case OB_CURVE:
case OB_SURF: