Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8308069
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 8, 20262026-06-08T18:41:16+00:00 2026-06-08T18:41:16+00:00

The glBufferSubData manpage ‘s notes section contains the following paragraph: Consider using multiple buffer

  • 0

The glBufferSubData manpage‘s notes section contains the following paragraph:

Consider using multiple buffer objects to avoid stalling the rendering pipeline during data store updates. If any rendering in the pipeline makes reference to data in the buffer object being updated by glBufferSubData, especially from the specific region being updated, that rendering must drain from the pipeline before the data store can be updated.

While the glUniform* manpage doesn’t mention the pipeline at all.
However, I would have thought that uniforms are just as important as buffers, given that they’re supposed to be uniform across all shader invocations.
So, if I perform a draw call, change a uniform value and then perform another draw call on the same shader, will both draw calls run concurrently with different uniform values, or will the second draw call have to wait until every stage (vert/geom/frag) is complete on the first one?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-08T18:41:18+00:00Added an answer on June 8, 2026 at 6:41 pm

    The question in its general form is pretty much unanswerable. However consider this:

    Since the advent of GLSL, and ARB’s assembly language before that, uniform/parameter state has always been stored in the shader object. Only since uniform blocks and buffer objects has it been possible to separate uniform state from programs. So until that point, a good 5+ years, the only way to change a uniform was to change it in the program.

    This means that pretty much every program that uses GLSL uses it in the standard way: bind a program, change uniforms, render, change uniforms, render, etc.

    Now, imagine if doing this simple and obvious thing which hundreds of OpenGL programs did induced a full pipeline stall.

    Driver developers are not stupid; even Intel’s driver developers aren’t that stupid. Whatever their hardware looks like, they can find a way to make uniform changes not induce a pipeline stall.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'd like to use Vertex Buffer Objects (VBOs) to improved my rendering of somewhat
Is there any difference if I specify vertex/color data through glVertexPointer/glColorPointer Using glMapBufferOES (extension)
I can display a texture using shaders, glVertexAttribPointer and glDrawArrays like so: Init const
I've setup a Vertex Buffer Object (VBO) with vertex and index data. I've also
I use the following code to render a line, given the coordinates in data
Recently I started using OpenGL in C++ for some 3D rendering, but oddly enough
I'm trying to get the hang of moving objects (in general) and line strips
i just noticed, that glBufferData fails silently when i try to call it with
My VBOs are only being sent to the GPU when they are used for
I'm looking to get some additional performance (FPS) increases on my iPhone App. I'm

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.