Metal: Implement Uniform buffers
Uniform buffer is implemented in two forms:
- If number of ubo used in shader program is low, each buffer will use
one discrete Metal buffer slot.
- If number of ubo used is large, they will be embedded into one Metal
argument buffer. Argument buffer is similar to Vulkan descriptor set.
This is due to limit of number of Metal's discrete buffer slots which
is only 31 and over half of them are already used by vertex
attributes, default uniforms, driver uniforms, etc. The downside is
that whenever a buffer binding is changed, the argument buffer must be
updated also.
Added empty TransformFeedbackMtl implementation to enable ES3 context
creation on Metal.
Bug: angleproject:2634
Change-Id: I69325696fac735cb45ab88ab55468c0991abc317
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2408593
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by:
Jamie Madill <jmadill@chromium.org>
Reviewed-by:
Jonah Ryan-Davis <jonahr@google.com>
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment