Blender Git Commit Log

Git Commits -> Revision cecda64

Revision cecda64 by Clément Foucault (master)
June 2, 2020, 10:11 (GMT)
GPU: ShaderInterface: Refactor to setup all uniform at creation time

This remove the complexity of queriying the locations at runtime and
allows for more performance and upfront binding specifications.

The benefit of doing everything at creation time is that we can assign binding
points in a predictable order which is going to be somewhat the same for
every similar shader.

This also rewrite GPU_vertformat_from_shader to not use shaderface.

This is to keep the shaderface simple. If it becomes necessary to not query
the shader after creation (i.e: vulkan?) we could just create the vert
format in advance at compilation for PyGPU shaders.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D7879

Commit Details:

Full Hash: cecda64e2ead502a052f9bea5ffde39e4a46bf90
Parent Commit: bdda53f
Lines Changed: +343, -248

8 Modified Paths:

/intern/opencolorio/ocio_impl_glsl.cc (+6, -5) (Diff)
/source/blender/editors/interface/interface_icons.c (+1, -1) (Diff)
/source/blender/gpu/GPU_shader_interface.h (+18, -17) (Diff)
/source/blender/gpu/GPU_vertex_format.h (+2, -3) (Diff)
/source/blender/gpu/intern/gpu_batch.c (+1, -1) (Diff)
/source/blender/gpu/intern/gpu_shader_interface.c (+271, -174) (Diff)
/source/blender/gpu/intern/gpu_vertex_format.c (+43, -46) (Diff)
/source/blender/python/gpu/gpu_py_shader.c (+1, -1) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021