Developing Games on Intel Graphics
If you are gaming on graphics integrated in your Intel Processor, this is the place for you! Find answers to your questions or post your issues with PC games
470 Discussions

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