diff options
| author | reduz <reduzio@gmail.com> | 2021-07-19 16:41:55 -0300 |
|---|---|---|
| committer | reduz <reduzio@gmail.com> | 2021-07-19 21:51:29 -0300 |
| commit | 9293bc3935c3b87051003dcb8f6902d6f1e9fdbe (patch) | |
| tree | c4f920a780e2590a4f888dfe9a083dea74c0afc3 /servers/rendering/renderer_rd/pipeline_cache_rd.h | |
| parent | 855c7c7414a2f29cd420e8dd654a4630226bcd50 (diff) | |
| download | redot-engine-9293bc3935c3b87051003dcb8f6902d6f1e9fdbe.tar.gz | |
Implement more rendering options as specialization constants
* Shadow quality settings now specialization constant.
* Decal and light projector filters can be set.
* Changing those settings forces re-creation of the pipelines.
These changes should help improve performance related to shadow mapping, and allows improving performance by sacrificing decal and light projector quality.
Diffstat (limited to 'servers/rendering/renderer_rd/pipeline_cache_rd.h')
| -rw-r--r-- | servers/rendering/renderer_rd/pipeline_cache_rd.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/servers/rendering/renderer_rd/pipeline_cache_rd.h b/servers/rendering/renderer_rd/pipeline_cache_rd.h index 71e26283e1..e52f47fa47 100644 --- a/servers/rendering/renderer_rd/pipeline_cache_rd.h +++ b/servers/rendering/renderer_rd/pipeline_cache_rd.h @@ -66,6 +66,7 @@ class PipelineCacheRD { public: void setup(RID p_shader, RD::RenderPrimitive p_primitive, const RD::PipelineRasterizationState &p_rasterization_state, RD::PipelineMultisampleState p_multisample, const RD::PipelineDepthStencilState &p_depth_stencil_state, const RD::PipelineColorBlendState &p_blend_state, int p_dynamic_state_flags = 0, const Vector<RD::PipelineSpecializationConstant> &p_base_specialization_constants = Vector<RD::PipelineSpecializationConstant>()); + void update_specialization_constants(const Vector<RD::PipelineSpecializationConstant> &p_base_specialization_constants); void update_shader(RID p_shader); _FORCE_INLINE_ RID get_render_pipeline(RD::VertexFormatID p_vertex_format_id, RD::FramebufferFormatID p_framebuffer_format_id, bool p_wireframe = false, uint32_t p_render_pass = 0, uint32_t p_bool_specializations = 0) { |
