diff options
Diffstat (limited to 'src/3rdparty/angle/src/compiler/translator/blocklayoutHLSL.h')
-rw-r--r-- | src/3rdparty/angle/src/compiler/translator/blocklayoutHLSL.h | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/src/3rdparty/angle/src/compiler/translator/blocklayoutHLSL.h b/src/3rdparty/angle/src/compiler/translator/blocklayoutHLSL.h deleted file mode 100644 index 8f4a51a906..0000000000 --- a/src/3rdparty/angle/src/compiler/translator/blocklayoutHLSL.h +++ /dev/null @@ -1,68 +0,0 @@ -// -// Copyright (c) 2013-2014 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. -// -// blocklayout.h: -// Methods and classes related to uniform layout and packing in GLSL and HLSL. -// - -#ifndef COMMON_BLOCKLAYOUTHLSL_H_ -#define COMMON_BLOCKLAYOUTHLSL_H_ - -#include <cstddef> -#include <vector> - -#include "angle_gl.h" -#include "blocklayout.h" -#include <GLSLANG/ShaderLang.h> - -namespace sh -{ -// Block layout packed according to the D3D9 or default D3D10+ register packing rules -// See http://msdn.microsoft.com/en-us/library/windows/desktop/bb509632(v=vs.85).aspx -// The strategy should be ENCODE_LOOSE for D3D9 constant blocks, and ENCODE_PACKED -// for everything else (D3D10+ constant blocks and all attributes/varyings). - -class HLSLBlockEncoder : public BlockLayoutEncoder -{ - public: - enum HLSLBlockEncoderStrategy - { - ENCODE_PACKED, - ENCODE_LOOSE - }; - - HLSLBlockEncoder(HLSLBlockEncoderStrategy strategy, bool transposeMatrices); - - void enterAggregateType() override; - void exitAggregateType() override; - void skipRegisters(unsigned int numRegisters); - - bool isPacked() const { return mEncoderStrategy == ENCODE_PACKED; } - - static HLSLBlockEncoderStrategy GetStrategyFor(ShShaderOutput outputType); - - protected: - void getBlockLayoutInfo(GLenum type, - const std::vector<unsigned int> &arraySizes, - bool isRowMajorMatrix, - int *arrayStrideOut, - int *matrixStrideOut) override; - void advanceOffset(GLenum type, - const std::vector<unsigned int> &arraySizes, - bool isRowMajorMatrix, - int arrayStride, - int matrixStride) override; - - HLSLBlockEncoderStrategy mEncoderStrategy; - bool mTransposeMatrices; -}; - -// This method returns the number of used registers for a ShaderVariable. It is dependent on the -// HLSLBlockEncoder class to count the number of used registers in a struct (which are individually -// packed according to the same rules). -unsigned int HLSLVariableRegisterCount(const Uniform &variable, ShShaderOutput outputType); -} - -#endif // COMMON_BLOCKLAYOUTHLSL_H_ |