Edit

kc3-lang/angle/src/libGLESv2/renderer/ShaderExecutable11.h

Branch :

  • Show log

    Commit

  • Author : shannon.woods@transgaming.com
    Date : 2013-01-25 21:55:47
    Hash : 3e773bb4
    Message : Implement gl_PointSize point sprite emulation using D3D11 geometry shaders. TRAC #22412 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1786 736b8ea6-26fd-11df-bfd4-992fa37f6226

  • src/libGLESv2/renderer/ShaderExecutable11.h
  • //
    // Copyright (c) 2012-2013 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    
    // ShaderExecutable11.h: Defines a D3D11-specific class to contain shader
    // executable implementation details.
    
    #ifndef LIBGLESV2_RENDERER_SHADEREXECUTABLE11_H_
    #define LIBGLESV2_RENDERER_SHADEREXECUTABLE11_H_
    
    #include <d3d11.h>
    
    #include "libGLESv2/renderer/ShaderExecutable.h"
    
    namespace rx
    {
    
    class ShaderExecutable11 : public ShaderExecutable
    {
      public:
        ShaderExecutable11(const void *function, size_t length, ID3D11PixelShader *executable);
        ShaderExecutable11(const void *function, size_t length, ID3D11VertexShader *executable);
        ShaderExecutable11(const void *function, size_t length, ID3D11GeometryShader *executable);
    
        virtual ~ShaderExecutable11();
    
        static ShaderExecutable11 *makeShaderExecutable11(ShaderExecutable *executable);
    
        ID3D11PixelShader *getPixelShader() const;
        ID3D11VertexShader *getVertexShader() const;
        ID3D11GeometryShader *getGeometryShader() const;
    
        ID3D11Buffer *getConstantBuffer(ID3D11Device *device, unsigned int registerCount);
    
      private:
        DISALLOW_COPY_AND_ASSIGN(ShaderExecutable11);
    
        ID3D11PixelShader *mPixelExecutable;
        ID3D11VertexShader *mVertexExecutable;
        ID3D11GeometryShader *mGeometryExecutable;
    
        ID3D11Buffer *mConstantBuffer;
    };
    
    }
    
    #endif // LIBGLESV2_RENDERER_SHADEREXECUTABLE11_H_