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:
Diffstat (limited to 'source/blender/draw/intern/DRW_render.h')
-rw-r--r--source/blender/draw/intern/DRW_render.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/source/blender/draw/intern/DRW_render.h b/source/blender/draw/intern/DRW_render.h
index adcfe2524c7..abba8d3ce91 100644
--- a/source/blender/draw/intern/DRW_render.h
+++ b/source/blender/draw/intern/DRW_render.h
@@ -120,11 +120,21 @@ typedef char DRWViewportEmptyList;
if (dfbl->multisample_fb != NULL) { \
DRW_stats_query_start("Multisample Resolve"); \
GPU_framebuffer_bind(dfbl->default_fb); \
- DRW_multisamples_resolve(dtxl->multisample_depth, dtxl->multisample_color); \
+ DRW_multisamples_resolve(dtxl->multisample_depth, dtxl->multisample_color, true); \
DRW_stats_query_end(); \
} \
}
+#define MULTISAMPLE_SYNC_DISABLE_NO_DEPTH(dfbl, dtxl) { \
+ if (dfbl->multisample_fb != NULL) { \
+ DRW_stats_query_start("Multisample Resolve"); \
+ GPU_framebuffer_bind(dfbl->default_fb); \
+ DRW_multisamples_resolve(dtxl->multisample_depth, dtxl->multisample_color, false); \
+ DRW_stats_query_end(); \
+ } \
+}
+
+
typedef struct DrawEngineDataSize {
@@ -225,10 +235,10 @@ void DRW_uniformbuffer_free(struct GPUUniformBuffer *ubo);
} \
} while (0)
-void DRW_transform_to_display(struct GPUTexture *tex);
+void DRW_transform_to_display(struct GPUTexture *tex, bool use_view_settings);
void DRW_transform_none(struct GPUTexture *tex);
void DRW_multisamples_resolve(
- struct GPUTexture *src_depth, struct GPUTexture *src_color);
+ struct GPUTexture *src_depth, struct GPUTexture *src_color, bool use_depth);
/* Shaders */
struct GPUShader *DRW_shader_create(
@@ -402,6 +412,8 @@ void DRW_shgroup_uniform_int_copy(DRWShadingGroup *shgroup, const char *name, co
void DRW_shgroup_uniform_bool_copy(DRWShadingGroup *shgroup, const char *name, const bool value);
void DRW_shgroup_uniform_float_copy(DRWShadingGroup *shgroup, const char *name, const float value);
+bool DRW_shgroup_is_empty(DRWShadingGroup *shgroup);
+
/* Passes */
DRWPass *DRW_pass_create(const char *name, DRWState state);
void DRW_pass_state_set(DRWPass *pass, DRWState state);
@@ -410,6 +422,8 @@ void DRW_pass_state_remove(DRWPass *pass, DRWState state);
void DRW_pass_foreach_shgroup(DRWPass *pass, void (*callback)(void *userData, DRWShadingGroup *shgrp), void *userData);
void DRW_pass_sort_shgroup_z(DRWPass *pass);
+bool DRW_pass_is_empty(DRWPass *pass);
+
/* Viewport */
typedef enum {
/* keep in sync with the union struct DRWMatrixState. */