Showing results for 
Search instead for 
Did you mean: 

texture units and texture memory on Gen9 graphics



Trying to understand a bit better how the OpenGL texture support maps to the hardware, for Gen9 processor graphics (specifically HD P530/530).

For instance, where are the "texture units" located (e.g. glActiveTexture(GL_TEXTURE0) etc) - are these just SW/driver constructs or is there some physical HW component association, and what determines the current max # of texture units?

Where does the texture array data get loaded (e.g. glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, data)), does it go in L3 Data Cache, and then copies go into L1 and L2 caches when used/accessed, or...?

Is texture data automatically converted into optimized storage formats (z-order, morton order, etc) for improved cache performance?

Also, if there are any articles/whitepapers/guides/videos discussing these kinds of details please recommend.

I've already looked in the obvious places:

  •  - Intel Graphics API Developer's Guide, for 6th Gen Intel Core
  • - Compute Architecture of Intel Processor Graphics Gen9 v1.0 (Junkins)
  • - Intel Processor Graphics: Architecture and Programming (Ross, Lueh, Maiyuran - slidedeck)
  • - Intel Open Source HD Graphics, Intel Iris Grpahics, and Intel Iris Pro Grpahics - Programmers Reference manual (Skylake platform) - all volumes

Thanks, Colin

0 Kudos
0 Replies