John Bauman | 19bac1e | 2014-05-06 15:23:49 -0400 | [diff] [blame^] | 1 | // SwiftShader Software Renderer
|
| 2 | //
|
| 3 | // Copyright(c) 2005-2012 TransGaming Inc.
|
| 4 | //
|
| 5 | // All rights reserved. No part of this software may be copied, distributed, transmitted,
|
| 6 | // transcribed, stored in a retrieval system, translated into any human or computer
|
| 7 | // language by any means, or disclosed to third parties without the explicit written
|
| 8 | // agreement of TransGaming Inc. Without such an agreement, no rights or licenses, express
|
| 9 | // or implied, including but not limited to any patent rights, are granted to you.
|
| 10 | //
|
| 11 |
|
| 12 | #ifndef sw_VertexShader_hpp
|
| 13 | #define sw_VertexShader_hpp
|
| 14 |
|
| 15 | #include "Shader.hpp"
|
| 16 |
|
| 17 | namespace sw
|
| 18 | {
|
| 19 | class VertexShader : public Shader
|
| 20 | {
|
| 21 | public:
|
| 22 | explicit VertexShader(const VertexShader *vs = 0);
|
| 23 | explicit VertexShader(const unsigned long *token);
|
| 24 |
|
| 25 | virtual ~VertexShader();
|
| 26 |
|
| 27 | static int validate(const unsigned long *const token); // Returns number of instructions if valid
|
| 28 | bool containsTexldl() const;
|
| 29 |
|
| 30 | virtual void analyze();
|
| 31 |
|
| 32 | int positionRegister; // FIXME: Private
|
| 33 | int pointSizeRegister; // FIXME: Private
|
| 34 |
|
| 35 | Semantic input[16]; // FIXME: Private
|
| 36 | Semantic output[12][4]; // FIXME: Private
|
| 37 |
|
| 38 | private:
|
| 39 | void analyzeInput();
|
| 40 | void analyzeOutput();
|
| 41 | void analyzeTexldl();
|
| 42 |
|
| 43 | bool texldl;
|
| 44 | };
|
| 45 | }
|
| 46 |
|
| 47 | #endif // sw_VertexShader_hpp
|