Store ShaderExecutables on the ProgramBinary instead of d3d9 shaders
Trac #22155
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Also hooks up binary loading to the loadExecutable function.
The other notable change is that getVertex/Pixel shader no longer
add reference counts to the returned objects.
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1505 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/ProgramBinary.h b/src/libGLESv2/ProgramBinary.h
index e891b26..e6eca14 100644
--- a/src/libGLESv2/ProgramBinary.h
+++ b/src/libGLESv2/ProgramBinary.h
@@ -104,8 +104,8 @@
explicit ProgramBinary(rx::Renderer *renderer);
~ProgramBinary();
- IDirect3DPixelShader9 *getPixelShader();
- IDirect3DVertexShader9 *getVertexShader();
+ rx::ShaderExecutable *getPixelExecutable();
+ rx::ShaderExecutable *getVertexExecutable();
GLuint getAttributeLocation(const char *name);
int getSemanticIndex(int attributeIndex);
@@ -189,8 +189,8 @@
rx::Renderer9 *mRenderer; // D3D9_REPLACE
IDirect3DDevice9 *mDevice; // D3D9_REPLACE
- IDirect3DPixelShader9 *mPixelExecutable; // D3D9_REPLACE
- IDirect3DVertexShader9 *mVertexExecutable; // D3D9_REPLACE
+ rx::ShaderExecutable9 *mPixelExecutable; // D3D9_REPLACE
+ rx::ShaderExecutable9 *mVertexExecutable; // D3D9_REPLACE
Attribute mLinkedAttribute[MAX_VERTEX_ATTRIBS];
int mSemanticIndex[MAX_VERTEX_ATTRIBS];