# PVRFrame issue with shader and program binaries

**URL:** <https://forums.imgtec.com/t/pvrframe-issue-with-shader-and-program-binaries/2418>\
**Category:** PowerVR Insider\
**Tags:** pvrvframe\
**Created:** [January 15, 2016, 10:37am UTC](https://forums.imgtec.com/t/pvrframe-issue-with-shader-and-program-binaries/2418 "2016-01-15T10:37:21Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![timo-suorantarightwa](https://avatars.discourse-cdn.com/v4/letter/t/57b2e6/32.png) [@timo-suorantarightwa](https://forums.imgtec.com/u/timo-suorantarightwa)\
**Post date:** [January 15, 2016, 10:37am UTC](https://forums.imgtec.com/t/pvrframe-issue-with-shader-and-program-binaries/2418/1 "2016-01-15T10:37:21Z")

</div>

I am trying to use shader and program binaries with PVRFrame and I have issues with both.

First, querying GL\_NUM\_SHADER\_BINARY\_FORMATS reports 0, even though GL\_IMG\_shader\_binary extension is advertised. Thus I get no supported shader binary formats.

Second, if I pretend that GL\_SGX\_BINARY\_IMG (0x8c0a) is supported, glShaderBinary() rejects it.

Third, querying program binary formats appears to return host GL program binary formats, not IMG program binary formats. Maybe this is what happens with shader binary formats as well?

PVRFrame documentation claims that both IMG\_shader\_binary and IMG\_program\_binary extensions are supported. Can you confirm if they should work or not?

Tested with SDK 4.0:  
GL vendor: Imagination Technologies (Host: NVIDIA Corporation)  
GL renderer: PVRVFrame 10.2 - PowerVR G6X00 (Host : GeForce GTX 760/PCIe/SSE2) (SDK Build: 4.0@3835662)  
GL version: OpenGL ES 3.0 (Host : 4.5.0 NVIDIA 355.82) (300)

---

<div class="post-metadata">

**Author:** ![ChrisPenrose](https://avatars.discourse-cdn.com/v4/letter/c/e36b37/32.png) [@ChrisPenrose](https://forums.imgtec.com/u/ChrisPenrose)\
**Post date:** [January 15, 2016, 2:08pm UTC](https://forums.imgtec.com/t/pvrframe-issue-with-shader-and-program-binaries/2418/2 "2016-01-15T14:08:16Z")

</div>

Hi Timo

I’m not sure why we’re claiming support for these extensions as we do not emulate any platform-specific binary formats. I will file a bug report to remove them from the extensions string. Thank you for reporting it.

Many graphics cards don’t support binary shaders and will return zero for GL\_NUM\_SHADER\_BINARY\_FORMATS.

The only program binary formats which will work with PVRVFrame are those supported by the host system, so you can’t output a binary program on a PowerVR device and load it on a desktop, for example. I thought we used to have a note in the manual describing this limitation but looking at the docs now I see it’s not there. I’ll get something added to the PVRVFrame documentation about this.
