mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 09:08:10 +02:00
mesa: add memory_barrier_by_region() helper
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
parent
d21ae02fb2
commit
4de0033d73
1 changed files with 11 additions and 5 deletions
|
|
@ -67,11 +67,10 @@ _mesa_MemoryBarrier(GLbitfield barriers)
|
|||
ctx->Driver.MemoryBarrier(ctx, barriers);
|
||||
}
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_MemoryBarrierByRegion(GLbitfield barriers)
|
||||
static ALWAYS_INLINE void
|
||||
memory_barrier_by_region(struct gl_context *ctx, GLbitfield barriers,
|
||||
bool no_error)
|
||||
{
|
||||
GET_CURRENT_CONTEXT(ctx);
|
||||
|
||||
GLbitfield all_allowed_bits = GL_ATOMIC_COUNTER_BARRIER_BIT |
|
||||
GL_FRAMEBUFFER_BARRIER_BIT |
|
||||
GL_SHADER_IMAGE_ACCESS_BARRIER_BIT |
|
||||
|
|
@ -100,7 +99,7 @@ _mesa_MemoryBarrierByRegion(GLbitfield barriers)
|
|||
* value ALL_BARRIER_BITS, and has any bits set other than those
|
||||
* described above."
|
||||
*/
|
||||
if ((barriers & ~all_allowed_bits) != 0) {
|
||||
if (!no_error && (barriers & ~all_allowed_bits) != 0) {
|
||||
_mesa_error(ctx, GL_INVALID_VALUE,
|
||||
"glMemoryBarrierByRegion(unsupported barrier bit");
|
||||
}
|
||||
|
|
@ -109,6 +108,13 @@ _mesa_MemoryBarrierByRegion(GLbitfield barriers)
|
|||
}
|
||||
}
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_MemoryBarrierByRegion(GLbitfield barriers)
|
||||
{
|
||||
GET_CURRENT_CONTEXT(ctx);
|
||||
memory_barrier_by_region(ctx, barriers, false);
|
||||
}
|
||||
|
||||
void GLAPIENTRY
|
||||
_mesa_BlendBarrier(void)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue